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++)