From 1cb0bc84b1fde2255d75d40bf972e1b9106dee14 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 7 Sep 2022 18:29:52 +0200 Subject: [PATCH] OPC-UA Cimolai: - conf OPC-UA aggiornata - fix gestione contapezzi --- .../DATA/CONF/BAGLIETTO_CIMOLAI_01.ini | 2 +- .../DATA/CONF/BAGLIETTO_CIMOLAI_01.json | 55 +++++++------------ IOB-WIN-NEXT/IOB-WIN-NEXT.csproj | 3 + IOB-WIN-NEXT/IobGeneric.cs | 14 +++++ IOB-WIN-NEXT/IobOpcUa.cs | 7 ++- IOB-WIN-NEXT/IobOpcUaMBH.cs | 2 +- 6 files changed, 46 insertions(+), 37 deletions(-) diff --git a/IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.ini b/IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.ini index 3dd560c2..d24dd833 100644 --- a/IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.ini +++ b/IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.ini @@ -50,7 +50,7 @@ CHANGE_ODL_MODE=TIME CHANGE_ODL_HOURS=24 CHANGE_ODL_IDLE_MIN=5 PZCOUNT_MODE=OPC -DISABLE_PZCOUNT=FALSE +DISABLE_PZCOUNT=TRUE ENABLE_SEND_PZC_BLOCK=TRUE MIN_SEND_PZC_BLOCK=0 MAX_SEND_PZC_BLOCK=100 diff --git a/IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.json b/IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.json index a6d46af2..8bf8e128 100644 --- a/IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.json +++ b/IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.json @@ -2,21 +2,21 @@ "BrowseFullVal": "ns=2;i=1001", "BrowseNSIndex": 2, "BrowseValue": 1001, - "keyPartCount": "Conteggio", - "keyPartReq": "Set Quantità Lotto", - "keyPartId": "Generale: Nome Ricetta", - "keyProgName": "Generale: Nome Ricetta", + "keyPartCount": "", + "keyPartReq": "", + "keyPartId": "", + "keyProgName": "", "keyRunMode": "", "pingAsPowerOn": true, - "forcePingOk": true, + "forcePingOk": false, "condWork": [ { - "keyName": "Selettore in Automatico", - "targetValue": "True" + "keyName": "ns=2;s=Tags.PLC/DB13/Gen/Marcia_AUX", + "targetValue": "2" }, { - "keyName": "Memoria Ciclo Automatico", - "targetValue": "True" + "keyName": "ns=2;s=Tags.PLC/DB231/InCorso", + "targetValue": "1" } ], "condPowerOn": { @@ -25,27 +25,28 @@ }, "condReady": { "checkMode": "AND", - "checkList": [] + "checkList": [ + { + "keyName": "ns=2;s=Tags.PLC/DB13/Gen/Marcia_AUX", + "targetValue": "2" + } + ] }, "condManual": { "checkMode": "AND", - "checkList": [ - { - "keyName": "Selettore in Manuale", - "targetValue": "True" - } - ] + "checkList": [] }, "condEStop": { "checkMode": "AND", "checkList": [] }, "condError": { - "checkMode": "AND", + "checkMode": "OR", + "negateValue": true, "checkList": [ { - "keyName": "Memoria Allarme Attivo", - "targetValue": "True" + "keyName": "ns=2;s=Tags.PLC/DB13/Gen/ComProfibusMessage", + "targetValue": "0" } ] }, @@ -63,12 +64,7 @@ }, "condSetup": { "checkMode": "AND", - "checkList": [ - { - "keyName": "Fine Lotto (1=Stop Ciclo)", - "targetValue": "1" - } - ] + "checkList": [] }, "fluxLogVeto": [ "" @@ -104,14 +100,5 @@ "MemConfRead": "ns=4;s=tomes_1_Watchdog", "MemConfWrite": "ns=4;s=tomach_1_watchdog", "MaxVal": 9999 - }, - "actStopProd": { - "ns=4;i=14": "1" - }, - "actSetRecipe": { - "ns=4;i=10": "1" - }, - "actResetCounter": { - "ns=4;i=13": "1" } } \ 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 6d50caf8..c1345a08 100644 --- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj +++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj @@ -350,6 +350,9 @@ PreserveNewest + + Always + Always diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index b943a182..7a77bda8 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -3942,6 +3942,20 @@ namespace IOB_WIN_NEXT /// protected int watchDogPeriod = 2; + /// + /// Boolean x indicare contapezzi abilitato a livello di conf apoplicazione + /// + protected bool enablePzCountByApp = true; + + /// + /// Boolean x indicare contapezzi abilitato forzatamente da IOB + /// + protected bool enablePzCountByIob = true; + /// + /// Boolean x indicare contapezzi disabilitato forzatamente da IOB + /// + protected bool disablePzCounteByIob = false; + #endregion Protected Fields #region Protected Properties diff --git a/IOB-WIN-NEXT/IobOpcUa.cs b/IOB-WIN-NEXT/IobOpcUa.cs index c8dd8d34..35763859 100644 --- a/IOB-WIN-NEXT/IobOpcUa.cs +++ b/IOB-WIN-NEXT/IobOpcUa.cs @@ -28,6 +28,11 @@ namespace IOB_WIN_NEXT { // gestione invio ritardato contapezzi pzCountDelay = utils.CRI("pzCountDelay"); + + enablePzCount = utils.CRB("enableContapezzi"); + enablePzCountByIob = (getOptPar("ENABLE_PZCOUNT") == "TRUE"); + disablePzCounteByIob = (getOptPar("DISABLE_PZCOUNT") == "TRUE"); + // gestione data filtering... if (!string.IsNullOrEmpty(getOptPar("ENABLE_DATA_FILTER"))) { @@ -157,7 +162,7 @@ namespace IOB_WIN_NEXT /// public override void processContapezzi() { - if (utils.CRB("enableContapezzi")) + if ((enablePzCountByApp || enablePzCountByIob) && !(disablePzCounteByIob)) { // da ridefinire la gestione base del contapezzi OPC-UA... } diff --git a/IOB-WIN-NEXT/IobOpcUaMBH.cs b/IOB-WIN-NEXT/IobOpcUaMBH.cs index 07f9deb7..13e53759 100644 --- a/IOB-WIN-NEXT/IobOpcUaMBH.cs +++ b/IOB-WIN-NEXT/IobOpcUaMBH.cs @@ -47,7 +47,7 @@ namespace IOB_WIN_NEXT /// public override void processContapezzi() { - if (utils.CRB("enableContapezzi")) + if ((enablePzCountByApp || enablePzCountByIob) && !(disablePzCounteByIob)) { // check condizione validazione if (checkMultiCondition(opcUaParams.condCountEnabled) || opcUaParams.condCountEnabled.checkList.Count == 0)