3/2008 - Heidenhain
Transcript
3/2008 - Heidenhain
Newsletter Application 3/2008 User Parameter Note sull’implementazione dei “Parametri Utente” APPLICABILITÀ: CONTROLLO NUMERICO TNC 320 DA VERSIONE SOFTWARE 340 55x-02 Con “parametri utente” si intende, come noto, un sottogruppo di parametri macchina accessibili all’operatore senza dover digitare alcuna password. Nei modelli precedenti dei nostri CN era possibile definire fino a sedici parametri utente, e si doveva impostare negli MP7330.x l’elenco dei parametri macchina da trasformare in “parametri utente”, e nei corrispondenti MP7340.x i numeri di riga del file di dialogo per associarvi la descrizione. Con il TNC 320, ma in generale con tutti i CN basati sulla piattaforma NC-Kernel, è stata modificata l’intera struttura dei parametri macchina e, di conseguenza, anche la modalità di attivazione dei parametri utente. Infatti, si definisce la struttura dei parametri utente attraverso un file di layout in formato XML (eXtensible Markup Language). La flessibilità di questa metodologia operativa risulterà evidente nel corso della nostra spiegazione. A chi non ha padronanza dell’argomento si consiglia,comunque, di consultare il sito internet www.w3.org/XML. Premessa Ogni parametro macchina è ora definito attraverso tre grandezze: entity, key e attribute. Esempio: definizione dei parametri che determinano il tempo di pompaggio per la lubrificazione assi Formato testo Visualizzazione sul TNC 320 CfgPlcTimer ( key:="TS_lubrication", unit:=SECONDS, value:= [ 10 ] ) Nel dettaglio: entity: CfgPlcTimer key: TS_lubrication attribute: unit, value [0] (l’attributo value ha indice [0] in quanto, per questo attributo l’entity CfgPlcTimer può ammettere un array di dati, unit invece ammette un unico valore) A differenza di quanto succedeva in precedenza, non è più possibile identificare un parametro macchina attraverso un unico numero ed elencarne un sottoinsieme in maniera sequenziale. Si è aggiunta anche un’altra novità: è possibile creare o cancellare parametri, ferme restando le regole imposte dai modelli presenti nel software del controllo numerico. Parametri utente Definizione del file di layout “userparam.xml” I passi da seguire e i comandi XML disponibili sono spiegati al capitolo 7.2.5 User Parameters del manuale tecnico del TNC 320. Tuttavia, per una migliore comprensione, presentiamo “passo-passo” la creazione di un’applicazione a titolo di esempio, con lo scopo di esplorare i comandi essenziali. 1. Creazione del file userparam.xml <?xml version="1.0" encoding="UTF-8"?> <!-- user123.xml 13.03.2007 Luciano Dal Lago - HI --> <ConfigtreeLayout xmlns="http://www.hng.ch/ConfigEditLayout/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.hng.ch/ConfigEditLayout/1 configtreelayout.xsd"> ….. ….. ….. ….. </ConfigtreeLayout> Qui viene fatto riferimento al file di validazione “configtreelayout.xsd” presente nella directory PLC:\config\layout del TNC. Nella stessa directory risiede il file “userparam.xml” oggetto della presente trattazione. 2. Inserimento di un nodo che contiene un parametro macchina <?xml version="1.0" encoding="UTF-8"?> <!-- user123.xml 13.03.2007 Luciano Dal Lago - HI --> <ConfigtreeLayout xmlns="http://www.hng.ch/ConfigEditLayout/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.hng.ch/ConfigEditLayout/1 configtreelayout.xsd"> <Node Name="Modo di Attivazione asse C "> <SimpleAttribute Keyfilter="C" Name="axisMode" Entity="CfgAxis" /> </Node> </ConfigtreeLayout> Il comando SimpleAttribute presenta a video il parametro ‘CfgAxis Key=”C” axisMode’ omettendo dalla visualizzazione sia il nome dell’oggetto (entity) che il suo key. È importante quindi ricorrere al comando Node che lo racchiude e che permette di identificarne il significato. 3. Inserimento di un nodo che contiene un gruppo di parametri correlati <?xml version="1.0" encoding="UTF-8"?> <!-- user123.xml 13.03.2007 Luciano Dal Lago - HI --> <ConfigtreeLayout xmlns="http://www.hng.ch/ConfigEditLayout/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.hng.ch/ConfigEditLayout/1 configtreelayout.xsd"> <Node Name="Modo di Attivazione asse C "> <SimpleAttribute Keyfilter="C" Name="axisMode" Entity="CfgAxis" /> </Node> <Node Name="Lubrificazione" DialogRes="OEMTXT_Lubrificazione"> <Keylist Name="Distanza di Lubrificazione" Keyfilter="P?" > <Entity Name="CfgPositionLimits" DataOfAttribute="lubricationDist" /> </Keylist> <Keylist Name="Frequenza di Lubrificazione" Keyfilter="NP_DG_lubrication_time" > <Entity Name="CfgOemInt" DataOfAttribute="value[0]" /> </Keylist> <Keylist Name="Timer di Lubrificazione" Keyfilter="TS_lubrica*" > <Entity Name="CfgPlcTimer" DataOfAttribute="value[0]" /> </Keylist> </Node> </ConfigtreeLayout> Il Node racchiude tre comandi keylist. Ogni comando keylist visualizza un elenco (sotto forma di directory) dei key appartenenti all’oggetto specificato in entity. Sono stati filtrati i key in visualizzazione con l’attributo keyfilter, come pure è stato visualizzato solo il parametro definito in DataOfAttribute. Anche in questo caso non viene visualizzato il nome dell’oggetto (entity). Newsletter Application 3/2008 4. Un nodo per mostrare i comando Object e UniqueObject <?xml version="1.0" encoding="UTF-8"?> <!-- user123.xml 13.03.2007 Luciano Dal Lago - HI --> <ConfigtreeLayout xmlns="http://www.hng.ch/ConfigEditLayout/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.hng.ch/ConfigEditLayout/1 configtreelayout.xsd"> <Node Name="Modo di Attivazione asse C "> <SimpleAttribute Keyfilter="C" Name="axisMode" Entity="CfgAxis" /> </Node> <Node Name="Lubrificazione" DialogRes="OEMTXT_Lubrificazione"> <Keylist Name="Distanza di Lubrificazione" Keyfilter="P?" > <Entity Name="CfgPositionLimits" DataOfAttribute="lubricationDist" /> </Keylist> <Keylist Name="Frequenza di Lubrificazione" Keyfilter="NP_DG_lubrication_time" > <Entity Name="CfgOemInt" DataOfAttribute="value[0]" /> </Keylist> <Keylist Name="Timer di Lubrifi cazione" Keyfilter="TS_lubrica*" > <Entity Name="CfgPlcTimer" DataOfAttribute="value[0]" /> </Keylist> </Node> <Node Name="Impostazioni Varie"> <Object Name="CfgPosDisplayPace" Keyfilter="*" /> <UniqueObject Name="CfgSystemTime" /> <UniqueObject Name="CfgDisplayLanguage" /> </Node> </ConfigtreeLayout> Object, per i parametri con key, e UniqueObject, per i parametri senza key, riportano a video i parametri nella struttura completa: entity key attribute. In definitiva il file “userparam.xml” sarà: Newsletter Application 3/2008 Testi e commenti …. …. <Node Name="Lubrificazione" DialogRes="OEMTXT_Lubrificazione"> …. …. L’attributo DialogRes, disponibile per tutti i comandi XML visti, definisce il collegamento a una specifica linea del file di dialogo “PLC:\language\??\UserParam.csv” (nome e percorso definiti nei parametri macchina). Il file “UserParam.csv” è un file tabellare i cui campi sono delimitati da un “;”. 41;OEMTXT_CfgLSV2BaudRate;Baudrate of LSV2 Protocol;Baudrate of LSV2 Protocol;;; 42;OEMTXT_CfgInterfaceRs232;Select RS232;Select RS232;;; 43;OEMTXT_Lubrificazione; * Sezione Lubrificazione *; Sezione relativa alla lubrificazione | - Impostazione della distanza di lubrificazione per singolo asse | - Frequenza di lubrificazione | - Tempo di pompata | - Tempo di controllo Pressostato; In questo modo, una serie di informazioni aggiuntive saranno disponibili nella finestra di help e nel file di dialogo per i parametri utente, come si può vedere nell’immagine seguente. 5. Accesso diretto ai parametri da tasto MOD: cambio del livello di protezione Ad ogni parametro è assegnato un livello di protezione predefinito. Solo il livello “1” permette la modifica del parametro senza digitare alcuna password. Solitamente, però, il livello di protezione di default di un parametro è fissato a “2”, “3” o “4” in funzione della sua tipologia e dell’impatto che una sua variazione può avere sul comportamento della macchina. Da ciò ne consegue che l’ultima fase operativa sarà quella di forzare il livello di protezione “1” a tutti i parametri utente. Qui, ad esempio, si nota che l’Entity CfgAxis ha solitamente il livello di protezione “3”; per la sola CfgAxis con key= C la protezione è stata abbassata a “1” un modo da rendere il parametro modificabile direttamente nell’ambiente parametri utente. Newsletter Application 3/2008