diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 166b2142..bc6fb7fc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -221,12 +221,12 @@ IOB-WIN-NEXT:build: script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' -IOB-WIN-WPS:build: +IOB-WIN-MTC:build: stage: build tags: - win variables: - APP_NAME: IOB-WIN-WPS + APP_NAME: IOB-WIN-MTC before_script: - *nuget-fix - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' @@ -247,6 +247,19 @@ IOB-WIN-PING:build: script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' +IOB-WIN-WPS:build: + stage: build + tags: + - win + variables: + APP_NAME: IOB-WIN-WPS + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' + # -------------------------------- # RELEASE # -------------------------------- @@ -300,18 +313,18 @@ IOB-WIN-NEXT:release: - *nexusUpload - *SendToVersionsLog -IOB-WIN-WPS:release: +IOB-WIN-PING:release: stage: release - needs: ["IOB-WIN-WPS:build"] + needs: ["IOB-WIN-PING:build"] tags: - win variables: - APP_NAME: IOB-WIN-WPS - NEXUS_PATH: MAPO/IOB-WIN-WPS + APP_NAME: IOB-WIN-PING + NEXUS_PATH: MAPO/IOB-WIN-PING rules: - if: $CI_COMMIT_BRANCH == 'master' changes: - - IOB-WIN-WPS/* + - IOB-WIN-PING/* when: always before_script: - *nuget-fix @@ -325,19 +338,43 @@ IOB-WIN-WPS:release: - *nexusUpload - *SendToVersionsLog - -IOB-WIN-PING:release: +IOB-WIN-MTC:release: stage: release - needs: ["IOB-WIN-PING:build"] + needs: ["IOB-WIN-MTC:build"] tags: - win variables: - APP_NAME: IOB-WIN-PING - NEXUS_PATH: MAPO/IOB-WIN-PING + APP_NAME: IOB-WIN-MTC + NEXUS_PATH: MAPO/IOB-WIN-MTC rules: - if: $CI_COMMIT_BRANCH == 'master' changes: - - IOB-WIN-PING/* + - IOB-WIN-MTC/* + when: always + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *cleanup-zip + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' + - *zipper + - *hashBuild + - *nexusUpload + - *SendToVersionsLog + +IOB-WIN-WPS:release: + stage: release + needs: ["IOB-WIN-WPS:build"] + tags: + - win + variables: + APP_NAME: IOB-WIN-WPS + NEXUS_PATH: MAPO/IOB-WIN-WPS + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - IOB-WIN-WPS/* when: always before_script: - *nuget-fix @@ -374,26 +411,6 @@ IOB-WIN-NEXT:docfx: - mv $env:APP_NAME/_site "docfx" - *DocReplica -IOB-WIN-WPS:docfx: - stage: docfx - needs: ["IOB-WIN-WPS:build"] - tags: - - win - variables: - APP_NAME: IOB-WIN-WPS - rules: - - if: $CI_COMMIT_BRANCH == 'master' - changes: - - IOB-WIN-WPS/* - when: always - before_script: - - *nuget-fix - - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' - script: - - docfx $env:APP_NAME/docfx.json - - mv $env:APP_NAME/_site "docfx" - - *DocReplica - IOB-WIN-PING:docfx: stage: docfx needs: ["IOB-WIN-PING:build"] @@ -413,3 +430,43 @@ IOB-WIN-PING:docfx: - docfx $env:APP_NAME/docfx.json - mv $env:APP_NAME/_site "docfx" - *DocReplica + +IOB-WIN-MTC:docfx: + stage: docfx + needs: ["IOB-WIN-MTC:build"] + tags: + - win + variables: + APP_NAME: IOB-WIN-MTC + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - IOB-WIN-MTC/* + when: always + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + script: + - docfx $env:APP_NAME/docfx.json + - mv $env:APP_NAME/_site "docfx" + - *DocReplica + +IOB-WIN-WPS:docfx: + stage: docfx + needs: ["IOB-WIN-WPS:build"] + tags: + - win + variables: + APP_NAME: IOB-WIN-WPS + rules: + - if: $CI_COMMIT_BRANCH == 'master' + changes: + - IOB-WIN-WPS/* + when: always + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + script: + - docfx $env:APP_NAME/docfx.json + - mv $env:APP_NAME/_site "docfx" + - *DocReplica diff --git a/IOB-WIN-MBUS.sln b/IOB-WIN-MBUS.sln new file mode 100644 index 00000000..221674f9 --- /dev/null +++ b/IOB-WIN-MBUS.sln @@ -0,0 +1,83 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.2.32505.173 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersGen", "VersGen\VersGen.csproj", "{58E399F3-9D4E-49D3-AB35-9ED536543D50}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B52E3E86-1B82-4F4D-982C-0C8909CD2A28}" + ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-UT-NEXT", "IOB-UT-NEXT\IOB-UT-NEXT.csproj", "{90512E12-29FC-460D-94CC-648C2A072DBD}" +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-PING", "IOB-WIN-PING\IOB-WIN-PING.csproj", "{6ADF1E82-124C-489C-99EF-A857C933D362}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x86 = Release|x86 + Remote_DEBUG|Any CPU = Remote_DEBUG|Any CPU + Remote_DEBUG|x86 = Remote_DEBUG|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.ActiveCfg = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.Build.0 = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.ActiveCfg = Release|x86 + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.Build.0 = Release|x86 + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|Any CPU.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|x86.ActiveCfg = Remote_DEBUG|x86 + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|x86.Build.0 = Remote_DEBUG|x86 + {90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|x86.ActiveCfg = Debug|x86 + {90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|x86.Build.0 = Debug|x86 + {90512E12-29FC-460D-94CC-648C2A072DBD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Release|Any CPU.Build.0 = Release|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Release|x86.ActiveCfg = Release|x86 + {90512E12-29FC-460D-94CC-648C2A072DBD}.Release|x86.Build.0 = Release|x86 + {90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|Any CPU.Build.0 = Debug|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|x86.ActiveCfg = Release|x86 + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|x86.ActiveCfg = Debug|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|x86.Build.0 = Debug|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|Any CPU.Build.0 = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|x86.ActiveCfg = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|x86.Build.0 = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU + {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 + {6ADF1E82-124C-489C-99EF-A857C933D362}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Debug|x86.ActiveCfg = Debug|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Debug|x86.Build.0 = Debug|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Release|Any CPU.Build.0 = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Release|x86.ActiveCfg = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Release|x86.Build.0 = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Remote_DEBUG|Any CPU.ActiveCfg = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Remote_DEBUG|Any CPU.Build.0 = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Remote_DEBUG|x86.ActiveCfg = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Remote_DEBUG|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {801DCDC5-B7D3-4EA5-B543-783D2C91765F} + EndGlobalSection +EndGlobal diff --git a/IOB-WIN-MBUS/AdapterFormNext.cs b/IOB-WIN-MBUS/AdapterFormNext.cs new file mode 100644 index 00000000..d4b03e39 --- /dev/null +++ b/IOB-WIN-MBUS/AdapterFormNext.cs @@ -0,0 +1,56 @@ +using IOB_UT_NEXT; +using IOB_WIN_PING.Iob; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IOB_WIN_PING +{ + 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.PingWatchdog: + iobObj = new IOB_WIN_FORM.Iob.PingWatchDog(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-MBUS/App.Debug.config b/IOB-WIN-MBUS/App.Debug.config new file mode 100644 index 00000000..42297ccc --- /dev/null +++ b/IOB-WIN-MBUS/App.Debug.config @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-MBUS/App.Release.config b/IOB-WIN-MBUS/App.Release.config new file mode 100644 index 00000000..0f80d173 --- /dev/null +++ b/IOB-WIN-MBUS/App.Release.config @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-MBUS/App.config b/IOB-WIN-MBUS/App.config new file mode 100644 index 00000000..93faf2cd --- /dev/null +++ b/IOB-WIN-MBUS/App.config @@ -0,0 +1,170 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-MBUS/DATA/CONF/FTP-PING.ini b/IOB-WIN-MBUS/DATA/CONF/FTP-PING.ini new file mode 100644 index 00000000..efe46cca --- /dev/null +++ b/IOB-WIN-MBUS/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-MBUS/DATA/CONF/IOB.ini b/IOB-WIN-MBUS/DATA/CONF/IOB.ini new file mode 100644 index 00000000..9ac13668 --- /dev/null +++ b/IOB-WIN-MBUS/DATA/CONF/IOB.ini @@ -0,0 +1,50 @@ +;Configurazione IOB-WIN +[IOB] +CNCTYPE=FANUC +;IDXMACC=3001 + +[CNC] +; TEST TORNOS! +;IP=192.168.1.80 +IP=172.16.199.10 +PORT=8193 + +[SERVER] +MPIP=http://10.74.82.219 +MPURL=/MP/IO +CMDBASE=/IOB/input/ +CMDFLOG=/IOB/flog/ +CMDALIVE=/IOB +CMDENABLED=/IOB/enabled/ +CMDADV1=?valore= +CMDREBO=/sendReboot.aspx?idxMacchina= + +[MEMORY] +BITRED=Y8.4 +BITYELLOW=Y8.5 +BITGREEN=Y8.6 + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +;PZCOUNT_MODE=STD|BIT +PZCOUNT_MODE=BIT +PZ_CAD_MADDR=1602 +PZ_REQ_MADDR=1603 +PZ_DONE_MADDR=1604 +PZ_GTOT_MADDR=1605 + +[BRANCH] +NAME=master diff --git a/IOB-WIN-MBUS/DATA/CONF/MAIN.ini b/IOB-WIN-MBUS/DATA/CONF/MAIN.ini new file mode 100644 index 00000000..43299be3 --- /dev/null +++ b/IOB-WIN-MBUS/DATA/CONF/MAIN.ini @@ -0,0 +1,61 @@ +;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=PIZ09 +;STARTLIST=VL25 +;STARTLIST=SIMUL_03 +;STARTLIST=GIACO_CEDAX_001 +;STARTLIST=GIACO_ICOEL_002 +;STARTLIST=GIACO_CENTERFRIGO +;STARTLIST=GIACO_NWSE +;STARTLIST=SIM_DP_01 +;STARTLIST=WPS +;STARTLIST=FINASSI_HELPI_01 +;STARTLIST=FINASSI_OMP_01 +;STARTLIST=BAGLIETTO_CIMOLAI_01 +;STARTLIST=GIACO_SAIM_003 +;STARTLIST=PIZ09 +;STARTLIST=IMI_RIMOR_SAB_01 +;STARTLIST=IMI_RIMOR_SAB_02 +;STARTLIST=IMI_RIMOR_VER_01 +;STARTLIST=IMI_RIMOR_VER_02 +;STARTLIST=IMI_PAMA_392 +;STARTLIST=Tend_FIMAT_01 +;STARTLIST=PIZ10 +;STARTLIST=IMI_SOITAAB_Z2342_02 +;STARTLIST=IMI_GOMBA +;STARTLIST=SIMUL_02 +;STARTLIST=SIM_DP_01 +;STARTLIST=FTP_SONATEST +;STARTLIST=L020 +;STARTLIST=PING +;STARTLIST=VL27 + +;NB: mettere copy always ai file di conf x fare test... +;STARTLIST=2014 +;STARTLIST=Tend_RAMA_10_47 +;STARTLIST=3024-PING +;STARTLIST=2015 +;STARTLIST=3024 +;STARTLIST=SIMUL_01 +;STARTLIST=WPS +STARTLIST=FTP-PING + + +MAXCNC=10 \ No newline at end of file diff --git a/IOB-WIN-MBUS/DATA/CONF/PING.ini b/IOB-WIN-MBUS/DATA/CONF/PING.ini new file mode 100644 index 00000000..1a4c140e --- /dev/null +++ b/IOB-WIN-MBUS/DATA/CONF/PING.ini @@ -0,0 +1,51 @@ +;Configurazione IOB-WIN +[IOB] +CNCTYPE=PingWatchdog +PING_MS_TIMEOUT=500 +;IOB_NAME=SIMUL_09 +IOB_NAME=SIMUL_01 + +[MACHINE] +VENDOR=STEAMWARE +MODEL=WATCHDOG + +[CNC] +IP=10.74.83.183 +;IP=10.74.82.253 +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] +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 \ No newline at end of file diff --git a/IOB-WIN-MBUS/DATA/CONF/SIMUL_01.ini b/IOB-WIN-MBUS/DATA/CONF/SIMUL_01.ini new file mode 100644 index 00000000..08975356 --- /dev/null +++ b/IOB-WIN-MBUS/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-MBUS/DATA/CONF/SIMUL_01.json b/IOB-WIN-MBUS/DATA/CONF/SIMUL_01.json new file mode 100644 index 00000000..d2895eb1 --- /dev/null +++ b/IOB-WIN-MBUS/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-MBUS/DATA/CONF/SIMUL_01_WD.ini b/IOB-WIN-MBUS/DATA/CONF/SIMUL_01_WD.ini new file mode 100644 index 00000000..56bca173 --- /dev/null +++ b/IOB-WIN-MBUS/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-MBUS/DATA/CONF/SIMUL_01_alarm.json b/IOB-WIN-MBUS/DATA/CONF/SIMUL_01_alarm.json new file mode 100644 index 00000000..4f6ed310 --- /dev/null +++ b/IOB-WIN-MBUS/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-MBUS/DATA/DAT/PersistData.dat b/IOB-WIN-MBUS/DATA/DAT/PersistData.dat new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-MBUS/DATA/DAT/PersistData.dat @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-MBUS/DATA/DAT/SimData.dat b/IOB-WIN-MBUS/DATA/DAT/SimData.dat new file mode 100644 index 00000000..c59e4823 --- /dev/null +++ b/IOB-WIN-MBUS/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-MBUS/DATA/HIST/.placeholder b/IOB-WIN-MBUS/DATA/HIST/.placeholder new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-MBUS/DATA/HIST/.placeholder @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-MBUS/IOB-WIN-MBUS.csproj b/IOB-WIN-MBUS/IOB-WIN-MBUS.csproj new file mode 100644 index 00000000..40368b2c --- /dev/null +++ b/IOB-WIN-MBUS/IOB-WIN-MBUS.csproj @@ -0,0 +1,257 @@ + + + + + Debug + AnyCPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA} + WinExe + IOB_WIN_MTC + IOB-WIN-MTC + 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 + x86 + 7.3 + prompt + + + + ..\packages\MapoSDK.6.14.2411.518\lib\MapoSDK.dll + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll + + + ..\packages\Microsoft.Extensions.Logging.Abstractions.6.0.0\lib\net461\Microsoft.Extensions.Logging.Abstractions.dll + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + ..\packages\NLog.5.3.4\lib\net46\NLog.dll + + + ..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll + + + ..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll + + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + + + ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll + + + ..\packages\System.IO.Pipelines.5.0.1\lib\net461\System.IO.Pipelines.dll + + + ..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll + + + ..\packages\System.Threading.Channels.5.0.0\lib\net461\System.Threading.Channels.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + + + + + + + + + + + + VersGen.cs + + + Form + + + + Form + + + + + Always + + + Always + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + Always + + + App.config + True + PreserveNewest + + + App.config + True + PreserveNewest + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + Always + + + + Always + + + + + Designer + true + PreserveNewest + + + + + Always + + + + Always + + + + Always + + + Always + + + + + + {90512e12-29fc-460d-94cc-648c2a072dbd} + IOB-UT-NEXT + + + {9ba331bb-9bf1-40e0-ac03-74b43d73a097} + IOB-WIN-FORM + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-MBUS/Iob/GenericNext.cs b/IOB-WIN-MBUS/Iob/GenericNext.cs new file mode 100644 index 00000000..89815943 --- /dev/null +++ b/IOB-WIN-MBUS/Iob/GenericNext.cs @@ -0,0 +1,13 @@ +using IOB_UT_NEXT; + +namespace IOB_WIN_PING.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-MBUS/MainFormNext.cs b/IOB-WIN-MBUS/MainFormNext.cs new file mode 100644 index 00000000..422d8335 --- /dev/null +++ b/IOB-WIN-MBUS/MainFormNext.cs @@ -0,0 +1,40 @@ +using IOB_UT_NEXT; +using IOB_WIN_PING.Iob; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IOB_WIN_PING +{ + 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-MBUS/NLog.config b/IOB-WIN-MBUS/NLog.config new file mode 100644 index 00000000..cd1bcc98 --- /dev/null +++ b/IOB-WIN-MBUS/NLog.config @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + diff --git a/IOB-WIN-MBUS/Program.cs b/IOB-WIN-MBUS/Program.cs new file mode 100644 index 00000000..5671848f --- /dev/null +++ b/IOB-WIN-MBUS/Program.cs @@ -0,0 +1,24 @@ +using System; +using System.Windows.Forms; + +namespace IOB_WIN_PING +{ + 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-MBUS/Properties/AssemblyInfo.cs b/IOB-WIN-MBUS/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..8f5a1a70 --- /dev/null +++ b/IOB-WIN-MBUS/Properties/AssemblyInfo.cs @@ -0,0 +1,22 @@ +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-MTC")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyProduct("IOB-WIN-MTC")] +[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)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("eebe38bd-29ee-45de-9af4-8fa34b58d8ba")] + diff --git a/IOB-WIN-MBUS/Properties/Resources.Designer.cs b/IOB-WIN-MBUS/Properties/Resources.Designer.cs new file mode 100644 index 00000000..0f013ea4 --- /dev/null +++ b/IOB-WIN-MBUS/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_MTC.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_MTC.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-MBUS/Properties/Resources.resx b/IOB-WIN-MBUS/Properties/Resources.resx new file mode 100644 index 00000000..af7dbebb --- /dev/null +++ b/IOB-WIN-MBUS/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-MBUS/Properties/Settings.Designer.cs b/IOB-WIN-MBUS/Properties/Settings.Designer.cs new file mode 100644 index 00000000..894a7528 --- /dev/null +++ b/IOB-WIN-MBUS/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_MTC.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-MBUS/Properties/Settings.settings b/IOB-WIN-MBUS/Properties/Settings.settings new file mode 100644 index 00000000..39645652 --- /dev/null +++ b/IOB-WIN-MBUS/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/IOB-WIN-MBUS/Readme/ToDo.txt b/IOB-WIN-MBUS/Readme/ToDo.txt new file mode 100644 index 00000000..161ff489 --- /dev/null +++ b/IOB-WIN-MBUS/Readme/ToDo.txt @@ -0,0 +1,61 @@ +------------------------------------- +- 2017.10.19 +------------------------------------- +OK - da testare ora invio URL a MoonPro +OK - ALIVE +OK - ENABLED +OK - INPUT +OK - FARE lettura VERA da FANUC almeno della bitmap +OK - fare gestione come rPI-IOB, ovvero +OK - gestione QUEUE eventi +OK - salvataggio su file dello storico eventi rilevati +OK - gestione dei segnali ballerini (BITMASK!) +OK - gestione contapezzi CUSTOM + - fare gestione configurabile lettura FANUC +OK - gestione dati G43 +OK - togliere dati F (E0 | 90) + - fare integrazione ALTRI varori FANUC, tra cui + - allarmi +OK - load/speed +OK - overrides (G12, G30) + +OK - nuovo metodo chiamata x MP/IO (che dovrà avere nuovo comando x accettare queste chiamate e salvare su tabella SENZA processing, come eventi o come extra... evento NOTA?) + - verificare segnali: (vedi doc gsheet) + - F001.0: ALARM_PRESENT + - F001.7: CN_READY / POWER_ON + - STL000.5: AUTO (vers 1) + - STL000.7: AUTO (vers 2) +- Cambiare ordine valutazione eventi frequenza VLF-->VHF +- Azzerare I contatori quanto si arriva al più lento (quando si azzera lui ripartono comunque tutti...) -> in questo modo scatta un contatore QUANDO GENERAL_COUNTER MOD periodo_Ccntatore == 0 +- rendere parametrica l'assegnazione delle funzioni al diverso ambito frequenza tra i 5 (VHF, HF, NF, LF, VLF) +- procedura x gestione dati REALTIME (da NON salvare su db ma al limite su REDIS, simil EQN con 2 tab x eliminare dati scaduti) + +OK FINIRE SISTEMAZIONE JETCO: +OK - install servers +OK - install DB +OK - conf acquisitore togliendo parti abbozzate x contapezzi/fineciclo +OK - part program name MAIN con nuova funzione + +CREARE NUOVO SW (o configurazione? o ramo alternativo a develop?) x mapping INIZIALE della macchina... ad esempio + - si collega a ns server + - chiede cosa deve fare (es mappa memorie D da 0 a 9999) + - effettua testing e poi fa upload risultati + - il ns sw fa i check/controlli modifica +in questo modo ad esmepio possiamo cercare i contapezzi, i segnali ceh cambiano con il fineciclo nelle aree Y, i contatori STANDARD nelle memorie D, ... + + +GESTIONE LIVE DATA +L'idea è ceh quando una macchina è "sotto osservazione" ovvero live viene aperta pagina questa debba inviare PIU' DATI di tipo realtime e mostrarli nel browser. Per farlo ci saranno questi elementi +- si apre una pagina di dettaglio macchina (da tablet? da SITE principale?) +- questo causa la modifica di una chiave su DB (e/o redis) di stato macchina, del tipo "OnAir=true", e potrebbe essere una chiave a tempo (30 sec poi scade?) e mentre la pagina è aperta e si aggiorna (ogni 1-2 sec oppure Signal-R) questo valore viene confermato (e prorigato) +- ogni IOB-WIN fa una chiamata "extra" all'URL dedicato al checl "OnAir", e se trova che è abilitato passa in modalità letture frequenti (1/2 al sec?) dei parametri LIVE (es: feed, speed, posizioni assi, load istantanei) +- se passa inq eusta modalità live invia DI CONTINUO il dato al server IO +- il server IO salva SU REDIS questi valori sia come "lastVal" che come serie storica +- le pagine che mostrano i dati si continuano ad aggiornare (da redis) con grafici (chartJs come PIC) e/o valori istantanei +- le serie storiche vengono ripulite periodicamente (ogni ora? valori + vecchi di 24h ad esempio?) +- struttura dati REDIS da creare SIMILE a struttura info URL... +- struttura dati LIVE: ../LIVE/COD_MACC/CURR_VAL (contiene TUTTI i dati LIVE, ultimi ricevuti...) +- struttura dati TimeSeries: ../LIVE/COD_MACC/DATA_NAME (contiene TUTTI i dati come timeseries, es SPEEDRATE, FEEDRATE, POS_X1, POS_X2, ...) +- operazione SAVE aggiorna SURR e accoda NUOVO valore... +- LOAD (rilettura9 POTREBBE fare pulizia se + vecchi di 24h...) +- la trasmissione verso IO deve avvenire con "multisend, nel \ No newline at end of file diff --git a/IOB-WIN-MBUS/Resources/ChangeLog.html b/IOB-WIN-MBUS/Resources/ChangeLog.html new file mode 100644 index 00000000..7ab91d78 --- /dev/null +++ b/IOB-WIN-MBUS/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-MBUS/Resources/Circuit.ico b/IOB-WIN-MBUS/Resources/Circuit.ico new file mode 100644 index 00000000..a05b27a6 Binary files /dev/null and b/IOB-WIN-MBUS/Resources/Circuit.ico differ diff --git a/IOB-WIN-MBUS/Resources/Net.ico b/IOB-WIN-MBUS/Resources/Net.ico new file mode 100644 index 00000000..a33a9eca Binary files /dev/null and b/IOB-WIN-MBUS/Resources/Net.ico differ diff --git a/IOB-WIN-MBUS/Resources/STEAM-IOB-WIN.xml b/IOB-WIN-MBUS/Resources/STEAM-IOB-WIN.xml new file mode 100644 index 00000000..ba4e78f6 Binary files /dev/null and b/IOB-WIN-MBUS/Resources/STEAM-IOB-WIN.xml differ diff --git a/IOB-WIN-MBUS/Resources/Start-IOB-WIN.bat b/IOB-WIN-MBUS/Resources/Start-IOB-WIN.bat new file mode 100644 index 00000000..3f8ecaa1 --- /dev/null +++ b/IOB-WIN-MBUS/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-MBUS/Resources/SteamWare.ico b/IOB-WIN-MBUS/Resources/SteamWare.ico new file mode 100644 index 00000000..70ccadaf Binary files /dev/null and b/IOB-WIN-MBUS/Resources/SteamWare.ico differ diff --git a/IOB-WIN-MBUS/Resources/logoSteamware.png b/IOB-WIN-MBUS/Resources/logoSteamware.png new file mode 100644 index 00000000..0958b50a Binary files /dev/null and b/IOB-WIN-MBUS/Resources/logoSteamware.png differ diff --git a/IOB-WIN-MBUS/Resources/manifest.xml b/IOB-WIN-MBUS/Resources/manifest.xml new file mode 100644 index 00000000..f66a7e99 --- /dev/null +++ b/IOB-WIN-MBUS/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-MBUS/logs/.placeholder.txt b/IOB-WIN-MBUS/logs/.placeholder.txt new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-MBUS/logs/.placeholder.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-MBUS/packages.config b/IOB-WIN-MBUS/packages.config new file mode 100644 index 00000000..bc12d868 --- /dev/null +++ b/IOB-WIN-MBUS/packages.config @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-MBUS/postBuildTgt.bat b/IOB-WIN-MBUS/postBuildTgt.bat new file mode 100644 index 00000000..d56896d2 --- /dev/null +++ b/IOB-WIN-MBUS/postBuildTgt.bat @@ -0,0 +1,97 @@ +@echo off +echo Inizio processing After Build: configurazione %1 , directory %2 + +RD /S /Q %2"\lib\ar" +RD /S /Q %2"\lib\cs" +RD /S /Q %2"\lib\da" +RD /S /Q %2"\lib\de" +RD /S /Q %2"\lib\es" +RD /S /Q %2"\lib\fr" +RD /S /Q %2"\lib\it" +RD /S /Q %2"\lib\ja-JP" +RD /S /Q %2"\lib\ko" +RD /S /Q %2"\lib\lv" +RD /S /Q %2"\lib\nl" +RD /S /Q %2"\lib\pl" +RD /S /Q %2"\lib\pt" +RD /S /Q %2"\lib\pt-BR" +RD /S /Q %2"\lib\ru" +RD /S /Q %2"\lib\sk" +RD /S /Q %2"\lib\sv" +RD /S /Q %2"\lib\th" +RD /S /Q %2"\lib\tr" +RD /S /Q %2"\lib\zh" +RD /S /Q %2"\lib\zh-TW" + +MOVE /Y %2"ar" %2"lib\" +MOVE /Y %2"cs" %2"lib\" +MOVE /Y %2"da" %2"lib\" +MOVE /Y %2"de" %2"lib\" +MOVE /Y %2"es" %2"lib\" +MOVE /Y %2"fr" %2"lib\" +MOVE /Y %2"it" %2"lib\" +MOVE /Y %2"ja-JP" %2"lib\" +MOVE /Y %2"ko" %2"lib\" +MOVE /Y %2"lv" %2"lib\" +MOVE /Y %2"nl" %2"lib\" +MOVE /Y %2"pl" %2"lib\" +MOVE /Y %2"pt" %2"lib\" +MOVE /Y %2"pt-BR" %2"lib\" +MOVE /Y %2"ru" %2"lib\" +MOVE /Y %2"sk" %2"lib\" +MOVE /Y %2"sv" %2"lib\" +MOVE /Y %2"th" %2"lib\" +MOVE /Y %2"tr" %2"lib\" +MOVE /Y %2"zh" %2"lib\" +MOVE /Y %2"zh-TW" %2"lib\" + + +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-WPS-DEB /MIR +REM Baglietto +REM ROBOCOPY %2 \\192.168.60.15\Steamware\IOB-WIN-WPS-DEB /MIR +REM GIACOVELLI LOCOROTONDO +REM ROBOCOPY %2 \\192.168.1.93\Steamware\IOB-WIN-WPS-DEB /MIR +REM IMI Remosa +REM ROBOCOPY %2 \\192.168.0.12\Steamware\IOB-WIN-WPS-DEB /MIR + +REM IOB-WIN-SIM +REM ROBOCOPY %2 \\IOB-WIN-SIMULA\Steamware\IOB-WIN-WPS-DEB /MIR + +REM IOBVPN4MACHINE +REM ROBOCOPY %2 \\10.51.90.5\Steamware\IOB-WIN-WPS-DEB /MIR +REM ROBOCOPY %2 \\10.51.90.5\Steamware\IOB-WIN-WPS-DEB /MIR /log:RobocopyTransfer.log +REM ROBOCOPY %2 Z:\IOB-WIN-WPS-DEB /MIR +REM ROBOCOPY %2 \\10.51.90.10\Steamware\IOB-WIN-WPS-DEB /MIR +ROBOCOPY %2 \\10.51.90.9\Steamware\IOB-WIN-WPS-DEB /MIR + +goto END + +:END +echo Fatto! \ No newline at end of file diff --git a/IOB-WIN-MBUS/setupTgt.bat b/IOB-WIN-MBUS/setupTgt.bat new file mode 100644 index 00000000..ba685c02 --- /dev/null +++ b/IOB-WIN-MBUS/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-MBUS/temp/.placeholder b/IOB-WIN-MBUS/temp/.placeholder new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-MBUS/temp/.placeholder @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-MTC.sln b/IOB-WIN-MTC.sln index 573643d4..ba83abc6 100644 --- a/IOB-WIN-MTC.sln +++ b/IOB-WIN-MTC.sln @@ -12,9 +12,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-UT-NEXT", "IOB-UT-NEXT\IOB-UT-NEXT.csproj", "{90512E12-29FC-460D-94CC-648C2A072DBD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-WIN-MTC", "IOB-WIN-MTC\IOB-WIN-MTC.csproj", "{7A396F36-0C79-470B-B909-356451DFE8C5}" +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-MTC-CLI", "IOB-WIN-MTC-CLI\IOB-WIN-MTC-CLI.csproj", "{6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-WIN-MTC", "IOB-WIN-MTC\IOB-WIN-MTC.csproj", "{EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -48,32 +48,31 @@ Global {90512E12-29FC-460D-94CC-648C2A072DBD}.Release|x86.Build.0 = Release|x86 {90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU {90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|Any CPU.Build.0 = Debug|Any CPU - {90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|x86.ActiveCfg = Remote_DEBUG|x86 - {90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|x86.Build.0 = Remote_DEBUG|x86 - {7A396F36-0C79-470B-B909-356451DFE8C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7A396F36-0C79-470B-B909-356451DFE8C5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7A396F36-0C79-470B-B909-356451DFE8C5}.Debug|x86.ActiveCfg = Debug|Any CPU - {7A396F36-0C79-470B-B909-356451DFE8C5}.Debug|x86.Build.0 = Debug|Any CPU - {7A396F36-0C79-470B-B909-356451DFE8C5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7A396F36-0C79-470B-B909-356451DFE8C5}.Release|Any CPU.Build.0 = Release|Any CPU - {7A396F36-0C79-470B-B909-356451DFE8C5}.Release|x86.ActiveCfg = Release|Any CPU - {7A396F36-0C79-470B-B909-356451DFE8C5}.Release|x86.Build.0 = Release|Any CPU - {7A396F36-0C79-470B-B909-356451DFE8C5}.Remote_DEBUG|Any CPU.ActiveCfg = Remote_DEBUG|Any CPU - {7A396F36-0C79-470B-B909-356451DFE8C5}.Remote_DEBUG|Any CPU.Build.0 = Remote_DEBUG|Any CPU - {7A396F36-0C79-470B-B909-356451DFE8C5}.Remote_DEBUG|x86.ActiveCfg = Release|Any CPU - {7A396F36-0C79-470B-B909-356451DFE8C5}.Remote_DEBUG|x86.Build.0 = Release|Any CPU - {6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}.Debug|x86.ActiveCfg = Debug|Any CPU - {6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}.Debug|x86.Build.0 = Debug|Any CPU - {6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}.Release|Any CPU.Build.0 = Release|Any CPU - {6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}.Release|x86.ActiveCfg = Release|Any CPU - {6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}.Release|x86.Build.0 = Release|Any CPU - {6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}.Remote_DEBUG|Any CPU.ActiveCfg = Remote_DEBUG|Any CPU - {6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}.Remote_DEBUG|Any CPU.Build.0 = Remote_DEBUG|Any CPU - {6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}.Remote_DEBUG|x86.ActiveCfg = Release|Any CPU - {6326D2C7-061F-4EC5-B8FF-5B072EFCFF52}.Remote_DEBUG|x86.Build.0 = Release|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|x86.ActiveCfg = Release|x86 + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|x86.ActiveCfg = Debug|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|x86.Build.0 = Debug|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|Any CPU.Build.0 = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|x86.ActiveCfg = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|x86.Build.0 = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU + {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 + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}.Debug|x86.ActiveCfg = Debug|Any CPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}.Debug|x86.Build.0 = Debug|Any CPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}.Release|Any CPU.Build.0 = Release|Any CPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}.Release|x86.ActiveCfg = Release|Any CPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}.Release|x86.Build.0 = Release|Any CPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}.Remote_DEBUG|Any CPU.ActiveCfg = Remote_DEBUG|Any CPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}.Remote_DEBUG|Any CPU.Build.0 = Remote_DEBUG|Any CPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}.Remote_DEBUG|x86.ActiveCfg = Release|Any CPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA}.Remote_DEBUG|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/IOB-WIN-MTC/AdapterFormNext.cs b/IOB-WIN-MTC/AdapterFormNext.cs new file mode 100644 index 00000000..cae97dfb --- /dev/null +++ b/IOB-WIN-MTC/AdapterFormNext.cs @@ -0,0 +1,55 @@ +using IOB_UT_NEXT; +using IOB_WIN_MTC.Iob; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IOB_WIN_MTC +{ + 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.MTConnect: + iobObj = new Iob.MTConn(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-MTC/App.Debug.config b/IOB-WIN-MTC/App.Debug.config new file mode 100644 index 00000000..42297ccc --- /dev/null +++ b/IOB-WIN-MTC/App.Debug.config @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-MTC/App.Release.config b/IOB-WIN-MTC/App.Release.config new file mode 100644 index 00000000..0f80d173 --- /dev/null +++ b/IOB-WIN-MTC/App.Release.config @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-MTC/App.config b/IOB-WIN-MTC/App.config new file mode 100644 index 00000000..d987216e --- /dev/null +++ b/IOB-WIN-MTC/App.config @@ -0,0 +1,171 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/3024-PING.ini b/IOB-WIN-MTC/DATA/CONF/3024-PING.ini new file mode 100644 index 00000000..cc4abec9 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/3024-PING.ini @@ -0,0 +1,57 @@ +;Configurazione IOB-WIN +[IOB] +CNCTYPE=PingWatchdog +PING_MS_TIMEOUT=500 +IOB_NAME=3024 + +[MACHINE] +VENDOR=STEAMWARE +MODEL=WATCHDOG + +[CNC] +IP=192.168.0.68 +;IP=192.168.1.7 Server MP +PORT=0000 + +[SERVER] +MPIP=http://192.168.1.7 +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] +timerIntMs=300 +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=JETCO +HostOS=WIN +HostName=IOB-WIN-09 +HostAddr=192.168.1.133 diff --git a/IOB-WIN-MTC/DATA/CONF/3024.ini b/IOB-WIN-MTC/DATA/CONF/3024.ini new file mode 100644 index 00000000..85757f49 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/3024.ini @@ -0,0 +1,76 @@ +;Configurazione IOB-WIN +[IOB] +;Tornio Biglia 438 controllo Mitsubishi MTConnect +CNCTYPE=MTConnect +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=BIGLIA +MODEL=438 + +[CNC] +IP=192.168.1.27 +PORT=5000 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.1.7 +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 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 30 +;bit0 = 1 +;bit1 = 1 +;bit2 = 0 +;bit3 = 0 +;bit4 = 0 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=3 +;BLINK_FILT=28 + +[OPTPAR] +PZCOUNT_MODE=MTC +DISABLE_PZCOUNT=FALSE +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_MTC_RESTART=TRUE +VETO_QUEUE_IN=15 +DISABLE_SEND_WDST=TRUE + +; conf parametri memoria READ/WRITE +MTC_PARAM_CONF=3024.json + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=JETCO +HostOS=WIN +HostName=IOB-WIN-8 +HostAddr=192.168.1.132 diff --git a/IOB-WIN-MTC/DATA/CONF/3024.json b/IOB-WIN-MTC/DATA/CONF/3024.json new file mode 100644 index 00000000..588a3389 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/3024.json @@ -0,0 +1,108 @@ +{ + "clientSampleIntMs": 600, + "reqTOutMs": 16000, + "reconnectIntMs": 6000, + "doSubsObserv": false, + "doSubsSample": true, + "keyPartCount": "M7010B4214N_23", + "keyPartReq": "", + "keyPartId": "", + "keyProgName": "M7010B4214N_31", + "keyRunMode": "M7010B4214N_13", + "keyEStop": "M7010B4214N_3", + "pingAsPowerOn": false, + "emergencyArmedTrue": false, + "condPowerOn": { + "keyName": "M7010B4214N_2", + "targetValue": "AVAILABLE" + }, + "condWork": [ + { + "keyName": "M7010B4214N_20", + "targetValue": "ACTIVE" + } + ], + "condManual": { + "checkMode": "AND", + "checkList": [ + { + "keyName": "M7010B4214N_20", + "targetValue": "OPTINAL_STOP" + } + ] + }, + "condReady": { + "checkMode": "AND", + "checkList": [ + { + "keyName": "M7010B4214N_20", + "targetValue": "STOPPED" + } + ] + }, + "fluxLogVeto": [ + "_24956f03ad_adapter_uri", + "_24956f03ad_adapter_software_version", + "_24956f03ad_mtconnect_version", + "agent_2cde48001122_asset_chg", + "agent_2cde48001122_asset_rem", + "device_changed", + "M7010B4214N_4", + "M7010B4214N_9", + "M7010B4214N_19", + "M7010B4214N_14", + "M7010B4214N_26", + "M7010B4214N_32", + "M7010B4214N_36", + "M7010B4214N_45", + "M7010B4214N_47", + "M7010B4214N_48", + "M7010B4214N_49", + "M7010B4214N_50", + "M7010B4214N_51", + "M7010B4214N_52", + "M7010B4214N_54", + "M7010B4214N_55", + "M7010B4214N_57", + "M7010B4214N_59", + "M7010B4214N_60", + "M7010B4214N_63", + "M7010B4214N_5", + "M7010B4214N_65", + "M7010B4214N_66", + "M7010B4214N_68", + "M7010B4214N_69", + "M7010B4214N_71", + "M7010B4214N_72", + "M7010B4214N_1_asset_chg", + "M7010B4214N_1_asset_rem" + ], + "itemTranslation": { + "E_M7010B4214N_2": "Machine Available", + "E_M7010B4214N_3": "Emergency", + "C_M7010B4214N_5": "System Condition (Alarm)", + "E_M7010B4214N_20": "Execution Mode", + "E_M7010B4214N_11": "Active Axes", + "E_M7010B4214N_13": "Controller Mode", + "E_M7010B4214N_31": "Program Name", + "E_M7010B4214N_23": "Contapezzi", + "E_M7010B4214N_24": "Rimanenti", + "E_M7010B4214N_25": "Qta Richiesta", + "E_M7010B4214N_28": "PATH FEED OVERRIDE", + "E_M7010B4214N_29": "PATH RAPID OVERRIDE", + "E_M7010B4214N_34": "PROGRAM", + "E_M7010B4214N_39": "Tool Asset ID" + }, + "mMapRead": { + "E_M7010B4214N_2": { + "name": "E_M7010B4214N_2", + "description": "Machine Availability", + "displOrdinal": 1 + } + }, + "paramsEndThresh": { + "PosAct": 50, + "PosTgt": 50, + "InvDDone": 50 + } +} \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/FOV062.ini b/IOB-WIN-MTC/DATA/CONF/FOV062.ini new file mode 100644 index 00000000..5cd7f51c --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/FOV062.ini @@ -0,0 +1,68 @@ +;Configurazione IOB-WIN +[IOB] +;Centro di lavoro HAAS MTConnect +CNCTYPE=MTConnect +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=TREVISAN +MODEL=DS500 + +[CNC] +IP=192.168.20.100 +PORT=5000 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.168.17 +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 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +PZCOUNT_MODE=MTC +DISABLE_PZCOUNT=FALSE +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_MTC_RESTART=TRUE +UNAVAIL_POWEROFF=TRUE + +; conf parametri memoria READ/WRITE +MTC_PARAM_CONF=FOV062.json + +[BRANCH] +NAME=master diff --git a/IOB-WIN-MTC/DATA/CONF/FOV062.json b/IOB-WIN-MTC/DATA/CONF/FOV062.json new file mode 100644 index 00000000..016e9cd8 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/FOV062.json @@ -0,0 +1,34 @@ +{ + "keyPartCount": "npartcnt1", + "keyPartReq": "", + "keyPartId": "", + "keyProgName": "nprogram1", + "keyRunMode": "nmode1", + "keyEStop": "nestop1", + "pingAsPowerOn": true, + "condPowerOn": { + "keyName": "navail", + "targetValue": "AVAILABLE" + }, + "condWork": [ + { + "keyName": "nexecution1", + "targetValue": "ACTIVE" + } + ], + "itemTranslation": { + "navail": "Machine Available", + "nexecution1": "Execution Mode", + "nmode1": "Controller Mode", + "nprogram1": "Program Name", + "npartcnt1": "Contapezzi", + "lpremain": "Qta Richiesta", + "nfeedoverride1": "PATH FEED OVERRIDE", + "nrapidoverride1": "PATH RAPID OVERRIDE" + }, + "paramsEndThresh": { + "PosAct": 50, + "PosTgt": 50, + "InvDDone": 50 + } +} \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/GT573.ini b/IOB-WIN-MTC/DATA/CONF/GT573.ini new file mode 100644 index 00000000..2c08f88f --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT573.ini @@ -0,0 +1,74 @@ +;Configurazione IOB-WIN +[IOB] +;Tornio Mitsubishi +CNCTYPE=MTConnect +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=Mitsubishi +MODEL=PowerCenterPro1000 + +[CNC] +IP=192.168.1.88 +PORT=5000 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.1.64 +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 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +PZCOUNT_MODE=MTC +DISABLE_PZCOUNT=FALSE +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_MTC_RESTART=TRUE + +; conf parametri memoria READ/WRITE +MTC_PARAM_CONF=GT573.json + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=LVF +HostOS=WIN +HostName=Server-MAPO-IOB +HostAddr=192.168.1.208 diff --git a/IOB-WIN-MTC/DATA/CONF/GT573.json b/IOB-WIN-MTC/DATA/CONF/GT573.json new file mode 100644 index 00000000..fd9bd1fa --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT573.json @@ -0,0 +1,33 @@ +{ + "keyPartCount": "GD179N_p1_58", + "keyPartReq": "GD179N_p1_x58", + "keyPartId": "", + "keyProgName": "GD179N_p1_52", + "keyRunMode": "GD179N_p1_49", + "pingAsPowerOn": false, + "condPowerOn": { + "keyName": "GD179N_dtop_2", + "targetValue": "AVAILABLE" + }, + "condWork": [ + { + "keyName": "GD179N_p1_48", + "targetValue": "ACTIVE" + } + ], + "itemTranslation": { + "GD179N_dtop_2": "Machine Available", + "E_GD179N_p1_48": "Execution Mode", + "E_GD179N_p1_49": "Controller Mode", + "E_GD179N_p1_52": "Program Name", + "E_GD179N_p1_58": "Contapezzi", + "E_GD179N_p1_x58": "Qta Richiesta", + "E_GD179N_p1_61": "PATH FEED OVERRIDE", + "E_GD179N_p1_62": "PATH RAPID OVERRIDE" + }, + "paramsEndThresh": { + "PosAct": 50, + "PosTgt": 50, + "InvDDone": 50 + } +} \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/GT576.ini b/IOB-WIN-MTC/DATA/CONF/GT576.ini new file mode 100644 index 00000000..bd44a47b --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT576.ini @@ -0,0 +1,74 @@ +;Configurazione IOB-WIN +[IOB] +;Centro di lavoro Okuma MTConnect +CNCTYPE=MTConnect +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=Okuma +MODEL=Lathe 2SP-35HG + +[CNC] +IP=192.168.0.47 +PORT=5000 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.1.64 +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 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +PZCOUNT_MODE=MTC +DISABLE_PZCOUNT=FALSE +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_MTC_RESTART=TRUE + +; conf parametri memoria READ/WRITE +MTC_PARAM_CONF=GT576.json + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=LVF +HostOS=WIN +HostName=Server-MAPO-IOB +HostAddr=192.168.1.208 diff --git a/IOB-WIN-MTC/DATA/CONF/GT576.json b/IOB-WIN-MTC/DATA/CONF/GT576.json new file mode 100644 index 00000000..f2976ff7 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT576.json @@ -0,0 +1,77 @@ +{ + "keyEStop": "L2estop", + "keyPartCount": "L2p2partcount", + "keyPartReq": "", + "keyPartId": "", + "keyProgName": "L2p2program", + "keyRunMode": "L2p2mode", + "pingAsPowerOn": true, + "condPowerOn": { + "keyName": "L2avail", + "targetValue": "AVAILABLE" + }, + "condWork": [ + { + "keyName": "L2p2execution", + "targetValue": "ACTIVE" + } + ], + "fluxLogVeto": [ + "L2p1BlockNumber", + "L2p1block", + "L2p1line", + "L2S1ChuckState", + "L2p1LPathPos", + "L2p1CommonVariable" + ], + "itemTranslation": { + "L2avail": "Machine Available", + "L2p2execution": "Execution Mode", + "L2p2mode": "Controller Mode", + "L2p2program": "Program Name", + "L2p2partcount": "Contapezzi", + "L2estop": "Emergenza", + "p2Fovr": "PATH FEED OVERRIDE", + "rovrd": "PATH RAPID OVERRIDE", + "L2S1speed": "Spindle C1 Actual SPEED", + "L2S1load": "Spindle C1 LOAD", + "L2S1ovr": "Spindle C1 OVERRIDE", + "L2S2speed": "Spindle C2 Actual SPEED", + "L2S2load": "Spindle C2 LOAD", + "L2S2ovr": "Spindle C2 OVERRIDE", + "L2p1OperatingTime": "OPERATING TIME", + "L2p1RunningTime": "RUNNING TIME" + }, + "paramsEndThresh": { + "PosAct": 50, + "PosTgt": 50, + "InvDDone": 50, + "L2Z1actw": 30, + "L2Z1actm": 10, + "L2X1actw": 50, + "L2Z1load": 10, + "L2X1actm": 100, + "L2S1speed": 100, + "L2S1load": 10, + "L2X1load": 10, + "L2S1ovr": 10, + "L2S2speed": 100, + "L2S2load": 10, + "L2Z2load": 5, + "L2S2ovr": 10, + "L2S1cmd": 100, + "L2p1OperatingTime": 600, + "L2p1RunningTime": 600, + "L2p1TotalRunningTime": 600, + "L2p1TotalOperatingTime": 600, + "L2p2OperatingTime": 600, + "L2p2RunningTime": 600, + "L2p2TotalRunningTime": 600, + "L2p2TotalOperatingTime": 60, + "L2p1SpindleRunTime": 600, + "L2p1TotalSpindleRunTime": 600, + "L2p1TotalCuttingTime": 600, + "L2p1CuttingTime": 600, + "L2S1SurfaceSpeedA": 1000 + } +} \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/GT577.ini b/IOB-WIN-MTC/DATA/CONF/GT577.ini new file mode 100644 index 00000000..f25ba4af --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT577.ini @@ -0,0 +1,75 @@ +;Configurazione IOB-WIN +[IOB] +;Centro di lavoro HAAS MTConnect +CNCTYPE=MTConnect +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=HAAS +MODEL=UMC-500 + +[CNC] +IP=192.168.1.82 +PORT=8082 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.1.64 +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 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +PZCOUNT_MODE=MTC +DISABLE_PZCOUNT=FALSE +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_MTC_RESTART=TRUE +DISABLE_SEND_WDST=TRUE + +; conf parametri memoria READ/WRITE +MTC_PARAM_CONF=GT577.json + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=LVF +HostOS=WIN +HostName=Server-MAPO-IOB +HostAddr=192.168.1.208 diff --git a/IOB-WIN-MTC/DATA/CONF/GT577.json b/IOB-WIN-MTC/DATA/CONF/GT577.json new file mode 100644 index 00000000..990ba489 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT577.json @@ -0,0 +1,33 @@ +{ + "keyPartCount": "m30c1", + "keyPartReq": "lpremain", + "keyPartId": "", + "keyProgName": "ncprog", + "keyRunMode": "mode", + "pingAsPowerOn": true, + "condPowerOn": { + "keyName": "avail", + "targetValue": "AVAILABLE" + }, + "condWork": [ + { + "keyName": "rstat", + "targetValue": "ACTIVE" + } + ], + "itemTranslation": { + "avail": "Machine Available", + "rstat": "Execution Mode", + "mode": "Controller Mode", + "ncprog": "Program Name", + "m30c1": "Contapezzi", + "lpremain": "Qta Richiesta", + "fdovrd": "PATH FEED OVERRIDE", + "rovrd": "PATH RAPID OVERRIDE" + }, + "paramsEndThresh": { + "PosAct": 50, + "PosTgt": 50, + "InvDDone": 50 + } +} \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/GT593.ini b/IOB-WIN-MTC/DATA/CONF/GT593.ini new file mode 100644 index 00000000..373e782e --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT593.ini @@ -0,0 +1,75 @@ +;Configurazione IOB-WIN +[IOB] +;Centro di lavoro HAAS MTConnect +CNCTYPE=MTConnect +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=HAAS +MODEL=VF-1 + +[CNC] +IP=192.168.1.49 +PORT=8082 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.1.64 +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 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +PZCOUNT_MODE=MTC +DISABLE_PZCOUNT=FALSE +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_MTC_RESTART=TRUE +DISABLE_SEND_WDST=TRUE + +; conf parametri memoria READ/WRITE +MTC_PARAM_CONF=GT593.json + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=LVF +HostOS=WIN +HostName=Server-MAPO-IOB +HostAddr=192.168.1.208 diff --git a/IOB-WIN-MTC/DATA/CONF/GT593.json b/IOB-WIN-MTC/DATA/CONF/GT593.json new file mode 100644 index 00000000..990ba489 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT593.json @@ -0,0 +1,33 @@ +{ + "keyPartCount": "m30c1", + "keyPartReq": "lpremain", + "keyPartId": "", + "keyProgName": "ncprog", + "keyRunMode": "mode", + "pingAsPowerOn": true, + "condPowerOn": { + "keyName": "avail", + "targetValue": "AVAILABLE" + }, + "condWork": [ + { + "keyName": "rstat", + "targetValue": "ACTIVE" + } + ], + "itemTranslation": { + "avail": "Machine Available", + "rstat": "Execution Mode", + "mode": "Controller Mode", + "ncprog": "Program Name", + "m30c1": "Contapezzi", + "lpremain": "Qta Richiesta", + "fdovrd": "PATH FEED OVERRIDE", + "rovrd": "PATH RAPID OVERRIDE" + }, + "paramsEndThresh": { + "PosAct": 50, + "PosTgt": 50, + "InvDDone": 50 + } +} \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/GT594.ini b/IOB-WIN-MTC/DATA/CONF/GT594.ini new file mode 100644 index 00000000..f0e31840 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT594.ini @@ -0,0 +1,75 @@ +;Configurazione IOB-WIN +[IOB] +;Centro di lavoro HAAS MTConnect +CNCTYPE=MTConnect +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=HAAS +MODEL=UMC-750 + +[CNC] +IP=192.168.1.50 +PORT=8082 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.1.64 +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 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +PZCOUNT_MODE=MTC +DISABLE_PZCOUNT=FALSE +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_MTC_RESTART=TRUE +DISABLE_SEND_WDST=TRUE + +; conf parametri memoria READ/WRITE +MTC_PARAM_CONF=GT594.json + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=LVF +HostOS=WIN +HostName=Server-MAPO-IOB +HostAddr=192.168.1.208 diff --git a/IOB-WIN-MTC/DATA/CONF/GT594.json b/IOB-WIN-MTC/DATA/CONF/GT594.json new file mode 100644 index 00000000..990ba489 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT594.json @@ -0,0 +1,33 @@ +{ + "keyPartCount": "m30c1", + "keyPartReq": "lpremain", + "keyPartId": "", + "keyProgName": "ncprog", + "keyRunMode": "mode", + "pingAsPowerOn": true, + "condPowerOn": { + "keyName": "avail", + "targetValue": "AVAILABLE" + }, + "condWork": [ + { + "keyName": "rstat", + "targetValue": "ACTIVE" + } + ], + "itemTranslation": { + "avail": "Machine Available", + "rstat": "Execution Mode", + "mode": "Controller Mode", + "ncprog": "Program Name", + "m30c1": "Contapezzi", + "lpremain": "Qta Richiesta", + "fdovrd": "PATH FEED OVERRIDE", + "rovrd": "PATH RAPID OVERRIDE" + }, + "paramsEndThresh": { + "PosAct": 50, + "PosTgt": 50, + "InvDDone": 50 + } +} \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/GT651.ini b/IOB-WIN-MTC/DATA/CONF/GT651.ini new file mode 100644 index 00000000..b0c86040 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT651.ini @@ -0,0 +1,75 @@ +;Configurazione IOB-WIN +[IOB] +;Centro di lavoro HAAS MTConnect +CNCTYPE=MTConnect +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=HAAS +MODEL=VF3 + +[CNC] +IP=192.168.0.81 +PORT=8082 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.1.64 +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 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +PZCOUNT_MODE=MTC +DISABLE_PZCOUNT=FALSE +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_MTC_RESTART=TRUE +DISABLE_SEND_WDST=TRUE + +; conf parametri memoria READ/WRITE +MTC_PARAM_CONF=GT651.json + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=LVF +HostOS=WIN +HostName=Server-MAPO-IOB +HostAddr=192.168.1.208 diff --git a/IOB-WIN-MTC/DATA/CONF/GT651.json b/IOB-WIN-MTC/DATA/CONF/GT651.json new file mode 100644 index 00000000..9d67d7e9 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT651.json @@ -0,0 +1,60 @@ +{ + "keyPartCount": "m30c1", + "keyPartReq": "lpremain", + "keyPartId": "", + "keyProgName": "ncprog", + "keyRunMode": "mode", + "pingAsPowerOn": true, + "condPowerOn": { + "keyName": "avail", + "targetValue": "AVAILABLE" + }, + "condWork": [ + { + "keyName": "rstat", + "targetValue": "ACTIVE" + } + ], + "fluxLogVeto": [ + "E_macrorange1", + "E_macrorange2", + "E_macrorange3", + "E_macrorange4", + "E_macrorange5", + "tooltype", + "E_workmaterial", + "E_toolclearance", + "E_edgemeasure", + "E_cintpos", + "E_toolid", + "E_approxdiam", + "E_diamwear", + "E_toolmaterial", + "E_lengthwear", + "E_actualdiam", + "E_flutes", + "E_probetype", + "E_approxlength", + "E_macrorange1", + "E_macrorange2", + "E_macrorange3", + "E_macrorange4", + "E_macrorange5", + "E_macrorange6", + ], + "itemTranslation": { + "avail": "Machine Available", + "rstat": "Execution Mode", + "mode": "Controller Mode", + "ncprog": "Program Name", + "m30c1": "Contapezzi", + "lpremain": "Qta Richiesta", + "fdovrd": "PATH FEED OVERRIDE", + "rovrd": "PATH RAPID OVERRIDE" + }, + "paramsEndThresh": { + "PosAct": 50, + "PosTgt": 50, + "InvDDone": 50 + } +} \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/GT652.ini b/IOB-WIN-MTC/DATA/CONF/GT652.ini new file mode 100644 index 00000000..9ce363ab --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT652.ini @@ -0,0 +1,75 @@ +;Configurazione IOB-WIN +[IOB] +;Centro di lavoro HAAS MTConnect +CNCTYPE=MTConnect +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=HAAS +MODEL=UMC 500 + +[CNC] +IP=192.168.0.32 +PORT=8082 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.1.64 +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 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +PZCOUNT_MODE=MTC +DISABLE_PZCOUNT=FALSE +ENABLE_SEND_PZC_BLOCK=TRUE +MIN_SEND_PZC_BLOCK=0 +MAX_SEND_PZC_BLOCK=100 +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_MTC_RESTART=TRUE +DISABLE_SEND_WDST=TRUE + +; conf parametri memoria READ/WRITE +MTC_PARAM_CONF=GT652.json + +[BRANCH] +NAME=master + +; Tags manuali +[TAGS] +Customer=LVF +HostOS=WIN +HostName=Server-MAPO-IOB +HostAddr=192.168.1.208 diff --git a/IOB-WIN-MTC/DATA/CONF/GT652.json b/IOB-WIN-MTC/DATA/CONF/GT652.json new file mode 100644 index 00000000..9d67d7e9 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/GT652.json @@ -0,0 +1,60 @@ +{ + "keyPartCount": "m30c1", + "keyPartReq": "lpremain", + "keyPartId": "", + "keyProgName": "ncprog", + "keyRunMode": "mode", + "pingAsPowerOn": true, + "condPowerOn": { + "keyName": "avail", + "targetValue": "AVAILABLE" + }, + "condWork": [ + { + "keyName": "rstat", + "targetValue": "ACTIVE" + } + ], + "fluxLogVeto": [ + "E_macrorange1", + "E_macrorange2", + "E_macrorange3", + "E_macrorange4", + "E_macrorange5", + "tooltype", + "E_workmaterial", + "E_toolclearance", + "E_edgemeasure", + "E_cintpos", + "E_toolid", + "E_approxdiam", + "E_diamwear", + "E_toolmaterial", + "E_lengthwear", + "E_actualdiam", + "E_flutes", + "E_probetype", + "E_approxlength", + "E_macrorange1", + "E_macrorange2", + "E_macrorange3", + "E_macrorange4", + "E_macrorange5", + "E_macrorange6", + ], + "itemTranslation": { + "avail": "Machine Available", + "rstat": "Execution Mode", + "mode": "Controller Mode", + "ncprog": "Program Name", + "m30c1": "Contapezzi", + "lpremain": "Qta Richiesta", + "fdovrd": "PATH FEED OVERRIDE", + "rovrd": "PATH RAPID OVERRIDE" + }, + "paramsEndThresh": { + "PosAct": 50, + "PosTgt": 50, + "InvDDone": 50 + } +} \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/IMI_50.ini b/IOB-WIN-MTC/DATA/CONF/IMI_50.ini new file mode 100644 index 00000000..671a69f7 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/IMI_50.ini @@ -0,0 +1,108 @@ +;Configurazione IOB-WIN +[IOB] +;Macchina miscelazione Ossidi di Ferro Interclays +CNCTYPE=MTConnect +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=CMS +MODEL=WaterJet + +[CNC] +;IP=127.0.0.1 +;IP=192.168.139.100 +IP=172.28.30.50 +PORT=5000 + +[SERVER] +;MPIP=http://10.74.82.218 +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 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice +; attenzione memoria sempre base BYTE (1604 DW --> 6416...) +PZCOUNT_MODE=STD.DM20.2 +DISABLE_PZCOUNT=TRUE +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE +ENABLE_DATA_FILTER=TRUE +ENABLE_MTC_RESTART=TRUE + +; conf parametri memoria READ/WRITE +MTC_PARAM_CONF=IMI_50.json + +[BRANCH] +NAME=master + +;-------------------------------------- +; NOTE ESPLICATIVE +;-------------------------------------- +; +;contapezzi: Path_01_PZ_TOT +; +; E_Path_01_RUN_MODE +; public enum MtcRunMode +; { +; UNDEFINED = 0, +; AUTOMATIC, +; EDIT, +; MANUAL_DATA_INPUT, +; MANUAL, +; SEMI_AUTO +; } +; +; E_Path_01_EXE_MODE +; /// +; /// ENUM degli stati EXE del path MTC +; /// +; public enum MtcExeMode +; { +; UNDEFINED = 0, +; ACTIVE, +; READY, +; STOPPED, +; FEED_HOLD, +; OPTIONAL_STOP, +; PROGRAM_STOPPED, +; PROGRAM_COMPLETED +; } +; +; LAVORA SOLO SE +; Path_01_EXE_MODE = ACTIVE +; Path_01_RUN_MODE = AUTOMATIC +; ST_Abilitaz_Abrasivo = ACTIVE +; ST_Getto_On = ACTIVE +; ST_UnOp_01_Status = ACTIVE \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/IMI_50.json b/IOB-WIN-MTC/DATA/CONF/IMI_50.json new file mode 100644 index 00000000..bbd20cb9 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/IMI_50.json @@ -0,0 +1,28 @@ +{ + "keyPartCount": "Path_01_PZ_TOT", + "keyPartReq": "", + "keyPartId": "Path_01_PartId", + "keyProgName": "Path_01_CurrProg", + "keyRunMode": "Path_01_RUN_MODE", + "pingAsPowerOn": true, + "emergencyArmedTrue": false, + "condPowerOn": { + "keyName": "POWER", + "targetValue": "OK" + }, + "condWork": [ + { + "keyName": "Path_01_EXE_MODE", + "targetValue": "ACTIVE" + }, + { + "keyName": "ST_UnOp_01_Status", + "targetValue": "ACTIVE" + } + ], + "paramsEndThresh": { + "PosAct": 50, + "PosTgt": 50, + "InvDDone": 50 + } +} \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/MAIN.ini b/IOB-WIN-MTC/DATA/CONF/MAIN.ini new file mode 100644 index 00000000..59dffd8e --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/MAIN.ini @@ -0,0 +1,29 @@ +;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_50 +;STARTLIST=GT593 +;STARTLIST=3024 +;STARTLIST=TEST +;STARTLIST=SIMUL_01 + +;NB: mettere copy always ai file di conf x fare test... +STARTLIST=3024 + +MAXCNC=10 \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/SIMUL_01.ini b/IOB-WIN-MTC/DATA/CONF/SIMUL_01.ini new file mode 100644 index 00000000..08975356 --- /dev/null +++ b/IOB-WIN-MTC/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-MTC/DATA/CONF/SIMUL_01.json b/IOB-WIN-MTC/DATA/CONF/SIMUL_01.json new file mode 100644 index 00000000..d2895eb1 --- /dev/null +++ b/IOB-WIN-MTC/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-MTC/DATA/CONF/SIMUL_01_WD.ini b/IOB-WIN-MTC/DATA/CONF/SIMUL_01_WD.ini new file mode 100644 index 00000000..56bca173 --- /dev/null +++ b/IOB-WIN-MTC/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-MTC/DATA/CONF/SIMUL_01_alarm.json b/IOB-WIN-MTC/DATA/CONF/SIMUL_01_alarm.json new file mode 100644 index 00000000..4f6ed310 --- /dev/null +++ b/IOB-WIN-MTC/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-MTC/DATA/CONF/TEST.ini b/IOB-WIN-MTC/DATA/CONF/TEST.ini new file mode 100644 index 00000000..32d25351 --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/TEST.ini @@ -0,0 +1,65 @@ +;Configurazione IOB-WIN +[IOB] +;Macchina miscelazione Ossidi di Ferro Interclays +CNCTYPE=MTConnect +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=CMS +MODEL=WaterJet + +[CNC] +;IP=192.168.139.100 +IP=127.0.0.1 +PORT=5000 + +[SERVER] +;MPIP=http://192.168.0.110 +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 +;BIT0=CONN +;BIT1=DB60.DBB1 +;BIT2=PZCOUNT.STD.DB700.DBW22 +;BIT3=DB60.DBB3 +;BIT4=DB60.DBB4 + + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice +; attenzione memoria sempre base BYTE (1604 DW --> 6416...) +PZCOUNT_MODE=STD.DM20.2 +DISABLE_PZCOUNT=TRUE +ENABLE_DYN_DATA=FALSE +FORCE_DYN_DATA=TRUE + +; conf parametri memoria READ/WRITE +PARAM_CONF=TEST.json + +[BRANCH] +NAME=master \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/CONF/TEST.json b/IOB-WIN-MTC/DATA/CONF/TEST.json new file mode 100644 index 00000000..0a2aad1a --- /dev/null +++ b/IOB-WIN-MTC/DATA/CONF/TEST.json @@ -0,0 +1,60 @@ +{ + "mMapWrite": { + "kgRich": { + "name": "kgRich", + "description": "Pesatura Richiesta", + "memAddr": "D26", + "tipoMem": "Int", + "index": 26, + "size": 2, + "value": "0" + }, + "kgLotto": { + "name": "kgLotto", + "description": "Tot Lotto (kg)", + "memAddr": "D52", + "tipoMem": "Int", + "index": 52, + "size": 2, + "value": "0" + }, + "portata": { + "name": "portata", + "description": "Portata Ton/h", + "memAddr": "D50", + "tipoMem": "Int", + "index": 50, + "size": 1 + }, + "setComm": { + "name": "setComm", + "description": "Commessa", + "memAddr": "W0", + "tipoMem": "String", + "index": 0, + "size": 10 + } + }, + "mMapRead": { + "kgAct": { + "name": "kgAct", + "description": "Pesatura Rilevata", + "memAddr": "D20", + "tipoMem": "Int", + "index": 20, + "size": 2, + "period": 60, + "value": "0" + }, + "kgImp": { + "name": "kgImp", + "description": "Pesatura Impostata", + "memAddr": "D22", + "tipoMem": "Int", + "index": 22, + "size": 2, + "period": 60, + "value": "0" + } + } +} \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/DAT/PersistData.dat b/IOB-WIN-MTC/DATA/DAT/PersistData.dat new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-MTC/DATA/DAT/PersistData.dat @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-MTC/DATA/DAT/SimData.dat b/IOB-WIN-MTC/DATA/DAT/SimData.dat new file mode 100644 index 00000000..c59e4823 --- /dev/null +++ b/IOB-WIN-MTC/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-MTC/DATA/HIST/.placeholder b/IOB-WIN-MTC/DATA/HIST/.placeholder new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-MTC/DATA/HIST/.placeholder @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-MTC/IOB-WIN-MTC.csproj b/IOB-WIN-MTC/IOB-WIN-MTC.csproj new file mode 100644 index 00000000..79929569 --- /dev/null +++ b/IOB-WIN-MTC/IOB-WIN-MTC.csproj @@ -0,0 +1,409 @@ + + + + + Debug + AnyCPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA} + WinExe + IOB_WIN_MTC + IOB-WIN-MTC + 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 + x86 + 7.3 + prompt + + + + ..\packages\MapoSDK.6.14.2411.518\lib\MapoSDK.dll + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.7.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + ..\packages\Microsoft.Extensions.Configuration.7.0.0\lib\net462\Microsoft.Extensions.Configuration.dll + + + ..\packages\Microsoft.Extensions.Configuration.Abstractions.7.0.0\lib\net462\Microsoft.Extensions.Configuration.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Configuration.Binder.7.0.0\lib\net462\Microsoft.Extensions.Configuration.Binder.dll + + + ..\packages\Microsoft.Extensions.Configuration.CommandLine.7.0.0\lib\net462\Microsoft.Extensions.Configuration.CommandLine.dll + + + ..\packages\Microsoft.Extensions.Configuration.EnvironmentVariables.7.0.0\lib\net462\Microsoft.Extensions.Configuration.EnvironmentVariables.dll + + + ..\packages\Microsoft.Extensions.Configuration.FileExtensions.7.0.0\lib\net462\Microsoft.Extensions.Configuration.FileExtensions.dll + + + ..\packages\Microsoft.Extensions.Configuration.Json.7.0.0\lib\net462\Microsoft.Extensions.Configuration.Json.dll + + + ..\packages\Microsoft.Extensions.Configuration.UserSecrets.7.0.0\lib\net462\Microsoft.Extensions.Configuration.UserSecrets.dll + + + ..\packages\Microsoft.Extensions.DependencyInjection.7.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.dll + + + ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.7.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll + + + ..\packages\Microsoft.Extensions.FileProviders.Abstractions.7.0.0\lib\net462\Microsoft.Extensions.FileProviders.Abstractions.dll + + + ..\packages\Microsoft.Extensions.FileProviders.Physical.7.0.0\lib\net462\Microsoft.Extensions.FileProviders.Physical.dll + + + ..\packages\Microsoft.Extensions.FileSystemGlobbing.7.0.0\lib\net462\Microsoft.Extensions.FileSystemGlobbing.dll + + + ..\packages\Microsoft.Extensions.Hosting.7.0.0\lib\net462\Microsoft.Extensions.Hosting.dll + + + ..\packages\Microsoft.Extensions.Hosting.Abstractions.7.0.0\lib\net462\Microsoft.Extensions.Hosting.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Logging.7.0.0\lib\net462\Microsoft.Extensions.Logging.dll + + + ..\packages\Microsoft.Extensions.Logging.Abstractions.7.0.0\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Logging.Configuration.7.0.0\lib\net462\Microsoft.Extensions.Logging.Configuration.dll + + + ..\packages\Microsoft.Extensions.Logging.Console.7.0.0\lib\net462\Microsoft.Extensions.Logging.Console.dll + + + ..\packages\Microsoft.Extensions.Logging.Debug.7.0.0\lib\net462\Microsoft.Extensions.Logging.Debug.dll + + + ..\packages\Microsoft.Extensions.Logging.EventLog.7.0.0\lib\net462\Microsoft.Extensions.Logging.EventLog.dll + + + ..\packages\Microsoft.Extensions.Logging.EventSource.7.0.0\lib\net462\Microsoft.Extensions.Logging.EventSource.dll + + + ..\packages\Microsoft.Extensions.Options.7.0.0\lib\net462\Microsoft.Extensions.Options.dll + + + ..\packages\Microsoft.Extensions.Options.ConfigurationExtensions.7.0.0\lib\net462\Microsoft.Extensions.Options.ConfigurationExtensions.dll + + + ..\packages\Microsoft.Extensions.Primitives.7.0.0\lib\net462\Microsoft.Extensions.Primitives.dll + + + ..\packages\MQTTnet.4.3.3.952\lib\net461\MQTTnet.dll + + + ..\packages\MQTTnet.Extensions.ManagedClient.4.3.3.952\lib\net461\MQTTnet.Extensions.ManagedClient.dll + + + ..\packages\MTConnect.NET.6.5.1\lib\net462\MTConnect.NET.dll + + + ..\packages\MTConnect.NET-Common.6.5.1\lib\net462\MTConnect.NET-Common.dll + + + ..\packages\MTConnect.NET-HTTP.6.5.1\lib\net462\MTConnect.NET-HTTP.dll + + + ..\packages\MTConnect.NET-JSON.6.5.1\lib\net462\MTConnect.NET-JSON.dll + + + ..\packages\MTConnect.NET-JSON-cppagent.6.5.1\lib\net462\MTConnect.NET-JSON-cppagent.dll + + + ..\packages\MTConnect.NET-MQTT.6.5.1\lib\net462\MTConnect.NET-MQTT.dll + + + ..\packages\MTConnect.NET-SHDR.6.5.1\lib\net462\MTConnect.NET-SHDR.dll + + + ..\packages\MTConnect.NET-TLS.6.5.1\lib\net462\MTConnect.NET-TLS.dll + + + ..\packages\MTConnect.NET-XML.6.5.1\lib\net462\MTConnect.NET-XML.dll + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + ..\packages\NLog.5.3.4\lib\net46\NLog.dll + + + ..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll + + + ..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll + + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + + + + ..\packages\System.Diagnostics.DiagnosticSource.7.0.0\lib\net462\System.Diagnostics.DiagnosticSource.dll + + + ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll + + + ..\packages\System.IO.Pipelines.5.0.1\lib\net461\System.IO.Pipelines.dll + + + ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll + + + ..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll + + + ..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll + + + ..\packages\System.Text.Encodings.Web.7.0.0\lib\net462\System.Text.Encodings.Web.dll + + + ..\packages\System.Text.Json.7.0.0\lib\net462\System.Text.Json.dll + + + ..\packages\System.Threading.Channels.5.0.0\lib\net461\System.Threading.Channels.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll + + + + + + + + + + + + + + ..\packages\YamlDotNet.13.7.1\lib\net45\YamlDotNet.dll + + + + + VersGen.cs + + + Form + + + + + Form + + + + + + Always + + + Always + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + Always + + + Always + + + + + + + + + + + + + + + + + + + + + Always + + + Always + + + Always + + + App.config + True + PreserveNewest + + + App.config + True + PreserveNewest + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + Always + + + + Always + + + + + Designer + true + PreserveNewest + + + + + Always + + + + Always + + + + Always + + + Always + + + + + + {90512e12-29fc-460d-94cc-648c2a072dbd} + IOB-UT-NEXT + + + {9ba331bb-9bf1-40e0-ac03-74b43d73a097} + IOB-WIN-FORM + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-MTC/Iob/GenericNext.cs b/IOB-WIN-MTC/Iob/GenericNext.cs new file mode 100644 index 00000000..880ff747 --- /dev/null +++ b/IOB-WIN-MTC/Iob/GenericNext.cs @@ -0,0 +1,13 @@ +using IOB_UT_NEXT; + +namespace IOB_WIN_MTC.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-MTC/Iob/MTConn.cs b/IOB-WIN-MTC/Iob/MTConn.cs new file mode 100644 index 00000000..8dfe3c74 --- /dev/null +++ b/IOB-WIN-MTC/Iob/MTConn.cs @@ -0,0 +1,1710 @@ +using IOB_UT_NEXT; +using MapoSDK; +using MTConnect.Clients; +using MTConnect.Devices; +using MTConnect.Observations; +using MTConnect.Streams; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net.NetworkInformation; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Xml.Linq; + +namespace IOB_WIN_MTC.Iob +{ + public class MTConn : Iob.GenericNext + { + #region Public Constructors + + /// + /// Estende l'init della classe base, impiegando il pacchetto Nuget TrackHound https://github.com/TrakHound/MTConnect.NET + /// + /// + /// + public MTConn(AdapterFormNext caller, IobConfiguration IOBConf) : base(caller, IOBConf) + { + // gestione invio ritardato contapezzi + pzCountDelay = utils.CRI("pzCountDelay"); + // gestione data filtering... + if (!string.IsNullOrEmpty(getOptPar("ENABLE_DATA_FILTER"))) + { + bool.TryParse(getOptPar("ENABLE_DATA_FILTER"), out enableDataFilter); + } + // gestione data unavailable = poweroff... + if (!string.IsNullOrEmpty(getOptPar("UNAVAIL_POWEROFF"))) + { + bool.TryParse(getOptPar("UNAVAIL_POWEROFF"), out unavailPoweroff); + } + // gestione restart MTC client... + if (!string.IsNullOrEmpty(getOptPar("ENABLE_MTC_RESTART"))) + { + bool.TryParse(getOptPar("ENABLE_MTC_RESTART"), out enableMtcRestart); + } + + // gestione override contapezzi + enablePzCountByApp = utils.CRB("enableContapezzi"); + enablePzCountByIob = (getOptPar("ENABLE_PZCOUNT") == "TRUE"); + disablePzCountByIob = (getOptPar("DISABLE_PZCOUNT") == "TRUE"); + + // init datetime counters + DateTime adesso = DateTime.Now; + lastPzCountSend = adesso; + lastWarnODL = adesso; + lastCurrent = adesso; + // ora leggo il file di conf specifico.... + string jsonFileName = getOptPar("MTC_PARAM_CONF"); + if (!string.IsNullOrEmpty(jsonFileName)) + { + // leggo il file... + loadMtcConf(jsonFileName); + } + } + + #endregion Public Constructors + + #region Public Methods + + /// + /// Processo i task richiesti document li elimino dalla coda 1:1 + /// + /// + public override Dictionary executeTasks(Dictionary task2exe) + { + // uso metodo base x ora + return base.executeTasks(task2exe); + } + + /// + /// Recupera uno specifico dataItem + /// + /// + /// + public string getDataItemValue(string diKey) + { + string answ = ""; + if (queueInEnabCurr) + { + try + { + if (dataItemMem.ContainsKey(diKey)) + { + var currDataItem = dataItemMem[diKey]; + answ = currDataItem.value; + } + } + catch (Exception exc) + { + Logging.Instance.Error($"Errore in getDataItemValue per {diKey}{Environment.NewLine}{exc}"); + } + } + else + { + lgDebug($"[VETO getDataItemValue] | veto attivo alle {DateTime.Now:yyyy.MM.dd HH:mm:ss}"); + } + return answ; + } + + /// + /// Recupero dati dinamici... + /// + public override Dictionary getDynData() + { + Dictionary outVal = new Dictionary(); + return outVal; + } + + /// + /// Effettua vero processing contapezzi + /// + public override void processContapezzi() + { + if ((enablePzCountByApp || enablePzCountByIob) && !(disablePzCountByIob)) + { + if (queueInEnabCurr) + { + // cerco parametro contapezzi... + string currPzCount = getDataItemValue(mtcParams.keyPartCount); + + if (isVerboseLog) + { + lgInfo($"contapezzi: {mtcParams.keyPartCount} --> {currPzCount}"); + } + + // se ho un contapezzi... processo... + if (!string.IsNullOrEmpty(currPzCount)) + { + int newVal = -1; + Int32.TryParse(currPzCount, out newVal); + contapezziPLC = newVal > -1 ? newVal : contapezziPLC; + } + } + else + { + lgDebug($"[VETO processContapezzi] | veto attivo alle {DateTime.Now:yyyy.MM.dd HH:mm:ss}"); + } + } + else + { + lgTrace($"processContapezzi escluso: enablePzCountByApp = {enablePzCountByApp} | enablePzCountByIob: {enablePzCountByIob} | disablePzCountByIob: {disablePzCountByIob}"); + } + } + + /// + /// Effettua lettura semafori principale Parametri da + /// aggiornare x display in form + /// + public override void readSemafori(ref newDisplayData currDispData) + { + DateTime adesso = DateTime.Now; + lastReadPLC = adesso; + // verifico non sia in veto invio iniziale... + if (queueInEnabCurr) + { + try + { + if (verboseLog) + { + lgInfo("inizio read semafori"); + } + + currDispData.semIn = Semaforo.SV; + + // decodifica document gestione + decodeToBaseBitmap(); + reportRawInput(ref currDispData); + } + catch (Exception exc) + { + currDispData.semIn = Semaforo.SR; + lgError($"Eccezione in readSemafori:{Environment.NewLine}{exc}"); + } + } + else + { + lgDebug($"[VETO readSemafori] | veto attivo alle {adesso:yyyy.MM.dd HH:mm:ss}"); + checkVetoQueueIn(); + } + } + + /// + /// Effettua reset del contapezzi, NON POSSIBILE per MTC (read only) + /// + /// + public override bool resetContapezziPLC() + { + bool answ = true; + return answ; + } + + /// + /// Effettua IMPOSTAZIONE FORZATA del contapezzi, NON POSSIBILE per MTC (read only) + /// + /// + public override bool setcontapezziPLC(int newPzCount) + { + bool answ = true; + 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("MTC: 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; + doConnect(); + parentForm.commPlcActive = false; + // refresh stato allarmi!!! + if (connectionOk) + { + checkVetoQueueIn(); + //queueInEnabCurr = true; + if (adpRunning) + { + lgInfo("Connessione OK"); + } + } + else + { + lgError("Impossibile procedere, connessione mancante..."); + } + } + catch (Exception exc) + { + lgFatal($"Errore nella connessione all'adapter MTC: {szStatusConnection}{Environment.NewLine}{exc}"); + connectionOk = false; + lgInfo($"Eccezione in TryConnect, Adapter MTC NON running, pausa di {utils.CRI("waitRecMSec")} msec prima di ulteriori tentativi di riconnessione"); + } + } + else + { + // loggo no risposta ping ... + connectionOk = false; + if (verboseLog || periodicLog) + { + lgInfo($"Attenzione: MTC controllo PING fallito per IP {cIobConf.cncPingAddr}"); + } + } + } + } + else + { + needRefresh = true; + } + // se non è ancora connesso faccio procesisng memoria caso disconnesso... + if (!connectionOk) + { + // processo semafori ed invio... + processMemoryDiscon(); + } + } + + /// + /// Override disconnessione + /// + public override void tryDisconnect() + { + queueInEnabCurr = false; + // verifico che NON sia in fase di avvio MTC... + if (isConnecting && DateTime.Now.Subtract(startConnecting).TotalSeconds < 60) + { + lgInfo("Disconnessione non effettuata: connessione ancora in corso"); + } + else + { + lgTrace("Richiesta tryDisconnect"); + if (connectionOk) + { + string szStatusConnection = ""; + try + { + MTC_ref.Stop(); + connectionOk = false; + isConnecting = false; + lgInfo($"conn status: {szStatusConnection}"); + lgInfo("Effettuata disconnessione adapter MTC!"); + } + catch (Exception exc) + { + lgFatal(exc, "Errore nella disconnessione dall'adapter MTC"); + } + } + else + { + lgError("IMPOSSIBILE effettuare disconnessione MTC: Connessione non disponibile..."); + } + } + queueInEnabCurr = false; + needRefresh = true; + } + + #endregion Public Methods + + #region Protected Fields + + /// + /// Gestione filtraggio dati + /// + protected bool enableDataFilter = false; + + /// + /// Abilitazione restart (da opt par...) + /// + protected bool enableMtcRestart = false; + + /// + /// Determina se ha effettuata lettura items in memoria x confronto... + /// + protected bool hasReadItems = false; + + /// + /// Ultimo current received x gestione update periodico... + /// + protected DateTime lastCurrent = DateTime.Now; + + /// + /// Oggetto MAIN x connessione MTC + /// + protected MTConnectHttpClient MTC_ref; + + /// + /// Gestione valori unavailable come POWEROFF (es trevisan) + /// + protected bool unavailPoweroff = false; + + /// + /// Veto controllos tatus x log... + /// + protected DateTime vetoCheckStatus = DateTime.Now; + + #endregion Protected Fields + + #region Protected Properties + + /// + /// Verifico se abbia ALMENO un errore... + /// + protected bool hasError + { + get + { + bool answ = false; + // controllo TUTTE le conditions... + foreach (var item in dataItemMem) + { + // se NON HO GIA' allarmi attivi... + if (!answ) + { + // se è una condition... + if (item.Value.Category == MTConnect.Devices.DataItemCategory.CONDITION) + { + // se ha valore !="" --> allarmi attivi + if (!string.IsNullOrEmpty(item.Value.value)) + { + answ = true; + } + } + } + } + return answ; + } + } + + /// + /// Indica se abbia emergenza premuta + /// + protected bool hasEStopTriggered + { + get + { + bool answ = false; + if (queueInEnabCurr) + { + try + { + if (!string.IsNullOrEmpty(mtcParams.keyEStop)) + { + string currEStop = getDataItemValue(mtcParams.keyEStop); + answ = (currEStop == "TRIGGERED"); + } + } + catch (Exception exc) + { + Logging.Instance.Error($"Errore in hasEStopTriggered{Environment.NewLine}{exc}"); + } + } + else + { + lgDebug($"[VETO hasEStopTriggered] | veto attivo alle {DateTime.Now:yyyy.MM.dd HH:mm:ss}"); + } + return answ; + } + } + + /// + /// Verifico se abbia unavailable x le condizioni principali condPowerOn keyRunMode + /// + protected bool hasUnavailableData + { + get + { + bool answ = false; + if (queueInEnabCurr) + { + // verifico le condizioni: powerOn, run document work... + string currRun = getDataItemValue(mtcParams.keyRunMode); + bool unavRun = currRun.ToUpper() == "UNAVAILABLE"; + string currPowerOn = getDataItemValue(mtcParams.condPowerOn.keyName); + bool checkPowerOn = (currPowerOn == mtcParams.condPowerOn.targetValue); + answ = unavRun && !checkPowerOn; + } + return answ; + } + } + + protected bool isConnecting { get; set; } = false; + + /// + /// Parametri specifici MTC + /// + protected MtcParamConf mtcParams { get; set; } + + protected DateTime startConnecting { get; set; } = DateTime.Today; + + /// + /// URL x salvataggio elenco dataItems MTC + /// + protected string urlSaveDataItems + { + get + { + string answ = ""; + try + { + string machineName = Environment.MachineName; + answ = $@"{cIobConf.serverData.TRANSP}://{cIobConf.serverData.MPIP}{cIobConf.serverData.MPURL}{cIobConf.serverData.CMDALIVE}/saveDataItems/{cIobConf.codIOB}"; + } + catch (Exception exc) + { + lgError(exc, "Errore in composizione urlSaveDataItems"); + } + return answ; + } + } + + #endregion Protected Properties + + #region Protected Methods + + /// + /// Verifica un DataItem document se il valore corrisponde a quello indicato come "true eValue" + /// restituisce true + /// + /// + /// + /// + protected bool checkDataItem(string itemName, string trueVal) + { + bool answ = false; + MtcDataItemExt currValue = null; + try + { + currValue = dataItemMem[itemName]; + answ = (currValue.value.Equals(trueVal)); + } + catch + { + lgError($"Errore in decodifica valore per {itemName} rispetto a {trueVal} | recuperato {currValue} / {currValue.value}"); + } + return answ; + } + + /// + /// Verifica / Salva valore condition + /// + /// + /// Messaggio completo (livello + testo) + /// + protected bool checkSaveCondition(IObservation observ, string cValue) + { + bool answ = !enableDataFilter; + + if (observ != null) + { + if (isVerboseLog) + { + lgInfo($"Richiesta checkSaveCondition per {observ} | id: {observ.DataItemId} | message: {cValue}"); + } + // verifico in memoria se ho l'oggetto condition ed il suo valore.. + if (dataItemMem.ContainsKey(observ.DataItemId)) + { + // check variazione + if (dataItemMem[observ.DataItemId].value != cValue) + { + dataItemMem[observ.DataItemId].value = cValue; + answ = true; + } + dataItemMem[observ.DataItemId].valueTimestamp = observ.Timestamp; + } + else + { + // registro non trovato da aggiungere... + lgInfo($"DataItem non trovato in checkSaveCondition: {observ.DataItemId}"); + try + { + // provo a creare oggetot in memoria... + List elencoDataItems = new List(); + int dSamplePeriod = 0; + float threshDBand = 0; + string uuid = ""; + var currDataItem = formatDataItem(ref dSamplePeriod, ref threshDBand, ref uuid, observ, cValue); + // aggiungo + dataItemMem.Add(observ.DataItemId, currDataItem); + var thisCat = (MapoSDK.DataItemCategory)Enum.Parse(typeof(MapoSDK.DataItemCategory), $"{observ.Category}"); + // salvo oggetto x registrazione su server MP-IO + var currMapoDataItem = new machDataItem() + { + uuid = observ.DataItemId, + Category = thisCat, + Name = observ.Name, + Type = observ.Type, + SubType = observ.SubType, + //Units = observ.Units + }; + // aggiungo + elencoDataItems.Add(currMapoDataItem); + // invio il dataItem serializzato... + sendDataItemsList(elencoDataItems); + } + catch (Exception exc) + { + lgError($"Eccezione in checkSaveCondition{Environment.NewLine}{exc}"); + } + } + } + else + { + lgError("Attenzione: checkSaveCondition con observ null!"); + } + return answ; + } + + /// + /// Verifica / Salva valore generico (NON SAMPLE) + /// + /// + /// + /// + protected bool checkSaveItem(IObservation observ, string iValue) + { + bool answ = !enableDataFilter; + + if (observ != null) + { + if (isVerboseLog) + { + lgInfo($"Richiesta checkSaveItem per {observ} | id: {observ.DataItemId} | eValue: {iValue}"); + } + // verifico in memoria se ho l'oggetto condition ed il suo valore.. + if (dataItemMem.ContainsKey(observ.DataItemId)) + { + // verifico SE sia cambiato... + if (dataItemMem[observ.DataItemId].value != iValue) + { + dataItemMem[observ.DataItemId].value = iValue; + answ = true; + } + dataItemMem[observ.DataItemId].valueTimestamp = observ.Timestamp; + } + else + { + // registro non trovato da aggiungere... + lgInfo($"DataItem non trovato in checkSaveItem: {observ.DataItemId}"); + try + { + // provo a creare oggetot in memoria... + List elencoDataItems = new List(); + int dSamplePeriod = 0; + float threshDBand = 0; + string uuid = ""; + var currDataItem = formatDataItem(ref dSamplePeriod, ref threshDBand, ref uuid, observ, iValue); + // aggiungo + dataItemMem.Add(observ.DataItemId, currDataItem); + var thisCat = (MapoSDK.DataItemCategory)Enum.Parse(typeof(MapoSDK.DataItemCategory), $"{observ.Category}"); + // salvo oggetto x registrazione su server MP-IO + var currMapoDataItem = new machDataItem() + { + uuid = observ.DataItemId, + Category = thisCat, + Name = observ.Name, + Type = observ.Type, + SubType = observ.SubType, + //Units = observ.Units + }; + // aggiungo + elencoDataItems.Add(currMapoDataItem); + // invio il dataItem serializzato... + sendDataItemsList(elencoDataItems); + } + catch (Exception exc) + { + lgError($"Eccezione in checkSaveItem{Environment.NewLine}{exc}"); + } + } + } + else + { + lgError("Attenzione: checkSaveItem con observ null!"); + } + return answ; + } + + /// + /// Verifica / Salva valore SAMPLE document restitusice SE sia variato (document quindi da inviare...) + /// + /// + /// + protected bool checkSaveSample(IObservation observ, string sValue) + { + bool answ = !enableDataFilter; + double oldVal = 0; + double newVal = 0; + if (observ != null) + { + // verifico in memoria se ho l'oggetto condition ed il suo valore.. + if (dataItemMem.ContainsKey(observ.DataItemId)) + { + MtcDataItemExt currDataItemMem = dataItemMem[observ.DataItemId]; + // controllo SE SIA scaduto il tempo massimo... + if (Math.Abs(dataItemMem[observ.DataItemId].valueTimestamp.Subtract(observ.Timestamp).TotalSeconds) > currDataItemMem.samplePeriod) + { + answ = true; + } + else + { + // ALTRIMENTI controllo SE diverso + if (dataItemMem[observ.DataItemId].value != sValue) + { + // controllo SE ho DeadBand... + if (dataItemMem[observ.DataItemId].thresholdDeadBand > 0) + { + if (isVerboseLog) + { + lgInfo($"Test deadband: oldVal: {oldVal} | newVal: {newVal}"); + } + // recupero i valori document testo DeadBand... + double.TryParse(dataItemMem[observ.DataItemId].value.Replace(".", ","), out oldVal); + double.TryParse(sValue.Replace(".", ","), out newVal); + // test deadband! + if (Math.Abs(newVal - oldVal) > dataItemMem[observ.DataItemId].thresholdDeadBand) + { + // indico da salvare.. + answ = true; + } + } + } + } + if (answ) + { + // salvo! + dataItemMem[observ.DataItemId].value = sValue; + dataItemMem[observ.DataItemId].valueTimestamp = observ.Timestamp; + } + } + else + { + // registro non trovato da aggiungere... + lgInfo($"DataItem non trovato in checkSaveSample: {observ.DataItemId}"); + // provo a creare oggetto in memoria... + try + { + List elencoDataItems = new List(); + int dSamplePeriod = 0; + float threshDBand = 0; + string uuid = ""; + var currDataItem = formatDataItem(ref dSamplePeriod, ref threshDBand, ref uuid, observ, sValue); + // aggiungo + dataItemMem.Add(observ.DataItemId, currDataItem); + var thisCat = (MapoSDK.DataItemCategory)Enum.Parse(typeof(MapoSDK.DataItemCategory), $"{observ.Category}"); + // salvo oggetto x registrazione su server MP-IO + var currMapoDataItem = new machDataItem() + { + uuid = observ.DataItemId, + Category = thisCat, + Name = observ.Name, + Type = observ.Type, + SubType = observ.SubType, + //Units = observ.Units + }; + // aggiungo + elencoDataItems.Add(currMapoDataItem); + // invio il dataItem serializzato... + sendDataItemsList(elencoDataItems); + } + catch (Exception exc) + { + lgError($"Eccezione in checkSaveSample{Environment.NewLine}{exc}"); + } + } + } + else + { + lgError("Attenzione: checkSaveItem con observ null!"); + } + return answ; + } + + /// + /// Effettua traduzione ITEM da LUT parametrica (key: tipo+id) del file di conf, se non + /// trovo uso key + /// + /// + /// + /// + protected override string itemTranslation(string tipo, string id) + { + string answ = ""; + string lemma = $"{tipo}_{id}"; + // cerco nel dizionario delle traduzioni SE esiste un valore document prendo quello, altrimenti + // uso il lemma... + if (mtcParams.itemTranslation.ContainsKey(lemma)) + { + answ = mtcParams.itemTranslation[lemma]; + } + else + { + answ = lemma; + } + return answ; + } + + /// + /// Effettua log di un elenco componenti + /// + /// + protected void logComponentsList(List elencoComponenti) + { + if (elencoComponenti != null) + { + foreach (var item in elencoComponenti) + { + lgInfo($"Component data | ID: {item.Id} | Name: {item.Name} | Type: {item.Type} | # items: {item.DataItems.Count()}"); + // se ho sottocomponenti richiamo... + if (item.Components != null) + { + if (item.Components.Count() > 0) + { + logComponentsList(item.GetComponents().ToList()); + } + } + if (item.DataItems.Count() > 0) + { + logDataItemList(item.GetDataItems().ToList()); + } + } + } + } + + /// + /// Effettua log di un elenco composizioni + /// + /// + protected void logCompositionList(List elencoComposizioni) + { + if (elencoComposizioni != null) + { + foreach (var item in elencoComposizioni) + { + lgInfo($"Composition data | ID: {item.Id} | Name: {item.Name} | Type: {item.Type} | # items: {item.DataItems.Count()} | path: {item.IdPath}"); + } + } + } + + /// + /// Log elenco DataItems + /// + /// + protected void logDataItemList(List elencoItems) + { + if (elencoItems != null) + { + // loggo devices principali... + foreach (var item in elencoItems) + { + lgInfo($"Device data | ID: {item.Id} | Name: {item.Name} | Category: {item.Category} | # Type: {item.Type} | Path: {item.IdPath}"); + } + } + } + + /// + /// Effettua log di un devices (ed eventualmente dei sub-devices... + /// + /// + protected void logProbeDevices(List listDevices) + { + if (listDevices != null) + { + // loggo devices principali... + foreach (var device in listDevices) + { + lgInfo($"Device data | ID: {device.Id} | Name: {device.Name} | UUID: {device.Uuid} | # items: {device.DataItems.Count()}"); + // se ho subItems descrivo pure loro... + if (device.DataItems.Count() > 0) + { + logDataItemList(device.GetDataItems().ToList()); + } + if (device.Components.Count() > 0) + { + logComponentsList(device.GetComponents().ToList()); + } + // All Compositions (traverse the entire Device model) + if (device.Compositions.Count() > 0) + { + logCompositionList(device.GetCompositions().ToList()); + } + } + } + } + + #endregion Protected Methods + + #region Private Fields + + /// + /// Struttura dove vengono memorizzati i dataitem ed i rispettivi valori x processing + /// + private Dictionary dataItemMem = new Dictionary(); + + #endregion Private Fields + + #region Private Methods + + /// + /// Verifica ed invia variazioni + /// + /// + /// + private void checkAndSend(MTConnect.Streams.IStreamsResponseDocument document, bool forceSend) + { + if (document != null) + { + foreach (var deviceStream in document.Streams) + { + // DeviceStream + lgTrace($"Stream: {deviceStream.Name}"); + + // Component Streams + foreach (var dataStream in deviceStream.ComponentStreams) + { + lgTrace($"Component {dataStream.Name} -->"); + // DataItems (Samples, Events, and Conditions) + foreach (var observation in dataStream.Observations) + { + // cerco se non sia un dato filtrato in FLUXLOG... + bool isFiltered = mtcParams.fluxLogVeto.Where(x => x == observation.DataItemId).Count() > 0; + if (isFiltered) + { + traceObservation(observation); + } + else + { + processObservation(observation, forceSend); + } + } + } + } + } + else + { + lgError("StreamsSuccessful ERROR: document è null"); + } + } + + /// + /// Effettua decodifica aree memoria alla bitmap usata x MAPO + /// + private void decodeToBaseBitmap() + { + // init a zero... + B_input = 0; + if (queueInEnabCurr) + { + /* ----------------------------------------------------- + * bitmap MAPO + * B0: POWER_ON + * B1: RUN + * B2: pzCount + * B3: allarme + * B4: manuale + * B5: emergenza (dipende da state machine se riportare 1 = armata/premuta, vedere conf mtcParams.emergencyArmedTrue) + ----------------------------------------------------- */ + + // Controllo booleano PING document POWERON... + string currPowerOn = getDataItemValue(mtcParams.condPowerOn.keyName); + // se valido il check ping lo eseguo... altrimenti lo do x buono + bool isPingOk = mtcParams.pingAsPowerOn && (testPingMachine == IPStatus.Success); + + // verifico da target eValue richiesto... + bool checkPowerOn = (currPowerOn == mtcParams.condPowerOn.targetValue); + + // bit 0 (poweron) imposto a 1 SE pingo o PowerOn=="ON"... + B_input = (isPingOk || checkPowerOn) ? 1 : 0; + + // variabili RUN... + string currRun = getDataItemValue(mtcParams.keyRunMode); + + // controllo RUN MODE preliminare... CABLATO - è GENERALE x MTC + if (currRun == "AUTOMATIC" || currRun == "SEMI_AUTO" || currRun == "SEMI_AUTOMATIC") + { + int numCond = mtcParams.condWork.Count; + int numCondOk = 0; + // cerco nell'elenco delle condizioni che indicano lavora se sono ok faccio +1 conteggio...... + foreach (var item in mtcParams.condWork) + { + if (getDataItemValue(item.keyName) == item.targetValue) + { + numCondOk++; + } + } + // se tutte condizioni rispettate --> lavora! + if (numCond == numCondOk) + { + // RUN = LAVORA! + B_input += (1 << 1); + } + } + // se ho almeno 1 allarme E NON SONO IN AUTO --> ALARM! + else if (hasError) + { + B_input += (1 << 3); + } + // 2024.01.90: gestione dati UNAVAILABLE che indicano poweroff... + else if (hasUnavailableData && unavailPoweroff) + { + B_input = 0; + } + else + { + // se ho run mode != auto --> manual + B_input += (1 << 4); + } + + // emergenza armata da riportare con bit True/ 1 + if (mtcParams.emergencyArmedTrue) + { + //se NON premuta lazo il bit + if (!hasEStopTriggered) + { + B_input += (1 << 5); + } + } + // emergenza armata da riportare come False/0 (!mtcParams.emergencyArmedTrue) + else + { + // se premuta alzo il bit... + if (hasEStopTriggered) + { + B_input += (1 << 5); + } + } + + DateTime adesso = DateTime.Now; + int vFactor = 1; + // controllo SE HO dati per fare verifiche... + if (string.IsNullOrEmpty(currRun)) + { + // se ho parametro x gestione reset... + if (enableMtcRestart) + { + // controllo se ho ricevuto il current da OLTRE 1 minuto... + if (lastCurrent.AddMinutes(3) < adesso) + { + lastCurrent = adesso; + // stop... + lgInfo("Fermato MTC_ref per mancanza dati current"); + MTC_ref.Stop(); + Thread.Sleep(1000); + // restart + lgInfo("Riavviato MTC_ref per mancanza dati current"); + MTC_ref.Start(); + } + } + } + else + { + vFactor = 6; + } + + // solo se non ho veto check + if (vetoCheckStatus < adesso) + { + lgInfo($"Stato variabili: currRun: {currRun}"); + // imposto veto per vetoSeconds... + vetoCheckStatus = adesso.AddSeconds(vetoSeconds * vFactor); + } + // log opzionale! + if (verboseLog) + { + lgInfo($"Trasformazione B_input: {B_input} | currRun = {currRun}"); + } + } + else + { + lgDebug($"[VETO getDataItemValue] | veto attivo alle {DateTime.Now:yyyy.MM.dd HH:mm:ss}"); + } + } + + /// + /// Vera connessione ad MTC + /// + /// + private void doConnect() + { + isConnecting = true; + startConnecting = DateTime.Now; + // reset memoria dataItem.. + dataItemMem = new Dictionary(); + // predisposizione conf oggetto di comunicazione MTC + short port = 5000; + short.TryParse(cIobConf.cncPort, out port); + string callUrl = $"{cIobConf.cncIpAddr}:{port}"; + // test probe! + try + { + lgInfo($"Test Probe MTC Client: {callUrl}"); + var prbClient = new MTConnectHttpProbeClient(callUrl); + //var prbClient = new MTConnectHttpProbeClient(cIobConf.cncIpAddr, port); + prbClient.Timeout = mtcParams.reqTOutMs; + var prbDoc = prbClient.Get(); + // se valido loggo! + if (prbDoc != null) + { + // anche se non del tutto vero... + connectionOk = true; + lgInfo($"Effettuata correttamente PROBE per device MTC all'URL {callUrl}"); + lgInfo($"---------------- Elenco Devices ----------------"); + // loggo devices principali... + logProbeDevices(prbDoc.Devices.ToList()); + } + } + catch (Exception exc) + { + lgError($"Eccezione durante test probe:{Environment.NewLine}{exc}"); + } + // attendo 1 sec... + Thread.Sleep(1000); + // ora avvio + try + { + lgInfo($"Chiamata apertura MTC Client: {callUrl}"); + MTC_ref = new MTConnectHttpClient(cIobConf.cncIpAddr, port); + //MTC_ref = new MTConnectHttpClient(callUrl); + // sample interval + MTC_ref.Interval = mtcParams.clientSampleIntMs; + // timeout x richieste + MTC_ref.Timeout = mtcParams.reqTOutMs; + // timeout riconnessione + MTC_ref.ReconnectionInterval = mtcParams.reconnectIntMs; + + // Sottoscrizioni base + MTC_ref.ClientStarted += MTC_ref_ClientStarted; + MTC_ref.ClientStopped += MTC_ref_ClientStopped; + MTC_ref.ConnectionError += MTC_ref_ConnectionError; + + // Sottoscrizioni dati ricevuti !!! + MTC_ref.AssetsReceived += MTC_ref_AssetsReceived; + MTC_ref.ProbeReceived += MTC_ref_ProbeReceived; + //MTC_ref.ProbeReceived += DevicesSuccessful; + MTC_ref.CurrentReceived += MTC_ref_CurrentReceived; + //MTC_ref.CurrentReceived += CurrentSuccessful; + + // sample subscription + if (mtcParams.doSubsSample) + { + MTC_ref.SampleReceived += MTC_ref_SampleReceived; + //MTC_ref.SampleReceived += StreamsSuccessful; + } + // observ subscription + if (mtcParams.doSubsObserv) + { + MTC_ref.ObservationReceived += MTC_ref_ObservationReceived; + } + + MTC_ref.Start(); + + //// attendo 2 sec... + //Thread.Sleep(2000); + + // fix tempi! + DateTime adesso = DateTime.Now; + lastPzCountSend = adesso; + lastWarnODL = adesso; + lastCurrent = adesso; + } + catch + { } + isConnecting = false; + } + + /// + /// Formatta un dataitem da uno stream SAMPLE + /// + /// + /// + /// + /// + /// + /// + private MtcDataItemExt formatDataItem(ref int dSamplePeriod, ref float threshDBand, ref string uuid, IObservation observ, string fullMsg) + { + DataItemStatistic currStat = DataItemStatistic.AVERAGE; + //cerco nei values... + if (observ.Values.Count() > 0) + { + foreach (var item in observ.Values) + { + if (item.Key == "Statistic") + { + currStat = (DataItemStatistic)Enum.Parse(typeof(DataItemStatistic), item.Value); + } + } + } + // creo il nuovo dataitem da sample... + MTConnect.Devices.DataItem newDataItem = new MTConnect.Devices.DataItem() + { + Category = observ.Category, + Id = observ.DataItemId, + Name = observ.Name, + //SampleRate = , + Statistic = currStat, + SubType = observ.SubType, + Type = observ.Type + }; + return formatDataItem(ref dSamplePeriod, ref threshDBand, ref uuid, newDataItem, fullMsg); + } + + /// + /// Formatta un dataitem x salvataggio in memoria locale + /// + /// + /// + /// + /// + /// + /// + private MtcDataItemExt formatDataItem(ref int dSamplePeriod, ref float threshDBand, ref string uuid, MTConnect.Devices.DataItem dataItem, string value) + { + MtcDataItemExt currDataItem; + // uuid document parametri secondo categoria... + switch (dataItem.Category) + { + case MTConnect.Devices.DataItemCategory.CONDITION: + uuid = $"C_{dataItem.Id}"; + threshDBand = 0; + dSamplePeriod = 0; + break; + + case MTConnect.Devices.DataItemCategory.EVENT: + uuid = $"E_{dataItem.Id}"; + threshDBand = 0; + dSamplePeriod = 0; + break; + + case MTConnect.Devices.DataItemCategory.SAMPLE: + uuid = $"S_{dataItem.Id}"; + // SOLO SE è abilitato il datafiltering... + if (enableDataFilter) + { + threshDBand = 1; + // controllo SE ho conf x deadband... + if (mtcParams.paramsEndThresh.Count > 0) + { + // ciclo su tutti i parametri indicati... + foreach (var item in mtcParams.paramsEndThresh) + { + if (dataItem.Id.EndsWith(item.Key)) + { + threshDBand = item.Value; + } + } + } + } + else + { + threshDBand = 0; + } + dSamplePeriod = 60; + break; + + default: + break; + } + // salvo oggetto x "uso interno" + currDataItem = new MtcDataItemExt() + { + Id = dataItem.Id, + Category = dataItem.Category, + Constraints = dataItem.Constraints, + CoordinateSystem = dataItem.CoordinateSystem, + Name = dataItem.Name, + NativeScale = dataItem.NativeScale, + NativeUnits = dataItem.NativeUnits, + SampleRate = dataItem.SampleRate, + Representation = dataItem.Representation, + SignificantDigits = dataItem.SignificantDigits, + Source = dataItem.Source, + Statistic = dataItem.Statistic, + SubType = dataItem.SubType, + Type = dataItem.Type, + //TypePath = dataItem.TypePath, + Units = dataItem.Units, + //XPath = dataItem.XPath, + uid = uuid, + thresholdDeadBand = threshDBand, + samplePeriod = dSamplePeriod, + value = value + }; + // log x capire COME ho chiamato alcune cosette... + if (dataItem.Id.Contains("EXE_MODE") || dataItem.Id.Contains("RUN_MODE") || dataItem.Id.Contains("POWER") || dataItem.Id.EndsWith("_Status")) + { + lgInfo($"DEBUG DATA | dataItem.Id : {dataItem.Id}"); + } + + return currDataItem; + } + + /// + /// Formatta un dataitem x salvataggio in memoria locale + /// + /// + /// + /// + /// + /// + /// + private MtcDataItemExt formatDataItem(ref int dSamplePeriod, ref float threshDBand, ref string uuid, MTConnect.Devices.IDataItem dataItem, string value) + { + MtcDataItemExt currDataItem; + // uuid document parametri secondo categoria... + switch (dataItem.Category) + { + case MTConnect.Devices.DataItemCategory.CONDITION: + uuid = $"C_{dataItem.Id}"; + threshDBand = 0; + dSamplePeriod = 0; + break; + + case MTConnect.Devices.DataItemCategory.EVENT: + uuid = $"E_{dataItem.Id}"; + threshDBand = 0; + dSamplePeriod = 0; + break; + + case MTConnect.Devices.DataItemCategory.SAMPLE: + uuid = $"S_{dataItem.Id}"; + // SOLO SE è abilitato il datafiltering... + if (enableDataFilter) + { + threshDBand = 1; + // controllo SE ho conf x deadband... + if (mtcParams.paramsEndThresh.Count > 0) + { + // ciclo su tutti i parametri indicati... + foreach (var item in mtcParams.paramsEndThresh) + { + if (dataItem.Id.EndsWith(item.Key)) + { + threshDBand = item.Value; + } + } + } + } + else + { + threshDBand = 0; + } + dSamplePeriod = 60; + break; + + default: + break; + } + + // salvo oggetto x "uso interno" + currDataItem = new MtcDataItemExt() + { + Id = dataItem.Id, + Category = dataItem.Category, + Constraints = dataItem.Constraints, + CoordinateSystem = dataItem.CoordinateSystem, + Name = dataItem.Name, + NativeScale = dataItem.NativeScale, + NativeUnits = dataItem.NativeUnits, + SampleRate = dataItem.SampleRate, + Representation = dataItem.Representation, + SignificantDigits = dataItem.SignificantDigits, + Source = dataItem.Source, + Statistic = dataItem.Statistic, + SubType = dataItem.SubType, + Type = dataItem.Type, + //TypePath = dataItem.TypePath, + Units = dataItem.Units, + //XPath = dataItem.XPath, + uid = uuid, + thresholdDeadBand = threshDBand, + samplePeriod = dSamplePeriod, + value = value + }; + // log x capire COME ho chiamato alcune cosette... + if (dataItem.Id.Contains("EXE_MODE") || dataItem.Id.Contains("RUN_MODE") || dataItem.Id.Contains("POWER") || dataItem.Id.EndsWith("_Status")) + { + lgInfo($"DEBUG DATA | dataItem.Id : {dataItem.Id}"); + } + + return currDataItem; + } + + /// + /// Effettua lettura file di conf specifico MTC da oggetto serializzato json Nome file da cui leggere i parametri json + /// + private void loadMtcConf(string fileName) + { + string jsonFullPath = $"{Application.StartupPath}/DATA/CONF/{fileName}"; + lgInfo($"Apertura file {jsonFullPath}"); + StreamReader reader = new StreamReader(jsonFullPath); + string jsonData = reader.ReadToEnd().Replace("\n", "").Replace("\r", ""); + if (!string.IsNullOrEmpty(jsonData)) + { + lgInfo($"File json composto da {jsonData.Length} caratteri"); + try + { + mtcParams = JsonConvert.DeserializeObject(jsonData); + lgInfo($"Decodifica aree MtcParamConf | condPowerOn: {mtcParams.condPowerOn.keyName}={mtcParams.condPowerOn.targetValue} | condWork: {mtcParams.condWork.Count} | keyPartCount: {mtcParams.keyPartCount} | itemTranslation: {mtcParams.itemTranslation.Count} | fluxLogVeto: {mtcParams.fluxLogVeto.Count} | paramsEndThresh: {mtcParams.paramsEndThresh.Count} "); + } + catch (Exception exc) + { + lgError($"Eccezione in decodifica conf json MTC:{Environment.NewLine}{exc}"); + } + } + else + { + lgError("Errore in loadMtcConf: file json vuoto!"); + } + reader.Dispose(); + } + + private void MTC_ref_AssetsReceived(object sender, MTConnect.Assets.IAssetsResponseDocument doc) + { + lgInfo("ASSET received"); + queueInEnabCurr = true; + connectionOk = true; + foreach (var asset in doc.Assets) + { + // Print AssetId to the Console + lgInfo($"Asset: {asset.AssetId}"); + } + } + + private void MTC_ref_ClientStarted(object sender, EventArgs e) + { + lgInfo($"Client Started!"); + } + + private void MTC_ref_ClientStopped(object sender, EventArgs e) + { + lgInfo($"Client Stopped! | {e}"); + queueInEnabCurr = false; + connectionOk = false; + } + + private void MTC_ref_ConnectionError(object sender, Exception exc) + { + lgError($"CONNECTION ERROR returned!{Environment.NewLine}{exc}"); + queueInEnabCurr = false; + connectionOk = false; + } + + /// + /// Effettuata discovery iniziale valori CURRENT + /// + /// + /// + private void MTC_ref_CurrentReceived(object sender, MTConnect.Streams.IStreamsResponseDocument document) + { + lgInfo("CURRENT received"); + queueInEnabCurr = true; + connectionOk = true; + if (document != null) + { + if (document.Streams != null) + { + lgInfo($"CurrentSuccessful: trovati {document.Streams.Count()} streams"); + } + checkAndSend(document, true); + } + else + { + lgError("MTC_ref_CurrentReceived ERROR: document è null"); + } + } + + /// + /// Processing singola observation ricevuta + /// + /// + /// + private void MTC_ref_ObservationReceived(object sender, MTConnect.Observations.IObservation observ) + { + connectionOk = true; + processObservation(observ, false); + } + + /// + /// Effettuata discovery iniziale valori PROBE + /// + /// + /// + private void MTC_ref_ProbeReceived(object sender, MTConnect.Devices.IDevicesResponseDocument document) + { + queueInEnabCurr = true; + connectionOk = true; + lgInfo("STEP 01 DevicesSuccessful reached!"); + MtcDataItemExt currDataItem = null; + machDataItem currMapoDataItem = null; + List elencoDataItems = new List(); + int dSamplePeriod = 0; + float threshDBand = 0; + string uuid = ""; + if (document != null) + { + foreach (var device in document.Devices) + { + List dataItems = device.GetDataItems().ToList(); + //List dataItems = device.GetDataItems(); + lgInfo($"Inizio STEP 02 per caricare {dataItems.Count} dataItems"); + foreach (var dataItem in dataItems) + { + try + { + currDataItem = formatDataItem(ref dSamplePeriod, ref threshDBand, ref uuid, dataItem, ""); + // aggiungo se non c'è... + if (!dataItemMem.ContainsKey(dataItem.Id)) + { + dataItemMem.Add(dataItem.Id, currDataItem); + } + var thisCat = (MapoSDK.DataItemCategory)Enum.Parse(typeof(MapoSDK.DataItemCategory), $"{dataItem.Category}"); + // salvo oggetto x registrazione su server MP-IO + currMapoDataItem = new machDataItem() + { + uuid = dataItem.Id, + Category = thisCat, + Name = dataItem.Name, + Type = dataItem.Type, + SubType = dataItem.SubType, + Units = dataItem.Units + }; + // aggiungo se non ci fosse + if (!elencoDataItems.Contains(currMapoDataItem)) + { + elencoDataItems.Add(currMapoDataItem); + } + } + catch (Exception exc) + { + lgError($"Eccezione in DevicesSuccessful / DataItem:{Environment.NewLine}{exc}"); + } + } + } + // invio IN BLOCCO il dataItem serializzati... + if (elencoDataItems.Count > 0) + { + lgInfo($"STEP 03 invio dati di {elencoDataItems.Count} records"); + sendDataItemsList(elencoDataItems); + } + hasReadItems = true; + lgInfo($"STEP 04: memorizzati {dataItemMem.Count} oggetti in memoria"); + } + else + { + lgError("STEP 05 error: document null!"); + } + } + + /// + /// Ricevuto SAMPLE stream da campionamenti ricevuti + /// + /// + private void MTC_ref_SampleReceived(object sender, MTConnect.Streams.IStreamsResponseDocument document) + { + connectionOk = true; + lgTrace("SAMPLE received"); + checkAndSend(document, false); + } + + /// + /// Processing di una singola observ in un datastream + /// + /// Osservazione da processare + /// invio forzato + private void processObservation(IObservation observ, bool forceSend) + { + string sVal = ""; + string descr = ""; + DateTime locTStamp = DateTime.Now; + // log msg + string sMsg = $" - {observ.DataItemId} | {observ.Category}"; + switch (observ.Category) + { + case MTConnect.Devices.DataItemCategory.CONDITION: + string message = "OK"; + string level = ""; + string fullMsg = ""; + try + { + descr = itemTranslation("C", observ.DataItemId); + locTStamp = observ.Timestamp.ToLocalTime(); + sVal = $"CONDITION: {locTStamp.ToString()} | descr: {descr} | Id: {observ.DataItemId} | Name: {observ.Name}"; + if (observ.Values.Count() > 0) + { + foreach (var item in observ.Values) + { + sVal += $" | {item.Key}: {item.Value}"; + if (item.Key == "Level") + { + level = item.Value; + } + else if (item.Key == "Message") + { + message = item.Value; + } + } + fullMsg = $"{level} | {message}"; + } + // condition verboso SEMPRE! + lgInfo(sVal); + DateTime tStamp = observ.Timestamp; + var time2 = tStamp.ToLocalTime(); + // verifico se salvare + bool changed = checkSaveCondition(observ, fullMsg); + if (changed || forceSend) + { + // accodare ed invia nella coda ALARMS (che POI salva in document + // MongoDB anche ultimi x minuti di FluxLog...) + accodaAlarmLog(sVal, qEncodeFLog(time2, descr, fullMsg)); + } + } + catch (Exception exc) + { + lgError($"Eccezione in decodifica Conditions x StreamSuccesfull{Environment.NewLine}{exc}", false); + } + break; + + case MTConnect.Devices.DataItemCategory.EVENT: + string eValue = ""; + try + { + descr = itemTranslation("E", observ.DataItemId); + locTStamp = observ.Timestamp.ToLocalTime(); + sVal = $"EVENT: {locTStamp.ToString()} | descr: {descr} | Id: {observ.DataItemId} | Name: {observ.Name}"; + if (observ.Values.Count() > 0) + { + foreach (var item in observ.Values) + { + sVal += $" | {item.Key}: {item.Value}"; + if (item.Key == "Result") + { + eValue = item.Value; + } + } + } + if (isVerboseLog) + { + lgInfo(sVal); + } + DateTime tStamp = observ.Timestamp; + var time2 = tStamp.ToLocalTime(); + // verifico se salvare + bool changed = checkSaveItem(observ, eValue); + if (changed || forceSend) + { + accodaFLog(sVal, qEncodeFLog(time2, descr, eValue)); + } + } + catch (Exception exc) + { + lgError($"Eccezione in decodifica Events x StreamSuccesfull{Environment.NewLine}{exc}", false); + } + break; + + case MTConnect.Devices.DataItemCategory.SAMPLE: + string sValue = ""; + try + { + descr = itemTranslation("S", observ.DataItemId); + locTStamp = observ.Timestamp.ToLocalTime(); + sVal = $"SAMPLE: {locTStamp.ToString()} | descr: {descr} | Id: {observ.DataItemId} | Name: {observ.Name}"; + if (observ.Values.Count() > 0) + { + foreach (var item in observ.Values) + { + sVal += $" | {item.Key}: {item.Value}"; + if (item.Key == "Result") + { + sValue = item.Value; + } + } + } + if (isVerboseLog) + { + lgInfo(sVal); + } + DateTime tStamp = observ.Timestamp; + var time2 = tStamp.ToLocalTime(); + // verifico se salvare + bool changed = checkSaveSample(observ, sValue); + if (changed || forceSend) + { + accodaFLog(sVal, qEncodeFLog(time2, descr, sValue)); + } + else + { + if (isVerboseLog) + { + lgTrace($"NON ACCODATO sample per {observ.DataItemId} - verifica variazione SAMPLE ha dato esito negativo", false); + } + } + } + catch (Exception exc) + { + lgError($"Eccezione in decodifica Samples x StreamSuccesfull{Environment.NewLine}{exc}"); + } + break; + + default: + break; + } + if (observ.Values != null && observ.Values.Count() > 0) + { + foreach (var item in observ.Values) + { + sMsg += $" | {item.Key}: {item.Value}"; + } + } + lgTrace(sMsg); + } + + /// + /// Effettua invio a MP/IO dell'elenco serializzato dei dataItems + /// + /// + private void sendDataItemsList(List dataItems) + { + string rawData = JsonConvert.SerializeObject(dataItems); + utils.callUrlNow($"{urlSaveDataItems}", rawData); + } + + /// + /// Esegue log trace del valore che è filtrato in invio + /// + /// + private void traceObservation(IObservation observation) + { + string sMsg = $"VETO: - {observation.DataItemId} | {observation.Category}"; + if (observation.Values != null && observation.Values.Count() > 0) + { + foreach (var item in observation.Values) + { + sMsg += $" | {item.Key}: {item.Value}"; + } + } + lgTrace(sMsg); + } + + #endregion Private Methods + + } +} \ No newline at end of file diff --git a/IOB-WIN-MTC/MainFormNext.cs b/IOB-WIN-MTC/MainFormNext.cs new file mode 100644 index 00000000..d549da1c --- /dev/null +++ b/IOB-WIN-MTC/MainFormNext.cs @@ -0,0 +1,40 @@ +using IOB_UT_NEXT; +using IOB_WIN_MTC.Iob; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IOB_WIN_MTC +{ + 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-MTC/NLog.config b/IOB-WIN-MTC/NLog.config new file mode 100644 index 00000000..cd1bcc98 --- /dev/null +++ b/IOB-WIN-MTC/NLog.config @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + diff --git a/IOB-WIN-MTC/Objects.cs b/IOB-WIN-MTC/Objects.cs new file mode 100644 index 00000000..faa35322 --- /dev/null +++ b/IOB-WIN-MTC/Objects.cs @@ -0,0 +1,40 @@ +using System; + +namespace IOB_WIN_MTC +{ + /// + /// Classe di estensione x oggetti DataItems MTC con struttura e valori + /// + public class MtcDataItemExt : MTConnect.Devices.DataItem + { + #region Public Properties + + /// + /// Valore (in sec) del periodo di downsampling (0 --> NON usato) + /// + public int samplePeriod { get; set; } = 60; + + /// + /// Valore soglia DeadBand (0 --> non usata) + /// + public double thresholdDeadBand { get; set; } = 0; + + /// + /// UUID univoco dell'oggetto --> flusso + /// + public string uid { get; set; } = ""; + + /// + /// Valore Registrato in formato stringa + /// + public string value { get; set; } = ""; + + /// + /// Timestamp data-ora evento registrato + /// + public DateTime valueTimestamp { get; set; } = DateTime.Now; + + #endregion Public Properties + } + +} \ No newline at end of file diff --git a/IOB-WIN-MTC/Program.cs b/IOB-WIN-MTC/Program.cs new file mode 100644 index 00000000..22411006 --- /dev/null +++ b/IOB-WIN-MTC/Program.cs @@ -0,0 +1,24 @@ +using System; +using System.Windows.Forms; + +namespace IOB_WIN_MTC +{ + 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-MTC/Properties/AssemblyInfo.cs b/IOB-WIN-MTC/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..8f5a1a70 --- /dev/null +++ b/IOB-WIN-MTC/Properties/AssemblyInfo.cs @@ -0,0 +1,22 @@ +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-MTC")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyProduct("IOB-WIN-MTC")] +[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)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("eebe38bd-29ee-45de-9af4-8fa34b58d8ba")] + diff --git a/IOB-WIN-MTC/Properties/Resources.Designer.cs b/IOB-WIN-MTC/Properties/Resources.Designer.cs new file mode 100644 index 00000000..0f013ea4 --- /dev/null +++ b/IOB-WIN-MTC/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_MTC.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_MTC.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-MTC/Properties/Resources.resx b/IOB-WIN-MTC/Properties/Resources.resx new file mode 100644 index 00000000..af7dbebb --- /dev/null +++ b/IOB-WIN-MTC/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-MTC/Properties/Settings.Designer.cs b/IOB-WIN-MTC/Properties/Settings.Designer.cs new file mode 100644 index 00000000..894a7528 --- /dev/null +++ b/IOB-WIN-MTC/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_MTC.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-MTC/Properties/Settings.settings b/IOB-WIN-MTC/Properties/Settings.settings new file mode 100644 index 00000000..39645652 --- /dev/null +++ b/IOB-WIN-MTC/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/IOB-WIN-MTC/Readme/ToDo.txt b/IOB-WIN-MTC/Readme/ToDo.txt new file mode 100644 index 00000000..161ff489 --- /dev/null +++ b/IOB-WIN-MTC/Readme/ToDo.txt @@ -0,0 +1,61 @@ +------------------------------------- +- 2017.10.19 +------------------------------------- +OK - da testare ora invio URL a MoonPro +OK - ALIVE +OK - ENABLED +OK - INPUT +OK - FARE lettura VERA da FANUC almeno della bitmap +OK - fare gestione come rPI-IOB, ovvero +OK - gestione QUEUE eventi +OK - salvataggio su file dello storico eventi rilevati +OK - gestione dei segnali ballerini (BITMASK!) +OK - gestione contapezzi CUSTOM + - fare gestione configurabile lettura FANUC +OK - gestione dati G43 +OK - togliere dati F (E0 | 90) + - fare integrazione ALTRI varori FANUC, tra cui + - allarmi +OK - load/speed +OK - overrides (G12, G30) + +OK - nuovo metodo chiamata x MP/IO (che dovrà avere nuovo comando x accettare queste chiamate e salvare su tabella SENZA processing, come eventi o come extra... evento NOTA?) + - verificare segnali: (vedi doc gsheet) + - F001.0: ALARM_PRESENT + - F001.7: CN_READY / POWER_ON + - STL000.5: AUTO (vers 1) + - STL000.7: AUTO (vers 2) +- Cambiare ordine valutazione eventi frequenza VLF-->VHF +- Azzerare I contatori quanto si arriva al più lento (quando si azzera lui ripartono comunque tutti...) -> in questo modo scatta un contatore QUANDO GENERAL_COUNTER MOD periodo_Ccntatore == 0 +- rendere parametrica l'assegnazione delle funzioni al diverso ambito frequenza tra i 5 (VHF, HF, NF, LF, VLF) +- procedura x gestione dati REALTIME (da NON salvare su db ma al limite su REDIS, simil EQN con 2 tab x eliminare dati scaduti) + +OK FINIRE SISTEMAZIONE JETCO: +OK - install servers +OK - install DB +OK - conf acquisitore togliendo parti abbozzate x contapezzi/fineciclo +OK - part program name MAIN con nuova funzione + +CREARE NUOVO SW (o configurazione? o ramo alternativo a develop?) x mapping INIZIALE della macchina... ad esempio + - si collega a ns server + - chiede cosa deve fare (es mappa memorie D da 0 a 9999) + - effettua testing e poi fa upload risultati + - il ns sw fa i check/controlli modifica +in questo modo ad esmepio possiamo cercare i contapezzi, i segnali ceh cambiano con il fineciclo nelle aree Y, i contatori STANDARD nelle memorie D, ... + + +GESTIONE LIVE DATA +L'idea è ceh quando una macchina è "sotto osservazione" ovvero live viene aperta pagina questa debba inviare PIU' DATI di tipo realtime e mostrarli nel browser. Per farlo ci saranno questi elementi +- si apre una pagina di dettaglio macchina (da tablet? da SITE principale?) +- questo causa la modifica di una chiave su DB (e/o redis) di stato macchina, del tipo "OnAir=true", e potrebbe essere una chiave a tempo (30 sec poi scade?) e mentre la pagina è aperta e si aggiorna (ogni 1-2 sec oppure Signal-R) questo valore viene confermato (e prorigato) +- ogni IOB-WIN fa una chiamata "extra" all'URL dedicato al checl "OnAir", e se trova che è abilitato passa in modalità letture frequenti (1/2 al sec?) dei parametri LIVE (es: feed, speed, posizioni assi, load istantanei) +- se passa inq eusta modalità live invia DI CONTINUO il dato al server IO +- il server IO salva SU REDIS questi valori sia come "lastVal" che come serie storica +- le pagine che mostrano i dati si continuano ad aggiornare (da redis) con grafici (chartJs come PIC) e/o valori istantanei +- le serie storiche vengono ripulite periodicamente (ogni ora? valori + vecchi di 24h ad esempio?) +- struttura dati REDIS da creare SIMILE a struttura info URL... +- struttura dati LIVE: ../LIVE/COD_MACC/CURR_VAL (contiene TUTTI i dati LIVE, ultimi ricevuti...) +- struttura dati TimeSeries: ../LIVE/COD_MACC/DATA_NAME (contiene TUTTI i dati come timeseries, es SPEEDRATE, FEEDRATE, POS_X1, POS_X2, ...) +- operazione SAVE aggiorna SURR e accoda NUOVO valore... +- LOAD (rilettura9 POTREBBE fare pulizia se + vecchi di 24h...) +- la trasmissione verso IO deve avvenire con "multisend, nel \ No newline at end of file diff --git a/IOB-WIN-MTC/Resources/ChangeLog.html b/IOB-WIN-MTC/Resources/ChangeLog.html new file mode 100644 index 00000000..7ab91d78 --- /dev/null +++ b/IOB-WIN-MTC/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-MTC/Resources/Circuit.ico b/IOB-WIN-MTC/Resources/Circuit.ico new file mode 100644 index 00000000..a05b27a6 Binary files /dev/null and b/IOB-WIN-MTC/Resources/Circuit.ico differ diff --git a/IOB-WIN-MTC/Resources/Net.ico b/IOB-WIN-MTC/Resources/Net.ico new file mode 100644 index 00000000..a33a9eca Binary files /dev/null and b/IOB-WIN-MTC/Resources/Net.ico differ diff --git a/IOB-WIN-MTC/Resources/STEAM-IOB-WIN.xml b/IOB-WIN-MTC/Resources/STEAM-IOB-WIN.xml new file mode 100644 index 00000000..ba4e78f6 Binary files /dev/null and b/IOB-WIN-MTC/Resources/STEAM-IOB-WIN.xml differ diff --git a/IOB-WIN-MTC/Resources/Start-IOB-WIN.bat b/IOB-WIN-MTC/Resources/Start-IOB-WIN.bat new file mode 100644 index 00000000..3f8ecaa1 --- /dev/null +++ b/IOB-WIN-MTC/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-MTC/Resources/SteamWare.ico b/IOB-WIN-MTC/Resources/SteamWare.ico new file mode 100644 index 00000000..70ccadaf Binary files /dev/null and b/IOB-WIN-MTC/Resources/SteamWare.ico differ diff --git a/IOB-WIN-MTC/Resources/logoSteamware.png b/IOB-WIN-MTC/Resources/logoSteamware.png new file mode 100644 index 00000000..0958b50a Binary files /dev/null and b/IOB-WIN-MTC/Resources/logoSteamware.png differ diff --git a/IOB-WIN-MTC/Resources/manifest.xml b/IOB-WIN-MTC/Resources/manifest.xml new file mode 100644 index 00000000..f66a7e99 --- /dev/null +++ b/IOB-WIN-MTC/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-MTC/logs/.placeholder.txt b/IOB-WIN-MTC/logs/.placeholder.txt new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-MTC/logs/.placeholder.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-MTC/packages.config b/IOB-WIN-MTC/packages.config new file mode 100644 index 00000000..ec6cb5b3 --- /dev/null +++ b/IOB-WIN-MTC/packages.config @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-MTC/postBuildTgt.bat b/IOB-WIN-MTC/postBuildTgt.bat new file mode 100644 index 00000000..e2530148 --- /dev/null +++ b/IOB-WIN-MTC/postBuildTgt.bat @@ -0,0 +1,97 @@ +@echo off +echo Inizio processing After Build: configurazione %1 , directory %2 + +RD /S /Q %2"\lib\ar" +RD /S /Q %2"\lib\cs" +RD /S /Q %2"\lib\da" +RD /S /Q %2"\lib\de" +RD /S /Q %2"\lib\es" +RD /S /Q %2"\lib\fr" +RD /S /Q %2"\lib\it" +RD /S /Q %2"\lib\ja-JP" +RD /S /Q %2"\lib\ko" +RD /S /Q %2"\lib\lv" +RD /S /Q %2"\lib\nl" +RD /S /Q %2"\lib\pl" +RD /S /Q %2"\lib\pt" +RD /S /Q %2"\lib\pt-BR" +RD /S /Q %2"\lib\ru" +RD /S /Q %2"\lib\sk" +RD /S /Q %2"\lib\sv" +RD /S /Q %2"\lib\th" +RD /S /Q %2"\lib\tr" +RD /S /Q %2"\lib\zh" +RD /S /Q %2"\lib\zh-TW" + +MOVE /Y %2"ar" %2"lib\" +MOVE /Y %2"cs" %2"lib\" +MOVE /Y %2"da" %2"lib\" +MOVE /Y %2"de" %2"lib\" +MOVE /Y %2"es" %2"lib\" +MOVE /Y %2"fr" %2"lib\" +MOVE /Y %2"it" %2"lib\" +MOVE /Y %2"ja-JP" %2"lib\" +MOVE /Y %2"ko" %2"lib\" +MOVE /Y %2"lv" %2"lib\" +MOVE /Y %2"nl" %2"lib\" +MOVE /Y %2"pl" %2"lib\" +MOVE /Y %2"pt" %2"lib\" +MOVE /Y %2"pt-BR" %2"lib\" +MOVE /Y %2"ru" %2"lib\" +MOVE /Y %2"sk" %2"lib\" +MOVE /Y %2"sv" %2"lib\" +MOVE /Y %2"th" %2"lib\" +MOVE /Y %2"tr" %2"lib\" +MOVE /Y %2"zh" %2"lib\" +MOVE /Y %2"zh-TW" %2"lib\" + + +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-MTC-DEB /MIR +REM Baglietto +REM ROBOCOPY %2 \\192.168.60.15\Steamware\IOB-WIN-MTC-DEB /MIR +REM GIACOVELLI LOCOROTONDO +REM ROBOCOPY %2 \\192.168.1.93\Steamware\IOB-WIN-MTC-DEB /MIR +REM IMI Remosa +REM ROBOCOPY %2 \\192.168.0.12\Steamware\IOB-WIN-MTC-DEB /MIR + +REM IOB-WIN-SIM +REM ROBOCOPY %2 \\IOB-WIN-SIMULA\Steamware\IOB-WIN-MTC-DEB /MIR + +REM IOBVPN4MACHINE +REM ROBOCOPY %2 \\10.51.90.5\Steamware\IOB-WIN-MTC-DEB /MIR +REM ROBOCOPY %2 \\10.51.90.5\Steamware\IOB-WIN-MTC-DEB /MIR /log:RobocopyTransfer.log +REM ROBOCOPY %2 Z:\IOB-WIN-MTC-DEB /MIR +REM ROBOCOPY %2 \\10.51.90.10\Steamware\IOB-WIN-MTC-DEB /MIR +ROBOCOPY %2 \\10.51.90.9\Steamware\IOB-WIN-MTC-DEB /MIR + +goto END + +:END +echo Fatto! \ No newline at end of file diff --git a/IOB-WIN-MTC/setupTgt.bat b/IOB-WIN-MTC/setupTgt.bat new file mode 100644 index 00000000..ba685c02 --- /dev/null +++ b/IOB-WIN-MTC/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-MTC/temp/.placeholder b/IOB-WIN-MTC/temp/.placeholder new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-MTC/temp/.placeholder @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-NEXT.sln b/IOB-WIN-NEXT.sln index 3c7a3e16..855ab074 100644 --- a/IOB-WIN-NEXT.sln +++ b/IOB-WIN-NEXT.sln @@ -68,8 +68,8 @@ Global {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|Any CPU.Build.0 = Release|Any CPU {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|x86.ActiveCfg = Release|Any CPU {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|x86.Build.0 = Release|Any CPU - {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|Any CPU.ActiveCfg = Release|Any CPU - {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|Any CPU.Build.0 = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU + {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 {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.SIEMENS|Any CPU.ActiveCfg = Debug|Any CPU diff --git a/IOB-WIN-NEXT/AdapterFormNext.cs b/IOB-WIN-NEXT/AdapterFormNext.cs index b3bf1e24..ea91196d 100644 --- a/IOB-WIN-NEXT/AdapterFormNext.cs +++ b/IOB-WIN-NEXT/AdapterFormNext.cs @@ -139,10 +139,12 @@ namespace IOB_WIN_NEXT btnStart.Enabled = true; break; +#if false case tipoAdapter.MTConnect: iobObj = new Iob.MTConn(this, IOBConf); btnStart.Enabled = true; - break; + break; +#endif case tipoAdapter.OMRON: iobObj = new Iob.Omron(this, IOBConf); diff --git a/IOB-WIN-NEXT/DATA/CONF/3025.ini b/IOB-WIN-NEXT/DATA/CONF/3025.ini index 6895cf60..2fa97d5b 100644 --- a/IOB-WIN-NEXT/DATA/CONF/3025.ini +++ b/IOB-WIN-NEXT/DATA/CONF/3025.ini @@ -26,18 +26,21 @@ CMDREBO=/sendReboot.aspx?idxMacchina= ; Red: Y31.4 | Yellow: Y31.5 | Green Y31.6 | riscaldamento Y7.4 ??? ;BIT0=CONN BIT1=Y31.6 +;BIT2=PZCOUNT.PAR.6711 BIT2=PZCOUNT.MACRO.10100 +;BIT2=STD.MACRO.10100 BIT3=Y31.4 BIT4=Y31.5 -BIT5=Y7.4 -BIT6=X8.4 +; 8.4 --> emg armata= true, 0 = attiva mettere !8.4 (da verificare) +BIT5=!X8.4 +;BIT6=X8.4 AREAD_START=0 AREAD_SIZE=0 AREAG_SIZE=48 AREAR_START=0 AREAR_SIZE=0 AREAX_START=0 -AREAX_SIZE=8 +AREAX_SIZE=40 AREAY_START=0 AREAY_SIZE=32 PAR_START=6711 @@ -45,32 +48,39 @@ PAR_SIZE=3 [BLINK] ;MAX_COUNTER_BLINK = 30 -MAX_COUNTER_BLINK = 15 +MAX_COUNTER_BLINK = 60 ;bit0 = 0 -;bit1 = 0 +;bit1 = 1 ;bit2 = 0 ;bit3 = 0 -;bit4 = 1 +;bit4 = 0 ;bit5 = 0 ;bit6 = 0 ;bit7 = 0 -BLINK_FILT=0 +BLINK_FILT=2 ;BLINK_FILT=16 [OPTPAR] -;PZCOUNT_MODE=STD.PAR.6711 -;PZREQ_MODE=STD.PAR.6713 +;PZCOUNT_MODE=STD|BIT +;PZCOUNT_MODE=STD.PAR.6711 PZCOUNT_MODE=STD.MACRO.10100 PZREQ_MODE=STD.MACRO.10000 PZGTOT_MODE=STD.PAR.6712 -;PZREQ_MODE=STD.PAR.6713 ;PZCAD_MODE=STD.D.6408.DW ENABLE_PZ_RESET=TRUE ENABLE_PZ_RESET_stopSetup=TRUE ;gestione invio pezzi in blocco ENABLE_SEND_PZC_BLOCK=TRUE -MIN_SEND_PZC_BLOCK=5 +MIN_SEND_PZC_BLOCK=0 MAX_SEND_PZC_BLOCK=100 +DISABLE_SEND_WDST=TRUE [BRANCH] -NAME=master \ No newline at end of file +NAME=master + +; Tags manuali +[TAGS] +Customer=JETCO +HostOS=WIN +HostName=IOB-WIN-09 +HostAddr=192.168.1.133 diff --git a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini index 2533e40d..1be77771 100644 --- a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini +++ b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini @@ -52,8 +52,8 @@ CLI_INST=SteamWareSim ;STARTLIST=Tend_RAMA_10_47 ;STARTLIST=3024-PING ;STARTLIST=2015 -STARTLIST=SIMUL_01 -;STARTLIST=3024 +;STARTLIST=SIMUL_01 +STARTLIST=3025 MAXCNC=10 \ No newline at end of file diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj index 84540ede..c1cf4bb5 100644 --- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj +++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj @@ -155,78 +155,12 @@ ..\packages\Microsoft.Bcl.HashCode.1.1.1\lib\net461\Microsoft.Bcl.HashCode.dll - - ..\packages\Microsoft.Extensions.Configuration.7.0.0\lib\net462\Microsoft.Extensions.Configuration.dll - - - ..\packages\Microsoft.Extensions.Configuration.Abstractions.7.0.0\lib\net462\Microsoft.Extensions.Configuration.Abstractions.dll - - - ..\packages\Microsoft.Extensions.Configuration.Binder.7.0.0\lib\net462\Microsoft.Extensions.Configuration.Binder.dll - - - ..\packages\Microsoft.Extensions.Configuration.CommandLine.7.0.0\lib\net462\Microsoft.Extensions.Configuration.CommandLine.dll - - - ..\packages\Microsoft.Extensions.Configuration.EnvironmentVariables.7.0.0\lib\net462\Microsoft.Extensions.Configuration.EnvironmentVariables.dll - - - ..\packages\Microsoft.Extensions.Configuration.FileExtensions.7.0.0\lib\net462\Microsoft.Extensions.Configuration.FileExtensions.dll - - - ..\packages\Microsoft.Extensions.Configuration.Json.7.0.0\lib\net462\Microsoft.Extensions.Configuration.Json.dll - - - ..\packages\Microsoft.Extensions.Configuration.UserSecrets.7.0.0\lib\net462\Microsoft.Extensions.Configuration.UserSecrets.dll - - - ..\packages\Microsoft.Extensions.DependencyInjection.7.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.dll - ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll - - ..\packages\Microsoft.Extensions.FileProviders.Abstractions.7.0.0\lib\net462\Microsoft.Extensions.FileProviders.Abstractions.dll - - - ..\packages\Microsoft.Extensions.FileProviders.Physical.7.0.0\lib\net462\Microsoft.Extensions.FileProviders.Physical.dll - - - ..\packages\Microsoft.Extensions.FileSystemGlobbing.7.0.0\lib\net462\Microsoft.Extensions.FileSystemGlobbing.dll - - - ..\packages\Microsoft.Extensions.Hosting.7.0.0\lib\net462\Microsoft.Extensions.Hosting.dll - - - ..\packages\Microsoft.Extensions.Hosting.Abstractions.7.0.0\lib\net462\Microsoft.Extensions.Hosting.Abstractions.dll - - - ..\packages\Microsoft.Extensions.Logging.7.0.0\lib\net462\Microsoft.Extensions.Logging.dll - ..\packages\Microsoft.Extensions.Logging.Abstractions.9.0.0\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll - - ..\packages\Microsoft.Extensions.Logging.Configuration.7.0.0\lib\net462\Microsoft.Extensions.Logging.Configuration.dll - - - ..\packages\Microsoft.Extensions.Logging.Console.7.0.0\lib\net462\Microsoft.Extensions.Logging.Console.dll - - - ..\packages\Microsoft.Extensions.Logging.Debug.7.0.0\lib\net462\Microsoft.Extensions.Logging.Debug.dll - - - ..\packages\Microsoft.Extensions.Logging.EventLog.7.0.0\lib\net462\Microsoft.Extensions.Logging.EventLog.dll - - - ..\packages\Microsoft.Extensions.Logging.EventSource.7.0.0\lib\net462\Microsoft.Extensions.Logging.EventSource.dll - - - ..\packages\Microsoft.Extensions.Options.7.0.0\lib\net462\Microsoft.Extensions.Options.dll - - - ..\packages\Microsoft.Extensions.Options.ConfigurationExtensions.7.0.0\lib\net462\Microsoft.Extensions.Options.ConfigurationExtensions.dll - ..\packages\Microsoft.Extensions.Primitives.7.0.0\lib\net462\Microsoft.Extensions.Primitives.dll @@ -259,33 +193,6 @@ ..\packages\MQTTnet.Extensions.ManagedClient.4.3.3.952\lib\net461\MQTTnet.Extensions.ManagedClient.dll - - ..\packages\MTConnect.NET.6.5.1\lib\net462\MTConnect.NET.dll - - - ..\packages\MTConnect.NET-Common.6.5.1\lib\net462\MTConnect.NET-Common.dll - - - ..\packages\MTConnect.NET-HTTP.6.5.1\lib\net462\MTConnect.NET-HTTP.dll - - - ..\packages\MTConnect.NET-JSON.6.5.1\lib\net462\MTConnect.NET-JSON.dll - - - ..\packages\MTConnect.NET-JSON-cppagent.6.5.1\lib\net462\MTConnect.NET-JSON-cppagent.dll - - - ..\packages\MTConnect.NET-MQTT.6.5.1\lib\net462\MTConnect.NET-MQTT.dll - - - ..\packages\MTConnect.NET-SHDR.6.5.1\lib\net462\MTConnect.NET-SHDR.dll - - - ..\packages\MTConnect.NET-TLS.6.5.1\lib\net462\MTConnect.NET-TLS.dll - - - ..\packages\MTConnect.NET-XML.6.5.1\lib\net462\MTConnect.NET-XML.dll - ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll @@ -571,7 +478,6 @@ - @@ -617,21 +523,12 @@ - - Always - - - - - - - @@ -648,9 +545,6 @@ - - Always - Always @@ -751,17 +645,11 @@ - + + Always + - - Always - - - Always - - - @@ -789,8 +677,6 @@ - - @@ -866,8 +752,6 @@ - - @@ -878,14 +762,8 @@ Always - - - - - - @@ -900,9 +778,6 @@ - - Always - @@ -920,8 +795,6 @@ - - @@ -1013,8 +886,6 @@ - - Always diff --git a/IOB-WIN-NEXT/Iob/GenericNext.cs b/IOB-WIN-NEXT/Iob/GenericNext.cs index 76a1e168..49bf970e 100644 --- a/IOB-WIN-NEXT/Iob/GenericNext.cs +++ b/IOB-WIN-NEXT/Iob/GenericNext.cs @@ -4,8 +4,6 @@ using IOB_UT_NEXT; using IOB_WIN_FORM; using MapoSDK; using MathNet.Numerics.Statistics; -using MTConnect; -using MTConnect.Clients; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using NLog; diff --git a/IOB-WIN-NEXT/Objects.cs b/IOB-WIN-NEXT/Objects.cs index 1437a3b0..7535210e 100644 --- a/IOB-WIN-NEXT/Objects.cs +++ b/IOB-WIN-NEXT/Objects.cs @@ -2,6 +2,7 @@ namespace IOB_WIN_NEXT { +#if false /// /// Classe di estensione x oggetti DataItems MTC con struttura e valori /// @@ -35,11 +36,9 @@ namespace IOB_WIN_NEXT public DateTime valueTimestamp { get; set; } = DateTime.Now; #endregion Public Properties - } + } +#endif - public class Objects - { - } /// /// Classe di estensione x oggetti DataItems OPC-UA con struttura e valori diff --git a/IOB-WIN-NEXT/packages.config b/IOB-WIN-NEXT/packages.config index 78c3685b..9af14d81 100644 --- a/IOB-WIN-NEXT/packages.config +++ b/IOB-WIN-NEXT/packages.config @@ -15,30 +15,8 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -49,15 +27,6 @@ - - - - - - - - - diff --git a/IOB-WIN-OPC-UA.sln b/IOB-WIN-OPC-UA.sln new file mode 100644 index 00000000..221674f9 --- /dev/null +++ b/IOB-WIN-OPC-UA.sln @@ -0,0 +1,83 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.2.32505.173 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersGen", "VersGen\VersGen.csproj", "{58E399F3-9D4E-49D3-AB35-9ED536543D50}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B52E3E86-1B82-4F4D-982C-0C8909CD2A28}" + ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-UT-NEXT", "IOB-UT-NEXT\IOB-UT-NEXT.csproj", "{90512E12-29FC-460D-94CC-648C2A072DBD}" +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-PING", "IOB-WIN-PING\IOB-WIN-PING.csproj", "{6ADF1E82-124C-489C-99EF-A857C933D362}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x86 = Release|x86 + Remote_DEBUG|Any CPU = Remote_DEBUG|Any CPU + Remote_DEBUG|x86 = Remote_DEBUG|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.ActiveCfg = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.Build.0 = Release|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.ActiveCfg = Release|x86 + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.Build.0 = Release|x86 + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|Any CPU.Build.0 = Debug|Any CPU + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|x86.ActiveCfg = Remote_DEBUG|x86 + {58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|x86.Build.0 = Remote_DEBUG|x86 + {90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|x86.ActiveCfg = Debug|x86 + {90512E12-29FC-460D-94CC-648C2A072DBD}.Debug|x86.Build.0 = Debug|x86 + {90512E12-29FC-460D-94CC-648C2A072DBD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Release|Any CPU.Build.0 = Release|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Release|x86.ActiveCfg = Release|x86 + {90512E12-29FC-460D-94CC-648C2A072DBD}.Release|x86.Build.0 = Release|x86 + {90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|Any CPU.Build.0 = Debug|Any CPU + {90512E12-29FC-460D-94CC-648C2A072DBD}.Remote_DEBUG|x86.ActiveCfg = Release|x86 + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|x86.ActiveCfg = Debug|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Debug|x86.Build.0 = Debug|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|Any CPU.Build.0 = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|x86.ActiveCfg = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Release|x86.Build.0 = Release|Any CPU + {9BA331BB-9BF1-40E0-AC03-74B43D73A097}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU + {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 + {6ADF1E82-124C-489C-99EF-A857C933D362}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Debug|x86.ActiveCfg = Debug|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Debug|x86.Build.0 = Debug|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Release|Any CPU.Build.0 = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Release|x86.ActiveCfg = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Release|x86.Build.0 = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Remote_DEBUG|Any CPU.ActiveCfg = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Remote_DEBUG|Any CPU.Build.0 = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Remote_DEBUG|x86.ActiveCfg = Release|Any CPU + {6ADF1E82-124C-489C-99EF-A857C933D362}.Remote_DEBUG|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {801DCDC5-B7D3-4EA5-B543-783D2C91765F} + EndGlobalSection +EndGlobal diff --git a/IOB-WIN-OPC-UA/AdapterFormNext.cs b/IOB-WIN-OPC-UA/AdapterFormNext.cs new file mode 100644 index 00000000..d4b03e39 --- /dev/null +++ b/IOB-WIN-OPC-UA/AdapterFormNext.cs @@ -0,0 +1,56 @@ +using IOB_UT_NEXT; +using IOB_WIN_PING.Iob; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IOB_WIN_PING +{ + 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.PingWatchdog: + iobObj = new IOB_WIN_FORM.Iob.PingWatchDog(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-OPC-UA/App.Debug.config b/IOB-WIN-OPC-UA/App.Debug.config new file mode 100644 index 00000000..42297ccc --- /dev/null +++ b/IOB-WIN-OPC-UA/App.Debug.config @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-OPC-UA/App.Release.config b/IOB-WIN-OPC-UA/App.Release.config new file mode 100644 index 00000000..0f80d173 --- /dev/null +++ b/IOB-WIN-OPC-UA/App.Release.config @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-OPC-UA/App.config b/IOB-WIN-OPC-UA/App.config new file mode 100644 index 00000000..93faf2cd --- /dev/null +++ b/IOB-WIN-OPC-UA/App.config @@ -0,0 +1,170 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-OPC-UA/DATA/CONF/FTP-PING.ini b/IOB-WIN-OPC-UA/DATA/CONF/FTP-PING.ini new file mode 100644 index 00000000..efe46cca --- /dev/null +++ b/IOB-WIN-OPC-UA/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-OPC-UA/DATA/CONF/IOB.ini b/IOB-WIN-OPC-UA/DATA/CONF/IOB.ini new file mode 100644 index 00000000..9ac13668 --- /dev/null +++ b/IOB-WIN-OPC-UA/DATA/CONF/IOB.ini @@ -0,0 +1,50 @@ +;Configurazione IOB-WIN +[IOB] +CNCTYPE=FANUC +;IDXMACC=3001 + +[CNC] +; TEST TORNOS! +;IP=192.168.1.80 +IP=172.16.199.10 +PORT=8193 + +[SERVER] +MPIP=http://10.74.82.219 +MPURL=/MP/IO +CMDBASE=/IOB/input/ +CMDFLOG=/IOB/flog/ +CMDALIVE=/IOB +CMDENABLED=/IOB/enabled/ +CMDADV1=?valore= +CMDREBO=/sendReboot.aspx?idxMacchina= + +[MEMORY] +BITRED=Y8.4 +BITYELLOW=Y8.5 +BITGREEN=Y8.6 + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +;PZCOUNT_MODE=STD|BIT +PZCOUNT_MODE=BIT +PZ_CAD_MADDR=1602 +PZ_REQ_MADDR=1603 +PZ_DONE_MADDR=1604 +PZ_GTOT_MADDR=1605 + +[BRANCH] +NAME=master diff --git a/IOB-WIN-OPC-UA/DATA/CONF/MAIN.ini b/IOB-WIN-OPC-UA/DATA/CONF/MAIN.ini new file mode 100644 index 00000000..43299be3 --- /dev/null +++ b/IOB-WIN-OPC-UA/DATA/CONF/MAIN.ini @@ -0,0 +1,61 @@ +;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=PIZ09 +;STARTLIST=VL25 +;STARTLIST=SIMUL_03 +;STARTLIST=GIACO_CEDAX_001 +;STARTLIST=GIACO_ICOEL_002 +;STARTLIST=GIACO_CENTERFRIGO +;STARTLIST=GIACO_NWSE +;STARTLIST=SIM_DP_01 +;STARTLIST=WPS +;STARTLIST=FINASSI_HELPI_01 +;STARTLIST=FINASSI_OMP_01 +;STARTLIST=BAGLIETTO_CIMOLAI_01 +;STARTLIST=GIACO_SAIM_003 +;STARTLIST=PIZ09 +;STARTLIST=IMI_RIMOR_SAB_01 +;STARTLIST=IMI_RIMOR_SAB_02 +;STARTLIST=IMI_RIMOR_VER_01 +;STARTLIST=IMI_RIMOR_VER_02 +;STARTLIST=IMI_PAMA_392 +;STARTLIST=Tend_FIMAT_01 +;STARTLIST=PIZ10 +;STARTLIST=IMI_SOITAAB_Z2342_02 +;STARTLIST=IMI_GOMBA +;STARTLIST=SIMUL_02 +;STARTLIST=SIM_DP_01 +;STARTLIST=FTP_SONATEST +;STARTLIST=L020 +;STARTLIST=PING +;STARTLIST=VL27 + +;NB: mettere copy always ai file di conf x fare test... +;STARTLIST=2014 +;STARTLIST=Tend_RAMA_10_47 +;STARTLIST=3024-PING +;STARTLIST=2015 +;STARTLIST=3024 +;STARTLIST=SIMUL_01 +;STARTLIST=WPS +STARTLIST=FTP-PING + + +MAXCNC=10 \ No newline at end of file diff --git a/IOB-WIN-OPC-UA/DATA/CONF/PING.ini b/IOB-WIN-OPC-UA/DATA/CONF/PING.ini new file mode 100644 index 00000000..1a4c140e --- /dev/null +++ b/IOB-WIN-OPC-UA/DATA/CONF/PING.ini @@ -0,0 +1,51 @@ +;Configurazione IOB-WIN +[IOB] +CNCTYPE=PingWatchdog +PING_MS_TIMEOUT=500 +;IOB_NAME=SIMUL_09 +IOB_NAME=SIMUL_01 + +[MACHINE] +VENDOR=STEAMWARE +MODEL=WATCHDOG + +[CNC] +IP=10.74.83.183 +;IP=10.74.82.253 +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] +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 \ No newline at end of file diff --git a/IOB-WIN-OPC-UA/DATA/CONF/SIMUL_01.ini b/IOB-WIN-OPC-UA/DATA/CONF/SIMUL_01.ini new file mode 100644 index 00000000..08975356 --- /dev/null +++ b/IOB-WIN-OPC-UA/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-OPC-UA/DATA/CONF/SIMUL_01.json b/IOB-WIN-OPC-UA/DATA/CONF/SIMUL_01.json new file mode 100644 index 00000000..d2895eb1 --- /dev/null +++ b/IOB-WIN-OPC-UA/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-OPC-UA/DATA/CONF/SIMUL_01_WD.ini b/IOB-WIN-OPC-UA/DATA/CONF/SIMUL_01_WD.ini new file mode 100644 index 00000000..56bca173 --- /dev/null +++ b/IOB-WIN-OPC-UA/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-OPC-UA/DATA/CONF/SIMUL_01_alarm.json b/IOB-WIN-OPC-UA/DATA/CONF/SIMUL_01_alarm.json new file mode 100644 index 00000000..4f6ed310 --- /dev/null +++ b/IOB-WIN-OPC-UA/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-OPC-UA/DATA/DAT/PersistData.dat b/IOB-WIN-OPC-UA/DATA/DAT/PersistData.dat new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-OPC-UA/DATA/DAT/PersistData.dat @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-OPC-UA/DATA/DAT/SimData.dat b/IOB-WIN-OPC-UA/DATA/DAT/SimData.dat new file mode 100644 index 00000000..c59e4823 --- /dev/null +++ b/IOB-WIN-OPC-UA/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-OPC-UA/DATA/HIST/.placeholder b/IOB-WIN-OPC-UA/DATA/HIST/.placeholder new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-OPC-UA/DATA/HIST/.placeholder @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-OPC-UA/IOB-WIN-OPC-UA.csproj b/IOB-WIN-OPC-UA/IOB-WIN-OPC-UA.csproj new file mode 100644 index 00000000..40368b2c --- /dev/null +++ b/IOB-WIN-OPC-UA/IOB-WIN-OPC-UA.csproj @@ -0,0 +1,257 @@ + + + + + Debug + AnyCPU + {EEBE38BD-29EE-45DE-9AF4-8FA34B58D8BA} + WinExe + IOB_WIN_MTC + IOB-WIN-MTC + 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 + x86 + 7.3 + prompt + + + + ..\packages\MapoSDK.6.14.2411.518\lib\MapoSDK.dll + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll + + + ..\packages\Microsoft.Extensions.Logging.Abstractions.6.0.0\lib\net461\Microsoft.Extensions.Logging.Abstractions.dll + + + ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + + + ..\packages\NLog.5.3.4\lib\net46\NLog.dll + + + ..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll + + + ..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll + + + + ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll + + + + + ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll + + + ..\packages\System.IO.Pipelines.5.0.1\lib\net461\System.IO.Pipelines.dll + + + ..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll + + + ..\packages\System.Threading.Channels.5.0.0\lib\net461\System.Threading.Channels.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll + + + + + + + + + + + + + + VersGen.cs + + + Form + + + + Form + + + + + Always + + + Always + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + Always + + + App.config + True + PreserveNewest + + + App.config + True + PreserveNewest + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + Always + + + + Always + + + + + Designer + true + PreserveNewest + + + + + Always + + + + Always + + + + Always + + + Always + + + + + + {90512e12-29fc-460d-94cc-648c2a072dbd} + IOB-UT-NEXT + + + {9ba331bb-9bf1-40e0-ac03-74b43d73a097} + IOB-WIN-FORM + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-OPC-UA/Iob/GenericNext.cs b/IOB-WIN-OPC-UA/Iob/GenericNext.cs new file mode 100644 index 00000000..89815943 --- /dev/null +++ b/IOB-WIN-OPC-UA/Iob/GenericNext.cs @@ -0,0 +1,13 @@ +using IOB_UT_NEXT; + +namespace IOB_WIN_PING.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-OPC-UA/MainFormNext.cs b/IOB-WIN-OPC-UA/MainFormNext.cs new file mode 100644 index 00000000..422d8335 --- /dev/null +++ b/IOB-WIN-OPC-UA/MainFormNext.cs @@ -0,0 +1,40 @@ +using IOB_UT_NEXT; +using IOB_WIN_PING.Iob; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IOB_WIN_PING +{ + 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-OPC-UA/NLog.config b/IOB-WIN-OPC-UA/NLog.config new file mode 100644 index 00000000..cd1bcc98 --- /dev/null +++ b/IOB-WIN-OPC-UA/NLog.config @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + diff --git a/IOB-WIN-OPC-UA/Program.cs b/IOB-WIN-OPC-UA/Program.cs new file mode 100644 index 00000000..5671848f --- /dev/null +++ b/IOB-WIN-OPC-UA/Program.cs @@ -0,0 +1,24 @@ +using System; +using System.Windows.Forms; + +namespace IOB_WIN_PING +{ + 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-OPC-UA/Properties/AssemblyInfo.cs b/IOB-WIN-OPC-UA/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..8f5a1a70 --- /dev/null +++ b/IOB-WIN-OPC-UA/Properties/AssemblyInfo.cs @@ -0,0 +1,22 @@ +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-MTC")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyProduct("IOB-WIN-MTC")] +[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)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("eebe38bd-29ee-45de-9af4-8fa34b58d8ba")] + diff --git a/IOB-WIN-OPC-UA/Properties/Resources.Designer.cs b/IOB-WIN-OPC-UA/Properties/Resources.Designer.cs new file mode 100644 index 00000000..0f013ea4 --- /dev/null +++ b/IOB-WIN-OPC-UA/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_MTC.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_MTC.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-OPC-UA/Properties/Resources.resx b/IOB-WIN-OPC-UA/Properties/Resources.resx new file mode 100644 index 00000000..af7dbebb --- /dev/null +++ b/IOB-WIN-OPC-UA/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-OPC-UA/Properties/Settings.Designer.cs b/IOB-WIN-OPC-UA/Properties/Settings.Designer.cs new file mode 100644 index 00000000..894a7528 --- /dev/null +++ b/IOB-WIN-OPC-UA/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_MTC.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-OPC-UA/Properties/Settings.settings b/IOB-WIN-OPC-UA/Properties/Settings.settings new file mode 100644 index 00000000..39645652 --- /dev/null +++ b/IOB-WIN-OPC-UA/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/IOB-WIN-OPC-UA/Readme/ToDo.txt b/IOB-WIN-OPC-UA/Readme/ToDo.txt new file mode 100644 index 00000000..161ff489 --- /dev/null +++ b/IOB-WIN-OPC-UA/Readme/ToDo.txt @@ -0,0 +1,61 @@ +------------------------------------- +- 2017.10.19 +------------------------------------- +OK - da testare ora invio URL a MoonPro +OK - ALIVE +OK - ENABLED +OK - INPUT +OK - FARE lettura VERA da FANUC almeno della bitmap +OK - fare gestione come rPI-IOB, ovvero +OK - gestione QUEUE eventi +OK - salvataggio su file dello storico eventi rilevati +OK - gestione dei segnali ballerini (BITMASK!) +OK - gestione contapezzi CUSTOM + - fare gestione configurabile lettura FANUC +OK - gestione dati G43 +OK - togliere dati F (E0 | 90) + - fare integrazione ALTRI varori FANUC, tra cui + - allarmi +OK - load/speed +OK - overrides (G12, G30) + +OK - nuovo metodo chiamata x MP/IO (che dovrà avere nuovo comando x accettare queste chiamate e salvare su tabella SENZA processing, come eventi o come extra... evento NOTA?) + - verificare segnali: (vedi doc gsheet) + - F001.0: ALARM_PRESENT + - F001.7: CN_READY / POWER_ON + - STL000.5: AUTO (vers 1) + - STL000.7: AUTO (vers 2) +- Cambiare ordine valutazione eventi frequenza VLF-->VHF +- Azzerare I contatori quanto si arriva al più lento (quando si azzera lui ripartono comunque tutti...) -> in questo modo scatta un contatore QUANDO GENERAL_COUNTER MOD periodo_Ccntatore == 0 +- rendere parametrica l'assegnazione delle funzioni al diverso ambito frequenza tra i 5 (VHF, HF, NF, LF, VLF) +- procedura x gestione dati REALTIME (da NON salvare su db ma al limite su REDIS, simil EQN con 2 tab x eliminare dati scaduti) + +OK FINIRE SISTEMAZIONE JETCO: +OK - install servers +OK - install DB +OK - conf acquisitore togliendo parti abbozzate x contapezzi/fineciclo +OK - part program name MAIN con nuova funzione + +CREARE NUOVO SW (o configurazione? o ramo alternativo a develop?) x mapping INIZIALE della macchina... ad esempio + - si collega a ns server + - chiede cosa deve fare (es mappa memorie D da 0 a 9999) + - effettua testing e poi fa upload risultati + - il ns sw fa i check/controlli modifica +in questo modo ad esmepio possiamo cercare i contapezzi, i segnali ceh cambiano con il fineciclo nelle aree Y, i contatori STANDARD nelle memorie D, ... + + +GESTIONE LIVE DATA +L'idea è ceh quando una macchina è "sotto osservazione" ovvero live viene aperta pagina questa debba inviare PIU' DATI di tipo realtime e mostrarli nel browser. Per farlo ci saranno questi elementi +- si apre una pagina di dettaglio macchina (da tablet? da SITE principale?) +- questo causa la modifica di una chiave su DB (e/o redis) di stato macchina, del tipo "OnAir=true", e potrebbe essere una chiave a tempo (30 sec poi scade?) e mentre la pagina è aperta e si aggiorna (ogni 1-2 sec oppure Signal-R) questo valore viene confermato (e prorigato) +- ogni IOB-WIN fa una chiamata "extra" all'URL dedicato al checl "OnAir", e se trova che è abilitato passa in modalità letture frequenti (1/2 al sec?) dei parametri LIVE (es: feed, speed, posizioni assi, load istantanei) +- se passa inq eusta modalità live invia DI CONTINUO il dato al server IO +- il server IO salva SU REDIS questi valori sia come "lastVal" che come serie storica +- le pagine che mostrano i dati si continuano ad aggiornare (da redis) con grafici (chartJs come PIC) e/o valori istantanei +- le serie storiche vengono ripulite periodicamente (ogni ora? valori + vecchi di 24h ad esempio?) +- struttura dati REDIS da creare SIMILE a struttura info URL... +- struttura dati LIVE: ../LIVE/COD_MACC/CURR_VAL (contiene TUTTI i dati LIVE, ultimi ricevuti...) +- struttura dati TimeSeries: ../LIVE/COD_MACC/DATA_NAME (contiene TUTTI i dati come timeseries, es SPEEDRATE, FEEDRATE, POS_X1, POS_X2, ...) +- operazione SAVE aggiorna SURR e accoda NUOVO valore... +- LOAD (rilettura9 POTREBBE fare pulizia se + vecchi di 24h...) +- la trasmissione verso IO deve avvenire con "multisend, nel \ No newline at end of file diff --git a/IOB-WIN-OPC-UA/Resources/ChangeLog.html b/IOB-WIN-OPC-UA/Resources/ChangeLog.html new file mode 100644 index 00000000..7ab91d78 --- /dev/null +++ b/IOB-WIN-OPC-UA/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-OPC-UA/Resources/Circuit.ico b/IOB-WIN-OPC-UA/Resources/Circuit.ico new file mode 100644 index 00000000..a05b27a6 Binary files /dev/null and b/IOB-WIN-OPC-UA/Resources/Circuit.ico differ diff --git a/IOB-WIN-OPC-UA/Resources/Net.ico b/IOB-WIN-OPC-UA/Resources/Net.ico new file mode 100644 index 00000000..a33a9eca Binary files /dev/null and b/IOB-WIN-OPC-UA/Resources/Net.ico differ diff --git a/IOB-WIN-OPC-UA/Resources/STEAM-IOB-WIN.xml b/IOB-WIN-OPC-UA/Resources/STEAM-IOB-WIN.xml new file mode 100644 index 00000000..ba4e78f6 Binary files /dev/null and b/IOB-WIN-OPC-UA/Resources/STEAM-IOB-WIN.xml differ diff --git a/IOB-WIN-OPC-UA/Resources/Start-IOB-WIN.bat b/IOB-WIN-OPC-UA/Resources/Start-IOB-WIN.bat new file mode 100644 index 00000000..3f8ecaa1 --- /dev/null +++ b/IOB-WIN-OPC-UA/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-OPC-UA/Resources/SteamWare.ico b/IOB-WIN-OPC-UA/Resources/SteamWare.ico new file mode 100644 index 00000000..70ccadaf Binary files /dev/null and b/IOB-WIN-OPC-UA/Resources/SteamWare.ico differ diff --git a/IOB-WIN-OPC-UA/Resources/logoSteamware.png b/IOB-WIN-OPC-UA/Resources/logoSteamware.png new file mode 100644 index 00000000..0958b50a Binary files /dev/null and b/IOB-WIN-OPC-UA/Resources/logoSteamware.png differ diff --git a/IOB-WIN-OPC-UA/Resources/manifest.xml b/IOB-WIN-OPC-UA/Resources/manifest.xml new file mode 100644 index 00000000..f66a7e99 --- /dev/null +++ b/IOB-WIN-OPC-UA/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-OPC-UA/logs/.placeholder.txt b/IOB-WIN-OPC-UA/logs/.placeholder.txt new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-OPC-UA/logs/.placeholder.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-OPC-UA/packages.config b/IOB-WIN-OPC-UA/packages.config new file mode 100644 index 00000000..bc12d868 --- /dev/null +++ b/IOB-WIN-OPC-UA/packages.config @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/IOB-WIN-OPC-UA/postBuildTgt.bat b/IOB-WIN-OPC-UA/postBuildTgt.bat new file mode 100644 index 00000000..d56896d2 --- /dev/null +++ b/IOB-WIN-OPC-UA/postBuildTgt.bat @@ -0,0 +1,97 @@ +@echo off +echo Inizio processing After Build: configurazione %1 , directory %2 + +RD /S /Q %2"\lib\ar" +RD /S /Q %2"\lib\cs" +RD /S /Q %2"\lib\da" +RD /S /Q %2"\lib\de" +RD /S /Q %2"\lib\es" +RD /S /Q %2"\lib\fr" +RD /S /Q %2"\lib\it" +RD /S /Q %2"\lib\ja-JP" +RD /S /Q %2"\lib\ko" +RD /S /Q %2"\lib\lv" +RD /S /Q %2"\lib\nl" +RD /S /Q %2"\lib\pl" +RD /S /Q %2"\lib\pt" +RD /S /Q %2"\lib\pt-BR" +RD /S /Q %2"\lib\ru" +RD /S /Q %2"\lib\sk" +RD /S /Q %2"\lib\sv" +RD /S /Q %2"\lib\th" +RD /S /Q %2"\lib\tr" +RD /S /Q %2"\lib\zh" +RD /S /Q %2"\lib\zh-TW" + +MOVE /Y %2"ar" %2"lib\" +MOVE /Y %2"cs" %2"lib\" +MOVE /Y %2"da" %2"lib\" +MOVE /Y %2"de" %2"lib\" +MOVE /Y %2"es" %2"lib\" +MOVE /Y %2"fr" %2"lib\" +MOVE /Y %2"it" %2"lib\" +MOVE /Y %2"ja-JP" %2"lib\" +MOVE /Y %2"ko" %2"lib\" +MOVE /Y %2"lv" %2"lib\" +MOVE /Y %2"nl" %2"lib\" +MOVE /Y %2"pl" %2"lib\" +MOVE /Y %2"pt" %2"lib\" +MOVE /Y %2"pt-BR" %2"lib\" +MOVE /Y %2"ru" %2"lib\" +MOVE /Y %2"sk" %2"lib\" +MOVE /Y %2"sv" %2"lib\" +MOVE /Y %2"th" %2"lib\" +MOVE /Y %2"tr" %2"lib\" +MOVE /Y %2"zh" %2"lib\" +MOVE /Y %2"zh-TW" %2"lib\" + + +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-WPS-DEB /MIR +REM Baglietto +REM ROBOCOPY %2 \\192.168.60.15\Steamware\IOB-WIN-WPS-DEB /MIR +REM GIACOVELLI LOCOROTONDO +REM ROBOCOPY %2 \\192.168.1.93\Steamware\IOB-WIN-WPS-DEB /MIR +REM IMI Remosa +REM ROBOCOPY %2 \\192.168.0.12\Steamware\IOB-WIN-WPS-DEB /MIR + +REM IOB-WIN-SIM +REM ROBOCOPY %2 \\IOB-WIN-SIMULA\Steamware\IOB-WIN-WPS-DEB /MIR + +REM IOBVPN4MACHINE +REM ROBOCOPY %2 \\10.51.90.5\Steamware\IOB-WIN-WPS-DEB /MIR +REM ROBOCOPY %2 \\10.51.90.5\Steamware\IOB-WIN-WPS-DEB /MIR /log:RobocopyTransfer.log +REM ROBOCOPY %2 Z:\IOB-WIN-WPS-DEB /MIR +REM ROBOCOPY %2 \\10.51.90.10\Steamware\IOB-WIN-WPS-DEB /MIR +ROBOCOPY %2 \\10.51.90.9\Steamware\IOB-WIN-WPS-DEB /MIR + +goto END + +:END +echo Fatto! \ No newline at end of file diff --git a/IOB-WIN-OPC-UA/setupTgt.bat b/IOB-WIN-OPC-UA/setupTgt.bat new file mode 100644 index 00000000..ba685c02 --- /dev/null +++ b/IOB-WIN-OPC-UA/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-OPC-UA/temp/.placeholder b/IOB-WIN-OPC-UA/temp/.placeholder new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/IOB-WIN-OPC-UA/temp/.placeholder @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/IOB-WIN-PING/IOB-WIN-PING.csproj b/IOB-WIN-PING/IOB-WIN-PING.csproj index d56536fb..dd6f71f1 100644 --- a/IOB-WIN-PING/IOB-WIN-PING.csproj +++ b/IOB-WIN-PING/IOB-WIN-PING.csproj @@ -135,10 +135,9 @@ Resources.resx True - + Always - - + App.config True @@ -182,9 +181,6 @@ Always - - Always -