diff --git a/IOB-WIN/DATA/CONF/VL23.ini b/IOB-WIN/DATA/CONF/VL23.ini index 74048aea..c2d00145 100644 --- a/IOB-WIN/DATA/CONF/VL23.ini +++ b/IOB-WIN/DATA/CONF/VL23.ini @@ -27,8 +27,8 @@ CMDREBO=/sendReboot.aspx?idxMacchina= [MEMORY] ADDR_READ=DB64.DBB0 ADDR_WRITE=DB67.DBB0 -SIZE_READ=24 -SIZE_WRITE=4 +SIZE_READ=30 +SIZE_WRITE=770 ;BIT0=CONN ;BIT1=DB60.DBB1 ;BIT2=PZCOUNT.STD.DB700.DBW22 @@ -51,29 +51,16 @@ BLINK_FILT=0 ;BLINK_FILT=28 [OPTPAR] -NO_PING=true +;NO_PING=true ;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice ; attenzione memoria sempre base BYTE (1604 DW --> 6416...) -PZCOUNT_MODE=STD.DB1001.DBDW2 +PZCOUNT_MODE=STD.DB64.DBDW2 DISABLE_PZCOUNT=TRUE ENABLE_DYN_DATA=TRUE FORCE_DYN_DATA=TRUE -TSVC_Power_01=MAX:5 -TSVC_Power_02=MAX:5 -TSVC_Power_03=MAX:5 -TSVC_Power_04=MAX:5 -TSVC_TempPirom_01=MAX:5 -TSVC_TempPirom_02=MAX:5 -TSVC_TempPirom_03=MAX:5 -TSVC_TempPirom_04=MAX:5 -TSVC_TempCool_01=MAX:5 -TSVC_TempCool_02=MAX:5 -TSVC_TempCool_03=MAX:5 -TSVC_TempCool_04=MAX:5 -TSVC_PartStatus_01=MAX:5 -TSVC_PartStatus_02=MAX:5 -TSVC_PartStatus_03=MAX:5 -TSVC_PartStatus_04=MAX:5 +NEW_DYN_DATA=TRUE +; conf parametri memoria READ/WRITE +PARAM_CONF=VL23.json [BRANCH] NAME=master \ No newline at end of file diff --git a/IOB-WIN/DATA/CONF/VL23.json b/IOB-WIN/DATA/CONF/VL23.json new file mode 100644 index 00000000..b7997ed7 --- /dev/null +++ b/IOB-WIN/DATA/CONF/VL23.json @@ -0,0 +1,126 @@ +{ + "mMapWrite": { + "setArt": { + "name": "setArt", + "description": "Articolo", + "memAddr": "DB67.DBB2", + "tipoMem": "String", + "index": 2, + "size": 256 + }, + "setComm": { + "name": "setComm", + "description": "Commessa", + "memAddr": "DB67.DBB258", + "tipoMem": "String", + "index": 258, + "size": 256 + }, + "setPzComm": { + "name": "setPzComm", + "description": "Qty", + "memAddr": "DB67.DBB514", + "tipoMem": "String", + "index": 514, + "size": 256 + } + }, + "mMapRead": { + "Temp_Olio": { + "name": "Temp_Olio", + "description": "Temperatura Olio", + "memAddr": "DB64.DBB6", + "tipoMem": "Real", + "index": 6, + "size": 4, + "func": "MAX", + "period": 60, + "factor": 1 + }, + "Power": { + "name": "Power", + "description": "Forza", + "memAddr": "DB64.DBB10", + "tipoMem": "Real", + "index": 10, + "size": 2, + "func": "MAX", + "period": 60, + "factor": 1 + }, + "VelAsseSup": { + "name": "VelAsseSup", + "description": "Vel Asse Superiore", + "memAddr": "DB64.DBB12", + "tipoMem": "Real", + "index": 12, + "size": 2, + "func": "MAX", + "period": 60, + "factor": 1 + }, + "VelAsseInf": { + "name": "VelAsseInf", + "description": "Vel Asse Inferiore", + "memAddr": "DB64.DBB14", + "tipoMem": "Real", + "index": 14, + "size": 2, + "func": "MAX", + "period": 60, + "factor": 1 + }, + "Pressione": { + "name": "Pressione", + "description": "Pressione", + "memAddr": "DB64.DBB16", + "tipoMem": "Real", + "index": 16, + "size": 2, + "func": "MAX", + "period": 60, + "factor": 1 + }, + "Tensione": { + "name": "Tensione", + "description": "Tensione", + "memAddr": "DB64.DBB18", + "tipoMem": "Real", + "index": 18, + "size": 2, + "func": "MAX", + "period": 60, + "factor": 1 + }, + "Corrente": { + "name": "Corrente", + "description": "Corrente", + "memAddr": "DB64.DBB20", + "tipoMem": "DInt", + "index": 20, + "size": 4, + "func": "MAX", + "period": 60 + }, + "Potenza": { + "name": "Potenza", + "description": "Potenza", + "memAddr": "DB64.DBB24", + "tipoMem": "DInt", + "index": 24, + "size": 4, + "func": "MAX", + "period": 60 + }, + "CosPhi": { + "name": "CosPhi", + "description": "CosPhi", + "memAddr": "DB64.DBB88", + "tipoMem": "Real", + "index": 28, + "size": 2, + "func": "MAX", + "period": 60, + "factor": 1 + } +} } diff --git a/IOB-WIN/IOB-WIN.csproj b/IOB-WIN/IOB-WIN.csproj index e7942f7d..0588eb3c 100644 --- a/IOB-WIN/IOB-WIN.csproj +++ b/IOB-WIN/IOB-WIN.csproj @@ -248,6 +248,7 @@ + diff --git a/IOB-WIN/IobSiemensComur.cs b/IOB-WIN/IobSiemensComur.cs index ebff5274..19c153ce 100644 --- a/IOB-WIN/IobSiemensComur.cs +++ b/IOB-WIN/IobSiemensComur.cs @@ -92,7 +92,6 @@ namespace IOB_WIN case taskType.forceResetPzCount: case taskType.forceSetPzCount: case taskType.setProg: - case taskType.stopSetup: case taskType.sendWatchDogMes2Plc: taskVal = $"taskReq: {tName} | key: {item.Key} | val: {item.Value} | SKIPPED | NO EXEC"; break; @@ -133,6 +132,12 @@ namespace IOB_WIN MemBlock[0] = (byte)1; memAddrWrite = "DB150.DBB4"; break; + case taskType.stopSetup: + // processo scrittura BIT su DB150.DBX4.0 + MemBlock = new byte[1]; + MemBlock[0] = (byte)0; + memAddrWrite = "DB150.DBB4"; + break; default: taskVal = "SKIPPED | NO EXEC"; break; diff --git a/IOB-WIN/IobSiemensLasco.cs b/IOB-WIN/IobSiemensLasco.cs index 686df5b4..c33f7355 100644 --- a/IOB-WIN/IobSiemensLasco.cs +++ b/IOB-WIN/IobSiemensLasco.cs @@ -176,8 +176,6 @@ namespace IOB_WIN case taskType.forceResetPzCount: case taskType.forceSetPzCount: case taskType.setProg: - case taskType.startSetup: - case taskType.stopSetup: taskVal = $"taskReq: {tName} | key: {item.Key} | val: {item.Value} | SKIPPED | NO EXEC"; break; case taskType.setArt: @@ -219,7 +217,15 @@ namespace IOB_WIN int valore = inSetup ? 1 : 0; valore += (byte)(counterMes2Plc << 7); MemBlock[0] = (byte)valore; - taskVal = $"VALUE DB1002.92 --> {counterMes2Plc}"; + taskVal = $"VALUE DB1002.92 --> {valore} | counter interno {counterMes2Plc}"; + break; + case taskType.startSetup: + // salvo che SONO IN SETUP! + inSetup = true; + break; + case taskType.stopSetup: + // salvo che SONO FUORI DAL SETUP! + inSetup = false; break; default: taskVal = "SKIPPED | NO EXEC"; diff --git a/IOB-WIN/IobSiemensPressoilCei.cs b/IOB-WIN/IobSiemensPressoilCei.cs index 8551370e..ffedfbfa 100644 --- a/IOB-WIN/IobSiemensPressoilCei.cs +++ b/IOB-WIN/IobSiemensPressoilCei.cs @@ -1,5 +1,4 @@ -using IOB_UT; -using MapoSDK; +using MapoSDK; using System; using System.Collections.Generic; @@ -11,51 +10,11 @@ namespace IOB_WIN public class IobSiemensPressoilCei : IobSiemens { /* -------------------------------------------------------------------------------- - * Controlli SIEMENS SAET (impianti ad induzione in VALVITAL) + * Controlli SIEMENS CEI PRESSOIL (impianti ad induzione in VALVITAL) * - basasto su SIEMENS * - S7 vers 1500 * - * STRUTTURA MEMORIA DB1275: primi 92 byte lettura, poi 56 byte scrittura, vedere doc allegato - * G:\Drive condivisi\30_Clienti\Valvital\Comunicazione PLC\SAET (forno e tempra) - * - * Si intende tutto con DB1275.DBxx - * - * - parametri processo - * - DBD00: Watchdog INT SAET Alive ( 1-9999 ) - * - * - DB60.DBD6: pressione camera filtrante (salvataggio del MAX ogni minuto) | var testVal = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(0).Take(4).ToArray()); - * - DB60.DBD10: pressione linea utenze (salvataggio del MAX ogni minuto) - * - DB60.DBD14: temperatura acqua pulita (salvataggio del MAX ogni minuto) - * - * - BIT di stato - * - DBX2.1: READY TO RUN in AUTOMATICO - * - DBX2.3: Macchina in LAVORAZIONE - * - DBX2.4: WARNING Differenza tra Part Code MES - Saet (blu) - * - DBX2.5: se 1 --> LAMPADA ROSSA (allarmi almeno 1 attivo) - * - * PartCounter DINT 4.0 Conteggio Parziale di pezzi "OK" prodotti dalla macchina - * NumberCode String [12] 8.0 Valore numerico associato alla ricetta di produzione attualmente utilizzata dalla macchina - * NewCode INT 22.0 "1= Avvenuta ricezione del segnale ""richiesta nuovo ordine di produzione (NEW CODE)"" - * ricevuto dal server,impostabile su 1 solo quando la macchina NON è in produzione attiva" - * Potenza utilizzata ST.1 REAL 24 Potenza utilizzata dalla stazione di riscaldo 1 [kW] - * Potenza utilizzata ST.2 REAL 28 Potenza utilizzata dalla stazione di riscaldo 2 [kW] - * Potenza utilizzata ST.3 REAL 32 Potenza utilizzata dalla stazione di riscaldo 3 [kW] - * Potenza utilizzata ST.4 REAL 36 Potenza utilizzata dalla stazione di riscaldo 4 [kW] - * Lettura Pirometro ST.1 REAL 40 Lettura Pirometro della stazione di riscaldo 1 [°C] - * Lettura Pirometro ST.2 REAL 44 Lettura Pirometro della stazione di riscaldo 2 [°C] - * Lettura Pirometro ST.3 REAL 48 Lettura Pirometro della stazione di riscaldo 3 [°C] - * Lettura Pirometro ST.4 REAL 52 Lettura Pirometro della stazione di riscaldo 4 [°C] - * Temperatura Acqua Raff Conv. ST.1 REAL 56 Temperarura Acqua di Raffreddamento Convertitore Stazione di Riscaldo 1 [°C] - * Temperatura Acqua Raff Conv. ST.2 REAL 60 Temperarura Acqua di Raffreddamento Convertitore Stazione di Riscaldo 2 [°C] - * Temperatura Acqua Raff Conv. ST.3 REAL 64 Temperarura Acqua di Raffreddamento Convertitore Stazione di Riscaldo 3 [°C] - * Temperatura Acqua Raff Conv. ST.4 REAL 68 Temperarura Acqua di Raffreddamento Convertitore Stazione di Riscaldo 4 [°C] - * Part_Status ST.1 INT 72 Stato Pezzo Stazione di Riscaldo 1 (0=Assente 1=Grezzo 10=OK 11=NOK) - * Part_Status ST.2 INT 74 Stato Pezzo Stazione di Riscaldo 2 (0=Assente 1=Grezzo 10=OK 11=NOK) - * Part_Status ST.3 INT 76 Stato Pezzo Stazione di Riscaldo 3 (0=Assente 1=Grezzo 10=OK 11=NOK) - * Part_Status ST.4 INT 78 Stato Pezzo Stazione di Riscaldo 4 (0=Assente 1=Grezzo 10=OK 11=NOK) - * Reserve_12 REAL 80 Riserva - * Reserve_13 REAL 84 Riserva - * Reserve_14 REAL 88 Riserva + * STRUTTURA MEMORIA DB64 READ e DB67 WRITE, vedere file conf json * -------------------------------------------------------------------------------- */ @@ -71,68 +30,10 @@ namespace IOB_WIN public IobSiemensPressoilCei(AdapterForm caller, IobConfiguration IOBConf) : base(caller, IOBConf) { lgInfo("NEW IOB SIEMENS versione PRESSOIL - CEI"); - lastPLCWatchDog = DateTime.Now.AddMinutes(-1); - // imposto i parametri speciali x calcolo... - var chiaviTSVC = findOptPar("TSVC"); - if (chiaviTSVC.Count > 0) - { - lgInfo($"Trovate {chiaviTSVC.Count} chiavi TSVC"); - string[] codVal; - VCData currConf; - int periodo = 0; - VC_func funz = VC_func.POINT; - // accodo nella conf... - foreach (var item in chiaviTSVC) - { - codVal = item.Value.Split(':'); - Enum.TryParse(codVal[0], out funz); - int.TryParse(codVal[1], out periodo); - currConf = new VCData() - { - Funzione = funz, - Period = periodo, - DTStart = DateTime.Now.AddHours(-1), - dataArray = new List() - }; - TSVC_Data.Add(item.Key.Replace("TSVC_", ""), currConf); - } - // documento... - foreach (var item in TSVC_Data) - { - lgInfo($"TSVC: {item.Key} | periodo: {item.Value.Period} | funz: {item.Value.Funzione}"); - // salvo i valori PREC... - LastTSVC.Add(item.Key, 0); - } - } } #region Metodi specifici (da verificare/completare in implementazione) - /// - /// Effettua processing del recupero delle OVERRIDE (spindle, feedrate, rapid) - /// - public override void processOverride() - { - } - - public override void processWhatchDog() - { - // scrivo 1 volta al secondo il contatore incrementale su area apposita - DateTime adesso = DateTime.Now; - if (adesso.Subtract(lastPLCWatchDog).TotalSeconds > 1) - { - // incremento - counterMes2Plc++; - // salvo su DB - Dictionary task2exe = new Dictionary(); - Dictionary taskDone = new Dictionary(); - task2exe.Add("SendWatchDogMes2Plc", counterMes2Plc.ToString()); - taskDone = executeTasks(task2exe); - // salvo watchdog PLC - lastPLCWatchDog = adesso; - } - } - /// /// Processo i task richiesti e li elimino dalla coda 1:1 /// @@ -143,109 +44,95 @@ namespace IOB_WIN Dictionary taskDone = new Dictionary(); bool taskOk = false; string taskVal = ""; - // inizio con 1 byte VUOTO - byte[] MemBlock = new byte[2]; - - // cerco task specifici: se ho startSetup --> imposto bit DBB701.DBB0.4 - foreach (var item in task2exe) + // inizio con 1 byte di default + byte[] MemBlock = new byte[1]; + string memAddrWrite = ""; + if (task2exe != null) { - taskOk = false; - taskVal = ""; - // converto richiesta in enum... - taskType tName = taskType.nihil; - Enum.TryParse(item.Key, out tName); - // controllo sulla KEY - //!!!FIXME!!! totalmente da rivedere - switch (tName) + // cerco task specifici + foreach (var item in task2exe) { - case taskType.nihil: - case taskType.fixStopSetup: - case taskType.forceResetPzCount: - case taskType.forceSetPzCount: - case taskType.setArt: - case taskType.setComm: - case taskType.setProg: - case taskType.startSetup: - case taskType.stopSetup: - case taskType.sendWatchDogMes2Plc: - taskVal = $"taskReq: {tName} | key: {item.Key} | val: {item.Value} | SKIPPED | NO EXEC"; - break; - default: - taskVal = "SKIPPED | NO EXEC"; - break; + taskOk = false; + taskVal = ""; + // converto richiesta in enum... + taskType tName = taskType.nihil; + Enum.TryParse(item.Key, out tName); + // controllo sulla KEY + switch (tName) + { + case taskType.nihil: + case taskType.fixStopSetup: + case taskType.forceResetPzCount: + case taskType.forceSetPzCount: + case taskType.setProg: + taskVal = $"taskReq: {tName} | key: {item.Key} | val: {item.Value} | SKIPPED | NO EXEC"; + break; + case taskType.setArt: + case taskType.setComm: + case taskType.setPzComm: + saveProdData(item); + int byteSize = 0; + // recupero dati da memMap... altrimenti NULLA + if (memMap.mMapWrite.ContainsKey(item.Key)) + { + dataConf currMem = memMap.mMapWrite[item.Key]; + byteSize = currMem.size; + memAddrWrite = currMem.memAddr; + MemBlock = new byte[byteSize]; + if (currMem.tipoMem == plcDataType.String) + { + saveStringOnMemBlock(ref MemBlock, item.Key, 0, byteSize, true); + } + else if (currMem.tipoMem == plcDataType.DInt) + { + int valDInt = 0; + int.TryParse(item.Value, out valDInt); + MemBlock = S7.Net.Types.DInt.ToByteArray(valDInt); + } + else if (currMem.tipoMem == plcDataType.Int) + { + short valDInt = 0; + short.TryParse(item.Value, out valDInt); + MemBlock = S7.Net.Types.Int.ToByteArray(valDInt); + } + } + taskVal = item.Value; + break; + case taskType.sendWatchDogMes2Plc: + // processo scrittura BIT su DB67.DBX0.0 + MemBlock = new byte[1]; + memAddrWrite = "DB67.DBB0"; + // compogo in byte... primo bit è setup/run, ultimo è watchdog + int valore = inSetup ? 1 : 0; + valore += (byte)(counterMes2Plc << 7); + MemBlock[0] = (byte)valore; + taskVal = $"VALUE DB67.0 --> {valore} | counter interno {counterMes2Plc}"; + break; + case taskType.startSetup: + // salvo che SONO IN SETUP! + inSetup = true; + break; + case taskType.stopSetup: + // salvo che SONO FUORI DAL SETUP! + inSetup = false; + break; + default: + taskVal = "SKIPPED | NO EXEC"; + break; + } + // aggiungo task! + taskDone.Add(item.Key, taskVal); + // scrivo comunque! + taskOk = S7WriteBB(ref MemBlock, memAddrWrite); + if (!taskOk) + { + lgError($"Errore in S7WriteBB durante executeTasks: {item.Key} | {item.Value}"); + } } - // aggiungo task! - taskDone.Add(item.Key, taskVal); } - // scrivo comunque! - taskOk = S7WriteBB(ref MemBlock); - return taskDone; } - - /// - /// Recupero dati dinamici in formato dictionary - /// - /// - public override Dictionary getDynData() - { - Dictionary outVal = new Dictionary(); -#if false - try - { - /* ---------------------------------------------------------- - * DB60.DBD6: pressione camera filtrante (salvataggio del MAX ogni minuto) | var testVal = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(0).Take(4).ToArray()); - * DB60.DBD10: pressione linea utenze (salvataggio del MAX ogni minuto) - * DB60.DBD14: temperatura acqua pulita (salvataggio del MAX ogni minuto) - * */ - double pressCamFilt = S7.Net.Types.Double.FromByteArray(RawInput.Skip(6).Take(4).ToArray()); - double pressLinUt = S7.Net.Types.Double.FromByteArray(RawInput.Skip(10).Take(4).ToArray()); - double tempH2O = S7.Net.Types.Double.FromByteArray(RawInput.Skip(14).Take(4).ToArray()); - - if (utils.CRB("enableTSVC")) - { - // salvo in stack le VC rilevate - bool scad01 = stackVal_TSVC("pressCamFilt", pressCamFilt); - bool scad02 = stackVal_TSVC("pressLinUt", pressLinUt); - bool scad03 = stackVal_TSVC("tempH2O", tempH2O); - - // verifico SE devo riportare dati VC - if (scad01 || scad02 || scad03) - { - pressCamFilt = getVal_TSVC("pressCamFilt", scad01); - pressLinUt = getVal_TSVC("pressLinUt", scad02); - tempH2O = getVal_TSVC("tempH2O", scad03); - outVal.Add("DYNDATA", $"pressCamFilt {pressCamFilt:N6} | pressLinUt {pressLinUt:N6} | tempH2O {tempH2O:N3}"); - outVal.Add("pressCamFilt", $"{pressCamFilt:N6}"); - outVal.Add("pressLinUt", $"{pressLinUt:N6}"); - outVal.Add("tempH2O", $"{tempH2O:N3}"); - // salvo! - LastTSVC["pressCamFilt"] = pressCamFilt; - LastTSVC["pressLinUt"] = pressLinUt; - LastTSVC["tempH2O"] = tempH2O; - } - else - { - outVal.Add("DYNDATA", $"pressCamFilt {LastTSVC["pressCamFilt"]:N6} | pressLinUt {LastTSVC["pressLinUt"]:N6} | tempH2O {LastTSVC["tempH2O"]:N3}"); - } - } - else - { - outVal.Add("pressCamFilt", $"{pressCamFilt:N6}"); - outVal.Add("pressLinUt", $"{pressLinUt:N6}"); - outVal.Add("tempH2O", $"{tempH2O:N3}"); - outVal.Add("DYNDATA", $"pressCamFilt {pressCamFilt:N3} | pressLinUt {pressLinUt:N3} | tempH2O {tempH2O:N3}"); - } - } - catch (Exception exc) - { - lgError(exc, "Errore in getDynData x Siemens Aprochim"); - } -#endif - return outVal; - } - /// /// Effettua decodifica aree memoria alla bitmap usata x MAPO /// @@ -265,51 +152,51 @@ namespace IOB_WIN * * * - BIT di stato - * - DB60.DBX3.0: AUSILIARI INSERITI = NO EMERGENZA - * - DB60.DBX3.1: Filtro (macchina) in LAVORAZIONE - * - DB60.DBX3.2: Selettore in AUTOMATICO (sennò GIALLO) - * - DB60.DBX3.3: WARNING MIN LIV VASCA (arancio) - * - DB60.DBX3.4: WARNING MIN LIV CELLULOSA (blu) - * - DB60.DBX3.5: LAMPADA ROSSA (allarmi almeno 1 attivo) + * - DBX0.0 - Life bit + * - DBX0.1 – Macchina lavora + * - DBX0.2 – Macchina in ciclo + * - DBX0.3 – Macchina in manuale + * - DBX0.4 – Macchina in allarme + * - DBX0.5 – Macchina in emergenza + * ----------------------------------------------------- */ + byte mainData = RawInput[0]; - - /* ----------------------------------------------------- - * bitmap MAPO FILTRO Aprochim - * B0: POWER_ON - * B1: RUN - * B2: AUTOMATICO - * B3: WARN_MIN_VASCA - * B4: WARN_MIN_CELL - * B5: ALARM - * B6: EMERGENZA - ----------------------------------------------------- */ - - // bit 0 (poweron) imposto a 1 SE connected... - B_input = currPLC.IsConnected ? 1 : 0; - - // recupero byte segnali... - int byteSignals = RawInput[3]; - // aggiungo "in coda" primo bit emergenza...essendo un bit negato (NON emergenza) lo cambio di segno - if ((byteSignals & (1 << 0)) == 0) - { - byteSignals += (1 << 6); - } - // cancello primo bit (faccio uno shift a dx e poi a sx di 1...) - byteSignals = ((byteSignals >> 1) << 1); + int byteSignals = 0; // bit 0 (poweron) imposto a 1 SE connected... if (currPLC.IsConnected) { byteSignals += (1 << 0); } + // RUN se lavora ed in ciclo + if ((mainData & (1 << 1)) == 1 && (mainData & (1 << 2)) == 1) + { + byteSignals += (1 << 1); + } + // manuale + if ((mainData & (1 << 3)) == 1) + { + byteSignals += (1 << 4); + } + // allarme + if ((mainData & (1 << 4)) == 1) + { + byteSignals += (1 << 3); + } + // emergenza + if ((mainData & (1 << 5)) == 1) + { + byteSignals += (1 << 5); + } + // salvo! B_input = byteSignals; // log opzionale! if (verboseLog) { - lgInfo(string.Format($"Trasformazione dati: RawInput:{RawInput[3]} --> B_input: {B_input}")); + lgInfo($"Trasformazione dati: RawInput:{RawInput[0]} --> B_input: {B_input}"); } } diff --git a/Jenkinsfile b/Jenkinsfile index c9d3d59a..c4b03649 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -16,7 +16,7 @@ pipeline { /* calcolo numero versione... diverso x branch MASTER/DEVELOP */ script { - withEnv(['NEXT_BUILD_NUMBER=505']) { + withEnv(['NEXT_BUILD_NUMBER=506']) { // env.versionNumber = VersionNumber(versionNumberString : '2.4.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true) env.versionNumber = VersionNumber(versionNumberString : '2.4.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}') env.APP_NAME = 'MAPO-IOB-WIN'