fix prog con spostamento da gen a path dati prod...
This commit is contained in:
Binary file not shown.
@@ -11,7 +11,7 @@ namespace MTC_Sim
|
||||
{
|
||||
protected FANUC FANUC_ref;
|
||||
|
||||
protected StatusFlag CurrStatus;
|
||||
protected StatusBitMap CurrStatus;
|
||||
protected StFlag8 Status8;
|
||||
protected StFlag32 Status32;
|
||||
|
||||
|
||||
@@ -500,7 +500,7 @@ namespace MTC_Sim
|
||||
/// <summary>
|
||||
/// Status flag
|
||||
/// </summary>
|
||||
public StatusFlag STATUS_FLAG = 0;
|
||||
public StatusBitMap STATUS_FLAG = 0;
|
||||
/// <summary>
|
||||
/// Variabili stato macchina principali
|
||||
/// </summary>
|
||||
|
||||
@@ -400,7 +400,7 @@ namespace MTC_Sim
|
||||
SysErr_03.Checked = !SysErr_03.Checked;
|
||||
break;
|
||||
}
|
||||
agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.AL01;
|
||||
agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.AL01;
|
||||
}
|
||||
// toggle 1 allarme PLC nello 0.4% dei casi
|
||||
if (rnd.Next(0, 1000) > 996)
|
||||
@@ -418,7 +418,7 @@ namespace MTC_Sim
|
||||
PlcErr_03.Checked = !PlcErr_03.Checked;
|
||||
break;
|
||||
}
|
||||
agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.AL02;
|
||||
agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.AL02;
|
||||
}
|
||||
// toggle 1 allarme CNC nello 0.3% dei casi
|
||||
if (rnd.Next(0, 1000) > 997)
|
||||
@@ -436,7 +436,7 @@ namespace MTC_Sim
|
||||
CncErr_03.Checked = !CncErr_03.Checked;
|
||||
break;
|
||||
}
|
||||
agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.AL03;
|
||||
agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.AL03;
|
||||
}
|
||||
|
||||
|
||||
@@ -685,51 +685,33 @@ namespace MTC_Sim
|
||||
{
|
||||
prodData answ = new prodData();
|
||||
// carico da form
|
||||
answ.ProgramName = program.Text;
|
||||
answ.ProgrRow = PROG_ROW_NUM.Text;
|
||||
answ.PartId = partID.Text;
|
||||
answ.Operator = OPERATOR_ID.Text;
|
||||
|
||||
// variabili lette da + controlli
|
||||
answ.Status = stop.Enabled;
|
||||
answ.Power = Power;
|
||||
answ.AccTime = AccTime;
|
||||
answ.EmrStop = estop.Checked;
|
||||
if (automatic.Checked) answ.RunMode = "AUTOMATIC";
|
||||
else if (mdi.Checked) answ.RunMode = "MANUAL_DATA_INPUT";
|
||||
else if (edit.Checked) answ.RunMode = "EDIT";
|
||||
else answ.RunMode = "MANUAL";
|
||||
|
||||
if (running.Checked) answ.ExeMode = "ACTIVE";
|
||||
else if (feedhold.Checked) answ.ExeMode = "FEED_HOLD";
|
||||
else if (stopped.Checked) answ.ExeMode = "STOPPED";
|
||||
else if (ready.Checked) answ.ExeMode = "READY";
|
||||
|
||||
answ.EmrStop = estop.Checked;
|
||||
|
||||
answ.FuncMode = ((KeyValuePair<string, string>)functionalMode.SelectedItem).Key;
|
||||
|
||||
answ.MessageCode = messageCode.Text;
|
||||
answ.MessageText = messageText.Text;
|
||||
|
||||
// pezzi
|
||||
answ.pzOk = pzOk;
|
||||
answ.pzKo = pzKo;
|
||||
answ.pzTot = pzOk + pzKo;
|
||||
|
||||
// parto vuoto con statusFlag...
|
||||
// parto vuoto con StatusBitMap...
|
||||
agObj.STATUS_FLAG = 0;
|
||||
// aggiorno status flag in base a valori...
|
||||
if (answ.EmrStop) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.ESTOP;
|
||||
if (automatic.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.RM_AUTO;
|
||||
else if (mdi.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.RM_MDI;
|
||||
else if (edit.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.RM_EDIT;
|
||||
else agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.RM_MANUAL;
|
||||
if (answ.EmrStop) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.ESTOP;
|
||||
if (automatic.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.RM_AUTO;
|
||||
else if (mdi.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.RM_MDI;
|
||||
else if (edit.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.RM_EDIT;
|
||||
else agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.RM_MANUAL;
|
||||
|
||||
if (running.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.EM_RUN;
|
||||
else if (feedhold.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.EM_FEEDHOLD;
|
||||
else if (stopped.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.EM_STOP;
|
||||
else if (ready.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.EM_READY;
|
||||
if(answ.FuncMode!= "1") agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusFlag.HM;
|
||||
if (running.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.EM_RUN;
|
||||
else if (feedhold.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.EM_FEEDHOLD;
|
||||
else if (stopped.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.EM_STOP;
|
||||
else if (ready.Checked) agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.EM_READY;
|
||||
if(answ.FuncMode!= "1") agObj.STATUS_FLAG = agObj.STATUS_FLAG | StatusBitMap.HM;
|
||||
|
||||
// ritorno oggetto!
|
||||
return answ;
|
||||
@@ -851,6 +833,26 @@ namespace MTC_Sim
|
||||
{
|
||||
PathData answ = new PathData();
|
||||
|
||||
// modifiche dati portati da macchina a path...
|
||||
answ.ProgramName = program.Text;
|
||||
answ.ProgrRow = PROG_ROW_NUM.Text;
|
||||
answ.PartId = partID.Text;
|
||||
answ.PathType = "LAVORO";
|
||||
// pezzi
|
||||
answ.pzTot = pzOk + pzKo;
|
||||
|
||||
if (automatic.Checked) answ.RunMode = "AUTOMATIC";
|
||||
else if (mdi.Checked) answ.RunMode = "MANUAL_DATA_INPUT";
|
||||
else if (edit.Checked) answ.RunMode = "EDIT";
|
||||
else answ.RunMode = "MANUAL";
|
||||
|
||||
if (running.Checked) answ.ExeMode = "ACTIVE";
|
||||
else if (feedhold.Checked) answ.ExeMode = "FEED_HOLD";
|
||||
else if (stopped.Checked) answ.ExeMode = "STOPPED";
|
||||
else if (ready.Checked) answ.ExeMode = "READY";
|
||||
|
||||
|
||||
|
||||
answ.PathSel = cbPathSel.SelectedIndex;
|
||||
// FEED/SPEED
|
||||
answ.PathFeedrate = hsPathFeed.Value;
|
||||
|
||||
@@ -69,7 +69,7 @@ namespace MTC_Sim
|
||||
/// <param name="value">valore da testare</param>
|
||||
/// <param name="flag">valore cercato, può essere un singolo valore o un insieme in modalità AND</param>
|
||||
/// <returns></returns>
|
||||
public static bool IsSetAll(StatusFlag value, StatusFlag flag)
|
||||
public static bool IsSetAll(StatusBitMap value, StatusBitMap flag)
|
||||
{
|
||||
return ((value & flag) == flag);
|
||||
}
|
||||
@@ -79,7 +79,7 @@ namespace MTC_Sim
|
||||
/// <param name="value">valore da testare</param>
|
||||
/// <param name="flag">valore cercato, può essere un singolo valore o un insieme in modalità OR</param>
|
||||
/// <returns></returns>
|
||||
public static bool IsSetAny(StatusFlag value, StatusFlag flag)
|
||||
public static bool IsSetAny(StatusBitMap value, StatusBitMap flag)
|
||||
{
|
||||
return ((value & flag) != 0);
|
||||
}
|
||||
@@ -186,8 +186,6 @@ namespace MTC_Sim
|
||||
public string RunMode;
|
||||
public string ExeMode;
|
||||
public int pzTot;
|
||||
public int pzOk;
|
||||
public int pzKo;
|
||||
public string ProgramName;
|
||||
public string ProgrRow;
|
||||
public string PartId;
|
||||
@@ -351,10 +349,10 @@ namespace MTC_Sim
|
||||
B31 = 1 << 31
|
||||
}
|
||||
/// <summary>
|
||||
/// StatusFlag: contiene il set di semafori/flag x status + allarmi (x classi)
|
||||
/// StatusBitMap: contiene il set di semafori/flag x status + allarmi (x classi)
|
||||
/// </summary>
|
||||
[Flags]
|
||||
public enum StatusFlag : int
|
||||
public enum StatusBitMap : int
|
||||
{
|
||||
NONE = 0,
|
||||
ESTOP = 1 << 0,
|
||||
|
||||
Reference in New Issue
Block a user