From 087efa1bc24f619c67ec1b4e0ee678864c1d97ab Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Mon, 27 Mar 2017 09:29:56 +0200 Subject: [PATCH] Mappato status processi 1 e 2 x OSAI --- MTC_Adapter/MTC_Adapter/AdapterGeneric.cs | 10 ++++++ MTC_Adapter/MTC_Adapter/AdapterOsai.cs | 38 +++++++++++------------ 2 files changed, 29 insertions(+), 19 deletions(-) diff --git a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs index 1a2df8f..c34dda4 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs @@ -748,6 +748,16 @@ namespace MTC_Adapter } } /// + /// Quarta word di strobe da array flag completo + /// + public StFlag32 STRB_DW4 + { + get + { + return (StFlag32)BitConverter.ToUInt32(Strobes, 16); + } + } + /// /// Prima word di ACKnowledgment da array flag completo /// public StFlag32 ACK_DW0 diff --git a/MTC_Adapter/MTC_Adapter/AdapterOsai.cs b/MTC_Adapter/MTC_Adapter/AdapterOsai.cs index 50013a9..1534294 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterOsai.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterOsai.cs @@ -870,11 +870,11 @@ namespace MTC_Adapter // verifico tipo processo path... if (STRB_DW2.HasFlag(StFlag32.B03)) { - vettPath[idxPath].mPathType.Value = "LAVORO"; + pathType = "LAVORO"; } else { - vettPath[idxPath].mPathType.Value = "ASSERV"; + pathType = "ASSERV"; } // switch su RUN mode... @@ -942,7 +942,7 @@ namespace MTC_Adapter // converto! e aggiungo allarmi sollevati al corretto controller allarmi... if (STRB_DW3.HasFlag((StFlag32)Math.Pow(2, i))) { - SubMode += string.Format(" [P01_{0}]", elencoSubMode[i.ToString()]); + SubMode += string.Format(" [P{0:00}_{1}]", idxPath, elencoSubMode[i.ToString()]); } } } @@ -959,7 +959,7 @@ namespace MTC_Adapter int idxPath = 1; string pathType = ""; // verifico tipo processo path... - if (STRB_DW2.HasFlag(StFlag32.B03)) + if (STRB_DW2.HasFlag(StFlag32.B16)) { vettPath[idxPath].mPathType.Value = "LAVORO"; } @@ -970,54 +970,54 @@ namespace MTC_Adapter // switch su RUN mode... string runMode = ""; - if (STRB_DW2.HasFlag(StFlag32.B04)) + if (STRB_DW2.HasFlag(StFlag32.B17)) { runMode = "AUTOMATIC"; } - else if (STRB_DW2.HasFlag(StFlag32.B05)) + else if (STRB_DW2.HasFlag(StFlag32.B18)) { runMode = "EDIT"; } - else if (STRB_DW2.HasFlag(StFlag32.B06)) + else if (STRB_DW2.HasFlag(StFlag32.B19)) { runMode = "MANUAL_DATA_INPUT"; } - else if (STRB_DW2.HasFlag(StFlag32.B07)) + else if (STRB_DW2.HasFlag(StFlag32.B20)) { runMode = "MANUAL"; } - else if (STRB_DW2.HasFlag(StFlag32.B08)) + else if (STRB_DW2.HasFlag(StFlag32.B21)) { runMode = "SEMI_AUTO"; } // switch su EXE mode... string exeMode = ""; - if (STRB_DW2.HasFlag(StFlag32.B09)) + if (STRB_DW2.HasFlag(StFlag32.B22)) { exeMode = "ACTIVE"; } - else if (STRB_DW2.HasFlag(StFlag32.B10)) + else if (STRB_DW2.HasFlag(StFlag32.B23)) { exeMode = "READY"; } - else if (STRB_DW2.HasFlag(StFlag32.B11)) + else if (STRB_DW2.HasFlag(StFlag32.B24)) { exeMode = "STOPPED"; } - else if (STRB_DW2.HasFlag(StFlag32.B12)) + else if (STRB_DW2.HasFlag(StFlag32.B25)) { exeMode = "FEED_HOLD"; } - else if (STRB_DW2.HasFlag(StFlag32.B13)) + else if (STRB_DW2.HasFlag(StFlag32.B26)) { exeMode = "OPTIONAL_STOP"; } - else if (STRB_DW2.HasFlag(StFlag32.B14)) + else if (STRB_DW2.HasFlag(StFlag32.B27)) { exeMode = "PROGRAM_STOPPED"; } - else if (STRB_DW2.HasFlag(StFlag32.B15)) + else if (STRB_DW2.HasFlag(StFlag32.B28)) { exeMode = "PROGRAM_COMPLETED"; } @@ -1025,15 +1025,15 @@ namespace MTC_Adapter // inizializzo SEMPRE a vuoto... string SubMode = ""; // verifico sulla STRB_DW3 i submode che POTREBBERO tutti sovrapposti... - if (STRB_DW3 != StFlag32.NONE) + if (STRB_DW4 != StFlag32.NONE) { // cerco i bit alzati --> aggiungo relativo submode! for (int i = 0; i < 32; i++) { // converto! e aggiungo allarmi sollevati al corretto controller allarmi... - if (STRB_DW3.HasFlag((StFlag32)Math.Pow(2, i))) + if (STRB_DW4.HasFlag((StFlag32)Math.Pow(2, i))) { - SubMode += string.Format(" [P01_{0}]", elencoSubMode[i.ToString()]); + SubMode += string.Format(" [P{0:00}_{1}]", idxPath, elencoSubMode[i.ToString()]); } } }