fix prog con spostamento da gen a path dati prod...

This commit is contained in:
Samuele E. Locatelli
2016-05-09 11:26:40 +02:00
parent 5acbe54630
commit c5262c34dd
5 changed files with 41 additions and 41 deletions
Binary file not shown.
+1 -1
View File
@@ -11,7 +11,7 @@ namespace MTC_Sim
{
protected FANUC FANUC_ref;
protected StatusFlag CurrStatus;
protected StatusBitMap CurrStatus;
protected StFlag8 Status8;
protected StFlag32 Status32;
+1 -1
View File
@@ -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>
+35 -33
View File
@@ -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;
+4 -6
View File
@@ -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,