diff --git a/IOB-WIN/DATA/CONF/GT529.ini b/IOB-WIN/DATA/CONF/GT529.ini new file mode 100644 index 00000000..e990b630 --- /dev/null +++ b/IOB-WIN/DATA/CONF/GT529.ini @@ -0,0 +1,74 @@ +;Configurazione IOB-WIN +[IOB] +;Tornio FANUC ROBOTDRILL +CNCTYPE=FANUC +PING_MS_TIMEOUT=500 + +[MACHINE] +VENDOR=TREVISAN +MODEL=GT555 + +[CNC] +IP=192.168.0.85 +PORT=8193 +GETPRGNAME=true + +[SERVER] +MPIP=http://192.168.1.64 +MPURL=/MP/IO +CMDBASE=/IOB/input/ +CMDFLOG=/IOB/flog/ +CMDALIVE=/IOB +CMDENABLED=/IOB/enabled/ +CMDADV1=?valore= +CMDREBO=/sendReboot.aspx?idxMacchina= + +[MEMORY] +; Red: Y0.2 | Yellow: Y0.3 | Green Y0.0 | Apertura Auto porta: Y0.4 (X5.1) | NON Emergenza Y0.5 | MODO AUTO Y0.6 | Contapezzi Y0.1 +;BIT0=CONN +BIT1=Y0.0 +BIT2=Y0.1 +;BIT2=PZCOUNT.PAR.6711 +BIT3=Y0.2 +BIT4=Y0.3 +BIT5=Y0.4 +BIT6=Y0.5 +AREAD_START=0 +AREAD_SIZE=9999 +AREAG_START=0 +AREAG_SIZE=0 +AREAR_START=0 +AREAR_SIZE=64 +AREAX_START=0 +AREAX_SIZE=64 +AREAY_START=0 +AREAY_SIZE=4 +PAR_START=6711 +PAR_SIZE=3 + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice +; attenzione memoria sempre base BYTE (1604 DW --> 6416...) +PZCOUNT_MODE=BIT +;PZCOUNT_MODE=STD.PAR.6711 +;PZ_CAD_MADDR=1602; cad +;PZ_REQ_MADDR=1603; pz richiesti (DW) +;PZ_DONE_MADDR=1604; pz fatti +;PZ_GTOT_MADDR=1605; pz tot macchina + +[BRANCH] +NAME=develop \ No newline at end of file diff --git a/IOB-WIN/DATA/CONF/GT555.ini b/IOB-WIN/DATA/CONF/GT555.ini index 13c4d89a..6a3b6320 100644 --- a/IOB-WIN/DATA/CONF/GT555.ini +++ b/IOB-WIN/DATA/CONF/GT555.ini @@ -24,9 +24,9 @@ CMDADV1=?valore= CMDREBO=/sendReboot.aspx?idxMacchina= [MEMORY] -; Red: Y95.7 | Yellow: Y96.7 | Green Y97.3 | All DoorsClosed: Y4.0 (X5.1) | ..........WrkZone Y8.7 | Contapezzi X7.1 +; Red: Y95.7 | Yellow: Y96.7 | Green Y96.3 | All DoorsClosed: Y4.0 (X5.1) | ..........WrkZone Y8.7 | Contapezzi X7.1 ;BIT0=CONN -BIT1=Y97.3 +BIT1=Y96.3 BIT2=PZCOUNT.PAR.6711 BIT3=Y95.7 BIT4=Y96.7 diff --git a/IOB-WIN/IobFanuc.cs b/IOB-WIN/IobFanuc.cs index ba562c91..a961a8c6 100644 --- a/IOB-WIN/IobFanuc.cs +++ b/IOB-WIN/IobFanuc.cs @@ -788,40 +788,44 @@ namespace IOB_WIN /// public override void processMode() { - if (utils.CRB("enableMode")) + // processo SOLO SE connected... + if (FANUC_ref.Connected) { - try + if (utils.CRB("enableMode")) { - // leggo tutto da 0 a 43... - int memIndex = 0; - // controllo modalità lettura memoria - stopwatch.Restart(); - FanucMemRW(R, FANUC.MemType.G, memIndex, ref MemBlockG); - if (utils.CRB("recTime")) + try { - TimingData.addResult(cIobConf.codIOB, string.Format("R{0}-G-AREA", MemBlockG.Length), stopwatch.ElapsedTicks); - } + // leggo tutto da 0 a 43... + int memIndex = 0; + // controllo modalità lettura memoria + stopwatch.Restart(); + FanucMemRW(R, FANUC.MemType.G, memIndex, ref MemBlockG); + if (utils.CRB("recTime")) + { + TimingData.addResult(cIobConf.codIOB, string.Format("R{0}-G-AREA", MemBlockG.Length), stopwatch.ElapsedTicks); + } - stopwatch.Stop(); - // verifico modo con valore corrente, se cambia aggiorno... - CNC_MODE newMode = decodeG43(MemBlockG[43]); - if (newMode != currMode) - { - // aggiorno! - currMode = newMode; - // conversione NUM MODE in descrizione da ENUM - string descrMode = Enum.GetName(typeof(CNC_MODE), currMode); - // accodo x invio - string sVal = string.Format("[CNC_MODE]{0}", descrMode); - // chiamo accodamento... - accodaFLog(sVal, qEncodeFLog("CNC_MODE", descrMode)); + stopwatch.Stop(); + // verifico modo con valore corrente, se cambia aggiorno... + CNC_MODE newMode = decodeG43(MemBlockG[43]); + if (newMode != currMode) + { + // aggiorno! + currMode = newMode; + // conversione NUM MODE in descrizione da ENUM + string descrMode = Enum.GetName(typeof(CNC_MODE), currMode); + // accodo x invio + string sVal = string.Format("[CNC_MODE]{0}", descrMode); + // chiamo accodamento... + accodaFLog(sVal, qEncodeFLog("CNC_MODE", descrMode)); + } + } + catch (Exception exc) + { + lgError(exc, string.Format("Errore in process Mode G43: {0}{1}", Environment.NewLine, exc)); + connectionOk = false; + stopwatch.Stop(); } - } - catch (Exception exc) - { - lgError(exc, string.Format("Errore in process Mode G43: {0}{1}", Environment.NewLine, exc)); - connectionOk = false; - stopwatch.Stop(); } } } @@ -875,45 +879,49 @@ namespace IOB_WIN public override Dictionary getDynData() { Dictionary outVal = new Dictionary(); - stopwatch.Restart(); - CncLib.Focas1.ODBDY2_1 answ = FANUC_ref.getAllDynData(); - if (utils.CRB("recTime")) + // processo SOLO SE connected... + if (FANUC_ref.Connected) { - TimingData.addResult(cIobConf.codIOB, string.Format("PROC-DYN-DATA"), stopwatch.ElapsedTicks); - } - - try - { - string actf = answ.actf.ToString(); - string acts = answ.acts.ToString(); - //string numAlarm = answ.alarm.ToString(); - // preparo i singoli valori dell'array... - //outVal.Add("DYNDATA", string.Format("{0}#{1}#{2}", actf, acts, numAlarm)); - outVal.Add("DYNDATA", string.Format("FEED {0}#SPEED_RPM {1}", actf, acts)); - if (utils.CRB("SendFeedSpeed")) + stopwatch.Restart(); + CncLib.Focas1.ODBDY2_1 answ = FANUC_ref.getAllDynData(); + if (utils.CRB("recTime")) { - outVal.Add("FEED", actf); - outVal.Add("SPEED_RPM", acts); - //outVal.Add("NUM_ALARM", numAlarm); + TimingData.addResult(cIobConf.codIOB, string.Format("PROC-DYN-DATA"), stopwatch.ElapsedTicks); } - if (utils.CRB("SendAxPos")) + + try { - // salvo le posizioni... - CncLib.Focas1.FAXIS posAx = answ.pos; - int[] currPosAbs = posAx.absolute; - int i = 0; - foreach (var item in currPosAbs) + string actf = answ.actf.ToString(); + string acts = answ.acts.ToString(); + //string numAlarm = answ.alarm.ToString(); + // preparo i singoli valori dell'array... + //outVal.Add("DYNDATA", string.Format("{0}#{1}#{2}", actf, acts, numAlarm)); + outVal.Add("DYNDATA", string.Format("FEED {0}#SPEED_RPM {1}", actf, acts)); + if (utils.CRB("SendFeedSpeed")) { - i++; - outVal.Add(string.Format("POS_{0:00}", i), item.ToString()); + outVal.Add("FEED", actf); + outVal.Add("SPEED_RPM", acts); + //outVal.Add("NUM_ALARM", numAlarm); + } + if (utils.CRB("SendAxPos")) + { + // salvo le posizioni... + CncLib.Focas1.FAXIS posAx = answ.pos; + int[] currPosAbs = posAx.absolute; + int i = 0; + foreach (var item in currPosAbs) + { + i++; + outVal.Add(string.Format("POS_{0:00}", i), item.ToString()); + } } } + catch (Exception exc) + { + lgError(exc, "Errore in getDynData"); + } + stopwatch.Stop(); } - catch (Exception exc) - { - lgError(exc, "Errore in getDynData"); - } - stopwatch.Stop(); return outVal; } /// @@ -923,10 +931,14 @@ namespace IOB_WIN public override Dictionary getOverrides() { Dictionary outVal = new Dictionary(); - if (utils.CRB("enableMode") && MemBlockG != null) + // processo SOLO SE connected... + if (FANUC_ref.Connected) { - outVal.Add("FEED_OVER", MemBlockG[30].ToString()); - outVal.Add("RAPID_OVER", MemBlockG[12].ToString()); + if (utils.CRB("enableMode") && MemBlockG != null) + { + outVal.Add("FEED_OVER", MemBlockG[30].ToString()); + outVal.Add("RAPID_OVER", MemBlockG[12].ToString()); + } } return outVal; }