diff --git a/AgentBin/simulator/CMS_DEMO.xml b/AgentBin/simulator/CMS_DEMO.xml index c42dde0..1a42b2c 100644 --- a/AgentBin/simulator/CMS_DEMO.xml +++ b/AgentBin/simulator/CMS_DEMO.xml @@ -12,7 +12,10 @@ - + + + + diff --git a/MTC_Sim/.vs/MTC_Sim/v14/.suo b/MTC_Sim/.vs/MTC_Sim/v14/.suo index 36e8193..ca56bed 100644 Binary files a/MTC_Sim/.vs/MTC_Sim/v14/.suo and b/MTC_Sim/.vs/MTC_Sim/v14/.suo differ diff --git a/MTC_Sim/MTC_Sim/AdapterFanuc.cs b/MTC_Sim/MTC_Sim/AdapterFanuc.cs index cc0340c..c02aefb 100644 --- a/MTC_Sim/MTC_Sim/AdapterFanuc.cs +++ b/MTC_Sim/MTC_Sim/AdapterFanuc.cs @@ -151,6 +151,7 @@ namespace MTC_Sim // inizializzo userAction string UserAction = ""; string TestingData = ""; + string UnkStrobe = ""; // controllo TUTTI i flag: se ce ne sono di alzati DEVO processare... if (STRB_DW1 != StFlag32.NONE) { @@ -197,6 +198,11 @@ namespace MTC_Sim bitNum = 6; gestStrobeUserAction(bitNum, ref retACK_DW1, ref UserAction, "# RESET # "); + // processo tutti gli strobe x i BIT 7-29 NON gestiti in modo da dare comunque ACK e event... + for (int i = 7; i < 30; i++) + { + gestStrobeUserAction(i, ref retACK_DW1, ref UnkStrobe, string.Format("# STROBE_{0:00} # ", i)); + } // AREA strobe x TEST // INIZIO TEST... @@ -233,6 +239,9 @@ namespace MTC_Sim // INVIO COMUNQUE vettore azioni (0 o +)... mUserAction.Value = UserAction.Trim(); + // Invio comunque strobe non riconosciuti + mUnkStrobe.Value = UnkStrobe.Trim(); + // INVIO COMUNQUE stato test... mTestingData.Value = TestingData.Trim(); @@ -325,6 +334,23 @@ namespace MTC_Sim { // !!!FARE!!! da definire cosa ci sarĂ  e come leggerlo... } + /// + /// Gestione strobe UserAction: salva dati e gestione ACK + /// + /// + /// + /// + /// + private void gestStrobeUnknown(int bitNum, ref byte[] retACK_DW1, ref string UserAction, string azione) + { + if (STRB_DW1.HasFlag((StFlag32)Math.Pow(2, bitNum))) + { + // salvo evento UserAction in variabile... + UserAction += azione; + // memorizzo allarme nel vettore ack.... + retACK_DW1 = utils.setBitOnStFlag(retACK_DW1, true, bitNum); + } + } /// /// Gestione strobe UserAction: salva dati e gestione ACK diff --git a/MTC_Sim/MTC_Sim/AdapterGeneric.cs b/MTC_Sim/MTC_Sim/AdapterGeneric.cs index 65e69ca..0ccfa94 100644 --- a/MTC_Sim/MTC_Sim/AdapterGeneric.cs +++ b/MTC_Sim/MTC_Sim/AdapterGeneric.cs @@ -690,12 +690,19 @@ namespace MTC_Sim /// /// Azioni operatore (Start/Stop/reset) /// - public Event mUserAction = new Event("UserAction"); + public Event mUserAction = new Event("USER_ACTION"); /// /// Testing macchina /// - public Event mTestingData = new Event("TestingData"); - + public Event mTestingData = new Event("TESTING_DATA"); + /// + /// Strobe rilevati ma non qualificati + /// + public Event mUnkStrobe = new Event("UNK_STROBE"); + /// + /// Status rilevati ma non qualificati + /// + public Event mUnkStatus = new Event("UNK_STATUS"); #endregion @@ -770,6 +777,10 @@ namespace MTC_Sim // testing e autodiagnostica mAdapter.AddDataItem(mTestingData); + // strobe/status non riconosciuti + mAdapter.AddDataItem(mUnkStatus); + mAdapter.AddDataItem(mUnkStrobe); + // Pompe vuoto vettVacPump = new VacuumPomp[adpConf.nVacuumPump]; for (int i = 0; i < adpConf.nVacuumPump; i++)