From 1d9735bcf0d732eba74e1ea631b4b36d458e48bc Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 26 Apr 2017 12:55:26 +0200 Subject: [PATCH] ridotto chiamate x watchdog ANCHE x FANUC --- MTC_Adapter/MTC_Adapter/AdapterFanuc.cs | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs b/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs index e3d583b..0ec75d2 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs @@ -353,19 +353,25 @@ namespace MTC_Adapter private void sendWatchDog() { int memIndex = 0; + bool setFlag = false; byte[] retACK_DW = new byte[4]; // 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 = 10508; - inizio = DateTime.Now; - FanucMemRW(W, FANUC.MemType.R, memIndex, ref retACK_DW); - if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-DW2", 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 = 10508; + inizio = DateTime.Now; + FanucMemRW(W, FANUC.MemType.R, memIndex, ref retACK_DW); + if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-DW2", retACK_DW.Length), DateTime.Now.Subtract(inizio).Ticks); + } } } @@ -1488,7 +1494,7 @@ namespace MTC_Adapter if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-NUMUT", elencoUtMem.Length), DateTime.Now.Subtract(inizio).Ticks); return memIndex; } - + public override void getPath() { base.getPath();