From 53d63d37237b60c71da16544874ec06b7dcf88f0 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Mon, 29 Jan 2018 18:51:39 +0100 Subject: [PATCH] DynData condizionale... e inzio a leggere semafori... --- IOB-WIN/App.config | 3 ++- IOB-WIN/IobGeneric.cs | 41 ++++++++++++++++--------------- IOB-WIN/IobSiemensTorri.cs | 49 ++++++++++++++------------------------ Jenkinsfile | 2 +- 4 files changed, 43 insertions(+), 52 deletions(-) diff --git a/IOB-WIN/App.config b/IOB-WIN/App.config index dfbab3bd..ef633747 100644 --- a/IOB-WIN/App.config +++ b/IOB-WIN/App.config @@ -9,7 +9,8 @@ - + + diff --git a/IOB-WIN/IobGeneric.cs b/IOB-WIN/IobGeneric.cs index 00f6e01a..79909379 100644 --- a/IOB-WIN/IobGeneric.cs +++ b/IOB-WIN/IobGeneric.cs @@ -1512,27 +1512,30 @@ namespace IOB_WIN /// public void processDynData() { - Dictionary currDynData = new Dictionary(); - if (!DemoIn) + if (utils.CRB("enableDynData")) { - currDynData = getDynData(); - } - else - { - currDynData.Add("DYNDATA", string.Format("D-{0:HHmm}", DateTime.Now)); - } - // verifico SE sia cambiato il programma... - if (lastDynData != currDynData["DYNDATA"]) - { - // salvo! - lastDynData = currDynData["DYNDATA"]; - // per ogni valore del dizionario mostro ed accodo! - string sVal = ""; - foreach (var item in currDynData) + Dictionary currDynData = new Dictionary(); + if (!DemoIn) { - sVal = string.Format("[DYNDATA]{0}|{1}", item.Key, item.Value); - // chiamo accodamento... - accodaFLog(sVal, qEncodeFLog(item.Key, item.Value)); + currDynData = getDynData(); + } + else + { + currDynData.Add("DYNDATA", string.Format("D-{0:HHmm}", DateTime.Now)); + } + // verifico SE sia cambiato il programma... + if (lastDynData != currDynData["DYNDATA"]) + { + // salvo! + lastDynData = currDynData["DYNDATA"]; + // per ogni valore del dizionario mostro ed accodo! + string sVal = ""; + foreach (var item in currDynData) + { + sVal = string.Format("[DYNDATA]{0}|{1}", item.Key, item.Value); + // chiamo accodamento... + accodaFLog(sVal, qEncodeFLog(item.Key, item.Value)); + } } } } diff --git a/IOB-WIN/IobSiemensTorri.cs b/IOB-WIN/IobSiemensTorri.cs index a07508cf..e8e5f881 100644 --- a/IOB-WIN/IobSiemensTorri.cs +++ b/IOB-WIN/IobSiemensTorri.cs @@ -431,27 +431,7 @@ namespace IOB_WIN byte[] MemBlock = new byte[parametri.memSizeRead]; bool fatto = S7ReadBB(ref MemBlock); Buffer.BlockCopy(MemBlock, 0, RawInput, 0, parametri.memSizeRead); -#if false - // Red: Y8.4 | Yellow: Y8.5 | Green Y8.6 | WrkZone Y8.7 | All DoorsClosed: Y10.5 - int memIndex = 8; - inizio = DateTime.Now; - FanucMemRW(R, FANUC.MemType.Y, memIndex, ref MemBlock); - if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-Y", MemBlock.Length), DateTime.Now.Subtract(inizio).Ticks); - // riporto! - Buffer.BlockCopy(MemBlock, 0, RawInput, 0, 4); - - - // ora mi leggo 2 byte in area X... HARD CODED, rendere parametrico... - MemBlock = new byte[2]; - // GESTIONE memoria endcycle - // la variabile X7.0 (da 1 a 0) oppure la X7.1 (da 0 a 1) indica il CONTAPEZZI --> copio 2 byte! - inizio = DateTime.Now; - FanucMemRW(R, FANUC.MemType.X, 6, ref MemBlock); - if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-X", MemBlockF.Length), DateTime.Now.Subtract(inizio).Ticks); - // riporto! - Buffer.BlockCopy(MemBlock, 0, RawInput, 4, 2); if (verboseLog) lg.Info(string.Format("RawInput: {0}", utils.binaryForm((int)RawInput[0]))); -#endif // salvo il solo BYTE dell'input decifrando il semaforo... decodeToBitmap(); } @@ -462,33 +442,40 @@ namespace IOB_WIN { // init a zero... B_input = 0; -#if false + + // temporaneamente decodifico HARD CODED... poi implementerò da MemMap... + + // !!!FARE!!! generalizzazione... x ora usa dati "hard coded"... //Red: Y8.4 | Yellow: Y8.5 | Green Y8.6 // leggo i byte interessati... int byteSem = RawInput[0]; +#if false int byteCount = RawInput[5]; if (verboseLog) lg.Info(string.Format("PrimoByte: {0}", byteSem)); - +#endif + B_input = byteSem; +#if false if (utils.CRB("macOnFromConn")) { // SE SI E' CONNESSO al FANUC allora è 1... - if (FANUC_ref.Connected) + if (currPLC.IsConnected) { B_input += 1 << 0; } } else { - // B0: facio un OR tra i 3 semafori... - if ((byteSem & 112) > 0) + // B0.0: powerOn + if ((byteSem & 1) > 0) { B_input += 1 << 0; } } - // B1: verde! Y8.6 - if ((byteSem & 64) > 0) + + // Verde: B0.1 + if ((byteSem & 2) > 0) { B_input += 1 << 1; } @@ -496,9 +483,9 @@ namespace IOB_WIN if ((byteCount & 2) > 0) { B_input += 1 << 2; - } - // B3: Rosso! Y8.4 - if ((byteSem & 16) > 0) + } + // Rosso: B0.3 + if ((byteSem & 8) > 0) { B_input += 1 << 3; } @@ -507,9 +494,9 @@ namespace IOB_WIN { B_input += 1 << 4; } +#endif // log opzionale! if (verboseLog) lg.Info(string.Format("Trasformazione B_input: {0}", B_input)); -#endif } /// /// Recupero programma in lavorazione diff --git a/Jenkinsfile b/Jenkinsfile index 5939c458..4b765392 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -14,7 +14,7 @@ pipeline { /* calcolo numero versione... diverso x branch MASTER/DEVELOP */ script { - withEnv(['NEXT_BUILD_NUMBER=203']) { + withEnv(['NEXT_BUILD_NUMBER=204']) { // env.versionNumber = VersionNumber(versionNumberString : '1.17.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true) env.versionNumber = VersionNumber(versionNumberString : '1.17.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}') env.APP_NAME = 'MAPO-IOB-WIN'