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