Aggiunta gestioen eccezione in FANUC x non gestire chiamate 3D disabilitate se soli 3 assi
This commit is contained in:
@@ -675,7 +675,7 @@ namespace MTC_Adapter
|
||||
|
||||
// processo eventuali altri bit status non noti...
|
||||
string UnkStatus = "";
|
||||
// cerco i bit alzati --> aggiungo in stringa! TRANNE 31 e 32 che sono watvhdog...
|
||||
// cerco i bit alzati --> aggiungo in stringa! TRANNE 31 e 32 che sono watchdog...
|
||||
for (int i = 14; i < 30; i++)
|
||||
{
|
||||
// converto! e aggiungo allarmi sollevati al corretto controller allarmi...
|
||||
@@ -1104,12 +1104,16 @@ namespace MTC_Adapter
|
||||
if (vettGCodes.gcd2.flag > 0) GCodAttivi += string.Format("[{0}]", vettGCodes.gcd2.code);
|
||||
if (vettGCodes.gcd3.flag > 0) GCodAttivi += string.Format("[{0}]", vettGCodes.gcd3.code);
|
||||
|
||||
parentForm.commPlcActive = true;
|
||||
inizio = DateTime.Now;
|
||||
CMSCncLib.Focas1.ODB5AXMAN vettTTCoord = FANUC_ref.getPathTTCoord();
|
||||
if (utils.CRB("recTime")) TimingData.addResult("R-TTCoord", DateTime.Now.Subtract(inizio).Ticks);
|
||||
parentForm.commPlcActive = false;
|
||||
|
||||
// 2017.12.27 gestione assi limitati --> non sono abilitate le funzioni £D, quindi DISABILITO da conf...
|
||||
CMSCncLib.Focas1.ODB5AXMAN vettTTCoord = new CMSCncLib.Focas1.ODB5AXMAN();
|
||||
if (!utils.CRB("FanucLimit3D"))
|
||||
{
|
||||
parentForm.commPlcActive = true;
|
||||
inizio = DateTime.Now;
|
||||
vettTTCoord = FANUC_ref.getPathTTCoord();
|
||||
if (utils.CRB("recTime")) TimingData.addResult("R-TTCoord", DateTime.Now.Subtract(inizio).Ticks);
|
||||
parentForm.commPlcActive = false;
|
||||
}
|
||||
// ciclo su path
|
||||
StringBuilder sb_2;
|
||||
StringBuilder sb_3;
|
||||
@@ -1120,13 +1124,15 @@ namespace MTC_Adapter
|
||||
sb_3 = new StringBuilder();
|
||||
|
||||
vettPath[i].mPathCodG_Act.Value = GCodAttivi;
|
||||
|
||||
vettPath[i].mPathPosActX.Value = ((decimal)vettTTCoord.data1) / utils.CRI("fattdecimale");
|
||||
vettPath[i].mPathPosActY.Value = ((decimal)vettTTCoord.data2) / utils.CRI("fattdecimale");
|
||||
vettPath[i].mPathPosActZ.Value = ((decimal)vettTTCoord.data3) / utils.CRI("fattdecimale");
|
||||
vettPath[i].mPathPosActI.Value = ((decimal)vettTTCoord.c1) / utils.CRI("fattdecimale");
|
||||
vettPath[i].mPathPosActJ.Value = ((decimal)vettTTCoord.c2) / utils.CRI("fattdecimale");
|
||||
vettPath[i].mPathPosActK.Value = "0"; // è 5 assi...nullo...
|
||||
if (!utils.CRB("FanucLimit3D"))
|
||||
{
|
||||
vettPath[i].mPathPosActX.Value = ((decimal)vettTTCoord.data1) / utils.CRI("fattdecimale");
|
||||
vettPath[i].mPathPosActY.Value = ((decimal)vettTTCoord.data2) / utils.CRI("fattdecimale");
|
||||
vettPath[i].mPathPosActZ.Value = ((decimal)vettTTCoord.data3) / utils.CRI("fattdecimale");
|
||||
vettPath[i].mPathPosActI.Value = ((decimal)vettTTCoord.c1) / utils.CRI("fattdecimale");
|
||||
vettPath[i].mPathPosActJ.Value = ((decimal)vettTTCoord.c2) / utils.CRI("fattdecimale");
|
||||
vettPath[i].mPathPosActK.Value = "0"; // è 5 assi...nullo...
|
||||
}
|
||||
|
||||
// 2017.01.16 da rivedere
|
||||
vettPath[i].mPathCurrProgRowNum.Value = "";
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<!--<add key ="ipPLC" value="192.168.214.1" />-->
|
||||
<!--CMS PROD-->
|
||||
<!--<add key ="ipPLC" value="192.168.139.1" />-->
|
||||
<add key ="ipPLC" value="192.168.214.1" />
|
||||
<add key ="ipPLC" value="192.168.139.1" />
|
||||
|
||||
<add key="recTime" value="true"/>
|
||||
<add key="verbose" value="true"/>
|
||||
@@ -79,8 +79,10 @@
|
||||
<add key="AnalogDataFilePath" value="AnalogData.map"/>
|
||||
<add key="StatusListFilePath" value="StatusList.map"/>
|
||||
<add key="SubModeListFilePath" value="SubModeList.map"/>
|
||||
<!--GEstione path siemens-->
|
||||
<!--Gestione path siemens-->
|
||||
<add key="SiemensBaseCountPath" value="0"/>
|
||||
<!--gestione FANUC con assi limitati-->
|
||||
<add key="FanucLimit3D" value="true"/>
|
||||
<!--conf gestione "semplificata" accesso a tutta la memoria ogni volta-->
|
||||
<!--conf x CMS-->
|
||||
<add key="procIotMem" value="false"/>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<AdapterConf xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<Version>1</Version>
|
||||
<NomeAdapt>ADAPTER_SIEMENS</NomeAdapt>
|
||||
<TipoAdapt>SIEMENS</TipoAdapt>
|
||||
<NomeAdapt>ADAPTER_FANUC</NomeAdapt>
|
||||
<TipoAdapt>FANUC</TipoAdapt>
|
||||
<ContOreMaccOn>0</ContOreMaccOn>
|
||||
<ContOreMaccLav>0</ContOreMaccLav>
|
||||
<ContSlittaTast>0</ContSlittaTast>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -461,4 +461,8 @@ Alcune note finali su cosa verificare e alcune possibili cause di errori e probl
|
||||
- è importante NON inserire controlli di stato di tipo codificato con indici superiori agli oggetti definiti nell'`Agent_ItemList.xml`, ovvero ad esempio inserire `UnOp_02_Status` se si fosse definita 1 sola unità operatrice (la variabile è lo stato della 2° unità operatrice/mandrino) / si pososno inserire valori `EMPTY_xx` oppure commentare con un prefisso i valori da ignorare (ad es se non c'è 6° asse: `Axis_06_DistDone` --> `noAxis_06_DistDone`, `___Axis_06_DistDone`, `***Axis_06_DistDone`, ...)
|
||||
- attenzione ad evitare "a capo" a fine file o caratteri strani che il sistema cerca di interpretarli e si blocca.
|
||||
- OSAI
|
||||
- attenzione che OSAI richeide che l'ordine degli assi impostati sia quello fornito dal controller SOAP, ovvero si deve guardare nell'adapter (in modalità debug) come sono espressi gli assi e manterene lo stesos ordine sul PLC, sull'adapter (che in ogni caso riordina rispetto a come invia i dati il webservice) e sull'agent
|
||||
- attenzione che OSAI richeide che l'ordine degli assi impostati sia quello fornito dal controller SOAP, ovvero si deve guardare nell'adapter (in modalità debug) come sono espressi gli assi e manterene lo stesos ordine sul PLC, sull'adapter (che in ogni caso riordina rispetto a come invia i dati il webservice) e sull'agent
|
||||
- FANUC
|
||||
- modifica 2017.12.27: attenzione se ci sono machcine con numero di assi limitato (ad esempio con teste a 3assi, in cui non vanno le modalità 3D come TTip, teach, posizione...) perché alcune chiamate fanuc standard non funzionano (anzi proprio fanno crashare le focas) - per evitare problemi impostare la chiave **FanucLimit3D** a **true** (se manva o di default è **false**) che SALTA IN BLOCCO tali letture basate sulle **Focas1.cnc_rd5axmandt**; di conseguenza va commentato in XML dell'AGENT anche la parte corrispondente che NON verrà valorizzata (**mPathPosAct[XYZ/IJK]**)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user