diff --git a/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs b/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs
index 998c7b7..2c3653b 100644
--- a/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs
+++ b/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs
@@ -692,69 +692,31 @@ namespace MTC_Adapter
mEStop.Value = "ARMED";
}
- // HARD CODE: forzo path 1 (indice 0...)
- int idxPath = 0;
- // switch su run mode...
+ // verifico POWER ON...
if (STRB_DW2.HasFlag(StFlag32.B01))
{
- vettPath[idxPath].mPathRunMode.Value = "AUTOMATIC";
+ mPower.Value = "ON";
}
- else if (STRB_DW2.HasFlag(StFlag32.B02))
+ else
{
- vettPath[idxPath].mPathRunMode.Value = "EDIT";
- }
- else if (STRB_DW2.HasFlag(StFlag32.B03))
- {
- vettPath[idxPath].mPathRunMode.Value = "MANUAL_DATA_INPUT";
- }
- else if (STRB_DW2.HasFlag(StFlag32.B04))
- {
- vettPath[idxPath].mPathRunMode.Value = "MANUAL";
- }
- else if (STRB_DW2.HasFlag(StFlag32.B05))
- {
- vettPath[idxPath].mPathRunMode.Value = "MANUAL"; // "JOG";
- }
- else if (STRB_DW2.HasFlag(StFlag32.B06))
- {
- vettPath[idxPath].mPathRunMode.Value = "MANUAL"; //"JOGINC";
- }
- else if (STRB_DW2.HasFlag(StFlag32.B07))
- {
- vettPath[idxPath].mPathRunMode.Value = "MANUAL"; //"HANDLE";
+ mPower.Value = "OFF";
}
- // switch su EXE mode...
- string exeMode = "";
- if (STRB_DW2.HasFlag(StFlag32.B08))
+ // Processo selezionato 0=P1, 1=P2
+ if (STRB_DW2.HasFlag(StFlag32.B02))
{
- exeMode = "ACTIVE";
+ mPower.Value = "P2";
}
- else if (STRB_DW2.HasFlag(StFlag32.B09))
+ else
{
- exeMode = "READY";
- }
- else if (STRB_DW2.HasFlag(StFlag32.B10))
- {
- exeMode = "STOPPED"; // "HOLD";
- }
- else if (STRB_DW2.HasFlag(StFlag32.B11))
- {
- exeMode = "FEED_HOLD"; // "FEEDHOLD";
- }
- //// appunto: modi da creare
- //INTERRUPTED(da creare)
- //OPTIONAL_STOP(da creare)
- //PROGRAM_STOPPED(da creare)
- //PROGRAM_COMPLETED(da creare)
-
- if (vettPath[idxPath].mPathExeMode.Value.ToString() != exeMode)
- {
- vettPath[idxPath].mPathExeMode.Value = exeMode;
+ mPower.Value = "P1";
}
- // verifico tipo path...
- if (STRB_DW2.HasFlag(StFlag32.B12))
+ // HARD CODE: forzo path 1 (indice 0...)
+ int idxPath = 0;
+
+ // verifico tipo processo path...
+ if (STRB_DW2.HasFlag(StFlag32.B03))
{
vettPath[idxPath].mPathType.Value = "LAVORO";
}
@@ -763,15 +725,79 @@ namespace MTC_Adapter
vettPath[idxPath].mPathType.Value = "ASSERV";
}
- // verifico POWER ON...
- if (STRB_DW2.HasFlag(StFlag32.B13))
+ // switch su RUN mode...
+ string runMode = "";
+ if (STRB_DW2.HasFlag(StFlag32.B04))
{
- mPower.Value = "ON";
+ runMode = "AUTOMATIC";
}
- else
+ else if (STRB_DW2.HasFlag(StFlag32.B05))
{
- mPower.Value = "OFF";
+ runMode = "EDIT";
}
+ else if (STRB_DW2.HasFlag(StFlag32.B06))
+ {
+ runMode = "MANUAL_DATA_INPUT";
+ }
+ else if (STRB_DW2.HasFlag(StFlag32.B07))
+ {
+ runMode = "MANUAL";
+ }
+ else if (STRB_DW2.HasFlag(StFlag32.B08))
+ {
+ runMode = "SEMI_AUTO";
+ }
+ // salvo valore selezionato
+ if (vettPath[idxPath].mPathRunMode.Value.ToString() != runMode)
+ {
+ vettPath[idxPath].mPathRunMode.Value = runMode;
+ }
+
+ //EsecuzioneRUN-- > "ACTIVE"
+ //EsecuzioneREADY-- > "READY"
+ //EsecuzioneSTOP-- > "STOPPED"
+ //EsecuzioneFEEDHOLD-- > "FEED_HOLD"
+ //EsecuzioneOSTOP-- > "OPTIONAL_STOP"
+ //EsecuzionePSTOP-- > "PROGRAM_STOPPED"
+ //EsecuzionePCOMP-- > "PROGRAM_COMPLETED"
+
+ // switch su EXE mode...
+ string exeMode = "";
+ if (STRB_DW2.HasFlag(StFlag32.B09))
+ {
+ exeMode = "ACTIVE";
+ }
+ else if (STRB_DW2.HasFlag(StFlag32.B10))
+ {
+ exeMode = "READY";
+ }
+ else if (STRB_DW2.HasFlag(StFlag32.B11))
+ {
+ exeMode = "STOPPED";
+ }
+ else if (STRB_DW2.HasFlag(StFlag32.B12))
+ {
+ exeMode = "FEED_HOLD";
+ }
+ else if (STRB_DW2.HasFlag(StFlag32.B13))
+ {
+ exeMode = "OPTIONAL_STOP";
+ }
+ else if (STRB_DW2.HasFlag(StFlag32.B14))
+ {
+ exeMode = "PROGRAM_STOPPED";
+ }
+ else if (STRB_DW2.HasFlag(StFlag32.B15))
+ {
+ exeMode = "PROGRAM_COMPLETED";
+ }
+ // salvo valore selezionato
+ if (vettPath[idxPath].mPathExeMode.Value.ToString() != exeMode)
+ {
+ vettPath[idxPath].mPathExeMode.Value = exeMode;
+ }
+
+
// processo eventuali altri bit status non noti...
string UnkStatus = "";
diff --git a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs
index 95217ab..1a2df8f 100644
--- a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs
+++ b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs
@@ -851,6 +851,10 @@ namespace MTC_Adapter
///
public Event mPower = new Event("POWER");
///
+ /// processo selezionato
+ ///
+ public Event mProcSel = new Event("PROC_SEL");
+ ///
/// ID operatore?!?
///
public Event mOperator = new Event("OperatorId");
@@ -951,6 +955,7 @@ namespace MTC_Adapter
mAdapter.AddDataItem(mAccTimeWork);
mAdapter.AddDataItem(mClock);
mAdapter.AddDataItem(mPower);
+ mAdapter.AddDataItem(mProcSel);
mAdapter.AddDataItem(mEStop);
// programma e produzione