Aggiunta gestione doppio watchdog...
This commit is contained in:
@@ -2523,7 +2523,17 @@ namespace MTC_Adapter
|
||||
public void sendWatchDog()
|
||||
{
|
||||
bool setFlag = false;
|
||||
byte[] retACK_DW = new byte[1];
|
||||
// 2017.07.24 gestisco 32 bit perché c'è la aprte finale del doppio watchdog incrociato...
|
||||
byte[] retACK_DW = new byte[4];
|
||||
// gestione su ultimi 2 bit della DW2 STR/ACK: il PRIMO bit è gestito in master da ADAPTER, il secondo da PLC; in primis io COPIO il valore del bit finale (di cui è slave...)
|
||||
retACK_DW = utils.setBitOnStFlag(retACK_DW, STRB_DW2.HasFlag(StFlag32.B31), 31);
|
||||
// ...poi gestisco il penultimo bit di cui è master...
|
||||
if (STRB_DW2.HasFlag(StFlag32.B30) == ACK_DW2.HasFlag(StFlag32.B30))
|
||||
{
|
||||
// ... SE in ingresso ho strobe uguale lo cambio!!!
|
||||
retACK_DW = utils.setBitOnStFlag(retACK_DW, !ACK_DW2.HasFlag(StFlag32.B30), 30);
|
||||
}
|
||||
|
||||
// 2016.10.18 aggiungo scrittura del bit di "watchdog" al primo bit della DW2... come resto tra secondi / 2
|
||||
if (utils.CRB("sendWatchDog"))
|
||||
{
|
||||
@@ -2535,11 +2545,11 @@ namespace MTC_Adapter
|
||||
{
|
||||
lastWatchDog = setFlag;
|
||||
retACK_DW = utils.setBitOnStFlag(retACK_DW, setFlag, 0); // imposto primo bit!!!
|
||||
// scrivo su area PLC
|
||||
inizio = DateTime.Now;
|
||||
writeWatchDog(ref retACK_DW);
|
||||
if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-WatchDog", retACK_DW.Length), DateTime.Now.Subtract(inizio).Ticks);
|
||||
}
|
||||
// scrivo su area PLC
|
||||
inizio = DateTime.Now;
|
||||
writeWatchDog(ref retACK_DW);
|
||||
if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-WatchDog", retACK_DW.Length), DateTime.Now.Subtract(inizio).Ticks);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user