Aggiunto indicatore processo selezionato (PROC_SEL), rimappato completamente la parte status processo 1...

This commit is contained in:
Samuele E. Locatelli
2017-03-24 17:07:54 +01:00
parent 8b77f18795
commit c8a0255960
2 changed files with 88 additions and 57 deletions
+83 -57
View File
@@ -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 = "";
@@ -851,6 +851,10 @@ namespace MTC_Adapter
/// </summary>
public Event mPower = new Event("POWER");
/// <summary>
/// processo selezionato
/// </summary>
public Event mProcSel = new Event("PROC_SEL");
/// <summary>
/// ID operatore?!?
/// </summary>
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