diff --git a/ExtLibs/krcc.dll b/ExtLibs/krcc.dll new file mode 100644 index 00000000..2986f93c Binary files /dev/null and b/ExtLibs/krcc.dll differ diff --git a/ExtLibs/krcc64.dll b/ExtLibs/krcc64.dll new file mode 100644 index 00000000..77b91761 Binary files /dev/null and b/ExtLibs/krcc64.dll differ diff --git a/IOB-WIN-KAVASAKI.sln b/IOB-WIN-KAVASAKI.sln index a62eceed..abb3d0f5 100644 --- a/IOB-WIN-KAVASAKI.sln +++ b/IOB-WIN-KAVASAKI.sln @@ -14,7 +14,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-UT-NEXT", "IOB-UT-NEXT\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-WIN-FORM", "IOB-WIN-FORM\IOB-WIN-FORM.csproj", "{9BA331BB-9BF1-40E0-AC03-74B43D73A097}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-WIN-FTP", "IOB-WIN-FTP\IOB-WIN-FTP.csproj", "{3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-WIN-KAWASAKI", "IOB-WIN-KAWASAKI\IOB-WIN-KAWASAKI.csproj", "{02C086C5-492A-4D81-8E30-B4434703A5B3}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -61,18 +61,18 @@ Global {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|Any CPU.Build.0 = Debug|Any CPU {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|x86.ActiveCfg = Release|Any CPU {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|x86.Build.0 = Release|Any CPU - {3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}.Debug|x86.ActiveCfg = Debug|Any CPU - {3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}.Debug|x86.Build.0 = Debug|Any CPU - {3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}.Release|Any CPU.Build.0 = Release|Any CPU - {3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}.Release|x86.ActiveCfg = Release|Any CPU - {3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}.Release|x86.Build.0 = Release|Any CPU - {3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}.Remote_DEBUG|Any CPU.ActiveCfg = Release_DEBUG|Any CPU - {3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}.Remote_DEBUG|Any CPU.Build.0 = Release_DEBUG|Any CPU - {3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}.Remote_DEBUG|x86.ActiveCfg = Release|Any CPU - {3ED97EEA-9EAB-480D-8E53-EDB3662DCB79}.Remote_DEBUG|x86.Build.0 = Release|Any CPU + {02C086C5-492A-4D81-8E30-B4434703A5B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {02C086C5-492A-4D81-8E30-B4434703A5B3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {02C086C5-492A-4D81-8E30-B4434703A5B3}.Debug|x86.ActiveCfg = Debug|Any CPU + {02C086C5-492A-4D81-8E30-B4434703A5B3}.Debug|x86.Build.0 = Debug|Any CPU + {02C086C5-492A-4D81-8E30-B4434703A5B3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {02C086C5-492A-4D81-8E30-B4434703A5B3}.Release|Any CPU.Build.0 = Release|Any CPU + {02C086C5-492A-4D81-8E30-B4434703A5B3}.Release|x86.ActiveCfg = Release|Any CPU + {02C086C5-492A-4D81-8E30-B4434703A5B3}.Release|x86.Build.0 = Release|Any CPU + {02C086C5-492A-4D81-8E30-B4434703A5B3}.Remote_DEBUG|Any CPU.ActiveCfg = Remote_DEBUG|Any CPU + {02C086C5-492A-4D81-8E30-B4434703A5B3}.Remote_DEBUG|Any CPU.Build.0 = Remote_DEBUG|Any CPU + {02C086C5-492A-4D81-8E30-B4434703A5B3}.Remote_DEBUG|x86.ActiveCfg = Release|Any CPU + {02C086C5-492A-4D81-8E30-B4434703A5B3}.Remote_DEBUG|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/IOB-WIN-KAWASAKI/AdapterFormNext.cs b/IOB-WIN-KAWASAKI/AdapterFormNext.cs new file mode 100644 index 00000000..25804525 --- /dev/null +++ b/IOB-WIN-KAWASAKI/AdapterFormNext.cs @@ -0,0 +1,50 @@ +using IOB_UT_NEXT; + +namespace IOB_WIN_KAWASAKI +{ + public class AdapterFormNext: IOB_WIN_FORM.AdapterForm + { + + /// + /// Avvio MainForm + /// + /// + public AdapterFormNext(string codIOB): base(codIOB) + { + } + /// + /// carica IOB richiesto + /// + protected override void loadIobType() + { + if (IOBConf != null) + { + switch (tipoScelto) + { + + case tipoAdapter.KAWASAKI: + iobObj = new Iob.Kawasaki(this, IOBConf); + btnStart.Enabled = true; + break; + + case tipoAdapter.SIMULA: + case tipoAdapter.ND: + default: + iobObj = new IOB_WIN_FORM.Iob.Simula(this, IOBConf); + btnStart.Enabled = false; + break; + } + lblCncText = $"CNC: {IOBConf.tipoIob} [{IOBConf.cncIpAddr}:{IOBConf.cncPort}]"; + lblSrvUrlText = $"SRV: {IOBConf.serverData.MPIP} | URL: {IOBConf.serverData.MPURL}{IOBConf.serverData.CMDBASE}"; + + // aggancio evento refresh + iobObj.eh_refreshed += IobObj_eh_refreshed; + + // carico i default values su interfaccia + setDefaults(); + + displayTaskAndLog($"Caricata conf per adapter {tipoScelto}"); + } + } + } +} diff --git a/IOB-WIN-KAWASAKI/App.Debug.config b/IOB-WIN-KAWASAKI/App.Debug.config new file mode 100644 index 00000000..42297ccc --- /dev/null +++ b/IOB-WIN-KAWASAKI/App.Debug.config @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/App.Release.config b/IOB-WIN-KAWASAKI/App.Release.config new file mode 100644 index 00000000..0f80d173 --- /dev/null +++ b/IOB-WIN-KAWASAKI/App.Release.config @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/App.config b/IOB-WIN-KAWASAKI/App.config new file mode 100644 index 00000000..a1cc180b --- /dev/null +++ b/IOB-WIN-KAWASAKI/App.config @@ -0,0 +1,186 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/DATA/CONF/FTP-PING.ini b/IOB-WIN-KAWASAKI/DATA/CONF/FTP-PING.ini new file mode 100644 index 00000000..efe46cca --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/CONF/FTP-PING.ini @@ -0,0 +1,59 @@ +;Configurazione IOB-WIN +[IOB] +;Macchina TEST PING +CNCTYPE=PingWatchdog +PING_MS_TIMEOUT=500 +IOB_NAME=FTP_SONATEST + +[MACHINE] +VENDOR=STEAMWARE +MODEL=WATCHDOG + +[CNC] +IP=10.74.82.204 +PORT=0000 +PING_IP=10.74.82.204 +GETPRGNAME=false + +[SERVER] +MPIP=http://10.74.82.218 +MPURL=/MP/IO +CMDBASE=/IOB/input/ +CMDFLOG=/IOB/flog/ +CMDALIVE=/IOB +CMDENABLED=/IOB/enabled/ +CMDADV1=?valore= +CMDREBO=/sendReboot.aspx?idxMacchina= +CMD_ODL_STARTED=/IOB/getCurrOdlStart/ +CMD_FORCLE_SPLIT_ODL=/IOB/forceSplitOdlFull/ +CMD_IDLE_TIME=/IOB/getIdlePeriod/ + +[MEMORY] + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 30 +BLINK_FILT=0 + +[OPTPAR] +VETO_QUEUE_IN=15 +AUTO_CHANGE_ODL=false +POWEROFF_TIMEOUT_SEC=60 +DISABLE_PZCOUNT=TRUE +;; gestioni PING +;MAX_TRY_PING=3 +;VETO_QUEUE_IN=4 +;VETO_PING_SEC=4 +;VETO_CHECKDIR_SEC=10 +;MAX_ELAPSED_TIME_SEC=60 +;VETO_SEND_SNAPSHOT=3 + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=SteamWare +HostOS=WIN +HostName=IOB-WIN-SIMULA +HostAddr=10.74.82.76 \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/DATA/CONF/FTP_SONATEST.ini b/IOB-WIN-KAWASAKI/DATA/CONF/FTP_SONATEST.ini new file mode 100644 index 00000000..9aa6c689 --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/CONF/FTP_SONATEST.ini @@ -0,0 +1,79 @@ +;Configurazione IOB-WIN +[IOB] +;Macchina TEST FTP simile a ultrasuoni Sonatest x IMI Remosa +CNCTYPE=FTP +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=TEST_FTP +MODEL=TRUESCALE_FTP + +[CNC] +IP=10.74.82.204 +PORT=21 +PING_IP=10.74.82.204 +GETPRGNAME=false + +[SERVER] +MPIP=http://10.74.82.218 +MPURL=/MP/IO +CMDBASE=/IOB/input/ +CMDFLOG=/IOB/flog/ +CMDALIVE=/IOB +CMDENABLED=/IOB/enabled/ +CMDADV1=?valore= +CMDREBO=/sendReboot.aspx?idxMacchina= + +[MEMORY] +ADDR_READ=DB9999.DBB0 +ADDR_WRITE=DB9999.DBB0 +SIZE_READ=0 +SIZE_WRITE=0 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 30 +BLINK_FILT=0 + +[OPTPAR] +; imposto breve sennò non riesce a partire... +WAIT_REC_MSEC = 1000 +; indica gestione folder ritorno dati ODL +ODL_FOLDER = TRUE +; gestione contapezzi +PZCOUNT_MODE=NONE +DISABLE_PZCOUNT=TRUE +ENABLE_SEND_PZC_BLOCK=FALSE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +;errori verifica folder FTP MAX +MAX_ERR_CHECK=10 +; gestione DynData +ENABLE_DYN_DATA=TRUE +FORCE_DYN_DATA=TRUE +DISABLE_DYN_DATA=TRUE +DISABLE_SEND_WDST=TRUE + +; gestioni PING +MAX_TRY_PING=3 +VETO_QUEUE_IN=4 +VETO_PING_SEC=4 +VETO_CHECKDIR_SEC=10 +MAX_ELAPSED_TIME_SEC=60 + +;VETO_SEND_SNAPSHOT=3 +POWEROFF_TIMEOUT_SEC=60 + +; conf parametri memoria READ/WRITE +FTP_PARAM=FTP_SONATEST.json + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=SteamWare +HostOS=WIN +HostName=IOB-WIN-SIMULA +HostAddr=10.74.82.76 \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/DATA/CONF/FTP_SONATEST.json b/IOB-WIN-KAWASAKI/DATA/CONF/FTP_SONATEST.json new file mode 100644 index 00000000..de2bdc0f --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/CONF/FTP_SONATEST.json @@ -0,0 +1,26 @@ +{ + "ListTask": [ + { + "ActionId": "FtpDownload", + "ServerAddr": "egw-tscale-04", + "ServerPort": 21, + "ConnUser": "testftpuser", + "ConnPasswd": "we4reFromB3rghem!", + "RawCert": "", + "SkipCert": true, + "ReExecVeto": 90, + "Note": "Sync periodico completo", + "StepsList": [ + { + "Id": "01", + "Description": "Mirror Remote 2 Local Directory", + "Action": "mirrorDirR2L", + "ParamList": { + "RemoteDir": "ftpdata/syncfolder", + "LocalDir": "\\\\iis01\\W$\\Files" + } + } + ] + } + ] +} \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/DATA/CONF/IMI_SONATEST.ini b/IOB-WIN-KAWASAKI/DATA/CONF/IMI_SONATEST.ini new file mode 100644 index 00000000..399dd54e --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/CONF/IMI_SONATEST.ini @@ -0,0 +1,79 @@ +;Configurazione IOB-WIN +[IOB] +;Macchina controllo ultrasuoni Sonatest x IMI Remosa +CNCTYPE=FTP +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=SONATEST +MODEL=VEO + +[CNC] +IP=172.28.30.208 +PORT=21 +PING_IP=172.28.30.208 +GETPRGNAME=false + +[SERVER] +MPIP=http://192.168.0.110 +MPURL=/MP/IO +CMDBASE=/IOB/input/ +CMDFLOG=/IOB/flog/ +CMDALIVE=/IOB +CMDENABLED=/IOB/enabled/ +CMDADV1=?valore= +CMDREBO=/sendReboot.aspx?idxMacchina= + +[MEMORY] +ADDR_READ=DB9999.DBB0 +ADDR_WRITE=DB9999.DBB0 +SIZE_READ=0 +SIZE_WRITE=0 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 30 +BLINK_FILT=0 + +[OPTPAR] +; imposto breve sennò non riesce a partire... +WAIT_REC_MSEC = 1000 +; indica gestione folder ritorno dati ODL +ODL_FOLDER = TRUE +; gestione contapezzi +PZCOUNT_MODE=NONE +DISABLE_PZCOUNT=TRUE +ENABLE_SEND_PZC_BLOCK=FALSE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +;errori verifica folder FTP MAX +MAX_ERR_CHECK=10 +; gestione DynData +ENABLE_DYN_DATA=TRUE +FORCE_DYN_DATA=TRUE +DISABLE_DYN_DATA=TRUE +DISABLE_SEND_WDST=TRUE + +; gestioni PING +MAX_TRY_PING=3 +VETO_QUEUE_IN=5 +VETO_PING_SEC=5 +VETO_CHECKDIR_SEC=10 +MAX_ELAPSED_TIME_SEC=60 + +;VETO_SEND_SNAPSHOT=3 +POWEROFF_TIMEOUT_SEC=60 + +; conf parametri memoria READ/WRITE +FTP_PARAM=IMI_SONATEST.json + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=IMI-Remosa +HostOS=WIN +HostName=MAPO-SRV-60 +HostAddr=192.168.0.12 diff --git a/IOB-WIN-KAWASAKI/DATA/CONF/IMI_SONATEST.json b/IOB-WIN-KAWASAKI/DATA/CONF/IMI_SONATEST.json new file mode 100644 index 00000000..c6ff3c6e --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/CONF/IMI_SONATEST.json @@ -0,0 +1,27 @@ +{ + "ListTask": [ + { + "ActionId": "FtpDownload", + "ServerAddr": "172.28.30.208", + "ServerPort": 21, + "ConnUser": "ftpuser", + "ConnPasswd": "SOnaTEst", + "RawCert": "", + "SkipCert": true, + "ReExecVeto": 90, + "Note": "Sync periodico completo", + "StepsList": [ + { + "Id": "01", + "Description": "Mirror Remote 2 Local Directory", + "Action": "mirrorDirR2L", + "ParamList": { + "RemoteDir": "internal/MES", + "LocalDir": "\\\\308file\\shares\\QUAL\\Sonatest_Reports\\MES" + } + } + + ] + } + ] +} \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/DATA/CONF/MAIN.ini b/IOB-WIN-KAWASAKI/DATA/CONF/MAIN.ini new file mode 100644 index 00000000..5335f1c9 --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/CONF/MAIN.ini @@ -0,0 +1,24 @@ +;Configurazione IOB-WIN GENERALE +[BRANCH] +NAME=master + +[SERVER] + +; Server Steamware +MPIP=10.74.82.218 +MPURL=/MP/IO +CMDREBO=/IOB/sendRebootGateway?GWIP= +CMDIOB2CALL=/IOB/getIob2call?GWIP= + +;Client Install +CLI_INST=SteamWareSim + +[IOB] +;--- TEST sul campo +; SIMULAZIONE verso server ufficio +;STARTLIST=SIMUL_01,SIMUL_02,SIMUL_03,SIMUL_04 +;STARTLIST=IMI_SONATEST +STARTLIST=FTP_SONATEST + + +MAXCNC=10 \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/DATA/CONF/SIMUL_01.ini b/IOB-WIN-KAWASAKI/DATA/CONF/SIMUL_01.ini new file mode 100644 index 00000000..08975356 --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/CONF/SIMUL_01.ini @@ -0,0 +1,120 @@ +;Configurazione IOB-WIN +[IOB] +CNCTYPE=SIMULA +PING_MS_TIMEOUT=500 +MinDeltaSec=5 +EnableRedisQueue=true +;IOB_NAME=TFT_RAMA_001 + +[MACHINE] +VENDOR=STEAMWARE +MODEL=DEMO_SIMULATOR + +[CNC] +IP=127.0.0.1 +PORT=0000 + +[SERVER] +MPIP=http://10.74.82.218 +MPURL=/MP/IO +CMDBASE=/IOB/input/ +CMDFLOG=/IOB/flog/ +CMDALIVE=/IOB +CMDENABLED=/IOB/enabled/ +CMDADV1=?valore= +CMDREBO=/sendReboot.aspx?idxMacchina= +CMD_ODL_STARTED=/IOB/getCurrOdlStart/ +CMD_FORCLE_SPLIT_ODL=/IOB/forceSplitOdlFull/ +CMD_IDLE_TIME=/IOB/getIdlePeriod/ + +[MEMORY] + +[BLINK] +MAX_COUNTER_BLINK = 15 +BLINK_FILT=0 + +[OPTPAR] +DISABLE_SEND_WDST=TRUE +AUTO_CHANGE_ODL=true +AUTO_SNAPSHOT_DOSSIER=true +CHANGE_ODL_HOURS=24 +CHANGE_ODL_IDLE_MIN=0 +CHANGE_ODL_MODE=SIMUL +; gestione custom timer +timerIntMs=100 +;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice +PZCOUNT_MODE=BIT +ENABLE_PZ_RESET=TRUE +;gestione invio pezzi in blocco +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +; gestione cambio ODL automatico (minuti minimi durata) +MIN_DURATA_ODL=960 +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) +PER_BASE=10100 +SIM_PZCNT=5|1 +SIM_ALARM=100|10 +SIM_MANU=50|6 +; indica gestione e simulazione bit 5 --> slow +SIM_SLOW=3600|20 +; indica gestione e simulazione bit 6 --> warmup/cooldown +SIM_WUCD=8000|20 +; indica gestione e simulazione bit 7 --> emergenza +SIM_EMRG=4000|10 +; indica simulazione delle funzionalità power ON/ OFF +SIM_POW_ON_OFF=true +T_ON=7 +T_OFF=22 +; indica simulazione controlli utente +SIM_RC=81|1 +; indica simulazione registro scarti +SIM_RS=161|1 +; indica simulazione dichiarazioni (note) utente +SIM_DICH=261|1 +; indica matricola opr simulata +SIM_MATR_OPR=1 + +; test x datasync... +DATA_SYNC_AT_START=true +; test sim dossiers tipo Kepware +SIM_KWP=true + +; gestione DynData simulati +ENABLE_DYN_DATA=TRUE +FORCE_DYN_DATA=TRUE +NEW_DYN_DATA=TRUE +; indica parametri gestione TcMan +TC_MAX_TC_FACTOR=3.9 +TC_LAMBDA=0.4 +TC_MAX_INCR=5 +MAX_PZ_INCR_PERC=1000 +; conf parametri memoria READ/WRITE +PARAM_CONF=SIMUL_01.json +ALARM_CONF=SIMUL_01_alarm.json +;test gestione logfile (eg: soitaab) +EnabelPodlManFull=true +CodGruppoIob=STEAMWARE-SIM-FASE-01 +; invio flux alla lettura file +sendFluxOnRead=true + +;conf test FTP +FTP_SERVER=ftp.steamware.net +FTP_USER=testftpuser +FTP_PWD=we4reFromB3rghem! +FTP_CERT= +FTP_SKIP=TRUE +FTP_LOC_DIR=temp\csv +FTP_REM_DIR= +CSV_ADD_HEADER=true + + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=Steamware +HostOS=WIN +HostName=IOB-WIN-SIMULA +HostAddr=10.74.82.76 diff --git a/IOB-WIN-KAWASAKI/DATA/CONF/SIMUL_01.json b/IOB-WIN-KAWASAKI/DATA/CONF/SIMUL_01.json new file mode 100644 index 00000000..d2895eb1 --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/CONF/SIMUL_01.json @@ -0,0 +1,410 @@ +{ + "mMapWrite": { + "setArt": { + "name": "setArt", + "description": "Articolo", + "memAddr": "DB150.DBB12", + "tipoMem": "String", + "index": 12, + "size": 20, + "displOrdinal": 1 + }, + "setArtNum": { + "name": "setArtNum", + "description": "# Num Articolo", + "memAddr": "DB150.DBB112", + "tipoMem": "Int", + "index": 112, + "size": 4, + "displOrdinal": 1 + }, + "setComm": { + "name": "setComm", + "description": "Commessa", + "memAddr": "DB150.DBB32", + "tipoMem": "String", + "index": 32, + "size": 20, + "displOrdinal": 2 + }, + "setCommNum": { + "name": "setCommNum", + "description": "# NumCommessa", + "memAddr": "DB150.DBB132", + "tipoMem": "Int", + "index": 132, + "size": 4, + "displOrdinal": 2 + }, + "setPzComm": { + "name": "setPzComm", + "description": "Qta Richiesta", + "memAddr": "DB150.DBB8", + "tipoMem": "Int", + "index": 8, + "size": 4, + "displOrdinal": 3 + }, + "forceSetPzCount": { + "name": "forceSetPzCount", + "description": "Imposta Qta", + "memAddr": "DB150.DBB8", + "tipoMem": "Int", + "index": 8, + "size": 4, + "displOrdinal": 11 + }, + //"OPC_Set Point.Chain Spped": { + // "name": "OPC_Set Point.Chain Spped", + // "description": "Chain Spped", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Chain Spped", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Top Overfeeding": { + // "name": "OPC_Set Point.Top Overfeeding", + // "description": "Top Overfeeding", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Top Overfeeding", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Bottom Overfeeding": { + // "name": "OPC_Set Point.Bottom Overfeeding", + // "description": "Bottom Overfeeding", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Bottom Overfeeding", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Width Master": { + // "name": "OPC_Set Point.Width Master", + // "description": "Width Master", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Width Master", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Thermoset Time": { + // "name": "OPC_Set Point.Thermoset Time", + // "description": "Thermoset Time", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Thermoset Time", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Thermoset Temperature": { + // "name": "OPC_Set Point.Thermoset Temperature", + // "description": "Thermoset Temperature", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Thermoset Temperature", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Take Off Overfeeding": { + // "name": "OPC_Set Point.Take Off Overfeeding", + // "description": "Take Off Overfeeding", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Take Off Overfeeding", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Small Roller Overfeeding": { + // "name": "OPC_Set Point.Small Roller Overfeeding", + // "description": "Small Roller Overfeeding", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Small Roller Overfeeding", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Scroll Roller Overfeeding": { + // "name": "OPC_Set Point.Scroll Roller Overfeeding", + // "description": "Scroll Roller Overfeeding", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Scroll Roller Overfeeding", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Right Whell Overfeeding": { + // "name": "OPC_Set Point.Right Whell Overfeeding", + // "description": "Right Whell Overfeeding", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Right Whell Overfeeding", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Plaiter Overfeeding": { + // "name": "OPC_Set Point.Plaiter Overfeeding", + // "description": "Plaiter Overfeeding", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Plaiter Overfeeding", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Load cell Weight": { + // "name": "OPC_Set Point.Load cell Weight", + // "description": "Load cell Weight", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Load cell Weight", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Left Wheel Overfeeding": { + // "name": "OPC_Set Point.Left Wheel Overfeeding", + // "description": "Left Wheel Overfeeding", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Left Wheel Overfeeding", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Fan 105A Speed": { + // "name": "OPC_Set Point.Fan 105A Speed", + // "description": "Fan 105A Speed", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 105A Speed", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Fan 105 Speed": { + // "name": "OPC_Set Point.Fan 105 Speed", + // "description": "Fan 105 Speed", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 105 Speed", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Fan 103A Speed": { + // "name": "OPC_Set Point.Fan 103A Speed", + // "description": "Fan 103A Speed", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 103A Speed", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Fan 103 Speed": { + // "name": "OPC_Set Point.Fan 103 Speed", + // "description": "Fan 103 Speed", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 103 Speed", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Fan 101A Speed": { + // "name": "OPC_Set Point.Fan 101A Speed", + // "description": "Fan 101A Speed", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 101A Speed", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Fan 101 Speed": { + // "name": "OPC_Set Point.Fan 101 Speed", + // "description": "Fan 101 Speed", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 101 Speed", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Exhaust Fan 1 Speed": { + // "name": "OPC_Set Point.Exhaust Fan 1 Speed", + // "description": "Exhaust Fan 1 Speed", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Exhaust Fan 1 Speed", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Differentiation Spindle 5": { + // "name": "OPC_Set Point.Differentiation Spindle 5", + // "description": "Differentiation Spindle 5", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 5", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Differentiation Spindle 4": { + // "name": "OPC_Set Point.Differentiation Spindle 4", + // "description": "Differentiation Spindle 4", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 4", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Differentiation Spindle 3": { + // "name": "OPC_Set Point.Differentiation Spindle 3", + // "description": "Differentiation Spindle 3", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 3", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Differentiation Spindle 2": { + // "name": "OPC_Set Point.Differentiation Spindle 2", + // "description": "Differentiation Spindle 2", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 2", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Differentiation Spindle 1": { + // "name": "OPC_Set Point.Differentiation Spindle 1", + // "description": "Differentiation Spindle 1", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 1", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Cooling Cell 1 Speed": { + // "name": "OPC_Set Point.Cooling Cell 1 Speed", + // "description": "Cooling Cell 1 Speed", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Cooling Cell 1 Speed", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Burner 6 Temperature": { + // "name": "OPC_Set Point.Burner 6 Temperature", + // "description": "Burner 6 Temperature", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 6 Temperature", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Burner 5 Temperature": { + // "name": "OPC_Set Point.Burner 5 Temperature", + // "description": "Burner 5 Temperature", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 5 Temperature", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Burner 4 Temperature": { + // "name": "OPC_Set Point.Burner 4 Temperature", + // "description": "Burner 4 Temperature", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 4 Temperature", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Burner 3 Temperature": { + // "name": "OPC_Set Point.Burner 3 Temperature", + // "description": "Burner 3 Temperature", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 3 Temperature", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Burner 2 Temperature": { + // "name": "OPC_Set Point.Burner 2 Temperature", + // "description": "Burner 2 Temperature", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 2 Temperature", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Burner 1 Temperature": { + // "name": "OPC_Set Point.Burner 1 Temperature", + // "description": "Burner 1 Temperature", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 1 Temperature", + // "index": 0, + // "size": 0 + //}, + //"OPC_Set Point.Air Humidity Preset Esa 1": { + // "name": "OPC_Set Point.Air Humidity Preset Esa 1", + // "description": "Air Humidity Preset Esa 1", + // "tipoMem": "String", + // "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Air Humidity Preset Esa 1", + // "index": 0, + // "size": 0 + //} + }, + "mMapRead": { + "TEMP_01": { + "name": "TEMP_01", + "description": "Temperatura 01", + "tipoMem": "Real", + "minVal": 18, + "maxVal": 24, + "displOrdinal": 4 + }, + "POWER_01": { + "name": "POWER_01", + "description": "Potenza impianto", + "tipoMem": "Int", + "minVal": 40, + "maxVal": 80, + "displOrdinal": 5 + }, + "FEED_OVER": { + "name": "FEED_OVER", + "description": "FEED override", + "tipoMem": "Int", + "minVal": 0, + "maxVal": 100, + "displOrdinal": 6 + }, + "RAPID_OVER": { + "name": "RAPID_OVER", + "description": "RAPID override", + "tipoMem": "Int", + "minVal": 50, + "maxVal": 120, + "displOrdinal": 7 + }, + "POS_X": { + "name": "POS_X", + "description": "Asse X", + "tipoMem": "Int", + "minVal": -2000, + "maxVal": 2000, + "displOrdinal": 8 + }, + "POS_Y": { + "name": "POS_Y", + "description": "Asse Y", + "tipoMem": "Int", + "minVal": 0, + "maxVal": 2000, + "displOrdinal": 9 + }, + "POS_Z": { + "name": "POS_Z", + "description": "Asse Z", + "tipoMem": "Int", + "minVal": 0, + "maxVal": 1500, + "displOrdinal": 10 + } + }, + "optKVP": { + "fluxLogReduce": true, + "fluxLogRedDeadBand": 1.5, + "fluxLogResendPeriod": 15, + "hasRecipe": true, + "maxPodlQty": 530, + "useLocalRecipe": true, + "path-locBase": "C:\\MesData\\", + "path-00-Arch": "ArchivioRicette\\FIMAT", + "path-01-Temp": "01-Temp\\FIMAT", + "path-02-Sent": "02-Inviate\\FIMAT", + "path-03-Recv": "03-Ricevute\\FIMAT", + "path-04-remReq": "Y:\\", + "path-05-remExe": "C:\\MesData\\Remote\\Dosed", + "path-06-remRec": "R:\\", + "path-outReport": "C:\\MesData\\Report", + "path-confSetup": "C:\\MesData\\Setup\\setupConsumi.json", + "replace-": "{{PODL}}", + "replace-": "Kg{{Qty}} | {{Note}}" + }, //, + //"BaseKeyTranslate": "ns=2;s=RamosaETN21.RamosaCJ2", + //"RecipeKeyTranslate": { + // "Present Value.General Fan": "Recipe.Chain Spped", + // "Present Value.Bottom Overfeeding": "Recipe.Bottom Overfeeding", + // "Present Value.Top Overfeeding": "Recipe.Top Overfeeding" + //} + "mMapWriteLink": { + "setArt": "setArtNum", + "setComm": "setCommNum" + } +} \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/DATA/CONF/SIMUL_01_WD.ini b/IOB-WIN-KAWASAKI/DATA/CONF/SIMUL_01_WD.ini new file mode 100644 index 00000000..56bca173 --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/CONF/SIMUL_01_WD.ini @@ -0,0 +1,51 @@ +;Configurazione IOB-WIN +[IOB] +CNCTYPE=PingWatchdog +PING_MS_TIMEOUT=500 +; attenzione che alcuni eventi vengo scritti cmq nel log di SIMUL_01 invece di SIMUL_01_WD +IOB_NAME=SIMUL_01 + +[MACHINE] +VENDOR=STEAMWARE +MODEL=WATCHDOG + +[CNC] +; ping vs WIN10-VPN-03 per test +IP=10.74.83.203 +PORT=0000 + +[SERVER] +MPIP=http://10.74.82.218 +MPURL=/MP/IO +CMDBASE=/IOB/input/ +CMDFLOG=/IOB/flog/ +CMDALIVE=/IOB +CMDENABLED=/IOB/enabled/ +CMDADV1=?valore= +CMDREBO=/sendReboot.aspx?idxMacchina= +CMD_ODL_STARTED=/IOB/getCurrOdlStart/ +CMD_FORCLE_SPLIT_ODL=/IOB/forceSplitOdlFull/ +CMD_IDLE_TIME=/IOB/getIdlePeriod/ + +[MEMORY] + +[BLINK] +MAX_COUNTER_BLINK = 15 +BLINK_FILT=0 + +[OPTPAR] +AUTO_CHANGE_ODL=false +POWEROFF_TIMEOUT_SEC=60 +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=Steamware +HostOS=WIN +HostName=IOB-WIN-SIMULA +HostAddr=10.74.82.76 diff --git a/IOB-WIN-KAWASAKI/DATA/CONF/SIMUL_01_alarm.json b/IOB-WIN-KAWASAKI/DATA/CONF/SIMUL_01_alarm.json new file mode 100644 index 00000000..4f6ed310 --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/CONF/SIMUL_01_alarm.json @@ -0,0 +1,859 @@ +[ + { + "description": "Alarm Word 0 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 0", + "index": 0, + "size": 2, + "messages": [ + "1,ALLARME INVERTER CATENA TRASP. TESSUTO", + "2,ALLARME INVERTER CILINDRO SOVRALIMENTAZIONE SUPERIORE", + "3,ALLARME INVERTER CILINDRO SOVRALIMENTAZIONE INFERIORE", + "4,ALLARME INVERTER RUOTA SOVRALIMENTAZIONE SINISTRA", + "5,ALLARME INVERTER RUOTA SOVRALIMENTAZIONE DESTRA", + "6,ALLARME INVERTER STACCAPEZZA", + "7,ALLARME INVERTER FALDAROTOLATORE", + "8,ALLARME INVERTER FALDERUOLE", + "9,ALLARME INVERTER ESAUSTORE 1 ", + "10,ALLARME FUNE SICUREZZA USCITA", + "11,ALLARME VENTILATORE 1 (BASSO)", + "12, ALLARME VENTILATORE 2 (BASSO)", + "13,ALLARME F.C. MINIMO CAMPO MASTER", + "14,ALLARME F.C. MASSIMO CAMPO MASTER", + "15,ALLARME PROTEZIONE TAPPETO INGRESSO", + "16,RIFERIMENTO POTENZIOMETRI CAMPI ASSENTE" + ] + }, + + { + "description": "Alarm Word 1 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 1", + "index": 1, + "size": 2, + "messages": [ + "17,ALLARME CONDIZIONATORI", + "18,EMERGENZA IN CORSO !!!", + "19,ALLARME PROTEZIONE RECUPERO CALORE - GRUPPO 2 POMPA 1", + "20,ALLARME POMPA RECUPERO CALORE 3", + "21,CONTROLLO UMIDITA' : FUORI CAMPO", + "22,ALLARME RILEVATORE ALTEZZA TESSUTO", + "23,ALLARME NON RILASCIO TESSUTO SINISTRO", + "24,ALLARME NON RILASCIO TESSUTO DESTRO", + "25,ALLARME ALIMENTAZIONE 24VAC QUADRO", + "26,ALLARME APRICIMOSSE", + "27,ALLARME ASCIUGACIMOSSE A INFRAROSSI", + "28,ALLARME PROTEZIONE CELLA DI RAFFREDDAMENTO 1", + "29,CAMPO PARALLELO 2 ALLARME PROTEZIONE", + "30,ALLARME VENTILATORE 3 (BASSO)", + "31,ALLARME VENTILATORE 4 (BASSO)", + "32,CAMPO PARALLELO 1 ALLARME PROTEZIONE" + ] + }, + + { + "description": "Alarm Word 2 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 2", + "index": 2, + "size": 2, + "messages": [ + "33,CAMPO PARALLELO 3 ALLARME PROTEZIONE", + "34,RAGGIUNTO MASSIMO CARICO CELLA DI CARICO TAPPETO", + "35,ALLARME FALLOPEZZA SINISTRO", + "36,ALLARME FALLOPEZZA DESTRO", + "37,PARATIE ANTERIORI APERTE", + "38,ALLARME AZIONAMENTO CAMPO CONICO", + "39,BLOCCO BRUCIATORE 9", + "40,CAMPO MASTER ALLARME PROTEZIONE ", + "41,ALLARME PRESSOSTATO TENDICATENA SINISTRO", + "42,ALLARME PRESSOSTATO TENDICATENA DESTRO", + "43,ALLARME MASSIMO ALLUNGAMENTO CATENA", + "44,ALLARME TIPO LAVORO USCITA NON SELEZIONATO", + "45,ALLARME RADDRIZZATRAMA", + "46,ALLARME SPREMITORE 1", + "47,BLOCCO BRUCIATORE 10", + "48,BLOCCO BRUCIATORE 11" + ] + }, + + { + "description": "Alarm Word 3 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 3", + "index": 3, + "size": 2, + "messages": [ + "49,BLOCCO BRUCIATORE 12", + "50,BLOCCO BRUCIATORE 1", + "51,BLOCCO BRUCIATORE 2", + "52,BLOCCO BRUCIATORE 3", + "53,BLOCCO BRUCIATORE 4", + "54,BIELLE FUORI POSIZIONE", + "55,GRUPPO FALDATORE FUORI POSIZIONE", + "56,SERIE ARRESTI APERTA", + "57,MANCANZA LUBRIFICANTE CATENA TRASP. TESSUTO", + "58,ALLARME INVERTER PICCOLO ROTOLO", + "59,ALLARME PROTEZIONE ALLARGATORI", + "60,ALLARME PROTEZIONE ASPIRACIMOSSE", + "61,ALLARME TAGLIACIMOSSE SINISTRA", + "62,ALLARME TAGLIACIMOSSE DESTRA", + "63,ALLARME INVERTER VENTILATORI INV101", + "64,ALLARME INVERTER VENTILATORI INV103" + ] + }, + + { + "description": "Alarm Word 4 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 4", + "index": 4, + "size": 2, + "messages": [ + "65,ALLARME TIMEOUT VITE CAMPO MASTER", + "66,ALLARME TIMEOUT VITE CAMPO PARALLELO 1", + "67,ALLARME TIMEOUT VITE CAMPO PARALLELO 2", + "68,ALLARME TIMEOUT VITE CAMPO PARALLELO 3", + "69,ALLARME TIMEOUT VITE CAMPO PARALLELO 4", + "70,ALLARME TIMEOUT VITE CAMPO PARALLELO 5", + "71,ALLARME TIMEOUT VITE CAMPO PARALLELO 6", + "72,ALLARME TIMEOUT VITE CAMPO PARALLELO 7", + "73,ALLARME TIMEOUT VITE CAMPO PARALLELO 8", + "74,ALLARME TIMEOUT VITE CAMPO PARALLELO 9", + "75,ALLARME DEVICE_NET ADDR. 32 DA BANCHETTO DI SPALMATURA", + "76,ALLARME INVERTER DOGAL ", + "77,ALLARME FOTOCELLULA TAPPETO USCITA PIENO", + "78,TEMPO DI CICLO PLC SOPRA MASSIMO IMPOSTATO", + "79,ERRORE INDIRIZZI SONDE BRUCIATORI", + "80,ALLARME VENTILATORE 4 (ALTO)" + ] + }, + + { + "description": "Alarm Word 5 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 5", + "index": 5, + "size": 2, + "messages": [ + "81,ALLARME VENTILATORE 5 (ALTO)", + "82,ALLARME VENTILATORE 6 (ALTO)", + "83,ALLARME VENTILATORE 7 (ALTO)", + "84,SONDA BRUCIATORE 1 INTERROTTA", + "85,SONDA BRUCIATORE 2 INTERROTTA", + "86,SONDA BRUCIATORE 3 INTERROTTA", + "87,SONDA BRUCIATORE 4 INTERROTTA", + "88,ALLARME DEVICE_NET ADDR. 0", + "89,ALLARME DEVICE_NET ADDR. 1", + "90,ALLARME DEVICE_NET ADDR. 2", + "91,ALLARME DEVICE_NET ADDR. 3", + "92,ALLARME DEVICE_NET ADDR. 4", + "93,ALLARME DEVICE_NET ADDR. 5", + "94,ALLARME DEVICE_NET ADDR. 6", + "95,ALLARME DEVICE_NET ADDR. 7", + "96,ALLARME DEVICE_NET ADDR. 8" + ] + }, + + { + "description": "Alarm Word 6 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 6", + "index": 6, + "size": 2, + "messages": [ + "97,ALLARME DEVICE_NET ADDR. 9", + "98,ALLARME DEVICE_NET ADDR. 10", + "99,ALLARME DEVICE_NET ADDR. 11", + "100,ALLARME DEVICE_NET ADDR. 12", + "101,ALLARME DEVICE_NET ADDR. 13", + "102,ALLARME DEVICE_NET ADDR. 14", + "103,ALLARME DEVICE_NET ADDR. 15", + "104,ALLARME DEVICE_NET ADDR. 16", + "105,ALLARME DEVICE_NET ADDR. 17", + "106,ALLARME DEVICE_NET ADDR. 18", + "107,ALLARME DEVICE_NET ADDR. 19", + "108,ALLARME DEVICE_NET ADDR. 20", + "109,ALLARME DEVICE_NET ADDR. 21", + "110,ALLARME DEVICE_NET ADDR. 22", + "111,ALLARME DEVICE_NET ADDR. 23", + "112,ALLARME DEVICE_NET ADDR. 24" + ] + }, + + { + "description": "Alarm Word 7 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 7", + "index": 7, + "size": 2, + "messages": [ + "113,ALLARME DEVICE_NET ADDR. 25", + "114,ALLARME DEVICE_NET ADDR. 26", + "115,BLOCCO BRUCIATORE 5", + "116,BLOCCO BRUCIATORE 6", + "117,BLOCCO BRUCIATORE 7", + "118,BLOCCO BRUCIATORE 8", + "119,SOVRATEMPERATURA BRUCIATORE 1", + "120,SOVRATEMPERATURA BRUCIATORE 2", + "121,SOVRATEMPERATURA BRUCIATORE 3", + "122,SOVRATEMPERATURA BRUCIATORE 4", + "123,SOVRATEMPERATURA BRUCIATORE 5", + "124,SOVRATEMPERATURA BRUCIATORE 6", + "125,SOVRATEMPERATURA BRUCIATORE 7", + "126,SOVRATEMPERATURA BRUCIATORE 8", + "127,SONDA BRUCIATORE 5 INTERROTTA", + "128,SONDA BRUCIATORE 6 INTERROTTA" + ] + }, + + { + "description": "Alarm Word 8 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 8", + "index": 8, + "size": 2, + "messages": [ + "129,SONDA BRUCIATORE 7 INTERROTTA", + "130,SONDA BRUCIATORE 8 INTERROTTA", + "131,SONDA BRUCIATORE 9 INTERROTTA", + "132,SONDA BRUCIATORE 10 INTERROTTA", + "133,SONDA BRUCIATORE 11 INTERROTTA", + "134,SONDA BRUCIATORE 12 INTERROTTA", + "135,SOVRATEMPERATURA BRUCIATORE 9", + "136,SOVRATEMPERATURA BRUCIATORE 10", + "137,SOVRATEMPERATURA BRUCIATORE 11", + "138,SOVRATEMPERATURA BRUCIATORE 12", + "139,ALLARME INVERTER VENTILATORI INV105", + "140,ALLARME INVERTER VENTILATORI INV107", + "141,ALLARME INVERTER VENTILATORI INV109", + "142,ALLARME INVERTER VENTILATORI INV111", + "143,ALLARME VENTILATORE 5 (BASSO)", + "144,ALLARME VENTILATORE 6 (BASSO)" + ] + }, + + { + "description": "Alarm Word 9 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 9", + "index": 9, + "size": 2, + "messages": [ + "145,ALLARME VENTILATORE 7 (BASSO)", + "146,ALLARME VENTILATORE 8 (BASSO)", + "147,ALLARME VENTILATORE 9 (BASSO)", + "148,ALLARME VENTILATORE 10 (BASSO)", + "149,ALLARME VENTILATORE 11 (BASSO)", + "150,ALLARME VENTILATORE 12 (BASSO)", + "151,ALLARME INVERTER ESAUSTORE 2", + "152,CAMPO PARALLELO 4 ALLARME PROTEZIONE", + "153,CAMPO PARALLELO 5 ALLARME PROTEZIONE", + "154,CAMPO PARALLELO 6 ALLARME PROTEZIONE", + "155,CAMPO PARALLELO 7 ALLARME PROTEZIONE", + "156,CAMPO PARALLELO 8 ALLARME PROTEZIONE", + "157,ALLARME INSEGUIMENTO VITE MASTER AGGIUNTA", + "158,ALLARME INVERTER CILINDRO RAFFREDDAMENTO", + "159,ALLARME TEMPERATURA ESAUSTORI", + "160,ALLARME INVERTER RECUPERO CALORE GRUPPO 1 " + ] + }, + + { + "description": "Alarm Word 10 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 10", + "index": 10, + "size": 2, + "messages": [ + "161,ALLARME FINECORSA SX TAPPETO USCITA", + "162,ALLARME FINECORSA DX TAPPETO USCITA", + "163,ALLARME INVERTER RECUPERO CALORE GRUPPO 2", + "164,ALLARME DEVICE_NET ADDR. 31", + "165,ALLARME CENTRATORE USCITA", + "166,COMPATTATORE NON PRONTO", + "167,ALLARME CONTROLLO PIROMETRI", + "168,ALLARME ALLARGATORE SU TAPPETO USCITA", + "169,ALLARME CONTROLLO FUMI", + "170,ALLARME FINECORSA BALLERINO ALTO", + "171,ALLARME FINECORSA BALLERINO BASSO", + "172,ALLARME PROTEZIONE ASPIRATORE VAPORIZZO INTENSIVO", + "173,ALLARME PROTEZIONE BRUCIATORE 1", + "174,ALLARME PROTEZIONE BRUCIATORE 2", + "175,ALLARME PROTEZIONE BRUCIATORE 3", + "176,ALLARME PROTEZIONE BRUCIATORE 4" + ] + }, + + { + "description": "Alarm Word 11 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 11", + "index": 11, + "size": 2, + "messages": [ + "177,ALLARME PROTEZIONE BRUCIATORE 5", + "178,ALLARME PROTEZIONE BRUCIATORE 6", + "179,ALLARME PROTEZIONE BRUCIATORE 7", + "180,ALLARME PROTEZIONE BRUCIATORE 8", + "181,ALLARME PROTEZIONE BRUCIATORE 9", + "182,ALLARME PROTEZIONE BRUCIATORE 10", + "183,ALLARME PROTEZIONE BRUCIATORE 11", + "184,ALLARME PROTEZIONE BRUCIATORE 12", + "185,TERMOFISSAGGIO O ESSICCAZIONE: TEMPERATURA FUORI CAMPO", + "186,TERMOFISSAGGIO O ESSICCAZIONE: VELOCITA' FUORI CAMPO", + "187,TERMOFISSAGGIO O ESSICCAZIONE: TEMPO FUORI CAMPO", + "188,SISTEMA CAMPI PARALLELI NON TARATO", + "189,ALLARME PROTEZIONE VENTOLE BRUCIATORI", + "190,CAMPO CONICO SINISTRO SU LIMITE CHIUSURA", + "191,CAMPO CONICO SINISTRO SU LIMITE APERTURA", + "192,CAMPO CONICO DESTRO SU LIMITE APERTURA" + ] + }, + + { + "description": "Alarm Word 12 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 12", + "index": 12, + "size": 2, + "messages": [ + "193,CAMPO CONICO DESTRO SU LIMITE CHIUSURA", + "194,FINECORSA CAMPO CONICO DESTRO SU TRAVERSA", + "195,FINECORSA CAMPO CONICO SINISTRO SU TRAVERSA", + "196,ALLARME PROTEZIONE INVERTER CAMPO CONICO SINISTRO", + "197,ALLARME PROTEZIONE INVERTER CAMPO CONICO DESTRO", + "198,ALLARME DEVICE_NET ADDR. 27", + "199,ALLARME VENTILATORE 8 (ALTO)", + "200,ALLARME VENTILATORE 9 (ALTO)", + "201,ALLARME VENTILATORE 10 (ALTO)", + "202,ALLARME VENTILATORE 11 (ALTO)", + "203,ALLARME VENTILATORE 12 (ALTO)", + "204,ALLARME VENTILATORE 1 (ALTO)", + "205,ALLARME VENTILATORE 2 (ALTO)", + "206,ALLARME VENTILATORE 3 (ALTO)", + "207,ALLARME PROTEZIONE CELLA DI RAFFREDDAMENTO 2", + "208,ALLARME FINECORSA TANDEM CONTROLLO ANSA TESSUTO" + ] + }, + + { + "description": "Alarm Word 13 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 13", + "index": 13, + "size": 2, + "messages": [ + "209,ALLARME FUNE SICUREZZA / PROTEZIONE RIBALTABILE ANTERIORE", + "210,ALLARME INVERTER VENTILATORI INV101A", + "211,ALLARME INVERTER VENTILATORI INV103A", + "212,ALLARME INVERTER VENTILATORI INV105A", + "213,ALLARME INVERTER VENTILATORI INV107A", + "214,ALLARME INVERTER VENTILATORI INV109A", + "215,ALLARME INVERTER VENTILATORI INV111A", + "216,ALLARME DA BANCHETTO DI SPALMATURA", + "217,ALLARME DEVICE_NET ADDR. 28", + "218,STOP JOG USCITA PER PESO RAGGIUNTO SU CELLA DI CARICO", + "219,DOGAL NON PRONTO", + "220,ALLARME PROTEZIONE CELLA RAFFREDDAMENTO 91A", + "221,MALFUNZIONAMENTO RECUPERO CALORE GRUPPO 1", + "222,ALLARME PROTEZIONE SOSTEGNO TESSUTO", + "223,TARATURA CAMPI CONICI NON EFFETTUATA!", + "224,ALLARME TIMEOUT VITE CAMPO PARALLELO 10" + ] + }, + + { + "description": "Alarm Word 14 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 14", + "index": 14, + "size": 2, + "messages": [ + "225,CAMPO PARALLELO 9 ALLARME PROTEZIONE", + "226,CAMPO PARALLELO 10 ALLARME PROTEZIONE", + "227,CAMPO PARALLELO 11 ALLARME PROTEZIONE", + "228,CAMPO PARALLELO 12 ALLARME PROTEZIONE", + "229,ALLARME FLUSSOSTATO RECUPERO CALORE 1", + "230,ALLARME FLUSSOSTATO RECUPERO CALORE 2", + "231,ALLARME FLUSSOSTATO RECUPERO CALORE 3", + "232,ALLARME PROTEZIONE VENTILATORE ASCIUGACIMOSSE", + "233,ALLARME PROTEZIONE RESISTENZE ASCIUGACIMOSSE", + "234,ALLARME PROTEZIONE RECUPERO CALORE - GRUPPO 1 POMPA 1 ", + "235,ALLARME INCENDIO", + "236,ATTENZIONE ! ALLARME PRESENTE SU BANCHETTO DI SPALMATURA", + "237,MALFUNZIONAMENTO RECUPERO CALORE GRUPPO 2", + "238,ALLARME PROTEZIONE CELLA RAFFREDDAMENTO 91B", + "239,ALLARME PROTEZIONE PULISCISPILLI", + "240,BATTERIA PLC - LIVELLO BASSO" + ] + }, + + { + "description": "Alarm Word 15 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 15", + "index": 15, + "size": 2, + "messages": [ + "241,ALLARME CONTEMPORANEIT? TERMOSTATI SICUREZZA BRUCIATORI", + "242,BLOCCO VERSIONE SOFTWARE", + "243,SROTOLATORE NON PRONTO", + "244,ERRORE DI COMUNICAZIONE PROTOCOL MACRO", + "245,ALLARME TAGLIERINA URBAN", + "246,FINE TESSUTO IN INGRESSO", + "247,ALLARME PROTEZIONE SERVOVENTILAZIONI MOTORI", + "248,ALLARME INVERTER ARROTOLATORE TANGENZIALE", + "249,ALLARME SPREMITORE 2", + "250,ALLARME FS-91ER PLEVA", + "251,ALLARME LINEA EMERGENZA ARROTOLATORE", + "252,ALLARME FOTOCELLULE ARROTOLATORE", + "253,PORTA CASSETTA USCITA RAMOSA APERTA", + "254,ALLARME FINECORSA CILINDRO PROTEZIONE ARROTOLATORE ASSIALE", + "255,ALLARME PRESSOSTATI GRUPPO VALVOLE USCITA", + "256,ARROTOLATORE NON PRONTO" + ] + }, + + { + "description": "Alarm Word 16 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 16", + "index": 16, + "size": 2, + "messages": [ + "257,FINECORSA GRUPPO FALDATORE AVANTI", + "258,FINECORSA GRUPPO FALDATORE INDIETRO", + "259,ALLARME BATTERIA ELETTRICA 1", + "260,SOVRATEMPERATURA BATTERIA ELETTRICA 5", + "261,ALLARME BATTERIA ELETTRICA 2", + "262,RISCALDAMENTO QUADRO SPENTO", + "263,SOVRATEMPERATURA BATTERIA ELETTRICA 1", + "264,SOVRATEMPERATURA BATTERIA ELETTRICA 2", + "265,ALLARME BATTERIA ELETTRICA 3", + "266,EMERGENZA DA SPALMATRICE", + "267,ALLARME BATTERIA ELETTRICA 4", + "268,ALLARME BATTERIA ELETTRICA 5", + "269,SOVRATEMPERATURA BATTERIA ELETTRICA 3", + "270,SOVRATEMPERATURA BATTERIA ELETTRICA 4", + "271,ALLARME IDROSTATO RECUPERO CALORE 1", + "272,ALLARME SENSORE LIVELLO RECUPERO CALORE 1 : AGGIUNGERE LIQUIDO !" + ] + }, + + { + "description": "Alarm Word 17 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 17", + "index": 17, + "size": 2, + "messages": [ + "273,ALLARME RELE' CONTROLLO FASI", + "274,ALLARME DEVICE NET ADDR. 40 - MODULO GRT1-DRT USCITA RAMOSA", + "275,ALLARME PRESSOSTATO LINEA ENTRATA MACCHINA", + "276,ALLARME PRESSOSTATO LINEA USCITA MACCHINA", + "277,CAMPO CANNOCCHIALI 1 BLOCCATO", + "278,CAMPO CANNOCCHIALI 2 BLOCCATO", + "279,ALLARME DISCONTINUITA' CAMPI PARALLELI", + "280,ALLARME INSEGUIMENTO CAMPI PARALLELI - VITE LENTA", + "281,ALLARME LIMITE VITI", + "282,RAGGIUNTO MASSIMO CARICO SU CELLA DI CARICO", + "283,ALLARME PRESSOSTATO ESAUSTORE", + "284,EMERGENZA MOVIMENTO TESSUTO", + "285,EMERGENZA DA SPREMITORE 1", + "286,EMERGENZA DA RADDRIZZATRAMA", + "287,EMERGENZA DA SROTOLATORE", + "288,EMERGENZA DA ARROTOLATORE" + ] + }, + + { + "description": "Alarm Word 18 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 18", + "index": 18, + "size": 2, + "messages": [ + "289,ALLARME SICUREZZA BRUCIATORE 1", + "290,ALLARME SICUREZZA BRUCIATORE 2", + "291,ALLARME SICUREZZA BRUCIATORE 3", + "292,ALLARME SICUREZZA BRUCIATORE 4", + "293,ALLARME SICUREZZA BRUCIATORE 5", + "294,ALLARME SICUREZZA BRUCIATORE 6", + "295,ALLARME SICUREZZA BRUCIATORE 7", + "296,ALLARME SICUREZZA BRUCIATORE 8", + "297,ALLARME SICUREZZA BRUCIATORE 9", + "298,ALLARME SICUREZZA BRUCIATORE 10", + "299,ALLARME SICUREZZA BRUCIATORE 11", + "300,ALLARME SICUREZZA BRUCIATORE 12", + "301,ALLARME BRUCIATORE 1 SPENTO", + "302,ALLARME BRUCIATORE 2 SPENTO", + "303,ALLARME BRUCIATORE 3 SPENTO", + "304,ALLARME BRUCIATORE 4 SPENTO" + ] + }, + + { + "description": "Alarm Word 19 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 19", + "index": 19, + "size": 2, + "messages": [ + "305,ALLARME BRUCIATORE 5 SPENTO", + "306,ALLARME BRUCIATORE 6 SPENTO", + "307,ALLARME BRUCIATORE 7 SPENTO", + "308,ALLARME BRUCIATORE 8 SPENTO", + "309,ALLARME BRUCIATORE 9 SPENTO", + "310,ALLARME BRUCIATORE 10 SPENTO", + "311,ALLARME BRUCIATORE 11 SPENTO", + "312,ALLARME BRUCIATORE 12 SPENTO", + "313,ALLARME SENSORE LIVELLO RECUPERO CALORE 2 : AGGIUNGERE LIQUIDO !", + "314,ALLARME DA MIXER", + "315,ALLARME PRESSOSTATI LUBRIFICAZIONE", + "316,ALLARME ABBATTITORE FUMI", + "317,MACCHINA 1 NON IN LINEA", + "318,MACCHINA 2 NON IN LINEA", + "319,MACCHINA 3 NON IN LINEA", + "320,MACCHINA 4 NON IN LINEA" + ] + }, + + { + "description": "Alarm Word 20 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 20", + "index": 20, + "size": 2, + "messages": [ + "321,MACCHINA 5 NON IN LINEA", + "322,MACCHINA 6 NON IN LINEA", + "323,MACCHINA 7 NON IN LINEA", + "324,MACCHINA 8 NON IN LINEA", + "325,NON STOP NON PRONTO", + "326,EMERGENZA DA NON STOP", + "327,ALLARME DISCONTINUITA' CAMPO MASTER", + "328,ALLARME DISCONTINUITA' CAMPO PARALLELO 1", + "329,ALLARME DISCONTINUITA' CAMPO PARALLELO 2", + "330,ALLARME DISCONTINUITA' CAMPO PARALLELO 3", + "331,ALLARME DISCONTINUITA' CAMPO PARALLELO 4", + "332,ALLARME DISCONTINUITA' CAMPO PARALLELO 5", + "333,ALLARME DISCONTINUITA' CAMPO PARALLELO 6", + "334,ALLARME DISCONTINUITA' CAMPO PARALLELO 7", + "335,ALLARME DISCONTINUITA' CAMPO PARALLELO 8", + "336,ALLARME DISCONTINUITA' CAMPO PARALLELO 9" + ] + }, + + { + "description": "Alarm Word 21 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 21", + "index": 21, + "size": 2, + "messages": [ + "337,ALLARME DISCONTINUITA' CAMPO PARALLELO 10", + "338,PROTEZIONI INGRESSO APERTE", + "339,PROTEZIONI USCITA APERTE", + "340,ALLARME PROTEZIONE ESTRATTORE FUMI 1", + "341,ALLARME PROTEZIONE ESTRATTORE FUMI 2", + "342,MANCANZA PRESSOSTATO ESTRATTORE FUMI 1", + "343,MANCANZA PRESSOSTATO ESTRATTORE FUMI 2", + "344,EMERGENZA DA MIXER", + "345,EMERGENZA DA SPREMITORE 2", + "346,ALLARME PROTEZIONE VENTILATORE RECUPERO CALORE 1", + "347,ALLARME PROTEZIONE VENTILATORE RECUPERO CALORE 2", + "348,ALLARME MODULO VELOCITA? ZERO CATENA TRASP. TESSUTO", + "349,ALLARME RILEVAMENTO TESSUTO SINISTRO USCITA", + "350,ALLARME RILEVAMENTO TESSUTO DESTRO USCITA", + "351,ALLARME FINECORSA SOLLEVAMENTO CAMPI CONICI", + "352,ALLARME IDROSTATO RECUPERO CALORE 2" + ] + }, + + { + "description": "Alarm Word 22 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 22", + "index": 22, + "size": 2, + "messages": [ + "353,ALLARME FUNE DI PROTEZIONE IN USCITA", + "354,ALLARME PROTEZIONE VENTOLA BRUCIATORE MAXON 1", + "355,ALLARME PROTEZIONE VENTOLA BRUCIATORE MAXON 2", + "356,ALLARME PROTEZIONE VENTOLA BRUCIATORE MAXON 3", + "357,ALLARME PROTEZIONE VENTOLA BRUCIATORE MAXON 4", + "358,ALLARME PROTEZIONE VENTOLA BRUCIATORE MAXON 5", + "359,ALLARME PROTEZIONE VENTOLA BRUCIATORE MAXON 6", + "360,ALLARME PROTEZIONE VENTOLA BRUCIATORE MAXON 7", + "361,ALLARME PROTEZIONE VENTOLA BRUCIATORE MAXON 8", + "362,ALLARME PROTEZIONE VENTOLA BRUCIATORE MAXON 9", + "363,ALLARME PROTEZIONE VENTOLA BRUCIATORE MAXON 10", + "364,ALLARME PROTEZIONE VENTOLA BRUCIATORE MAXON 11", + "365,ALLARME PROTEZIONE VENTOLA BRUCIATORE MAXON 12", + "366,OLIO CATENA - PRESSIONE MINIMA", + "367,POMPA OLIO CATENA - ALLARME PROTEZIONE", + "368,JBOX INGRESSO - BALLERINO BASSO" + ] + }, + + { + "description": "Alarm Word 23 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 23", + "index": 23, + "size": 2, + "messages": [ + "369,JBOX INGRESSO - FINE TESSUTO", + "370,JBOX INGRESSO - PIENO", + "371,JBOX INGRESSO - BALLERINO ALTO", + "372,JBOX INGRESSO - VUOTO", + "373,JBOX USCITA - BALLERINO BASSO", + "374,JBOX USCITA - FINE TESSUTO", + "375,JBOX USCITA - PIENO", + "376,JBOX USCITA - BALLERINO ALTO", + "377,JBOX USCITA - VUOTO", + "378,JBOX USCITA - ALLARME PRESSOSTATO", + "379,JBOX ENTRATA - ALLARME PRESSOSTATO", + "380,ALLARME PROTEZIONE CARRELLO FALDATORE", + "381,RISCALDAMENTO INDIRETTO - ALLARME FEEDBACK SERRANDA BR. 1", + "382,RISCALDAMENTO INDIRETTO - ALLARME FEEDBACK SERRANDA BR. 2", + "383,RISCALDAMENTO INDIRETTO - ALLARME FEEDBACK SERRANDA BR. 3", + "384,RISCALDAMENTO INDIRETTO - ALLARME FEEDBACK SERRANDA BR. 4" + ] + }, + + { + "description": "Alarm Word 24 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 24", + "index": 24, + "size": 2, + "messages": [ + "385,RISCALDAMENTO INDIRETTO - ALLARME FEEDBACK SERRANDA BR. 5", + "386,RISCALDAMENTO INDIRETTO - ALLARME FEEDBACK SERRANDA BR. 6", + "387,RISCALDAMENTO INDIRETTO - ALLARME FEEDBACK SERRANDA BR. 7", + "388,RISCALDAMENTO INDIRETTO - ALLARME FEEDBACK SERRANDA BR. 8", + "389,RISCALDAMENTO INDIRETTO - ALLARME FEEDBACK SERRANDA BR. 9", + "390,RISCALDAMENTO INDIRETTO - ALLARME FEEDBACK SERRANDA BR. 10", + "391,RISCALDAMENTO INDIRETTO - ALLARME FEEDBACK SERRANDA BR. 11", + "392,RISCALDAMENTO INDIRETTO - ALLARME FEEDBACK SERRANDA BR. 12", + "393,ESTRATTORE FUMI RISC. INDIRETTO 1 - ALLARME PROTEZIONE", + "394,ESTRATTORE FUMI RISC. INDIRETTO 2 - ALLARME PROTEZIONE", + "395,ESTRATTORE FUMI RISC. INDIRETTO 3 - ALLARME PROTEZIONE", + "396,ESTRATTORE FUMI RISC. INDIRETTO 4 - ALLARME PROTEZIONE", + "397,ESTRATTORE FUMI RISC. INDIRETTO 5 - ALLARME PROTEZIONE", + "398,ESTRATTORE FUMI RISC. INDIRETTO 6 - ALLARME PROTEZIONE", + "399,TAGLIERINA SINISTRA - FUORI POSIZIONE", + "400,TAGLIERINA DESTRA - FUORI POSIZIONE" + ] + }, + + { + "description": "Alarm Word 25 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 25", + "index": 25, + "size": 2, + "messages": [ + "401,ALLARME PROTEZIONE CILINDRO CONTRASTO TAGLIERINE", + "402,JBOX INGRESSO - TESSUTO INCROCIATO", + "403,JBOX USCITA - TESSUTO INCROCIATO", + "404,ALLARME DEVICE_NET STAZIONE ADDR.38 - JBOX INGRESSO", + "405,ALLARME DEVICE_NET STAZIONE ADDR.39 - JBOX USCITA", + "406,JBOX INGRESSO - ALLARME INVERTER", + "407,JBOX USCITA - ALLARME INVERTER", + "408,ALLARGA/CENTRATORE A/B SU IMBARRAGGIO - ALLARME PROTEZIONE", + "409,ALLARME TIMEOUT VITE CAMPO PARALLELO 11", + "410,ALLARME TIMEOUT VITE CAMPO PARALLELO 12", + "411,FRENO JBOX INGRESSO - ALLARME PROTEZIONE", + "412,FRENO JBOX USCITA - ALLARME PROTEZIONE", + "413,ALLARME PROTEZIONE FRENO CAMPO CONICO SINISTRO", + "414,ALLARME PROTEZIONE FRENO CAMPO CONICO DESTRO", + "415,VERIFICA PRESSOSTATO 1 FALLITA", + "416,VERIFICA PRESSOSTATO 2 FALLITA" + ] + }, + + { + "description": "Alarm Word 26 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 26", + "index": 26, + "size": 2, + "messages": [ + "417,ALLARME TERMOSTATO INTERNO QUADRO", + "418,ALLARME PROTEZIONE RECUPERO CALORE - GRUPPO 1 POMPA 2", + "419,ALLARME PROTEZIONE RECUPERO CALORE - GRUPPO 2 POMPA 2", + "420,PROTEZIONE RIBALTABILE INGRESSO", + "421,FUNE EMERGENZA INGRESSO", + "422,PARATIA SCORREVOLE INGRESSO SINISTRA", + "423,PARATIA SCORREVOLE INGRESSO DESTRA", + "424,CANCELLO SINISTRO ENTRATA ANTERIORE", + "425,CANCELLO SINISTRO ENTRATA POSTERIORE", + "426,CANCELLO DESTRO ENTRATA ANTERIORE", + "427,CANCELLO DESTRO ENTRATA POSTERIORE", + "428,CANCELLO SINISTRO USCITA", + "429,CANCELLO DESTRO USCITA", + "430,TENSIONATORE FUNE EMERGENZA SINISTRA ZONA FORNO", + "431,TENSIONATORE FUNE EMERGENZA DESTRA ZONA FORNO", + "432,FUNE EMERGENZA SINISTRA ZONA FORNO" + ] + }, + + { + "description": "Alarm Word 27 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 27", + "index": 27, + "size": 2, + "messages": [ + "433,FUNE EMERGENZA DESTRA ZONA FORNO", + "434,ALLARME FEEDBACK SCARICO ARIA ENTRATA MACCHINA (1)", + "435,ALLARME FEEDBACK SCARICO ARIA ENTRATA MACCHINA (2)", + "436,ALLARME FEEDBACK SCARICO ARIA USCITA MACCHINA (1)", + "437,ALLARME FEEDBACK SCARICO ARIA USCITA MACCHINA (2)", + "438,ALLARME FEEDBACK EMERGENZA GENERALE DA SCARICO ARIA", + "439,BYPASS SPORTELLI ARMADIO ATTIVO", + "440,TIMEOUT ENCODER CAMPO CONICO SINISTRO", + "441,TIMEOUT ENCODER CAMPO CONICO DESTRO", + "442,ALLARME BALLERINO ALTO SPREMITORE 1", + "443,ALLARME BALLERINO ALTO SPREMITORE 2", + "444,", + "445,", + "446,", + "447,", + "448," + ] + }, + + { + "description": "Alarm Word 28 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 28", + "index": 28, + "size": 2, + "messages": [ + "449,", + "450,", + "451,", + "452,", + "453,", + "454,", + "455,", + "456,", + "457,", + "458,", + "459,", + "460,ALLARME PROTEZIONE BARRE ANTISTATICHE", + "461,ALLARME PROTEZIONE VENTILAZIONE INTERNO QUADRO", + "462,BORDO SENSIBILE ", + "463,FALDAROTOLATORE_SICUREZZA SX/DX ", + "464,FALDAROTOLATORE_EMERGENZA TESSUTO " + ] + }, + + { + "description": "Alarm Word 29 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 29", + "index": 29, + "size": 2, + "messages": [ + "465,ALLARME DEPRESSIONE RISCALDAMENTO INDIRETTO BR.1", + "466,ALLARME DEPRESSIONE RISCALDAMENTO INDIRETTO BR.2", + "467,ALLARME DEPRESSIONE RISCALDAMENTO INDIRETTO BR.3", + "468,ALLARME DEPRESSIONE RISCALDAMENTO INDIRETTO BR.4", + "469,ALLARME DEPRESSIONE RISCALDAMENTO INDIRETTO BR.5", + "470,ALLARME DEPRESSIONE RISCALDAMENTO INDIRETTO BR.6", + "471,ALLARME DEPRESSIONE RISCALDAMENTO INDIRETTO BR.7", + "472,ALLARME DEPRESSIONE RISCALDAMENTO INDIRETTO BR.8", + "473,ALLARME DEPRESSIONE RISCALDAMENTO INDIRETTO BR.9", + "474,ALLARME DEPRESSIONE RISCALDAMENTO INDIRETTO BR.10", + "475,ALLARME DEPRESSIONE RISCALDAMENTO INDIRETTO BR.11", + "476,ALLARME DEPRESSIONE RISCALDAMENTO INDIRETTO BR.12", + "477,MALFUNZIONAMNETO PRESSOSTATO ESTRATTORE FUMI 1/2", + "478,MALFUNZIONAMNETO PRESSOSTATO ESTRATTORE FUMI 3/4", + "479,MALFUNZIONAMNETO PRESSOSTATO ESTRATTORE FUMI 5/6", + "480,MALFUNZIONAMNETO PRESSOSTATO ESTRATTORE FUMI 7/8" + ] + }, + + { + "description": "Alarm Word 30 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 30", + "index": 30, + "size": 2, + "messages": [ + "481,MALFUNZIONAMNETO PRESSOSTATO ESTRATTORE FUMI 9/10", + "482,MALFUNZIONAMENTO PRESSOSTATO SICUREZZA BRUCIATORE 1", + "483,MALFUNZIONAMENTO PRESSOSTATO SICUREZZA BRUCIATORE 2", + "484,MALFUNZIONAMENTO PRESSOSTATO SICUREZZA BRUCIATORE 3", + "485,MALFUNZIONAMENTO PRESSOSTATO SICUREZZA BRUCIATORE 4", + "486,MALFUNZIONAMENTO PRESSOSTATO SICUREZZA BRUCIATORE 5", + "487,MALFUNZIONAMENTO PRESSOSTATO SICUREZZA BRUCIATORE 6", + "488,MALFUNZIONAMENTO PRESSOSTATO SICUREZZA BRUCIATORE 7", + "489,MALFUNZIONAMENTO PRESSOSTATO SICUREZZA BRUCIATORE 8", + "490,MALFUNZIONAMENTO PRESSOSTATO SICUREZZA BRUCIATORE 9", + "491,MALFUNZIONAMENTO PRESSOSTATO SICUREZZA BRUCIATORE 10", + "492,TRASDUTTORE PRESSIONE BR 1 INTERROTTO", + "493,TRASDUTTORE PRESSIONE BR 2 INTERROTTO", + "494,TRASDUTTORE PRESSIONE BR 3 INTERROTTO", + "495,TRASDUTTORE PRESSIONE BR 4 INTERROTTO", + "496,TRASDUTTORE PRESSIONE BR 5 INTERROTTO" + ] + }, + + { + "description": "Alarm Word 31 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 31", + "index": 31, + "size": 2, + "messages": [ + "497,TRASDUTTORE PRESSIONE BR 6 INTERROTTO", + "498,TRASDUTTORE PRESSIONE BR 7 INTERROTTO", + "499,TRASDUTTORE PRESSIONE BR 8 INTERROTTO", + "500,TRASDUTTORE PRESSIONE BR 9 INTERROTTO", + "501,TRASDUTTORE PRESSIONE BR 10 INTERROTTO", + "502,TRASDUTTORE PRESSIONE BR 11 INTERROTTO", + "503,TRASDUTTORE PRESSIONE BR 12 INTERROTTO", + "504,ERRORE TRASDUTTORE DI PRESSIONE RC1", + "505,ERRORE TRASDUTTORE DI PRESSIONE RC2", + "506,ALLARME INVERTER RIPRISTINO PRESSIONE GRUPPO 1 RC", + "507,ALLARME INVERTER RIPRISTINO PRESSIONE GRUPPO 2 RC", + "508,MALFUNZIONAMENTO PRESSOSTATO SICUREZZA BRUCIATORE 11", + "509,MALFUNZIONAMENTO PRESSOSTATO SICUREZZA BRUCIATORE 12", + "510,ALLARME PRESSOSTATO TAGLIERINE", + "511,BALLERINO ALTO - SROTOLATORE - ALLARME", + "512,EMERGENZA DA LINEA ENTRATA RAMOSA" + ] + }, + + { + "description": "Alarm Word 32 ", + "tipoMem": "Byte", + "memAddr": "Alarm Word 32", + "index": 32, + "size": 2, + "messages": [ + "513,LINEA ENTRATA RAMOSA NON PRONTA", + "514,EMERGENZA DA LINEA USCITA RAMOSA", + "515,LINEA USCITA RAMOSA NON PRONTA", + "516,TAGLIERINA CENTRALE FUORI POSIZIONE", + "517,TIRACIMOSSE NON PRONTO", + "518,JBOX INGRESSO IN EMERGENZA", + "519,JBOX INGRESSO NON PRONTO", + "520,JBOX USCITA IN EMERGENZA", + "521,JBOX USCITA NON PRONTO", + "522,ALLARME D-NET 41 RISCALDAMENTO INDIRETTO", + "523,SPAZZOLATRICE IN EMERGENZA", + "524,SPAZZOLATRICE NON PRONTA", + "525,ALLARME FUNE DI SICUREZZA USCITA STACCAPEZZA", + "526,ALLARME FUNE DI SICUREZZA USCITA FALDAROTOLATORE", + "527,ALLARME FUNE DI SICUREZZA CAMPO CONICO SINISTRO", + "528,ALLARME FUNE DI SICUREZZA CAMPO CONICO DESTRO" + ] + } +] \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/DATA/DAT/PersistData.dat b/IOB-WIN-KAWASAKI/DATA/DAT/PersistData.dat new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/DAT/PersistData.dat @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/DATA/DAT/SimData.dat b/IOB-WIN-KAWASAKI/DATA/DAT/SimData.dat new file mode 100644 index 00000000..c59e4823 --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/DAT/SimData.dat @@ -0,0 +1,959 @@ +;------------------------------------------------------------------------------------ +; filevalori simulati x provare sistema dati e filtraggio... commenti iniziano per ';', valori formato data#valore#counter +; NOTE FILE: +; - bit come macchine std IOB +; B0 = POWERON +; B1 = RUN +; B2 = CONTAPEZZO +; B3 = ALLARME +; B4 = MANUALE +; B5 = NA +; B6 = NA +; B7 = NA +; - segnali alternanti su 00011100 +;------------------------------------------------------------------------------------ +; +;---------------------------- +; inizio da spenta +0 +0 +; indico accesa +1 +1 +1 +; allarme (BLINK) +9 +9 +9 +9 +9 +1 +1 +1 +1 +1 +1 +9 +9 +9 +9 +9 +1 +1 +1 +1 +1 +19 +9 +9 +9 +9 +1 +1 +1 +1 +1 +1 +; allarme manuale (2 blink, periodo diverso) +25 +25 +17 +17 +9 +9 +1 +1 +25 +25 +17 +17 +9 +9 +1 +1 +25 +25 +17 +17 +9 +9 +1 +1 +25 +25 +17 +17 +9 +9 +1 +1 +25 +25 +17 +17 +9 +9 +1 +1 +; indico manuale +17 +17 +17 +17 +17 +17 +17 +17 +17 +17 +1 +1 +1 +1 +1 +1 +1 +1 +17 +17 +17 +17 +17 +17 +17 +17 +17 +17 +1 +1 +1 +1 +1 +1 +1 +1 +17 +17 +17 +17 +17 +17 +17 +17 +17 +17 +1 +1 +1 +1 +1 +1 +1 +1 +; RUN! +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +; contapezzo +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +; RUN +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +; contapezzo +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +; RUN +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +; contapezzo +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +; RUN +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +; allarme (BLINK) +9 +9 +9 +9 +9 +1 +1 +1 +1 +1 +1 +9 +9 +9 +9 +9 +1 +1 +1 +1 +1 +19 +9 +9 +9 +9 +1 +1 +1 +1 +1 +1 +; allarme manuale (2 blink, periodo diverso) +25 +25 +17 +17 +9 +9 +1 +1 +25 +25 +17 +17 +9 +9 +1 +1 +25 +25 +17 +17 +9 +9 +1 +1 +25 +25 +17 +17 +9 +9 +1 +1 +25 +25 +17 +17 +9 +9 +1 +1 +; indico manuale +17 +17 +17 +17 +17 +17 +17 +17 +17 +17 +1 +1 +1 +1 +1 +1 +1 +1 +17 +17 +17 +17 +17 +17 +17 +17 +17 +17 +1 +1 +1 +1 +1 +1 +1 +1 +17 +17 +17 +17 +17 +17 +17 +17 +17 +17 +1 +1 +1 +1 +1 +1 +1 +1 +; RUN! +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +; contapezzo +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +; RUN +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +; contapezzo +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +7 +7 +7 +7 +7 +3 +3 +3 +3 +3 +3 +; RUN +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 +3 \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/DATA/HIST/.placeholder b/IOB-WIN-KAWASAKI/DATA/HIST/.placeholder new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-KAWASAKI/DATA/HIST/.placeholder @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/IOB-WIN-KAWASAKI.csproj b/IOB-WIN-KAWASAKI/IOB-WIN-KAWASAKI.csproj new file mode 100644 index 00000000..7f2d4eb8 --- /dev/null +++ b/IOB-WIN-KAWASAKI/IOB-WIN-KAWASAKI.csproj @@ -0,0 +1,147 @@ + + + + + Debug + AnyCPU + {02C086C5-492A-4D81-8E30-B4434703A5B3} + WinExe + IOB_WIN_KAWASAKI + IOB-WIN-KAWASAKI + v4.6.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\Remote_DEBUG\ + DEBUG;TRACE + full + AnyCPU + 7.3 + prompt + true + + + + False + ..\ExtLibs\krcc.dll + + + ..\packages\MapoSDK.6.14.2411.518\lib\MapoSDK.dll + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + + + + + + + + + + + + + + VersGen.cs + + + Form + + + + + Form + + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + + + + + + + + + + + + + + + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + + + + + + + {90512e12-29fc-460d-94cc-648c2a072dbd} + IOB-UT-NEXT + + + {9ba331bb-9bf1-40e0-ac03-74b43d73a097} + IOB-WIN-FORM + + + + \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/Iob/GenericNext.cs b/IOB-WIN-KAWASAKI/Iob/GenericNext.cs new file mode 100644 index 00000000..81c91c76 --- /dev/null +++ b/IOB-WIN-KAWASAKI/Iob/GenericNext.cs @@ -0,0 +1,17 @@ +using IOB_UT_NEXT; +using System; +using System.IO; +using System.Linq; +using System.Windows.Forms; + +namespace IOB_WIN_KAWASAKI.Iob +{ + public class GenericNext : IOB_WIN_FORM.Iob.Generic + { + + public GenericNext(AdapterFormNext caller, IobConfiguration IOBConf): base((IOB_WIN_FORM.AdapterForm)caller, IOBConf) + { + } + + } +} \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/Iob/Kawasaki.cs b/IOB-WIN-KAWASAKI/Iob/Kawasaki.cs new file mode 100644 index 00000000..aee8810d --- /dev/null +++ b/IOB-WIN-KAWASAKI/Iob/Kawasaki.cs @@ -0,0 +1,1103 @@ +using IOB_UT_NEXT; +using MapoSDK; +using System; +using System.Collections.Generic; +using System.Net.NetworkInformation; + +namespace IOB_WIN_KAWASAKI.Iob +{ + public class Kawasaki : Iob.GenericNext, IDisposable + { + #region Public Constructors + + /// + /// estende l'init della classe base... + /// + /// + /// + public Kawasaki(AdapterFormNext caller, IobConfiguration IOBConf) : base(caller, IOBConf) + { + // gestione invio ritardato contapezzi + pzCountDelay = utils.CRI("pzCountDelay"); + lastPzCountSend = DateTime.Now; + lastWarnODL = DateTime.Now; + // init connessione + setConnection(); + + // test completo funzionalità kawasaki, da TOGLIERE in prod... +#if DEBUG + kawasakiFullTest(); +#endif + } + + #endregion Public Constructors + + #region Public Enums + + /// + /// Enum segnali macchina ulteriori (ByteSignals) + /// + [Flags] + public enum bitSignals + { + NONE = 0, + TRANSF_AUTO = 1 << 0, + PUNZ_AUTO = 1 << 1, + BARR_TAV_RIPR = 1 << 2, + ARIA_OK = 1 << 3, + CONS_TRANS_OK = 1 << 4, + TAV_A = 1 << 5, + TAV_B = 1 << 6, + RICH_ACCESSO = 1 << 7 + } + + /// + /// Enum segnali status macchina (ByteStatus) come flag + /// + [Flags] + public enum bitStatus + { + NONE = 0, + POWER_ON = 1 << 0, + AUTO = 1 << 1, + RUN = 1 << 2, + ERROR = 1 << 3, + ALARM = 1 << 4, + EMERG_OK = 1 << 5, + DOOR_CLOSED = 1 << 6, + READY_LOAD = 1 << 7 + } + + #endregion Public Enums + + #region Public Methods + + /// + /// Metodo dispose x il currPLC contenuto + /// + public void Dispose() + { + KAWASAKI_ref.disconnect(); + KAWASAKI_ref.Dispose(); + } + + /// + /// Processo i task richiesti e li elimino dalla coda 1:1 + /// + /// + public override Dictionary executeTasks(Dictionary task2exe) + { + // Verificare il protocollo: dovrebbe togliere SOLO i task eseguiti... + Dictionary taskDone = new Dictionary(); + bool taskOk = false; + string taskVal = ""; + + // cerco task specifici: se ho startSetup --> imposto bit DBB701.DBB0.4 + foreach (var item in task2exe) + { + taskOk = false; + taskVal = ""; + // converto richiesta in enum... + taskType tName = taskType.nihil; + Enum.TryParse(item.Key, out tName); + // controllo sulla KEY + switch (tName) + { + case taskType.nihil: + case taskType.fixStopSetup: + case taskType.setArt: + case taskType.setComm: + case taskType.setProg: + case taskType.sendWatchDogMes2Plc: + taskVal = $"taskReq: {tName} | key: {item.Key} | val: {item.Value} | SKIPPED | NO EXEC"; + break; + + case taskType.forceResetPzCount: + // reset contapezzi inizio setup + taskOk = resetContapezziPLC(); + taskVal = taskOk ? "FORCE RESET PZ COUNT" : "FORCE RESET DISABLED | NO EXEC"; + break; + + case taskType.forceSetPzCount: + // reset contapezzi inizio setup + int newPzCount = 0; + int.TryParse(item.Value, out newPzCount); + if (newPzCount >= 0) + { + taskOk = setcontapezziPLC(newPzCount); + taskVal = taskOk ? $"FORCE SET PZ COUNT TO {newPzCount}" : $"FORCE SET PZ COUNT TO {newPzCount} | NO EXEC"; + } + else + { + taskVal = $"ERROR IN FORCE SET PZ COUNT TO {newPzCount}"; + } + break; + + case taskType.startSetup: + // reset contapezzi inizio setup + taskOk = resetContapezziPLC(); + taskVal = taskOk ? "RESET: SETUP START" : "PZ RESET DISABLED | NO EXEC"; + break; + + case taskType.stopSetup: + // reset contapezzi fine setup // reset contapezzi fine setup SE + // ESPLICITAMENTE IMPOSTATO + if (cIobConf.optPar.Count > 0 && getOptPar("ENABLE_PZ_RESET_stopSetup") == "TRUE") + { + resetContapezziPLC(); + } + taskVal = taskOk ? "RESET: SETUP END" : "PZ RESET DISABLED | NO EXEC"; + break; + + default: + taskVal = "SKIPPED | NO EXEC"; + break; + } + taskDone.Add(item.Key, taskVal); + } + + return taskDone; + } + + /// + /// Recupero dati dinamici... + /// + public override Dictionary getDynData() + { + // valore non presente in vers default... se gestito fare override + Dictionary outVal = new Dictionary(); + outVal.Add("LAST_MISS", lastMissRobot); + outVal.Add("LAST_TC", lastTC.ToString()); + outVal.Add("NUM_PZ_PREL", pzPrelevati.ToString()); + outVal.Add("NUM_PZ_LAV", pzCounter.ToString()); + outVal.Add("CURR_SIGNALS", currBitmapSignals.ToString()); + return outVal; + } + + /// + /// Recupero programma in lavorazione + /// + /// + public override string getPrgName() + { + // valore non presente in vers default... se gestito fare override + string prgName = ""; + return prgName; + } + + /// + /// Recupero info sistema generiche + /// + /// + public override Dictionary getSysInfo() + { + // valore non presente in vers default... se gestito fare override + Dictionary outVal = new Dictionary(); + outVal.Add("MACHINE", machineName); + return outVal; + } + + /// + /// Effettua vero processing contapezzi + /// + public override void processContapezzi() + { + if (utils.CRB("enableContapezzi")) + { + try + { + // hard coded... !!!FARE!!! rivedere megio conf + contapezziPLC = pzCounter; + // verifico quale modalità sia richiesta: STD (6711) oppure BIT (Custom, con + // indicazione area) + if (cIobConf.optPar.Count > 0 && !string.IsNullOrEmpty(getOptPar("PZCOUNT_MODE"))) + { +#if false + string memAddr = getOptPar("PZCOUNT_MODE"); + if (memAddr.StartsWith("STD")) + { + // inizio verifica area memoria/parametro levando prima parte codice + memAddr = memAddr.Replace("STD.", ""); + object outputVal = new object(); + // verifico se si tratta di lettura area DB... formato tipo STD.DB700.DBB22.W + if (memAddr.StartsWith("DB")) + { + memAreaSiemens areaCounter = new memAreaSiemens(memAddr); + + if (isVerboseLog) + { + lgInfo("[0] area memoria: {1}.{2}.{3}", memAddr, areaCounter.DbNum, areaCounter.indiceMem, areaCounter.tipoMem); + } + // copio da blocco già letto... con switch x tipo dati --> tipo lettura... e salvo + // ultimo conteggio rilevato + switch (areaCounter.tipoMem) + { + case "B": + byte valB = RawInput[areaCounter.indiceMem]; + outputVal = valB; + break; + + case "W": + ushort valW = S7.Net.Types.Word.FromByteArray(RawInput.Skip(areaCounter.indiceMem).Take(2).ToArray()); + outputVal = valW; + break; + + case "DW": + uint valDW = S7.Net.Types.Word.FromByteArray(RawInput.Skip(areaCounter.indiceMem).Take(4).ToArray()); + outputVal = valDW; + + break; + + default: + break; + } + // salvo... + Int32.TryParse(outputVal.ToString(), out contapezziPLC); + if (isVerboseLog) + { + lgInfo("[2] outputVal contapezzi: {0}", outputVal); + lgInfo("[3] contapezziPLC contapezzi: {0}", contapezziPLC); + } + } + stopwatch.Stop(); + } +#endif + } + } + catch (Exception exc) + { + lgError(exc, "Errore in contapezzi KAWASAKI"); + } + } + } + + /// + /// Effettua processing del recupero delle OVERRIDE (spindle, feedrate, rapid) + /// + public override void processOverride() + { + } + + /// + /// Effettua lettura semafori principale Parametri da + /// aggiornare x display in form + /// + public override void readSemafori(ref newDisplayData currDispData) + { + base.readSemafori(ref currDispData); + try + { + if (verboseLog) + { + lgInfo("inizio read semafori"); + } + currDispData.semIn = Semaforo.SV; + + // effettuo TUTTE le letture + threadOk = commThreadOk; + cStatus = currBitmapStatus; + cSignals = currBitmapSignals; + contapezziPLC = pzCounter; + // decodifica e gestione + decodeToBaseBitmap(); + decodeOtherData(); + reportRawInput(ref currDispData); + // se trova ok thread --> aggiorno ultima lettura + if (threadOk) + { + lastReadPLC = DateTime.Now; + } + } + catch + { + currDispData.semIn = Semaforo.SR; + } + } + + /// + /// Effettua reset del contapezzi + /// + /// + public override bool resetContapezziPLC() + { + // impiego override metodo set... + bool answ = setcontapezziPLC(0); +#if false + bool answ = false; + // ...SE abilitato da conf IOB + if (cIobConf.optPar.Count > 0 && getOptPar("ENABLE_PZ_RESET") == "TRUE") + { + // scrivo valore 0 x il contapezzi + try + { + pzCounter = 0; + } + catch (Exception exc) + { + lgError(exc, "Errore in RESET contapezzi KAWASAKI"); + connectionOk = false; + } + answ = true; + } + else + { + lgError("Impossibile effettuare RESET contapezzi KAWASAKI, mancanza parametro OPT:ENABLE_PZ_RESET"); + } +#endif + return answ; + } + + /// + /// Effettua IMPOSTAZIONE FORZATA del contapezzi + /// + /// + public override bool setcontapezziPLC(int newPzCount) + { + bool answ = false; + // ...SE abilitato da conf IOB + if (cIobConf.optPar.Count > 0 && getOptPar("ENABLE_PZ_RESET") == "TRUE") + { + // scrivo valore 0 x il contapezzi + try + { + pzCounter = newPzCount; + } + catch (Exception exc) + { + lgError(exc, "Errore in SET contapezzi KAWASAKI"); + connectionOk = false; + } + answ = true; + } + else + { + lgError("Impossibile effettuare SET contapezzi KAWASAKI, mancanza parametro OPT:ENABLE_PZ_RESET"); + } + return answ; + } + + /// + /// Override connessione + /// + public override void tryConnect() + { + if (!connectionOk) + { + // controllo che il ping sia stato tentato almeno pingTestSec fa... + if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec")) + { + if (verboseLog || periodicLog) + { + lgInfo("KAWASAKI: ConnKO - tryConnect"); + } + // in primis salvo data ping... + lastPING = DateTime.Now; + // se passa il ping faccio il resto... + if (testPingMachine == IPStatus.Success) + { + string szStatusConnection = ""; + try + { + // ora provo connessione... + parentForm.commPlcActive = true; + string connPar = string.Format("TCP {0}", cIobConf.cncIpAddr); + KAWASAKI_ref.connect(connPar); + parentForm.commPlcActive = false; + lgInfo("szStatusConnection: " + KAWASAKI_ref.IsConnected); + connectionOk = true; + // verifico se sta girando + if (connectionOk) + { + queueInEnabCurr = true; + if (adpRunning) + { + lgInfo("Connessione OK"); + } + } + else + { + lgError("Impossibile procedere, connessione mancante..."); + } + } + catch (Exception exc) + { + lgFatal(string.Format("Errore nella connessione all'adapter KAWASAKI: {0}{1}{2}", szStatusConnection, Environment.NewLine, exc)); + connectionOk = false; + lgInfo(string.Format("Eccezione in TryConnect, Adapter KAWASAKI NON running, pausa di {0} msec prima di ulteriori tentativi di riconnessione", utils.CRI("waitRecMSec"))); + } + } + else + { + // loggo no risposta ping ... + connectionOk = false; + needRefresh = true; + if (verboseLog || periodicLog) + { + lgInfo(string.Format("Attenzione: KAWASAKI controllo PING fallito per IP {0}", cIobConf.cncPingAddr)); + } + } + } + } + // se non è ancora connesso faccio processing memoria caso disconnesso... + if (!connectionOk) + { + // processo semafori ed invio... + processMemoryDiscon(); + } + } + + /// + /// Override disconnessione + /// + public override void tryDisconnect() + { + if (connectionOk) + { + connectionOk = false; + string szStatusConnection = ""; + try + { + KAWASAKI_ref.disconnect(); + lgInfo(szStatusConnection); + lgInfo("Effettuata disconnessione adapter KAWASAKI!"); + } + catch (Exception exc) + { + lgFatal(exc, "Errore nella disconnessione dall'adapter KAWASAKI"); + } + } + else + { + lgError("IMPOSSIBILE effettuare disconnessione KAWASAKI: Connessione non disponibile..."); + } + queueInEnabCurr = false; + needRefresh = true; + } + + #endregion Public Methods + + #region Protected Fields + + /// + /// Comando inviato al robot + /// + protected string comando; + + /// + /// Variabile SIGNALS corrente (8bit INT) + /// + protected string cSignals; + + /// + /// Variabile STATUS corrente (8bit INT) + /// + protected string cStatus; + + /// + /// Oggetto MAIN x connessione KAWASAKI + /// + protected KRcc.Commu KAWASAKI_ref; + + /// + /// Ultima missione svolta da robot + /// + protected string lastMissRobot; + + /// + /// Ultimo TC registrato da robot + /// + protected decimal lastRecTC; + + /// + /// Nome e seriale macchina + /// + protected string macName = ""; + + /// + /// Num pezzi prelevati + /// + protected int numPzPrel; + + /// + /// Array delle risposte dal controllo KAWASAKI + /// + protected System.Collections.ArrayList resDataArray; + + /// + /// Variabile verifica thread comunicazione + /// + protected bool threadOk = false; + + #endregion Protected Fields + + #region Protected Properties + + /// + /// Verifica se il thread 4 di comm sia attivo + /// + protected bool commThreadOk + { + get + { + bool answ = false; + if (KAWASAKI_ref.IsConnected) + { + int retVal = 0; + resDataArray = KAWASAKI_ref.command("TYPE TASK (1004)", 3000); // thread 4 ok --> " 1\r\n" + int.TryParse(resDataArray[1].ToString().Replace("\n", "").Replace("\r", ""), out retVal); + answ = (retVal == 1); + } + return answ; + } + } + + /// + /// Restituisce SEGNALI macchina nel formato: + /// B0: Transfer in auto + /// B1: Punzonatrice in AUTO + /// B2: Barriera tavola ripristinata + /// B3: Aria in linea OK + /// B4: Console Transfer in fuori ingombro + /// B5: TAV A + /// B6: TAV B + /// B7: Richiesta accesso attiva + /// + protected string currBitmapSignals + { + get + { + string answ = ""; + if (KAWASAKI_ref.IsConnected) + { + resDataArray = KAWASAKI_ref.command("TYPE $signal", 3000); // segnali --> "1|0|1|1|1|0|0|0\r\n" + answ = resDataArray[1].ToString().Replace("\n", "").Replace("\r", "").Replace("|", ""); +#if false + // reverse stringa (B0 portato a sx) + szBitmap = utils.reverseStr(szBitmap); + // ora converto bitmap string in INT + answ = Convert.ToInt32(szBitmap, 2); +#endif + } + return answ; + } + } + + /// + /// Restituisce stato macchina nel formato (da sx a dx): + /// B0: POWER_ON + /// B1: AUTO + /// B2: RUN + /// B3: ERROR + /// B4: ALLARME + /// B5: EMERGENZA OK + /// B6: PORTA CHIUSA + /// B7: PRONTO AL LOAD + /// + protected string currBitmapStatus + { + get + { + string answ = ""; + if (KAWASAKI_ref.IsConnected) + { + resDataArray = KAWASAKI_ref.command("TYPE $status", 3000); // status --> "0|0|1|0|0|1|0|0\r\n" + answ = resDataArray[1].ToString().Replace("\n", "").Replace("\r", "").Replace("|", ""); +#if false + // reverse stringa (B0 portato a sx) + szBitmap = utils.reverseStr(szBitmap); + // ora converto bitmap string in INT + answ = Convert.ToInt32(szBitmap, 2); +#endif + } + return answ; + } + } + + /// + /// Recupera ultima missione svolta + /// + protected string lastMission + { + get + { + string answ = ""; + if (KAWASAKI_ref.IsConnected) + { + resDataArray = KAWASAKI_ref.command("TYPE $exe", 3000); // missione --> "\r\n" (vuoto, no missione) + answ = resDataArray[1].ToString().Replace("\n", "").Replace("\r", ""); + } + return answ; + } + } + + /// + /// Oggetto per lettura ULTIMO TC rilevato + /// + protected decimal lastTC + { + get + { + decimal answ = 0; + if (KAWASAKI_ref.IsConnected) + { + resDataArray = KAWASAKI_ref.command("TYPE r_tempo", 3000); // ultimo TCiclo rilevato --> " 349.19\r\n" + decimal.TryParse(resDataArray[1].ToString().Replace("\n", "").Replace("\r", "").Replace(".", ","), out answ); + } + return answ; + } + } + + /// + /// Recupera nome e seriale macchina + /// + protected string machineName + { + get + { + string answ = ""; + if (KAWASAKI_ref.IsConnected) + { + resDataArray = KAWASAKI_ref.command("TYPE $id_true", 3000); // id macchina --> "BX100N-B001 Sn. 2366\r\n" + answ = resDataArray[1].ToString().Replace("\n", "").Replace("\r", ""); + } + return answ; + } + } + + /// + /// Oggetto per lettura/scrittura counter pezzi robot + /// + protected int pzCounter + { + get + { + int answ = 0; + if (KAWASAKI_ref.IsConnected) + { + resDataArray = KAWASAKI_ref.command("TYPE i_cicli", 3000); // num cicli depositati/fatti --> " 0\r\n" + int.TryParse(resDataArray[1].ToString().Replace("\n", "").Replace("\r", ""), out answ); + } + return answ; + } + set + { + if (KAWASAKI_ref.IsConnected) + { + comando = string.Format("i_cicli={0}", value); + // scrivo valore cicli + resDataArray = KAWASAKI_ref.command(comando, 3000); // imposto cicli depositati/fatti --> " 0\r\n" + } + } + } + + /// + /// Oggetto per lettura counter pezzi PRELEVATI + /// + protected int pzPrelevati + { + get + { + int answ = 0; + if (KAWASAKI_ref.IsConnected) + { + resDataArray = KAWASAKI_ref.command("TYPE i_prelevati", 3000); // num pz prelevati --> "0\r\n" + int.TryParse(resDataArray[1].ToString().Replace("\n", "").Replace("\r", ""), out answ); + } + return answ; + } + } + + #endregion Protected Properties + + #region Protected Methods + + /// + /// Imposto connessione + /// + protected virtual void setConnection() + { + // Creo oggetto connessione NC + parentForm.commPlcActive = true; + lgInfoStartup("Start init Adapter KAWASAKI all'IP {0} | --> IOB {1}", cIobConf.cncIpAddr, cIobConf.codIOB); + + // inizializzo correttamente aree memoria secondo CONF - iniFileName + IniFile fIni = new IniFile(cIobConf.iniFileName); + // fix enable prgName + enablePrgName = fIni.ReadBoolean("CNC", "GETPRGNAME", true); + + // SE è necessario refresh... + if (needRefresh) + { + lgInfoStartup("Refreshing connection..."); + // ora tento avvio PLC... SE PING OK... + if (testPingMachine == IPStatus.Success) + { + try + { + string connPar = string.Format("TCP {0}", cIobConf.cncIpAddr); + KAWASAKI_ref = new KRcc.Commu(connPar); + // disconnetto e connetto... + if (isVerboseLog) + { + lgInfo("KAWASAKI: tryDisconnect"); + } + + lgInfo("End init Adapter KAWASAKI"); + if (isVerboseLog) + { + lgInfo("KAWASAKI CONNESSIONE AVVENUTA"); + } + } + catch (Exception exc) + { + lgError(exc, "Errore in INIT KAWASAKI Commu"); + } + needRefresh = false; + } + parentForm.commPlcActive = false; + // gestione pzCounter + if (utils.CRB("enableContapezzi")) + { + lgInfo("KAWASAKI: inizio gestione contapezzi"); + try + { + // verifico quale modalità sia richiesta: STD (6711) oppure BIT (Custom, con + // indicazione area) + if (cIobConf.optPar.Count > 0 && !string.IsNullOrEmpty(getOptPar("PZCOUNT_MODE"))) + { + if (getOptPar("PZCOUNT_MODE").StartsWith("STD")) + { + lgInfo("Init contapezzi KAWASAKI: pzCntReload(true)"); + pzCntReload(true); + // refresh associazione Macchina - IOB + SendM2IOB(); + // invio altri dati accessori... + SendMachineConf(); + // per adesso imposto lettura fanuc == contapezzi (poi farà vera lettura...) + contapezziPLC = contapezziIOB; + } + else + { + contapezziIOB = 0; + lgInfo("Contapezzi STD disabilitato: modalità {0}", getOptPar("PZCOUNT_MODE")); + } + } + else + { + contapezziIOB = 0; + lgInfo("Parametro mancante PZCOUNT_MODE"); + } + } + catch (Exception exc) + { + lgError(exc, "Errore in contapezzi KAWASAKI"); + } + } + } + } + + #endregion Protected Methods + + #region Private Fields + + /// + /// LookUpTable di decodifica da CNC a segnali tipo bitmap MAPO + /// + private Dictionary signLUT = new Dictionary(); + + #endregion Private Fields + + #region Private Methods + + /// + /// Decodifica il resto dell'area x i dati accessori (allarmi, ...) + /// + private void decodeOtherData() + { + if (verboseLog) + { + } + } + + /// + /// Effettua decodifica aree memoria alla bitmap usata x MAPO + /// + private void decodeToBaseBitmap() + { + // init a zero... + B_input = 0; + /* ----------------------------------------------------- + * bitmap MAPO + * B0: POWER_ON + * B1: RUN + * B2: pzCount + * B3: allarme + * B4: manuale + * B5: emergenza + * B6: error prog + * B7: auto mode + ----------------------------------------------------- */ + // bit 0 (poweron) imposto a 1 SE connected... + B_input = KAWASAKI_ref.IsConnected ? 1 : 0; + // RUN + if (cStatus[2] == '1') + { + B_input += (1 << 1); + } + // ERROR prog/macchina + if (cStatus[3] == '1') + { + B_input += (1 << 6); + } + // allarme + if (cStatus[4] == '1') + { + B_input += (1 << 3); + } + // Automatico (porta chiusa) + if (cStatus[6] == '1' || cStatus[1] == '1') + { + B_input += (1 << 4); + } + // NON EMERGENZA (1=armed, 0=triggered) + if (cStatus[5] == '0') + { + B_input += (1 << 5); + } + // procedo SOLO SE è enabled IOB + if (IobOnline) + { + try + { + currODL = utils.callUrl(urlGetCurrODL); + // solo SE HO un ODL... + if (string.IsNullOrEmpty(currODL) || currODL == "0") + { + if (periodicLog) + { + lgInfo(string.Format("Kawasaki | Lettura ODL andata a vuoto: currODL: {0}", currODL)); + } + } + else + { // se variato o scaduto timeout log... + if (periodicLog || (currIdxODL.ToString() != currODL)) + { + lgInfo(string.Format("Kawasaki | Lettura ODL, currODL: {0} --> currIdxODL prec: {1}", currODL, currIdxODL)); + } + // provo a salvare nuovo ODL + int.TryParse(currODL, out currIdxODL); + } + } + catch (Exception exc) + { + if (DateTime.Now.Subtract(lastWarnODL).TotalSeconds > 15) + { + lgError(exc, "Errore in fase di chiamata URL x ODL corrente | URL chiamato: {0}", urlGetCurrODL); + lastWarnODL = DateTime.Now; + } + } + } + else + { + // imposto currODL a vuoto! + currODL = ""; + if (periodicLog) + { + lgInfo($"Kawasaki | Lettura ODL non effettuata: IobOnline: {IobOnline} | currODL impostato a vuoto"); + } + } + if (!string.IsNullOrEmpty(currODL)) + { + if (currODL != "0") + { + // ora processo il contapezzi... controllo se è passato intervallo minimo tra 2 + // controlli/elaborazioni x distanziare invio e ridurre letture + if (DateTime.Now >= lastPzCountSend.AddMilliseconds(pzCountDelay)) + { + // se sono differenti MOSTRO... + if (contapezziPLC != contapezziIOB) + { + // registro contapezzi + lgInfo($"Differenza Contapezzi CNC/IOB: contapezziPLC: {contapezziPLC} | contapezziIOB: {contapezziIOB}"); + } + // verifico se variato contapezzi... e se passato ritardo minimo... + if (contapezziPLC > contapezziIOB) + { + // salvo nuovo contapezzi (incremento di 1...) + richiesta refresh conteggio + contapezziIOB++; + needRefreshPzCount = true; + // salvo in semaforo! + B_input += (1 << 2); + // registro contapezzi + lgInfo($"contapezziPLC KAWASAKI: {contapezziPLC} | contapezziIOB {contapezziIOB}"); + } + else if (contapezziIOB > contapezziPLC) + { + lgInfo($"Contapezzi IOB > CNC --> NON INVIO (contapezziPLC: {contapezziPLC} < contapezziIOB: {contapezziIOB})"); + } + + // invio a server contapezzi (aggiornato) + string retVal = utils.callUrl(urlSetPzCount + contapezziIOB.ToString()); + // verifica se tutto OK + if (retVal != contapezziIOB.ToString()) + { + // errore salvataggio contapezzi + lgInfo($"Errore salvataggio Contapezzi KAWASAKI: contapezziPLC {contapezziPLC} | contapezziIOB {contapezziIOB} | risposta: {retVal}"); + // rileggo il counter pezzi da server + pzCntReload(true); + } + // resetto timer... + lastPzCountSend = DateTime.Now; + } + } + else + { + lgError("Attenzione non trovato ODL --> currODL = 0"); + } + } + else + { + if (DateTime.Now >= lastPzCountSend.AddMilliseconds(pzCountDelay)) + { + lgError($"Attenzione: mancanza ODL non procedo con gestione contapezzi. contapezziPLC KAWASAKI {contapezziPLC} | contapezziIOB {contapezziIOB}"); + // resetto timer... + lastPzCountSend = DateTime.Now; + } + } + + // log opzionale! + if (verboseLog) + { + lgInfo($"Trasformazione B_input: {B_input}"); + } + } + + /// + /// Test completo funzioni kawasaki + /// + private void kawasakiFullTest() + { + // faccio un try-catch di test vari... + try + { + //string connPar = string.Format("TCP {0}", cIobConf.cncIpAddr); + //KAWASAKI_ref = new KRcc.Commu(connPar); + //KAWASAKI_ref = new KRcc.Commu("TCP 192.168.0.92"); + if (KAWASAKI_ref.IsConnected) + { + // connect ok + resDataArray = KAWASAKI_ref.command("where", 3000); + // WHERE [RET] Console.WriteLine(resDataArray[1]); [0] = 0 [1] = JT1 JT2 JT3 JT4 + // JT5 JT6 + // -23.205 - 39.967 - 13.176 95.663 71.402 - 21.512 X[mm] Y[mm] Z[mm] O[deg] + // A[deg] T[deg] + // - 489.620 693.940 1564.733 92.612 131.285 7.482 + + threadOk = commThreadOk; + macName = machineName; + cStatus = currBitmapStatus; + cSignals = currBitmapSignals; + contapezziPLC = pzCounter; + numPzPrel = pzPrelevati; + lastRecTC = lastTC; + lastMissRobot = lastMission; + } + // test contapezzi +#if false + // leggo i pezzi + int currCount = pzCounter; + // imposto a 100 + pzCounter = 100; + // rileggo x verifica + int newCount = pzCounter; + // reimposto corretti + pzCounter = currCount; +#endif + // test gest programmi +#if true + //saveProgram("prog", "default"); + sendProgram("prog", "default2"); +#endif + } + catch (Exception e) + { // e.Message = "can't connect TCP/IP" or // "can't login" + Console.WriteLine(e.Message); + } + } + + /// + /// Effettua salvataggio del programma corrente + /// + /// Dir di riferimento + /// Nome Programma (se mancasse *.as lo aggiunge) + private void saveProgram(string progDir = "prog", string progName = "current.as") + { + // path completo + progName = progName.EndsWith(".as") ? progName : progName + ".as"; + string prgPath = progName;// string.Format("{0}/{1}", progDir, progName); + if (KAWASAKI_ref.IsConnected) + { + // comandi x setup programma... + resDataArray = KAWASAKI_ref.command("ferma", 3000); // ferma processi (all) --> "" + resDataArray = KAWASAKI_ref.command("togli", 3000); // toglie processi da pronta esecuzione --> "" + + //resp = com.command("SAVE nome_del_file", 3000); // salvataggio file... FORSE --> "\u0005\u0002Bnome_del_file.as\u0017" --> verificare DOVE salva... + + int ret = KAWASAKI_ref.save(prgPath); // SAVE current.as[RET] + if (ret == 0) + { + // Success + } + if (ret == -1) + { + // Communication error + } + if (ret == -2) + { + // Robot Controller error + } + if (ret == -3) + { + // Internal error + } + } + } + + /// + /// Effettua invio del programma di alvorazione al ROBOT Dir di + /// riferimentoNome Programma (se mancasse *.as lo aggiunge) + /// + private void sendProgram(string progDir = "prog", string progName = "default.as") + { + // path completo + progName = progName.EndsWith(".as") ? progName : progName + ".as"; + string prgPath = progName;// string.Format("{0}/{1}", progDir, progName); + + // comandi x setup programma... + resDataArray = KAWASAKI_ref.command("ferma", 3000); // ferma processi (all) --> "" + resDataArray = KAWASAKI_ref.command("togli", 3000); // toglie processi da pronta esecuzione --> "" + + if (KAWASAKI_ref.IsConnected) + { + // carico... + KAWASAKI_ref.asInquiry = delegate (string as_msg) + { + Console.WriteLine(as_msg); if (as_msg.StartsWith("Are you sure ?")) + { + return "0\n"; // 0 [RET] + } + + if (as_msg.StartsWith("Load data?")) + { + return "1\n"; // 1 [RET] + } + + return null; + }; + int retLoad = KAWASAKI_ref.load(prgPath, "/Q"); // LOAD/Q default.as[RET] + } + } + + #endregion Private Methods + } +} \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/MainFormNext.cs b/IOB-WIN-KAWASAKI/MainFormNext.cs new file mode 100644 index 00000000..a694a1db --- /dev/null +++ b/IOB-WIN-KAWASAKI/MainFormNext.cs @@ -0,0 +1,40 @@ +using IOB_UT_NEXT; +using IOB_WIN_KAWASAKI.Iob; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IOB_WIN_KAWASAKI +{ + public class MainFormNext : IOB_WIN_FORM.MainForm + { + + /// + /// Avvio MainForm + /// + /// + public MainFormNext(string[] args) : base(args) + { + } + + /// + /// Apre la finestra child con conf + /// + protected override void openChild(string IOB) + { + if (IOB == null) + { + throw new ArgumentNullException(nameof(IOB)); + } + + AdapterFormNext child = new AdapterFormNext(IOB); + child.MdiParent = this; + child.Text = IOB; + child.Show(); + child.Shown += Child_Shown; + child.FormClosed += Child_FormClosed; + } + } +} diff --git a/IOB-WIN-KAWASAKI/NLog.config b/IOB-WIN-KAWASAKI/NLog.config new file mode 100644 index 00000000..cd1bcc98 --- /dev/null +++ b/IOB-WIN-KAWASAKI/NLog.config @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + diff --git a/IOB-WIN-KAWASAKI/Program.cs b/IOB-WIN-KAWASAKI/Program.cs new file mode 100644 index 00000000..511341d2 --- /dev/null +++ b/IOB-WIN-KAWASAKI/Program.cs @@ -0,0 +1,24 @@ +using System; +using System.Windows.Forms; + +namespace IOB_WIN_KAWASAKI +{ + internal static class Program + { + #region Private Methods + + /// + /// Punto di ingresso principale dell'applicazione. + /// Parametri di avvio + /// + [STAThread] + private static void Main(string[] args) + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainFormNext(args)); + } + + #endregion Private Methods + } +} \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/Properties/AssemblyInfo.cs b/IOB-WIN-KAWASAKI/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..2288b500 --- /dev/null +++ b/IOB-WIN-KAWASAKI/Properties/AssemblyInfo.cs @@ -0,0 +1,18 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("IOB-WIN-KAWASAKI")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyProduct("IOB-WIN-KAWASAKI")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] diff --git a/IOB-WIN-KAWASAKI/Properties/Resources.Designer.cs b/IOB-WIN-KAWASAKI/Properties/Resources.Designer.cs new file mode 100644 index 00000000..a04058ce --- /dev/null +++ b/IOB-WIN-KAWASAKI/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace IOB_WIN_KAWASAKI.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("IOB_WIN_KAWASAKI.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/IOB-WIN-KAWASAKI/Properties/Resources.resx b/IOB-WIN-KAWASAKI/Properties/Resources.resx new file mode 100644 index 00000000..af7dbebb --- /dev/null +++ b/IOB-WIN-KAWASAKI/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/Properties/Settings.Designer.cs b/IOB-WIN-KAWASAKI/Properties/Settings.Designer.cs new file mode 100644 index 00000000..4633ded3 --- /dev/null +++ b/IOB-WIN-KAWASAKI/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace IOB_WIN_KAWASAKI.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/IOB-WIN-KAWASAKI/Properties/Settings.settings b/IOB-WIN-KAWASAKI/Properties/Settings.settings new file mode 100644 index 00000000..39645652 --- /dev/null +++ b/IOB-WIN-KAWASAKI/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/IOB-WIN-KAWASAKI/Resources/ChangeLog.html b/IOB-WIN-KAWASAKI/Resources/ChangeLog.html new file mode 100644 index 00000000..7ab91d78 --- /dev/null +++ b/IOB-WIN-KAWASAKI/Resources/ChangeLog.html @@ -0,0 +1,120 @@ + +

MAPO-IOB-WIN

+ v: {{CURRENT-REL}} +
+ Acquisitore MAPO-IOB per sistemi Windows +
+ Note di rilascio: +
    +
  • + v.3.1.* → v.3.2.* +
      +
    • Nuovi simulatori con gestione emergenza
    • +
    • Fix gestione invio dati Redis
    • +
    • Implementazione IOB Eurom63
    • +
    +
  • +
  • + v.2.6.* → v.3.0.* +
      +
    • revisione sistema metodi invio in blocco
    • +
    • Gestione invio contapezzi in step > 1
    • +
    • Gestione eventi in blocco (indipendente e prioritario su EvBlock)
    • +
    • Gestione limite eventi memorizzabili
    • +
    • Integrazione REDIS
    • +
    • Integrazione IOB-MAN
    • +
    +
  • +
  • + v.2.5.* → v.2.6.* +
      +
    • revisione sistema timeout Ping
    • +
    • Gestione AutoODL in prod generale (non solo SIM)
    • +
    +
  • +
  • + v.2.4.* → v.2.5.* +
      +
    • Aggiunto adapter MTConnect
    • +
    • Ottimizzazione gestione SIEMENS
    • +
    +
  • +
  • + v.2.3.* → v.2.4.* +
      +
    • inserita gestione conf json x Flog acquisiti
    • +
    • gestione invio Json blocchi dati FLog
    • +
    • ottimizzazioni varie adapter Siemens
    • +
    • ottimizzazione processo svuotamento code
    • +
    • riduzione interferenza e interblocchi in fase di PLC assente
    • +
    +
  • +
  • + Ultime modifiche: +
      {{LAST-CHANGES}}
    +
  • +
  • + v.1.18.* → v.2.3.* +
      +
    • inserimento WPS x acontrolli WebPage human readable
    • +
    • fix gestione task2exe
    • +
    • aggiunte varie versioni PLC siemens
    • +
    • aggiunto PLC WPS x generiche web pages
    • +
    • revisitazione LOG ODL e contapezzi
    • +
    • modifica pagina presentazione dati (master) x resize
    • +
    • Attivazione IOB SIMULATOR per test di carico (sostituito type DEMO)
    • +
    • Aggiunto simulatore macchine MULTI pallet
    • +
    • Ottimizzazione simulatore
    • +
    • Ottimizzazioni PLC Siemens x riavvio post disconnessione (es spegnimento notturno)
    • +
    • Ottimizzazione processo chiusura in update applicazione
    • +
    • Aggiunta simulazione spegnimento con WU/CD
    • +
    +
  • +
  • + v.1.11.* → v.1.18.* +
      +
    • Inserimento controller SIEMENS con S7+ library
    • +
    • Inserimento nuove letture FANUC x programmi
    • +
    • Inserimento nuove letture FANUC x SysEx (informazioni sistema)
    • +
    • Inserimento invio FluxLog x parametri estesi (es SysEx, ProgName,...)
    • +
    • FIX visualizzazione dati FluxLog e URL inviati
    • +
    • FIX MAIN program da FANUC (non il current)
    • +
    • Inserita modalita' DUMP memoria (iniziale full + periodica)
    • +
    • Inserimento gestione contapezzi standard/checkBit in IOB.cfg
    • +
    • Inserimento contapezzi da area memoria X
    • +
    • NUOVA Gestione rami cliente e URL di update
    • +
    • Gestione modi CNC
    • +
    • Lettura dari dinamycs FANUC (feed, speed)
    • +
    • aggiunta gestione aree G0..G30 (overrides?)
    • +
    • fix errore disconnessione FANUC (allo spegnimento dl CNC) e memoria valori persistente a 1
    • +
    • fix globali x gestione log IN / FLOG + ottimizzaizone check FANUC (PING)
    • +
    • ottimizzazione fasi di restart in caso di assenza del server (evita reinvii inutili e migliora tempo ripartenza invio)
    • +
    • review procedure controllo connessione x FANUC (es Tornos II)
    • +
    • non richeide più privilegi admin x fare update
    • +
    • gestione segnali inverted
    • +
    • completata gestione configurabilità parametrica segnali (Tornos, CMZ, Biglia)
    • +
    • revisitazione LOG x distinguere processi IOB
    • +
    +
  • +
  • + v.0.1.* → v.0.10.* +
      +
    • Testato in produzione x update ad avvio e su richiesta
    • +
    • Testato in produzione x lettura dati da Fanuc
    • +
    • Inizio deploy con copia file su area IIS
    • +
    • Prima versione con autoupdate
    • +
    • Test PrettyBin x spostamento dll
    • +
    • Base acquisitore FANUC
    • +
    • Sistema base sw controllo in tray
    • +
    +
  • +
+ + \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/Resources/Circuit.ico b/IOB-WIN-KAWASAKI/Resources/Circuit.ico new file mode 100644 index 00000000..a05b27a6 Binary files /dev/null and b/IOB-WIN-KAWASAKI/Resources/Circuit.ico differ diff --git a/IOB-WIN-KAWASAKI/Resources/Net.ico b/IOB-WIN-KAWASAKI/Resources/Net.ico new file mode 100644 index 00000000..a33a9eca Binary files /dev/null and b/IOB-WIN-KAWASAKI/Resources/Net.ico differ diff --git a/IOB-WIN-KAWASAKI/Resources/STEAM-IOB-WIN.xml b/IOB-WIN-KAWASAKI/Resources/STEAM-IOB-WIN.xml new file mode 100644 index 00000000..ba4e78f6 Binary files /dev/null and b/IOB-WIN-KAWASAKI/Resources/STEAM-IOB-WIN.xml differ diff --git a/IOB-WIN-KAWASAKI/Resources/Start-IOB-WIN.bat b/IOB-WIN-KAWASAKI/Resources/Start-IOB-WIN.bat new file mode 100644 index 00000000..3f8ecaa1 --- /dev/null +++ b/IOB-WIN-KAWASAKI/Resources/Start-IOB-WIN.bat @@ -0,0 +1,15 @@ +@ECHO OFF + +SET EXEName=IOB-WIN.exe +SET EXEFullPath=C:\Steamware\IOB-WIN\IOB-WIN.exe + +TASKLIST | FINDSTR /I "%EXEName%" +IF ERRORLEVEL 1 GOTO :StartIobWin + +REM "Programma ancora in run, nessuna azione necessaria" +timeout /T 2 +GOTO :EOF + +:StartIobWin +START "" "%EXEFullPath%" +GOTO :EOF diff --git a/IOB-WIN-KAWASAKI/Resources/SteamWare.ico b/IOB-WIN-KAWASAKI/Resources/SteamWare.ico new file mode 100644 index 00000000..70ccadaf Binary files /dev/null and b/IOB-WIN-KAWASAKI/Resources/SteamWare.ico differ diff --git a/IOB-WIN-KAWASAKI/Resources/logoSteamware.png b/IOB-WIN-KAWASAKI/Resources/logoSteamware.png new file mode 100644 index 00000000..0958b50a Binary files /dev/null and b/IOB-WIN-KAWASAKI/Resources/logoSteamware.png differ diff --git a/IOB-WIN-KAWASAKI/Resources/manifest.xml b/IOB-WIN-KAWASAKI/Resources/manifest.xml new file mode 100644 index 00000000..f66a7e99 --- /dev/null +++ b/IOB-WIN-KAWASAKI/Resources/manifest.xml @@ -0,0 +1,7 @@ + + + 1.0.0.0 + http://seriate.steamware.net:8083/SWS/MAPO/IOB-WIN/{{BRANCHNAME}}/MAPO-IOB-WIN.zip + http://seriate.steamware.net:8083/SWS/MAPO/IOB-WIN/{{BRANCHNAME}}/ChangeLog.html + false + \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/docfx.json b/IOB-WIN-KAWASAKI/docfx.json new file mode 100644 index 00000000..bacb80c9 --- /dev/null +++ b/IOB-WIN-KAWASAKI/docfx.json @@ -0,0 +1,68 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "*.csproj" + ], + "cwd": ".", + "exclude": [ + "**/obj/**", + "**/bin/**", + "_site/**" + ] + } + ], + "dest": "obj/api" + } + ], + "build": { + "content": [ + { + "files": [ + "api/**.yml" + ], + "cwd": "obj" + }, + { + "files": [ + "api/*.md", + "articles/**.md", + "toc.yml", + "*.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "overwrite": [ + { + "files": [ + "apidoc/**.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "dest": "_site", + "template": [ + "default" + ] + } +} \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/index.md b/IOB-WIN-KAWASAKI/index.md new file mode 100644 index 00000000..fdb4be99 --- /dev/null +++ b/IOB-WIN-KAWASAKI/index.md @@ -0,0 +1,11 @@ +# IOB-WIN-PING + +Documentazione relativa all'applicativo IOB-WIN-PING + +## Articles + +Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles + +## Api + +Per ogni dettaglio e riferimento alla libreria si rimanda alla sezione Api Documentation \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/logs/.placeholder.txt b/IOB-WIN-KAWASAKI/logs/.placeholder.txt new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-KAWASAKI/logs/.placeholder.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/packages.config b/IOB-WIN-KAWASAKI/packages.config new file mode 100644 index 00000000..1981bc6a --- /dev/null +++ b/IOB-WIN-KAWASAKI/packages.config @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/postBuildTgt.bat b/IOB-WIN-KAWASAKI/postBuildTgt.bat new file mode 100644 index 00000000..fb0ec909 --- /dev/null +++ b/IOB-WIN-KAWASAKI/postBuildTgt.bat @@ -0,0 +1,52 @@ +@echo off +echo Inizio processing After Build: configurazione %1 , directory %2 + +if %1 == "Release" goto ReleaseExec +if %1 == Release goto ReleaseExec +if %1 == "Debug" goto DebugExec +if %1 == Debug goto DebugExec +if %1 == "Remote_DEBUG" goto RemoteDebugExec +if %1 == Remote_DEBUG goto RemoteDebugExec + +:ReleaseExec +echo Release processing... +del /S %2"*.pdb"" +del /S %2"*.xml"" +del /S %2"lib/*.pdb"" +echo Release: eliminato pdb + xml!!! +goto END + +:DebugExec +echo Debug processing... + +goto END + + +:RemoteDebugExec +echo Remote_DEBUG processing, effettuo copia script verso server remoto (ROBOCOPY) +REM copia script verso server remoto +REM echo Debug remoto: effettuo robocopy sync (verificare remote per cliente) + +REM FINASSI +REM ROBOCOPY %2 \\10.150.0.1\Steamware\IOB-WIN-KAWASAKI-DEB /MIR +REM Baglietto +REM ROBOCOPY %2 \\192.168.60.15\Steamware\IOB-WIN-KAWASAKI-DEB /MIR +REM GIACOVELLI LOCOROTONDO +REM ROBOCOPY %2 \\192.168.1.93\Steamware\IOB-WIN-KAWASAKI-DEB /MIR +REM IMI Remosa +REM ROBOCOPY %2 \\192.168.0.12\Steamware\IOB-WIN-KAWASAKI-DEB /MIR + +REM IOB-WIN-SIM +REM ROBOCOPY %2 \\IOB-WIN-SIMULA\Steamware\IOB-WIN-KAWASAKI-DEB /MIR + +REM IOBVPN4MACHINE +REM ROBOCOPY %2 \\10.51.90.5\Steamware\IOB-WIN-KAWASAKI-DEB /MIR +REM ROBOCOPY %2 \\10.51.90.5\Steamware\IOB-WIN-KAWASAKI-DEB /MIR /log:RobocopyTransfer.log +REM ROBOCOPY %2 Z:\IOB-WIN-KAWASAKI-DEB /MIR +REM ROBOCOPY %2 \\10.51.90.10\Steamware\IOB-WIN-KAWASAKI-DEB /MIR +ROBOCOPY %2 \\10.51.90.9\Steamware\IOB-WIN-KAWASAKI-DEB /MIR + +goto END + +:END +echo Fatto! \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/setupTgt.bat b/IOB-WIN-KAWASAKI/setupTgt.bat new file mode 100644 index 00000000..ba685c02 --- /dev/null +++ b/IOB-WIN-KAWASAKI/setupTgt.bat @@ -0,0 +1,25 @@ +@echo off +echo Effettua setup dei file specifici per i vari ambienti pre build installer: verifica da nome configurazione %1 + + +if %1 == "Release" goto Release +if %1 == "Debug" goto Debug +if %1 == "Remote_DEBUG" goto RemoteDebug + +:Release +echo Release: nulla da copiare +goto END + +:Debug +echo Debug: copia file ini x simulazione Debug +REM del %2"DATA\CONF\EsaKvara.ini" +REM copy %2"Resources\SCM\EsaKvara_SIM.ini" %2"DATA\CONF\EsaKvara.ini" +goto END + + +:RemoteDebug +echo RemoteDebug: nulla da copiare +goto END + +:END +echo Fatto! \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/temp/.placeholder b/IOB-WIN-KAWASAKI/temp/.placeholder new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-KAWASAKI/temp/.placeholder @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-KAWASAKI/toc.yml b/IOB-WIN-KAWASAKI/toc.yml new file mode 100644 index 00000000..7eee9ffb --- /dev/null +++ b/IOB-WIN-KAWASAKI/toc.yml @@ -0,0 +1,6 @@ + +- name: Articles + href: articles/ +- name: API Documentation + href: obj/api/ + homepage: api/index.md diff --git a/IOB-WIN-NEXT/AdapterFormNext.cs b/IOB-WIN-NEXT/AdapterFormNext.cs index 22a0a86c..a5800813 100644 --- a/IOB-WIN-NEXT/AdapterFormNext.cs +++ b/IOB-WIN-NEXT/AdapterFormNext.cs @@ -59,14 +59,12 @@ namespace IOB_WIN_NEXT iobObj = new IobFile.IobFileSoitaab(this, IOBConf); btnStart.Enabled = true; break; -#endif case tipoAdapter.KAWASAKI: iobObj = new Iob.Kawasaki(this, IOBConf); btnStart.Enabled = true; break; -#if false case tipoAdapter.IcoelDb: iobObj = new IobSql.IcoelDb(this, IOBConf); btnStart.Enabled = true;