update gestioen watchdog: meno chiamate + miglior calcolo impiego canale
This commit is contained in:
@@ -629,6 +629,10 @@ namespace MTC_Adapter
|
||||
/// </summary>
|
||||
public bool adpTryRestart;
|
||||
/// <summary>
|
||||
/// Ultimo valore watchdog rilevato
|
||||
/// </summary>
|
||||
public bool lastWatchDog = false;
|
||||
/// <summary>
|
||||
/// Determina se utilizzare blocchi di memoria IOT contigui (e quindi processing "monoblocco" semplificato"=
|
||||
/// </summary>
|
||||
public bool procIotMem = false;
|
||||
|
||||
@@ -458,7 +458,7 @@ namespace MTC_Adapter
|
||||
{
|
||||
inizio = DateTime.Now;
|
||||
OsaiMemRW_Byte(W, OSAI.MemTypeWord.MW_CODE, memIndexAck, 0, ref currACK_DW);
|
||||
if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-B", currACK_DW.Length), DateTime.Now.Subtract(inizio).Ticks);
|
||||
if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-ACK_DW0", currACK_DW.Length), DateTime.Now.Subtract(inizio).Ticks);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
@@ -504,7 +504,7 @@ namespace MTC_Adapter
|
||||
{
|
||||
inizio = DateTime.Now;
|
||||
OsaiMemRW_Byte(W, OSAI.MemTypeWord.MW_CODE, memIndexAck, memOrderStart, ref currACK_DW);
|
||||
if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-B", currACK_DW.Length), DateTime.Now.Subtract(inizio).Ticks);
|
||||
if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-ACK_DW0", currACK_DW.Length), DateTime.Now.Subtract(inizio).Ticks);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
@@ -513,19 +513,25 @@ namespace MTC_Adapter
|
||||
private void sendWatchDog()
|
||||
{
|
||||
int memIndex = 0;
|
||||
bool setFlag = false;
|
||||
byte[] retACK_DW = new byte[1];
|
||||
// 2016.10.18 aggiungo scrittura del bit di "watchdog" al primo bit della DW2... come resto tra secondi / 2
|
||||
if (utils.CRB("sendWatchDog"))
|
||||
{
|
||||
int resto = 0;
|
||||
Math.DivRem(DateTime.Now.Second, 2, out resto);
|
||||
bool setFlag = resto == 0;
|
||||
retACK_DW = utils.setBitOnStFlag(retACK_DW, setFlag, 0); // imposto primo bit!!!
|
||||
// scrivo su area PLC
|
||||
memIndex = 19022;
|
||||
inizio = DateTime.Now;
|
||||
OsaiMemRW_Byte(W, OSAI.MemTypeWord.MW_CODE, memIndex, 0, ref retACK_DW);
|
||||
if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-B", retACK_DW.Length), DateTime.Now.Subtract(inizio).Ticks);
|
||||
setFlag = resto == 0;
|
||||
// se watchdog è cambiato lo invio, altrimenti lascio come è...
|
||||
if (setFlag != lastWatchDog)
|
||||
{
|
||||
lastWatchDog = setFlag;
|
||||
retACK_DW = utils.setBitOnStFlag(retACK_DW, setFlag, 0); // imposto primo bit!!!
|
||||
// scrivo su area PLC
|
||||
memIndex = 19022;
|
||||
inizio = DateTime.Now;
|
||||
OsaiMemRW_Byte(W, OSAI.MemTypeWord.MW_CODE, memIndex, 0, ref retACK_DW);
|
||||
if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-WatchDog", retACK_DW.Length), DateTime.Now.Subtract(inizio).Ticks);
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
@@ -1544,7 +1550,7 @@ namespace MTC_Adapter
|
||||
{
|
||||
// recupero vettore generale G MODE
|
||||
inizio = DateTime.Now;
|
||||
ushort[] vettGCodes= new ushort[14];
|
||||
ushort[] vettGCodes = new ushort[14];
|
||||
OSAI_ref.getPathGCodeMod(ref vettGCodes);
|
||||
if (utils.CRB("recTime")) TimingData.addResult("R-GCodModal", DateTime.Now.Subtract(inizio).Ticks);
|
||||
|
||||
@@ -1615,7 +1621,7 @@ namespace MTC_Adapter
|
||||
|
||||
parentForm.dataMonitor_2 += sb_2.ToString();
|
||||
parentForm.dataMonitor_3 += sb_3.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void getAxis()
|
||||
|
||||
Reference in New Issue
Block a user