From c5262c34dd8a90252d89e08d56cbbb69b23ef2eb Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Mon, 9 May 2016 11:26:40 +0200 Subject: [PATCH] fix prog con spostamento da gen a path dati prod... --- MTC_Sim/.vs/MTC_Sim/v14/.suo | Bin 164352 -> 164352 bytes MTC_Sim/MTC_Sim/AdapterFanuc.cs | 2 +- MTC_Sim/MTC_Sim/AdapterGeneric.cs | 2 +- MTC_Sim/MTC_Sim/CMS_MachineSim.cs | 68 +++++++++++++++--------------- MTC_Sim/MTC_Sim/utils.cs | 10 ++--- 5 files changed, 41 insertions(+), 41 deletions(-) diff --git a/MTC_Sim/.vs/MTC_Sim/v14/.suo b/MTC_Sim/.vs/MTC_Sim/v14/.suo index d663181305483dad294af831f1f07a98d06f363d..acdb0686505d8aed8fa590a698963bbdafb868c4 100644 GIT binary patch delta 806 zcmdr}ODlw76#kxf_>7Uun4v*(iI8hnD5NZuQf!q=S!$Z>rYuIrB@AJ76f-7^DZ7#M zE+`Xw@gbX;Mt%TRZn>SW2@Ba-IrY?Y&U@bH++1#x%WVn`3pMa)Ej`=X84=G0bs*ZF zu5(rGfVSi8dM|=D?sQ0}15=h1txQoYilU?{7c@2pAKiM;NS;X?Q_PJ^s(pr^0y9XW z&;sgo_d#SA{#7SFqbo-5x~b z!zvnpsNRjA3KyZ$`U{$5o)2Ay#8&X&WDlU;TEbs+6_rsrdU$gkX?9X502>WH@g6oT zVko$YOj?}Al3cM0yCK*DL2X|2Q-KHd(rXhANbKXifKDdSD|tC~B(|`gS)N95g%U6G zxHW`#ndCAu7Ewei>e?s2^w#?Srci<+Si DXG#AE delta 853 zcmZo@;c95%+K|J-zMEEsW=;N4GOx z-F~~1@e(8BB_#Fz6B*g3ADO|Z0nzln7pO^K8sp{d4LywAOpNG8Z-3O!_?=O(9%wHF zh#Z&-Wav&8oWZyVY~}V#Qy4WF1@FKVFnrjr%gDfBwVh`gBPWaKQzY@XK(-nXyG#%4 zWxTVUZ8oC?Bc_dqCo$?Xa@hja0X@v%au?zF?T_a$b}+MQ1C3XhUa)}CNJ9arf*FWe zfmpld(7VWx`;+E2HEYG?lbC%;fpHvPR1();)|r1Q3P5G0U`%{feZ=S#*8wf gSUSu?289DHKsE;uQ!$pd&k<(Q /// Status flag /// - public StatusFlag STATUS_FLAG = 0; + public StatusBitMap STATUS_FLAG = 0; /// /// Variabili stato macchina principali /// diff --git a/MTC_Sim/MTC_Sim/CMS_MachineSim.cs b/MTC_Sim/MTC_Sim/CMS_MachineSim.cs index e0c86ac..6e0fad2 100644 --- a/MTC_Sim/MTC_Sim/CMS_MachineSim.cs +++ b/MTC_Sim/MTC_Sim/CMS_MachineSim.cs @@ -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)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; diff --git a/MTC_Sim/MTC_Sim/utils.cs b/MTC_Sim/MTC_Sim/utils.cs index e5ccf00..537051b 100644 --- a/MTC_Sim/MTC_Sim/utils.cs +++ b/MTC_Sim/MTC_Sim/utils.cs @@ -69,7 +69,7 @@ namespace MTC_Sim /// valore da testare /// valore cercato, può essere un singolo valore o un insieme in modalità AND /// - 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 /// valore da testare /// valore cercato, può essere un singolo valore o un insieme in modalità OR /// - 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 } /// - /// StatusFlag: contiene il set di semafori/flag x status + allarmi (x classi) + /// StatusBitMap: contiene il set di semafori/flag x status + allarmi (x classi) /// [Flags] - public enum StatusFlag : int + public enum StatusBitMap : int { NONE = 0, ESTOP = 1 << 0,