Riportate alcune variabili in memoria (NO REDIS)
This commit is contained in:
+7
-11
@@ -471,21 +471,13 @@ namespace IOB_UT
|
||||
public class ServerMpStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// ID univoco
|
||||
/// IP server
|
||||
/// </summary>
|
||||
public string Id { get; set; }
|
||||
public string IP { get; set; }
|
||||
/// <summary>
|
||||
/// Status del server
|
||||
/// </summary>
|
||||
public bool online { get; set; } = false;
|
||||
/// <summary>
|
||||
/// DataOra veto invio chaimate a server
|
||||
/// </summary>
|
||||
public DateTime dtVetoPing { get; set; } = DateTime.Now.AddDays(-1);
|
||||
/// <summary>
|
||||
/// DataOra veto invio chaimate a server
|
||||
/// </summary>
|
||||
public DateTime dtVetoCall { get; set; } = DateTime.Now.AddDays(-1);
|
||||
}
|
||||
/// <summary>
|
||||
/// Rappresentazione dello stato corrente dell'IOB
|
||||
@@ -495,12 +487,16 @@ namespace IOB_UT
|
||||
/// <summary>
|
||||
/// ID univoco
|
||||
/// </summary>
|
||||
public string Id { get; set; } = "0";
|
||||
public string CodIob { get; set; } = "0";
|
||||
/// <summary>
|
||||
/// Status del SINGOLO IOB
|
||||
/// </summary>
|
||||
public bool online { get; set; } = false;
|
||||
/// <summary>
|
||||
/// Indica se sia correntemente in setup
|
||||
/// </summary>
|
||||
public bool inSetup { get; set; } = false;
|
||||
/// <summary>
|
||||
/// Semaforo IN (IOB-PLC)
|
||||
/// </summary>
|
||||
public Semaforo SemIn { get; set; } = Semaforo.ND;
|
||||
|
||||
+35
-13
@@ -9,7 +9,6 @@ namespace IOB_UT
|
||||
{
|
||||
public class RedisIobCache
|
||||
{
|
||||
|
||||
#region gestione valori in RedisCache
|
||||
|
||||
/// <summary>
|
||||
@@ -862,11 +861,8 @@ namespace IOB_UT
|
||||
|
||||
#endregion
|
||||
|
||||
#region gestione redis specifica
|
||||
|
||||
/// <summary>
|
||||
/// Codice server MP
|
||||
/// </summary>
|
||||
protected string CodServer = "1";
|
||||
/// <summary>
|
||||
/// Cod IOB
|
||||
/// </summary>
|
||||
@@ -880,6 +876,17 @@ namespace IOB_UT
|
||||
/// </summary>
|
||||
protected string redIobKey = "";
|
||||
/// <summary>
|
||||
/// init classe "implicita"
|
||||
/// </summary>
|
||||
/// <param name="codServer"></param>
|
||||
/// <param name="codIob"></param>
|
||||
public RedisIobCache()
|
||||
{
|
||||
// init dati di base...
|
||||
redServKey = redHash($"MP");
|
||||
redIobKey = redHash($"IOB:{CodIob}");
|
||||
}
|
||||
/// <summary>
|
||||
/// init classe gestione dati IOB su Redis
|
||||
/// </summary>
|
||||
/// <param name="codServer"></param>
|
||||
@@ -887,20 +894,19 @@ namespace IOB_UT
|
||||
public RedisIobCache(string codServer, string codIob)
|
||||
{
|
||||
// init dati di base...
|
||||
CodServer = codServer;
|
||||
CodIob = codIob;
|
||||
redServKey = redHash($"MP:{CodServer}");
|
||||
redServKey = redHash($"MP");
|
||||
redIobKey = redHash($"IOB:{CodIob}");
|
||||
// init oggetti gestiti
|
||||
ServerMpStatus newSrvStatus = new ServerMpStatus()
|
||||
{
|
||||
Id = CodServer,
|
||||
IP = codServer,
|
||||
online = false
|
||||
};
|
||||
// init oggetto IOB
|
||||
IobWinStatus newIobStatus = new IobWinStatus()
|
||||
{
|
||||
Id = CodIob,
|
||||
CodIob = CodIob,
|
||||
online = false
|
||||
};
|
||||
// salvo in area REDIS
|
||||
@@ -922,7 +928,6 @@ namespace IOB_UT
|
||||
{
|
||||
answ = new ServerMpStatus()
|
||||
{
|
||||
Id = CodServer,
|
||||
online = false
|
||||
};
|
||||
// salvo serializzando...
|
||||
@@ -957,7 +962,7 @@ namespace IOB_UT
|
||||
{
|
||||
answ = new IobWinStatus()
|
||||
{
|
||||
Id = CodIob,
|
||||
CodIob = CodIob,
|
||||
online = false
|
||||
};
|
||||
// salvo serializzando...
|
||||
@@ -977,9 +982,8 @@ namespace IOB_UT
|
||||
setRSV(redIobKey, rawData);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Variabile in cui viene salvato lo stato del server MP-IO
|
||||
/// Variabile in cui viene salvato lo stato ONLINE del server MP-IO
|
||||
/// </summary>
|
||||
public bool MPIO_Online
|
||||
{
|
||||
@@ -994,6 +998,24 @@ namespace IOB_UT
|
||||
servStatus = currData;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Variabile in cui viene salvato lo stato ONLINE dell'IOB
|
||||
/// </summary>
|
||||
public bool IOB_Online
|
||||
{
|
||||
get
|
||||
{
|
||||
return iobStatus.online;
|
||||
}
|
||||
set
|
||||
{
|
||||
var currData = iobStatus;
|
||||
currData.online = value;
|
||||
iobStatus = currData;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
+33
-23
@@ -45,33 +45,49 @@ namespace IOB_UT
|
||||
|
||||
public class baseUtils
|
||||
{
|
||||
#if false
|
||||
|
||||
/// <summary>
|
||||
/// Variabile in cui viene salvato lo stato del server MP-IO
|
||||
/// Oggetto connessione REDIS
|
||||
/// </summary>
|
||||
public static bool MPIO_Online
|
||||
{
|
||||
get
|
||||
{
|
||||
return redManager.servStatus.online;
|
||||
}
|
||||
set
|
||||
{
|
||||
var currData = redManager.servStatus;
|
||||
currData.online = value;
|
||||
//currData.dtVetoCall = DateTime.Now;
|
||||
redManager.servStatus = currData;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
public static RedisIobCache redisMan = new RedisIobCache();
|
||||
/// <summary>
|
||||
/// Indicazione VETO PING a server sino alla data-ora indicata
|
||||
/// </summary>
|
||||
public static DateTime dtVetoPing = DateTime.Now;
|
||||
#if false
|
||||
{
|
||||
get
|
||||
{
|
||||
return redisMan.servStatus.dtVetoPing;
|
||||
}
|
||||
set
|
||||
{
|
||||
var currData = redisMan.servStatus;
|
||||
currData.dtVetoPing = value;
|
||||
redisMan.servStatus = currData;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/// <summary>
|
||||
/// Indicazione VETO invio a server sino alla data-ora indicata
|
||||
/// </summary>
|
||||
public static DateTime dtVetoSend = DateTime.Now;
|
||||
#if false
|
||||
{
|
||||
get
|
||||
{
|
||||
return redisMan.servStatus.dtVetoSend;
|
||||
}
|
||||
set
|
||||
{
|
||||
var currData = redisMan.servStatus;
|
||||
currData.dtVetoSend = value;
|
||||
redisMan.servStatus = currData;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Calcola una pausa con errore casuale x il prossimo send programmato verso SERVER
|
||||
/// </summary>
|
||||
@@ -88,12 +104,6 @@ namespace IOB_UT
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
#if false
|
||||
/// <summary>
|
||||
/// oggetto static x gestione baseUtils
|
||||
/// </summary>
|
||||
public static baseUtils mgr = new baseUtils();
|
||||
#endif
|
||||
/// <summary>
|
||||
/// Classe logger
|
||||
/// </summary>
|
||||
|
||||
@@ -7,12 +7,13 @@ NAME=master
|
||||
;MPIP=192.168.1.7
|
||||
; server VALVITAL
|
||||
;MPIP=192.168.214.4
|
||||
; Server Steamware
|
||||
;MPIP=10.74.82.218
|
||||
; server interclays
|
||||
MPIP=10.0.0.233
|
||||
;MPIP=10.0.0.233
|
||||
; server REMOSA
|
||||
MPIP=192.168.0.110
|
||||
;MPIP=192.168.0.110
|
||||
|
||||
; Server Steamware
|
||||
MPIP=10.74.82.218
|
||||
MPURL=/MP/IO
|
||||
CMDREBO=/IOB/sendRebootGateway?GWIP=
|
||||
CMDIOB2CALL=/IOB/getIob2call?GWIP=
|
||||
|
||||
+17
-13
@@ -203,13 +203,13 @@ namespace IOB_WIN
|
||||
|
||||
// aggiungo referenza obj FANUC
|
||||
FANUC_ref = (FANUC)Runtime.NC;
|
||||
if (isVerboseLog)
|
||||
if (isVerboseLog)
|
||||
{
|
||||
lgInfo("FANUC_ref da CncLib");
|
||||
}
|
||||
|
||||
// disconnetto e connetto...
|
||||
if (isVerboseLog)
|
||||
if (isVerboseLog)
|
||||
{
|
||||
lgInfo("FANUC: tryDisconnect");
|
||||
}
|
||||
@@ -361,7 +361,7 @@ namespace IOB_WIN
|
||||
{
|
||||
memAddressFanuc areaCounter = new memAddressFanuc(memAddr);
|
||||
|
||||
if (isVerboseLog)
|
||||
if (isVerboseLog)
|
||||
{
|
||||
lgInfo("[0] area memoria: {0}.{1}.{2}", areaCounter.mType, areaCounter.mPos, areaCounter.vType);
|
||||
}
|
||||
@@ -936,14 +936,16 @@ namespace IOB_WIN
|
||||
}
|
||||
|
||||
// salvo ultimo conteggio rilevato
|
||||
Int32.TryParse(outputVal.ToString(), out lastCountCNC);
|
||||
int newVal = -1;
|
||||
Int32.TryParse(outputVal.ToString(), out newVal);
|
||||
lastCountCNC = newVal > -1 ? newVal : lastCountCNC;
|
||||
}
|
||||
// altrimenti se legge da area memoria specifica leggo da li... formto tipo STD.D.1604.DW
|
||||
else
|
||||
{
|
||||
memAddressFanuc areaCounter = new memAddressFanuc(memAddr);
|
||||
|
||||
if (isVerboseLog)
|
||||
if (isVerboseLog)
|
||||
{
|
||||
lgInfo("[0] area memoria: {0}.{1}.{2}", areaCounter.mType, areaCounter.mPos, areaCounter.vType);
|
||||
}
|
||||
@@ -966,13 +968,13 @@ namespace IOB_WIN
|
||||
case "DW":
|
||||
uint valDW = 0;
|
||||
FANUC_ref.F_RW_DWord(false, areaCounter.mType, areaCounter.mPos, ref valDW);
|
||||
if (isVerboseLog)
|
||||
if (isVerboseLog)
|
||||
{
|
||||
lgInfo("[1] valDW contapezzi: {0}", valDW);
|
||||
}
|
||||
|
||||
outputVal = valDW;
|
||||
if (isVerboseLog)
|
||||
if (isVerboseLog)
|
||||
{
|
||||
lgInfo("[2] outputVal contapezzi: {0}", outputVal);
|
||||
}
|
||||
@@ -987,8 +989,10 @@ namespace IOB_WIN
|
||||
}
|
||||
|
||||
// salvo...
|
||||
Int32.TryParse(outputVal.ToString(), out lastCountCNC);
|
||||
if (isVerboseLog)
|
||||
int newVal = -1;
|
||||
Int32.TryParse(outputVal.ToString(), out newVal);
|
||||
lastCountCNC = newVal > -1 ? newVal : lastCountCNC;
|
||||
if (isVerboseLog)
|
||||
{
|
||||
lgInfo("[3] lastCountCNC contapezzi: {0}", lastCountCNC);
|
||||
}
|
||||
@@ -1091,7 +1095,7 @@ namespace IOB_WIN
|
||||
{
|
||||
memAddressFanuc areaCounter = new memAddressFanuc(memAddr);
|
||||
|
||||
if (isVerboseLog)
|
||||
if (isVerboseLog)
|
||||
{
|
||||
lgInfo("[0] area memoria: {0}.{1}.{2}", areaCounter.mType, areaCounter.mPos, areaCounter.vType);
|
||||
}
|
||||
@@ -1114,13 +1118,13 @@ namespace IOB_WIN
|
||||
case "DW":
|
||||
uint valDW = 0;
|
||||
FANUC_ref.F_RW_DWord(false, areaCounter.mType, areaCounter.mPos, ref valDW);
|
||||
if (isVerboseLog)
|
||||
if (isVerboseLog)
|
||||
{
|
||||
lgInfo("[1] valDW PAR: {0}", valDW);
|
||||
}
|
||||
|
||||
outputVal = valDW;
|
||||
if (isVerboseLog)
|
||||
if (isVerboseLog)
|
||||
{
|
||||
lgInfo("[2] outputVal PAR: {0}", outputVal);
|
||||
}
|
||||
@@ -1136,7 +1140,7 @@ namespace IOB_WIN
|
||||
|
||||
// salvo...
|
||||
answ = outputVal.ToString();
|
||||
if (isVerboseLog)
|
||||
if (isVerboseLog)
|
||||
{
|
||||
lgInfo("[3] PAR letto: {0} | {1}", varName, answ);
|
||||
}
|
||||
|
||||
+172
-64
@@ -46,13 +46,163 @@ namespace IOB_WIN
|
||||
}
|
||||
|
||||
public class IobGeneric
|
||||
{
|
||||
{
|
||||
#region variabili serializzate in REDIS
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto connessione REDIS
|
||||
/// </summary>
|
||||
public RedisIobCache redisMan;
|
||||
/// <summary>
|
||||
/// Indica impianto IN SETUP (fino a quando SMETTE di esserlo...)
|
||||
/// </summary>
|
||||
protected bool inSetup
|
||||
{
|
||||
get
|
||||
{
|
||||
return redisMan.iobStatus.inSetup;
|
||||
}
|
||||
set
|
||||
{
|
||||
var currData = redisMan.iobStatus;
|
||||
currData.inSetup = value;
|
||||
redisMan.iobStatus = currData;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Indicazione VETO PING a server sino alla data-ora indicata
|
||||
/// </summary>
|
||||
public DateTime dtVetoPing
|
||||
{
|
||||
get
|
||||
{
|
||||
return utils.dtVetoPing;
|
||||
}
|
||||
set
|
||||
{
|
||||
utils.dtVetoPing = value;
|
||||
}
|
||||
#if false
|
||||
get
|
||||
{
|
||||
return redisMan.servStatus.dtVetoPing;
|
||||
}
|
||||
set
|
||||
{
|
||||
var currData = redisMan.servStatus;
|
||||
currData.dtVetoPing = value;
|
||||
redisMan.servStatus = currData;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/// <summary>
|
||||
/// Indicazione VETO invio a server sino alla data-ora indicata
|
||||
/// </summary>
|
||||
public DateTime dtVetoSend
|
||||
{
|
||||
get
|
||||
{
|
||||
return utils.dtVetoSend;
|
||||
}
|
||||
set
|
||||
{
|
||||
utils.dtVetoSend = value;
|
||||
}
|
||||
#if false
|
||||
get
|
||||
{
|
||||
return redisMan.servStatus.dtVetoSend;
|
||||
}
|
||||
set
|
||||
{
|
||||
var currData = redisMan.servStatus;
|
||||
currData.dtVetoSend = value;
|
||||
redisMan.servStatus = currData;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
/// <summary>
|
||||
/// Indicazione VETO check status IOB x evitare loop troppo stretti...
|
||||
/// </summary>
|
||||
public DateTime dtVetoCheckIOB = DateTime.Now.AddDays(-1);
|
||||
#if false
|
||||
{
|
||||
get
|
||||
{
|
||||
return redisMan.iobStatus.dtVetoCheckIOB;
|
||||
}
|
||||
set
|
||||
{
|
||||
var currData = redisMan.iobStatus;
|
||||
currData.dtVetoCheckIOB = value;
|
||||
redisMan.iobStatus = currData;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/// <summary>
|
||||
/// Contapezzi attuale
|
||||
/// </summary>
|
||||
public Int32 contapezzi
|
||||
{
|
||||
get
|
||||
{
|
||||
return (Int32)redisMan.iobStatus.counterIOB;
|
||||
}
|
||||
set
|
||||
{
|
||||
var currData = redisMan.iobStatus;
|
||||
currData.counterIOB = value;
|
||||
redisMan.iobStatus = currData;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Ultima lettura variabile contapezzi da CNC
|
||||
/// </summary>
|
||||
public Int32 lastCountCNC
|
||||
{
|
||||
get
|
||||
{
|
||||
return (Int32)redisMan.iobStatus.counterMAC;
|
||||
}
|
||||
set
|
||||
{
|
||||
var currData = redisMan.iobStatus;
|
||||
currData.counterMAC = value;
|
||||
redisMan.iobStatus = currData;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// stato Online/Offline della IOB
|
||||
/// </summary>
|
||||
public bool IobOnline
|
||||
{
|
||||
get
|
||||
{
|
||||
return redisMan.IOB_Online;
|
||||
}
|
||||
set
|
||||
{
|
||||
redisMan.IOB_Online = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// stato Online/Offline del server MP IO (su REDIS)
|
||||
/// </summary>
|
||||
public bool MPOnline
|
||||
{
|
||||
get
|
||||
{
|
||||
return redisMan.MPIO_Online;
|
||||
}
|
||||
set
|
||||
{
|
||||
redisMan.MPIO_Online = value;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region variabili ed oggetti base
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto connessioen REDIS
|
||||
/// </summary>
|
||||
public RedisIobCache redisMan;
|
||||
/// <summary>
|
||||
/// Dizionario valori impostati x produzione
|
||||
/// </summary>
|
||||
@@ -61,10 +211,6 @@ namespace IOB_WIN
|
||||
/// TImeout x ping al server
|
||||
/// </summary>
|
||||
protected int pingServerMsTimeout = utils.CRI("pingMsTimeout");
|
||||
/// <summary>
|
||||
/// Indica impianto IN SETUP (fino a quando SMETTE di esserlo...)
|
||||
/// </summary>
|
||||
protected bool inSetup = false;
|
||||
/// <summary>
|
||||
/// Log verboso da configurazione (SOLO CHAIVE "verbose"...
|
||||
/// </summary>
|
||||
@@ -72,33 +218,9 @@ namespace IOB_WIN
|
||||
/// <summary>
|
||||
/// Coda massima ammessa per FLog (se <=0 disattivata...)
|
||||
/// </summary>
|
||||
protected int maxQueueFLog { get; set; } = utils.CRI("maxQueueFLog");
|
||||
/// <summary>
|
||||
/// Indicazione VETO invio a server sino alla data-ora indicata
|
||||
/// </summary>
|
||||
public static DateTime dtVetoPing
|
||||
{
|
||||
get
|
||||
{
|
||||
return utils.dtVetoPing;
|
||||
}
|
||||
set
|
||||
{
|
||||
utils.dtVetoPing = value;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Indicazione VETO check status IOB x evitare loop troppo stretti...
|
||||
/// </summary>
|
||||
public DateTime dtVetoCheckIOB = DateTime.Now;
|
||||
/// <summary>
|
||||
/// Contapezzi attuale
|
||||
/// </summary>
|
||||
public Int32 contapezzi;
|
||||
/// <summary>
|
||||
/// Ultima lettura variabile contapezzi da CNC
|
||||
/// </summary>
|
||||
public Int32 lastCountCNC;
|
||||
protected int maxQueueFLog { get; set; } = utils.CRI("maxQueueFLog");
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ODL attualmente sulla macchina
|
||||
/// </summary>
|
||||
@@ -443,24 +565,7 @@ namespace IOB_WIN
|
||||
/// Conteggio ATTUALE ore macchina IN LAVORO
|
||||
/// </summary>
|
||||
public double contOreMaccLav;
|
||||
/// <summary>
|
||||
/// stato Online/Offline della IOB
|
||||
/// </summary>
|
||||
public bool IobOnline;
|
||||
/// <summary>
|
||||
/// stato Online/Offline del server MP IO (su REDIS)
|
||||
/// </summary>
|
||||
public bool MPOnline
|
||||
{
|
||||
get
|
||||
{
|
||||
return redisMan.MPIO_Online;
|
||||
}
|
||||
set
|
||||
{
|
||||
redisMan.MPIO_Online = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Data/ora ultima volta che IOB è stato dichairato online
|
||||
/// </summary>
|
||||
@@ -476,10 +581,11 @@ namespace IOB_WIN
|
||||
/// <summary>
|
||||
/// Dizionario di VARIABILI da trattare come eventi (da inviare quando cambiano oppure a scadenza periodo...)
|
||||
/// </summary>
|
||||
protected Dictionary<string, EVData> VarArray = new Dictionary<string, EVData>();
|
||||
|
||||
protected Dictionary<string, EVData> VarArray = new Dictionary<string, EVData>();
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Form chiamante
|
||||
/// </summary>
|
||||
@@ -1010,8 +1116,10 @@ namespace IOB_WIN
|
||||
{
|
||||
// se "-1" resto a ultimo...
|
||||
if (currServerCount != "-1")
|
||||
{
|
||||
int.TryParse(currServerCount, out contapezzi);
|
||||
{
|
||||
int newVal = -1;
|
||||
Int32.TryParse(currServerCount, out newVal);
|
||||
contapezzi = newVal > -1 ? newVal : contapezzi;
|
||||
lgInfo("Ricevuta conferma da server di {0} pezzi registrati per ODL", currServerCount);
|
||||
}
|
||||
else
|
||||
@@ -2873,16 +2981,16 @@ namespace IOB_WIN
|
||||
}
|
||||
// salvo status...
|
||||
IobOnline = answ;
|
||||
// se offline imposto veto check a 5 x tempo reinvio...
|
||||
if (!answ)
|
||||
// se offline imposto veto check a 2 x tempo reinvio...
|
||||
if (answ)
|
||||
{
|
||||
dtVetoCheckIOB = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 10);
|
||||
// non controllo x meno...
|
||||
dtVetoCheckIOB = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 2);
|
||||
lastIobOnline = DateTime.Now;
|
||||
}
|
||||
else
|
||||
{
|
||||
// non controllo x meno...
|
||||
dtVetoCheckIOB = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 5);
|
||||
lastIobOnline = DateTime.Now;
|
||||
dtVetoCheckIOB = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 10);
|
||||
}
|
||||
}
|
||||
catch
|
||||
|
||||
+3
-1
@@ -912,7 +912,9 @@ namespace IOB_WIN
|
||||
// se ho un contapezzi... processo...
|
||||
if (!string.IsNullOrEmpty(currPzCount))
|
||||
{
|
||||
int.TryParse(currPzCount, out lastCountCNC);
|
||||
int newVal = -1;
|
||||
Int32.TryParse(currPzCount, out newVal);
|
||||
lastCountCNC = newVal > -1 ? newVal : lastCountCNC;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1106,7 +1106,9 @@ namespace IOB_WIN
|
||||
break;
|
||||
}
|
||||
// salvo...
|
||||
Int32.TryParse(outputVal.ToString(), out lastCountCNC);
|
||||
int newVal = -1;
|
||||
Int32.TryParse(outputVal.ToString(), out newVal);
|
||||
lastCountCNC = newVal > -1 ? newVal : lastCountCNC;
|
||||
if (isVerboseLog)
|
||||
{
|
||||
lgInfo("[2] outputVal contapezzi: {0}", outputVal);
|
||||
|
||||
Reference in New Issue
Block a user