diff --git a/IOB-WIN/DATA/CONF/3004.ini b/IOB-WIN/DATA/CONF/3004.ini index 5774d8d4..e5e9c183 100644 --- a/IOB-WIN/DATA/CONF/3004.ini +++ b/IOB-WIN/DATA/CONF/3004.ini @@ -22,9 +22,15 @@ CMDADV1=?valore= CMDREBO=/sendReboot.aspx?idxMacchina= [MEMORY] -BITRED=Y8.4 -BITYELLOW=Y8.5 -BITGREEN=Y8.6 +AREAG_SIZE=48 +AREAX_SIZE=0 +AREAY_SIZE=12 +; Red: Y3.2 | Yellow: !Y8.0 | Green Y4.5 | All DoorsClosed: Y4.0 (X5.1) | ..........WrkZone Y8.7 +;BIT0=CONN +BIT1=Y4.5 +BIT2=PZCOUNT +BIT3=!Y8.0 +BIT4=Y3.6 [BLINK] ;MAX_COUNTER_BLINK = 30 @@ -42,7 +48,7 @@ BLINK_FILT=0 [OPTPAR] ;PZCOUNT_MODE=STD|BIT -PZCOUNT_MODE=BIT +PZCOUNT_MODE=STD PZ_CAD_MADDR=1602 PZ_REQ_MADDR=1603 PZ_DONE_MADDR=1604 diff --git a/IOB-WIN/IobFanuc.cs b/IOB-WIN/IobFanuc.cs index c61af1c6..09f2e815 100644 --- a/IOB-WIN/IobFanuc.cs +++ b/IOB-WIN/IobFanuc.cs @@ -180,11 +180,13 @@ namespace IOB_WIN } else { + contapezzi = 0; lg.Info("Contapezzi STD disabilitato: modalità {0}", currIobConf.optPar["PZCOUNT_MODE"]); } } else { + contapezzi = 0; lg.Info("Parametro mancante PZCOUNT_MODE"); } } @@ -411,6 +413,8 @@ namespace IOB_WIN string bKey = ""; string bVal = ""; char area; + // valore INVERTED (default è false) + bool invSignal = false; string memArea = ""; string[] memIdx; int bitNum = 0; @@ -452,7 +456,15 @@ namespace IOB_WIN } else // area "normale" byte.bit { + // di norma è segnale normale => 1, altrimenti inverse => 0... + invSignal = false; area = bVal[0]; + // cerco se sia inverse (ultimo char "!") --> registro e elimino char... + if (bVal.EndsWith("!")) + { + invSignal = true; + bVal = bVal.Replace("!", ""); + } // altrimenti decodifico area... memArea = bVal.Substring(1, bVal.Length - 1); memIdx = memArea.Split('.'); @@ -477,10 +489,22 @@ namespace IOB_WIN default: break; } - // controllo se il bit sia attivo... - if ((byte2check & (1 << bitNum)) == (1 << bitNum)) + // a secondo che sia segnale normale o inverso... + if (invSignal) { - B_input += 1 << i; + // controllo se il bit sia NON attivo (basso)... == 0... + if ((byte2check & (1 << bitNum)) == 0) + { + B_input += 1 << i; + } + } + else + { + // controllo se il bit sia attivo (alto)... != 0 + if ((byte2check & (1 << bitNum)) != 0) + { + B_input += 1 << i; + } } } } diff --git a/Jenkinsfile b/Jenkinsfile index 8cb7f8ec..4c3eafd7 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -14,7 +14,7 @@ pipeline { /* calcolo numero versione... diverso x branch MASTER/DEVELOP */ script { - withEnv(['NEXT_BUILD_NUMBER=231']) { + withEnv(['NEXT_BUILD_NUMBER=232']) { // env.versionNumber = VersionNumber(versionNumberString : '1.17.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true) env.versionNumber = VersionNumber(versionNumberString : '1.17.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}') env.APP_NAME = 'MAPO-IOB-WIN'