I prodotti OMRON sono destinati all'uso in accordo con le procedure
appropriate da parte di un operatore qualificato e solo per gli scopi
descritti in questo manuale.
In questo manuale vengono utilizzate le seguenti convenzioni per indicare
e classificare le precauzioni. Attenersi sempre alle istruzioni fornite.
La mancata osservanza di tali precauzioni potrebbe causare lesioni
o danni a cose e persone.
Definizione di informazioni di carattere precauzionale
PERICOLO
Indica una situazione di immediato pericolo che, se non evitata,
sarà causa di lesioni gravi o mortali.
AVVERTENZA
Indica una situazione di potenziale pericolo che, se non evitata,
può essere causa di lesioni gravi o mortali.
/i
Attenzione
Indica una situazione di potenziale pericolo che, se non evitata,
può essere causa di danni o lesioni non gravi a persone o cose.
Marchi e copyright
PROFIBUS è un marchio registrato di PROFIBUS International.
MECHATROLINK è un marchio registrato di Yaskawa Corporation.
DeviceNet è un marchio registrato di Open DeviceNet Vendor Assoc INC.
Revisione 3.0
CIP è un marchio registrato di Open DeviceNet Vendor Assoc INC.
Trajexia è un marchio registrato di OMRON.
Motion Perfect è un marchio registrato di Trio Motion Technology Ltd.
Tutti i diritti riservati. Nessuna parte della presente pubblicazione può essere riprodotta,
memorizzata in un sistema, trasmessa in qualsivoglia formato o mezzo, meccanico,
elettronico, tramite fotocopia, registrazione o altro, senza previo consenso scritto di OMRON.
Non viene assunta alcuna responsabilità brevettuale in relazione all'uso delle informazioni
contenute nel presente manuale. Inoltre, in considerazione del fatto che OMRON punta
costantemente a migliorare la qualità dei propri prodotti, le informazioni contenute nel
presente manuale sono soggette a modifiche senza preavviso. Sebbene il presente
manuale sia stato redatto con la massima attenzione, OMRON non si assume alcuna
responsabilità in relazione ad eventuali errori od omissioni, né alcuna responsabilità
in relazione ad eventuali danni derivanti dalle informazioni in esso contenute.
Informazioni sul manuale
NomeN. cat.Contenuto
Il presente manuale descrive le procedure di installazione e funzionamento
del Controllo assi Trajexia.
Leggere attentamente il presente manuale e i manuali correlati elencati nella
tabella riportata di seguito e assicurarsi di avere compreso le informazioni
fornite prima di procedere all'installazione o all'azionamento delle unità
di controllo assi Trajexia. Accertarsi di leggere attentamente le precauzioni
indicate nella sezione successiva.
/i
NomeN. cat.Contenuto
Controllo assi Trajexia
MANUALE
DI AVVIO RAPIDO
Controllo assi Trajexia
MANUALE
DI RIFERIMENTO
HARDWARE
Controllo assi Trajexia
MANUALE DI
PROGRAMMAZIONE
Manuale del
servoazionamento
Sigma-II
Manuale dei
servoazionamenti
della serie JUNMA
Revisione 3.0
Manuale JUSP-NS115SIEP C71080001Descrive le procedure di installazione
I50EDescrive come apprendere
rapidamente il funzionamento
di Trajexia, effettuando
lo spostamento di un singolo
asse mediante MECHATROLINK-II,
in una configurazione di prova.
I51EDescrive la procedura di installazione
e le specifiche hardware delle
unità Trajexia, nonché la filosofia
del sistema Trajexia.
I52EDescrive i comandi BASIC da utilizzare
per la programmazione di Trajexia,
spiega i protocolli di comunicazione
e il software Trajexia Tools, fornisce
esempi pratici e informazioni
per la risoluzione dei problemi.
SIEP S800000 15Descrive le procedure di installazione
e funzionamento dei servoazionamenti
Sigma-II.
TOEP-C71080603 01-OYDescrive le procedure di installazione
e funzionamento dei servoazionamenti
JUNMA.
e funzionamento del modulo applicativo
MECHATROLINK-II.
Manuale di Sigma-III
con interfaccia
MECHATROLINK
Inverter V7TOEP C71060605 02-OYDescrive le procedure di installazione
Inverter F7ZTOE S616-55 1-OYDescrive le procedure di installazione
Inverter G7TOE S616-60Descrive le procedure di installazione
Interfaccia SI-T
MECHATROLINK
per gli inverter
G7 e F7
Interfaccia ST-T/V7
MECHATROLINK
per gli inverter V7
Moduli IO
MECHATROLINK
Comandi
di comunicazione
delle serie
SYSMAC CS/CJ
SIEP S800000 11Descrive le procedure
di installazione e funzionamento
dei servoazionamenti Sigma-III
con l'interfaccia MECHATROLINK.
e funzionamento degli inverter V7.
e funzionamento degli inverter F7Z.
e funzionamento degli inverter G7.
SIBP-C730600-08Descrive le procedure di installazione
e funzionamento delle interfacce
MECHATROLINK per gli inverter
G7 ed F7.
SIBP-C730600-03Descrive le procedure di installazione
e funzionamento delle interfacce
MECHATROLINK per gli inverter V7.
SIE C887-5Descrive le procedure di installazione
e funzionamento dei moduli
di ingresso e uscita MECHATROLINK
e del ripetitore MECHATROLINK-II.
W342Descrive il protocollo di comunicazione
e i comandi FINS.
AVVERTENZA
La mancata lettura o comprensione delle informazioni fornite
in questo manuale può procurare lesioni personali, anche mortali,
danneggiare il prodotto o causarne un funzionamento non
corretto. Leggere ogni capitolo per intero e accertarsi di avere
compreso le informazioni in esso contenute e quelle correlate
prima di eseguire una delle procedure od operazioni descritte.
MANUALE DI PROGRAMMAZIONE3
Funzioni supportate dalle versioni delle unità
Durante lo sviluppo di Trajexia, nuove funzionalità sono state aggiunte
all'unità di controllo dopo il rilascio sul mercato.
Tali funzionalità sono implementate nel firmware e/o nell'FPGA dell'unità
di controllo.
Nella tabella riportata di seguito, viene descritta la funzionalità applicabile
in relazione alla versione del firmware e dell'FPGA di TJ1-MC__.
Verificare le versioni del firmware e dell'FPGA di TJ1-MC__
Collegare TJ1-MC__ al software Trajexia Tools. Vedere il Manuale
di programmazione.
Aprire la finestra del terminale e digitare i seguenti comandi:
Nella finestra del terminale, digitare
PRINT VERSION. Il parametro
della versione restituisce il numero di versione corrente del firmware
dell'unità di controllo assi.
Nella finestra del terminale, digitare
PRINT FPGA_VERSION SLOT(-1)
.
Il parametro restituisce il numero di versione corrente dell'FPGA di TJ1-MC__.
Revisione 3.0
MANUALE DI PROGRAMMAZIONE4
Indice
1Avvertenze e precauzioni di sicurezza .....................................................................................................................................................16
1.1Destinatari del manuale ..................................................................................................................................................................................................................16
1.3Precauzioni di sicurezza .................................................................................................................................................................................................................16
1.6Precauzioni per l'assemblaggio dell'unità .......................................................................................................................................................................................21
2.3Programmazione in BASIC.............................................................................................................................................................................................................24
2.3.1Istruzioni per assi, sistema e task.....................................................................................................................................................................................24
2.3.2Aree di memoria ...............................................................................................................................................................................................................24
2.3.3Strutture dei dati e variabili ...............................................................................................................................................................................................25
2.4Esecuzione del movimento.............................................................................................................................................................................................................28
2.4.1Generatore di movimento .................................................................................................................................................................................................28
2.4.2Messa in sequenza...........................................................................................................................................................................................................29
2.4.3Caricamento dei movimenti..............................................................................................................................................................................................29
2.5Interfaccia della riga di comando ....................................................................................................................................................................................................30
2.6Programmi in Basic.........................................................................................................................................................................................................................30
2.6.1Gestione dei programmi ...................................................................................................................................................................................................30
2.6.2Compilazione di programmi..............................................................................................................................................................................................31
2.6.3Esecuzione del programma..............................................................................................................................................................................................31
3.1.1Comandi degli assi ...........................................................................................................................................................................................................33
3.1.2Parametri degli assi ..........................................................................................................................................................................................................34
3.1.3Comandi e parametri di comunicazione ..........................................................................................................................................................................36
3.1.5Comandi, funzioni e parametri di I/O ..............................................................................................................................................................................36
3.1.6Funzioni e operandi matematici ....................................................................................................................................................................................37
Revision 3.0
MANUALE DI PROGRAMMAZIONE5
3.1.7Comandi di programma ...................................................................................................................................................................................................37
3.1.8Comandi di controllo del programma ...............................................................................................................................................................................38
3.1.9Parametri e modificatori di slot .......................................................................................................................................................................................38
Revision 3.0
Indice
3.1.10Comandi e funzioni di sistema .......................................................................................................................................................................................38
3.1.11Parametri di sistema ........................................................................................................................................................................................................39
3.1.12Comandi e parametri dei task ..........................................................................................................................................................................................40
3.2Tutti i comandi BASIC.....................................................................................................................................................................................................................41
3.2.10>= (Maggiore di o uguale a) .............................................................................................................................................................................................43
3.2.12<= (Minore o uguale a) .....................................................................................................................................................................................................43
3.2.14' (Campo di commento) ....................................................................................................................................................................................................44
3.2.15: (Separatore di istruzioni) ................................................................................................................................................................................................44
3.2.122 FLAG ................................................................................................................................................................................................................................84
3.2.133 GET ..................................................................................................................................................................................................................................88
3.2.134 GLOBAL ...........................................................................................................................................................................................................................89
3.2.137 HALT ................................................................................................................................................................................................................................90
3.2.170 MARK .............................................................................................................................................................................................................................106
3.2.175 MOD ...............................................................................................................................................................................................................................109
3.2.187 NEW ...............................................................................................................................................................................................................................117
3.2.192 OFF ................................................................................................................................................................................................................................118
3.2.194 ON ..................................................................................................................................................................................................................................119
3.2.197 OP ..................................................................................................................................................................................................................................119
3.2.199 OR ..................................................................................................................................................................................................................................120
3.2.204 PI ....................................................................................................................................................................................................................................122
3.2.211 PROCESS ......................................................................................................................................................................................................................125
3.2.258 TAN ................................................................................................................................................................................................................................144
3.2.267 TRON .............................................................................................................................................................................................................................146
3.2.272 UNTIL .............................................................................................................................................................................................................................147
3.2.274 VERSION .......................................................................................................................................................................................................................147
3.2.282 WAIT UNTIL ...................................................................................................................................................................................................................150
4Protocolli di comunicazione ....................................................................................................................................................................153
4.2.1Comunicare direttamente con Trajexia dal proprio computer.........................................................................................................................................154
4.2.2Comunicare a distanza con Trajexia ..............................................................................................................................................................................155
4.2.4Protocollo del server FINS ..........................................................................................................................................................................................156
4.2.5Protocollo client FINS .....................................................................................................................................................................................................158
4.3Protocollo seriale .......................................................................................................................................................................................................................158
4.3.1Master Host Link ............................................................................................................................................................................................................159
4.3.2Slave Host Link ............................................................................................................................................................................................................163
4.4.2Configurazione della comunicazione..............................................................................................................................................................................167
4.4.3Stato della comunicazione..............................................................................................................................................................................................172
4.5.2Configurazione della comunicazione..............................................................................................................................................................................173
4.5.3Stato della comunicazione..............................................................................................................................................................................................178
5.2Specifiche e connessioni ..............................................................................................................................................................................................................180
5.2.1Specifiche del PC ...........................................................................................................................................................................................................180
Revision 3.0
MANUALE DI PROGRAMMAZIONE13
5.2.2Installazione del software Trajexia Tools........................................................................................................................................................................181
5.2.3Collegamento a TJ1-MC__.............................................................................................................................................................................................186
5.3.1Progetti di Trajexia Tools................................................................................................................................................................................................191
5.4Finestra delle applicazioni di Trajexia Tools .................................................................................................................................................................................194
5.4.1Pannello di controllo .......................................................................................................................................................................................................194
5.4.2Barra dei menu...............................................................................................................................................................................................................194
5.4.3Barra degli strumenti ......................................................................................................................................................................................................195
5.5Descrizioni dei menu ...................................................................................................................................................................................................................196
5.5.7Menu Help ......................................................................................................................................................................................................................224
6Esempi e suggerimenti............................................................................................................................................................................. 225
6.1.2Impostazioni del guadagno ............................................................................................................................................................................................229
6.1.3Impostazione del parametro degli assi UNITS e del rapporto di riduzione.....................................................................................................................239
6.1.4Mappatura degli ingressi e delle uscite del servoazionamento ......................................................................................................................................251
6.1.7Registrazione e monitoraggio.........................................................................................................................................................................................269
6.2.2Programma di inizializzazione .....................................................................................................................................................................................283
6.2.3Programma per asse singolo ........................................................................................................................................................................................286
6.2.4Posizione tramite individuazione del prodotto ...............................................................................................................................................................287
6.2.5Posizione su una griglia ................................................................................................................................................................................................289
6.2.6Programma per un alimentatore di sacchetti ................................................................................................................................................................291
6.2.7Tabella CAM all'interno di un programma ...................................................................................................................................................................294
6.2.8Programma per lama semovente .................................................................................................................................................................................295
6.2.9Programma di correzione .............................................................................................................................................................................................298
7Soluzione dei problemi............................................................................................................................................................................. 300
7.1Tensione e strumenti di analisi .....................................................................................................................................................................................................300
7.2.1Errori di sistema..............................................................................................................................................................................................................300
7.2.2Errori degli assi...............................................................................................................................................................................................................300
7.2.3Errori delle unità .............................................................................................................................................................................................................301
7.2.4Errori di configurazione...................................................................................................................................................................................................302
7.2.5Sostituire la batteria........................................................................................................................................................................................................302
7.3.1Errori di sistema..............................................................................................................................................................................................................302
7.3.2Errore di comunicazione nei dati di I/O...........................................................................................................................................................................303
7.4.1Errori di sistema..............................................................................................................................................................................................................304
7.4.2Errore di comunicazione nei dati di I/O...........................................................................................................................................................................304
7.5.1Errori di sistema..............................................................................................................................................................................................................304
7.5.2Errori del bus ..................................................................................................................................................................................................................304
7.6.1Errori di sistema..............................................................................................................................................................................................................305
Revision 3.0
MANUALE DI PROGRAMMAZIONE15
Avvertenze e precauzioni di sicurezza
1Avvertenze e precauzioni di sicurezza
1.1Destinatari del manuale
Il presente manuale è destinato a personale qualificato nella
gestione di impianti elettrici (elettrotecnici o equivalenti), responsabile
della progettazione, installazione e gestione di sistemi e strutture
di automazione industriale.
1.2Precauzioni generali
L'utente deve utilizzare il prodotto in base alle specifiche riportate
nel presente manuale.
Prima di utilizzare il prodotto in condizioni non descritte nel manuale
o di applicarlo a sistemi di controllo nucleare, sistemi ferroviari, sistemi
per l'aviazione, veicoli, apparecchiature di sicurezza, stabilimenti
petrolchimici e qualunque altro sistema, macchina o apparecchiatura,
il cui utilizzo errato può avere un serio impatto sull'incolumità di persone
o l'integrità di cose, rivolgersi al proprio rappresentante OMRON.
1.3Precauzioni di sicurezza
AVVERTENZA
Non cortocircuitare mai i terminali positivo e negativo delle
batterie. Non caricare le batterie, né smontarle, deformarle
sottoponendole a pressione o gettarle nel fuoco.
Le batterie potrebbero esplodere, incendiarsi o perdere liquido.
AVVERTENZA
Il cliente è tenuto a implementare meccanismi di sicurezza
per guasti ed errori allo scopo di garantire la sicurezza in caso
di segnali errati, mancanti o anomali provocati da guasti a carico
delle linee di segnale, cadute di tensione temporanee o altre cause.
Disattendere queste precauzioni potrebbe essere causa di gravi
incidenti.
AVVERTENZA
È responsabilità del cliente provvedere all'installazione sotto forma
di circuiti esterni, ovvero esterni all'unità di controllo assi Trajexia,
di circuiti di arresto di emergenza, circuiti di interblocco, circuiti
di finecorsa e altre misure di sicurezza analoghe.
Disattendere queste precauzioni potrebbe essere causa di gravi
incidenti.
AVVERTENZA
Quando l'unità è alimentata, non tentare di aprirla
e non toccarne le parti interne.
Tali azioni comportano il rischio di scosse elettriche.
AVVERTENZA
Quando il sistema è alimentato, non toccare i terminali
o le morsettiere.
Tali azioni comportano il rischio di scosse elettriche.
Revisione 3.0
MANUALE DI PROGRAMMAZIONE16
AVVERTENZA
Quando si verifica il sovraccarico o il cortocircuito dell'uscita
a 24 Vc.c. (alimentazione I/O dell'unità TJ1), potrebbe verificarsi
un abbassamento di tensione e una conseguente disattivazione
delle uscite. Come soluzione a tali problemi, il sistema deve
essere dotato di misure di sicurezza esterne.
AVVERTENZA
In caso di sovraccarico dei transistor di uscita (protezione),
le uscite TJ1 vengono disattivate. Come soluzione a tali problemi,
il sistema deve essere dotato di misure di sicurezza esterne.
Avvertenze e precauzioni di sicurezza
Revisione 3.0
AVVERTENZA
L'unità TJ1 disattiverà il WDOG nel caso in cui la relativa funzione
di autodiagnostica rilevi un errore. Come soluzione a tali problemi,
il sistema deve essere dotato di misure di sicurezza esterne.
AVVERTENZA
Applicare adeguate misure di sicurezza ai circuiti esterni, ovvero
non interni all'unità di controllo assi Trajexia (definita “TJ1”),
in modo da garantire la massima sicurezza in caso di anomalie
dovute al malfunzionamento dell'unità TJ1 o ad altri fattori esterni
che influiscono sul funzionamento di TJ1.
Disattendere queste precauzioni potrebbe essere causa
di gravi incidenti.
AVVERTENZA
Non tentare di smontare, riparare o modificare alcuna unità.
Qualsiasi intervento in tal senso potrebbe provocare errori
di funzionamento, incendi o scosse elettriche.
Attenzione
Verificare lo stato di sicurezza sull'unità di destinazione
prima di trasferire un programma o modificare la memoria.
La mancata osservanza di questa precauzione prima
di procedere a tali operazioni comporta il rischio di lesioni.
Attenzione
Per i programmi utente scritti nell'unità di controllo assi
non viene eseguito il backup automatico nella memoria
flash di TJ1 (funzione di memoria flash).
Attenzione
Durante il cablaggio dell'alimentazione cc, fare attenzione
a non invertire la polarità (+/-). Il collegamento errato
potrebbe provocare errori di funzionamento nel sistema.
Attenzione
Serrare le viti sulla morsettiera del modulo di alimentazione,
applicando la coppia specificata in questo manuale.
La presenza di viti allentate può provocare bruciature
o errori di funzionamento.
1.4Precauzioni relative all'ambiente operativo
Attenzione
Non utilizzare l'unità nei luoghi elencati qui di seguito.
Disattendere questa precauzione può causare errori
di funzionamento, scosse elettriche o bruciature.
-Luoghi esposti alla luce solare diretta.
-Luoghi con temperature o tassi di umidità fuori dell'intervallo
di valori riportato nelle specifiche.
-Luoghi soggetti a formazione di condensa a causa
di considerevoli escursioni termiche.
-Luoghi esposti a gas corrosivi o infiammabili.
-Luoghi esposti a polvere (in particolare polvere metallica)
o agenti salini.
-Luoghi esposti ad acqua, oli o agenti chimici.
-Luoghi soggetti a urti o vibrazioni.
Attenzione
Adottare misure adeguate e sufficienti quando si installano
sistemi nei luoghi elencati qui di seguito.
In caso contrario, potrebbero verificarsi errori di funzionamento.
-Luoghi soggetti a elettricità statica o interferenze di altro tipo.
-Luoghi in cui sono presenti forti campi elettromagnetici.
-Luoghi potenzialmente esposti a radioattività.
-Luoghi in prossimità di fonti di alimentazione.
MANUALE DI PROGRAMMAZIONE17
Avvertenze e precauzioni di sicurezza
Attenzione
L'ambiente in cui viene utilizzato il sistema TJ1 può avere
un grande impatto sulla vita utile e sull'affidabilità del sistema.
L'utilizzo in ambienti operativi non appropriati può provocare
errori di funzionamento, guasti e altri problemi non prevedibili
nel sistema TJ1.
Accertarsi che l'ambiente operativo rispetti le condizioni richieste
per l'installazione e che tali condizioni siano mantenute per l'intera
vita utile del sistema.
1.5Precauzioni relative all'applicazione
AVVERTENZA
Avviare il sistema solo dopo aver verificato che gli assi sono
presenti e sono del tipo corretto.
Il numero degli assi flessibili cambia se durante l'avvio si verificano
errori di rete MECHATROLINK-II oppure se la configurazione
di rete MECHATROLINK-II viene modificata.
AVVERTENZA
Verificare la corretta esecuzione del programma utente prima
di eseguirlo sull'unità.
La mancata verifica del programma può provocare un funzionamento
imprevisto.
Attenzione
Adottare misure adeguate per garantire che la tensione
e la frequenza nominali della corrente di alimentazione siano
sempre corrette. In particolare, fare molta attenzione in luoghi
dove l'alimentazione è instabile.
Un'alimentazione di corrente impropria può provocare errori
di funzionamento.
Attenzione
Installare interruttori esterni e adottare altre misure di sicurezza
per evitare cortocircuiti nel cablaggio esterno.
Misure insufficienti di protezione da cortocircuiti potrebbero
causare bruciature.
Attenzione
Non applicare ai moduli di ingresso una tensione superiore
alla tensione di ingresso nominale.
Una tensione eccessiva potrebbe causare bruciature.
Attenzione
Non applicare ai moduli di uscita tensioni o carichi superiori
alla corrente di carico massima.
Tensioni o carichi eccessivi potrebbero causare bruciature.
Attenzione
Utilizzare sempre la tensione di alimentazione specificata
nel presente manuale.
Scollegare il terminale di messa a terra funzionale quando
si eseguono i test per verificare la tensione di resistenza.
In caso contrario, potrebbero verificarsi bruciature.
Una tensione errata potrebbe provocare errori di funzionamento
Attenzione
Revisione 3.0
MANUALE DI PROGRAMMAZIONE18
o bruciature.
Avvertenze e precauzioni di sicurezza
Revisione 3.0
Attenzione
Durante l'installazione delle unità, effettuare sempre
un collegamento a terra di classe 3 (a 100Ω o inferiore).
Un collegamento a terra non di classe 3 potrebbe provocare
scosse elettriche.
Attenzione
Spegnere sempre il sistema e scollegare l'alimentazione
prima di eseguire una delle operazioni elencate qui di seguito.
La mancata interruzione dell'alimentazione potrebbe provocare
errori di funzionamento o scosse elettriche.
-Montaggio o smontaggio di moduli di espansione,
CPU o altre unità.
-Assemblaggio di moduli.
-Impostazione di DIP switch o di selettori rotanti.
-Collegamento o cablaggio dei cavi.
-Collegamento o scollegamento di connettori.
Attenzione
Accertarsi che tutte le viti di montaggio, le viti dei morsetti
e le viti dei connettori dei cavi siano serrate in base alla coppia
specificata in questo manuale.
Il serraggio a una coppia non corretta potrebbe provocare
errori di funzionamento.
Attenzione
Durante il cablaggio, lasciare l'etichetta di protezione dalla polvere
attaccata all'unità.
La rimozione di tale etichetta potrebbe provocare errori
di funzionamento.
Attenzione
Una volta completato il cablaggio, rimuovere l'etichetta
di protezione contro la polvere per garantire un'appropriata
dispersione del calore.
Lasciare attaccata l'etichetta protettiva, potrebbe provocare
errori di funzionamento.
Attenzione
Per il cablaggio utilizzare terminali a crimpare. Non collegare
direttamente ai terminali fili scoperti.
Il collegamento di fili scoperti potrebbe provocare bruciature.
Attenzione
Controllare attentamente il cablaggio di tutti i componenti
prima di attivare l'alimentazione.
Un cablaggio errato può essere causa di bruciature.
Attenzione
Eseguire il cablaggio correttamente.
Un cablaggio errato può essere causa di bruciature.
Attenzione
Montare l'unità solo dopo aver verificato attentamente
il cablaggio della morsettiera.
Attenzione
Accertarsi che le morsettiere, le prolunghe e altri componenti
dotati di dispositivi di bloccaggio siano correttamente bloccati
in posizione.
L'errato bloccaggio di questi componenti può causare errori
di funzionamento.
MANUALE DI PROGRAMMAZIONE19
Avvertenze e precauzioni di sicurezza
Attenzione
Prima di cambiare la modalità operativa del sistema, accertarsi
l'azione che non produca effetti negativi sul sistema.
Disattendere questa precauzione potrebbe provocare
un funzionamento imprevisto.
Attenzione
Riavviare il funzionamento solo dopo aver trasferito nella nuova
CPU il contenuto della memoria VR e di tabella necessario
per il funzionamento.
Disattendere questa precauzione potrebbe provocare
un funzionamento imprevisto.
Attenzione
Quando si sostituiscono componenti, accertarsi che le specifiche
tecniche del pezzo di ricambio siano appropriate.
Disattendere questa precauzione può causare errori
di funzionamento o bruciature.
Attenzione
Non tirare né piegare i cavi oltre il limite di resistenza naturale.
Ciò potrebbe provocarne la rottura.
Attenzione
I cavi UTP non sono schermati. In ambienti soggetti a interferenze,
utilizzare un sistema con cavo schermato a doppini intrecciati
(STP) e hub appropriati per un ambiente FA.
Non installare cavi a doppini intrecciati su linee ad alta tensione.
Non installare cavi a doppini intrecciati nei pressi di dispositivi
che generano interferenze.
Non installare cavi a doppini intrecciati in luoghi soggetti a tassi
di umidità elevati.
Non installare cavi a doppini intrecciati in luoghi soggetti a sporco
o polvere eccessivi, nebbia d'olio o altri fattori contaminanti.
Attenzione
Per collegare le unità, utilizzare i cavi di connessione dedicati
specificati nei manuali dell'operatore. L'utilizzo di cavi per
computer RS-232C normalmente reperibili in commercio può
provocare guasti ai dispositivi esterni o all'unità di controllo assi.
Attenzione
È possibile che le uscite restino attivate a causa di un errore
di funzionamento delle uscite del transistor incorporato o di altri
circuiti interni. Come soluzione a tali problemi, il sistema deve
essere dotato di misure di sicurezza esterne.
Attenzione
Prima di toccare il sistema, toccare un oggetto metallico
con messa a terra per scaricare l'elettricità statica accumulata.
In caso contrario, potrebbero verificarsi errori di funzionamento
Attenzione
Quando viene attivata l'alimentazione e se un programma
BASIC è impostato sulla modalità di esecuzione automatica,
l'unità TJ1 inizierà a funzionare in modalità RUN.
o danni.
Revisione 3.0
MANUALE DI PROGRAMMAZIONE20
Avvertenze e precauzioni di sicurezza
1.6Precauzioni per l'assemblaggio dell'unità
Attenzione
Installare l'unità in modo appropriato.
Un'installazione inappropriata dell'unità può comportare errori
di funzionamento.
Attenzione
Accertarsi di montare l'unità di terminazione fornita insieme
a TJ1-MC__ nell'unità all'estrema destra.
Se l'unità di terminazione non viene montata in modo appropriato,
l'unità TJ1 non funzionerà correttamente.
Revisione 3.0
MANUALE DI PROGRAMMAZIONE21
Trajexia
2Trajexia
2.1Introduzione
Trajexia è la piattaforma di controllo assi di OMRON che
offre le prestazioni e la facilità d'uso di un sistema dedicato.
Si tratta di un sistema modulare stand alone dotato della
massima flessibilità e scalabilità. L'elemento propulsivo
di Trajexia è il coordinatore di movimento multitasking TJ1.
Grazie a un DSP da 32 bit, è in grado di eseguire task come
camma elettronica, sincronizzazione, controllo di registrazione
e interpolazione usando semplici comandi di movimento.
Trajexia offre un controllo per un massimo di 16 assi su un
bus MECHATROLINK-II o un controllo tradizionale analogico
o a impulsi, con un monitoraggio della posizione, della velocità
e della coppia indipendente per ogni asse. Inoltre, l'esauriente
serie di istruzioni sul movimento, ne rende la programmazione
semplice e intuitiva.
È possibile scegliere tra una vasta gamma di inverter e servo
ad azionamento diretto, lineari e rotativi tra i migliori del mondo.
Il sistema è scalabile fino a un massimo di 16 assi e 8 inverter
e moduli di I/O.
HMI serie NS
I/O digitale
Hostlink
MECHATROLINK-II
PLC della
serie CJ
Ethernet
fig. 1
Strumenti
CX-one
Trajexia
Master
PROFIBUS-DP
Master
DEVICENET
Revisione 3.0
MANUALE DI PROGRAMMAZIONE22
Trajexia
2.1.1Hardware Trajexia
L'hardware Trajexia è descritto nel Manuale di riferimento hardware
di Trajexia, pertanto si consiglia di leggere innanzitutto questo manuale.
Trajexia offre i vantaggi indicati di seguito
Connettività diretta via Ethernet
La porta Ethernet incorporata di Trajexia fornisce una connettività diretta
e rapida per PC, PLC, HMI e altri dispositivi, fornendo al tempo stesso
un accesso completo ai servoazionamenti tramite bus MECHATROLINK-II.
Consente lo scambio di messaggi espliciti tramite Ethernet e attraverso
MECHATROLINK-II, offrendo totale trasparenza fino al livello di attuatore
e rendendo possibile l'accesso remoto.
Tutela del know-how dell'utente
Il metodo di cifratura di Trajexia garantisce la completa protezione
e riservatezza del know-how dell'utente.
Porta seriale e I/O locali
Una porta seriale fornisce una connettività diretta con qualsiasi OMRON PLC,
HMI o altro dispositivo sul campo. I 16 ingressi e le 8 uscite sono I/O dell'unità
controllo assi, integrati e liberamente configurabili per consentire l'impostazione
di Trajexia in base al design della macchina utilizzata.
Master MECHATROLINK-II
Il master MECHATROLINK-II controlla fino a 16 servo, inverter o I/O,
sempre consentendo totale trasparenza in tutto il sistema. MECHATROLINK-II
offre una precisione nei tempi e una velocità di comunicazione essenziali
per garantire un perfetto controllo del movimento dei servo. È possibile
selezionare il tempo di ciclo del movimento tra 0,5 m/s, 1 m/s o 2 m/s.
TJ1-FL02 (modulo assi flessibile)
Il TJ1-FL02 consente di ottenere il pieno controllo di due attuatori tramite
Revisione 3.0
un'uscita analogica o treno di impulsi. Inoltre supporta i protocolli principali
di encoder assoluti consentendo il collegamento di un encoder esterno
al sistema.
Servoazionamenti e inverter
È disponibile un'ampia scelta di servo rotanti, lineari e ad azionamento
diretto, nonché di inverter, per soddisfare ogni requisito di compattezza,
prestazioni e affidabilità. Gli inverter collegati a MECHATROLINK-II
vengono azionati con lo stesso tempo di ciclo di aggiornamento
dei servoazionamenti.
I/O remoti:
Gli I/O del bus MECHATROLINK-II consentono l'espansione del sistema,
mantenendo i dispositivi sotto un unico motion bus.
PROFIBUS-DP
Lo slave PROFIBUS-DP fornisce alla macchina la connettività con la rete
PROFIBUS.
DeviceNet
Lo slave DeviceNet fornisce alla macchina la connettività con la rete
DeviceNet.
2.1.2Questo manuale
Questo Manuale di programmazione fornisce le informazioni dedicate per:
•La descrizione e l'uso dei comandi BASIC
•I protocolli di comunicazione necessari per Trajexia
•L'uso e la descrizione dei diversi elementi dell'interfaccia Trajexia Tools
•Esempi di programmi e le procedure ottimali di programmazione
•Risoluzione dei problemi e individuazione dei guasti.
2.2Programmazione BASIC multitasking
Le unità TJ1-MC__ (unità controllo assi) dispongono di una versione
multitasking del linguaggio di programmazione BASIC. Il linguaggio
per il controllo assi è in larga misura basato su una versione di BASIC
in formato token e i programmi sono compilati sotto forma di token
prima di essere eseguiti.
MANUALE DI PROGRAMMAZIONE23
Trajexia
Il multitasking è semplice da impostare e da usare e consente
la programmazione di macchine molto complesse. Conferisce al TJ1-MC__
un considerevole vantaggio sui sistemi equivalenti a un solo task, in quanto
consente applicazioni modulari laddove processi logicamente collegati
possono essere raggruppati nello stesso programma del task,
semplificando in tal modo l'architettura e la progettazione del codice.
Se le dimensioni della memoria lo consentono, il TJ1-MC__ può contenere fino
a 14 programmi. L'esecuzione dei programmi è controllata dall'utente in BASIC.
I comandi, le funzioni e i parametri BASIC qui presentati sono disponibili
nel capitolo 3.
2.3Programmazione in BASIC
Il linguaggio di programmazione BASIC consiste, tra le altre cose, in comandi,
funzioni e parametri. Queste istruzioni in BASIC sono gli elementi costitutivi
necessari per controllare il funzionamento di TJ1-MC__.
I comandi sono parole riconosciute dal processore che producono l'esecuzione
di una certa azione, ma non restituiscono un valore. Ad esempio,
è una parola riconosciuta che genererà la stampa, su un dispositivo di uscita
specificato, del valore delle funzioni o variabili che seguono il comando.
Le funzioni sono parole riconosciute dal processore che producono
l'esecuzione di una certa azione e restituiscono un valore correlato
a quell'azione. Ad esempio, la funzione ABS prenderà il valore
del relativo parametro e ne restituirà il valore assoluto, che sarà
poi usato da qualche altra funzione o comando. Ad esempio ABS(-1)
restituirà il valore 1, che potrà essere utilizzato dal comando PRINT
per generare una stringa da inviare a un determinato dispositivo.
I parametri sono parole riconosciute dal processore, contenenti
un valore specifico. Tale valore può essere letto e, sempre che non
sia di sola lettura, scritto. I parametri sono utilizzati per determinare
e monitorare il comportamento del sistema. Ad esempio, ACCEL
determina la velocità di accelerazione di un determinato asse.
PRINT
Istruzioni per gli assi
I comandi di controllo del movimento e i parametri degli assi si applicano
a uno o più assi. I parametri degli assi determinano e controllano la reazione
degli assi ai comandi dati e all'ambiente esterno. Ogni asse è dotato
di un insieme di parametri che gli consente di funzionare in maniera
indipendente da tutti gli altri. I comandi di controllo del movimento sono
in grado di controllare contemporaneamente uno o più assi, sebbene
ciascun asse abbia un comportamento proprio. A ogni avvio, i parametri
degli assi vengono riportati ai valori predefiniti.
I comandi e i parametri agiscono su un asse di base o su un gruppo di assi,
BASE
secondo quanto specificato nel comando
impiegato per cambiare questo gruppo di assi di base e ciascun task dispone
di un gruppo proprio che può essere cambiato in qualsiasi momento. L'asse
di base predefinito è 0.
Comandi o parametri che dipendono da assi individuali possono essere
programmati per agire su un asse di base temporaneo includendo
nel comando che dipende dall'asse la funzione AXIS come modificatore.
Un asse di base temporaneo risulta valido solo per il comando o parametro
dopo il quale compare AXIS.
. Il comando
BASE
viene
Istruzioni per i task
I parametri dei task si applicano a task singoli e controllano, ad esempio, i task
per quanto riguarda la gestione degli errori. Il modificatore
all'utente di accedere al parametro di un certo task. Senza
BASE
in considerazione il task corrente. Il comando
a task specifici e può essere utilizzato con il modificatore
(vedere sopra) si riferisce
PROC
PROC
PROC
consente
viene preso
.
Istruzioni per il sistema
Si tratta di istruzioni che regolano le funzioni generali del sistema. In pratica,
si tratta di tutte quelle istruzioni che non appartengono ai primi due gruppi.
2.3.2Aree di memoria
Revisione 3.0
2.3.1Istruzioni per assi, sistema e task
I comandi, le funzioni e i parametri si applicano a uno o più assi,
ai task oppure al sistema in generale.
MANUALE DI PROGRAMMAZIONE24
Nell'unita di controllo assi di Trajexia è possibile individuare tre aree
principali di memoria:
•Memoria di I/O.
•Memoria VR.
•Memoria TABLE.
Trajexia
Memoria di I/O
La memoria di I/O viene utilizzata per tenere i dispositivi di ingresso e di uscita
collegati Trajexia. È suddivisa in due sottoaree: una per la memoria di I/O
digitale e l'altra per la memoria di I/O analogica. La memoria di I/O
digitale contiene gli stati di ingresso e di uscita dei dispositivi di I/O digitali.
Ha una capacità di 256 bit in ingresso (punti di ingresso) e 256 bit in uscita
(punti di uscita). È possibile accedere agli ingressi di questa memoria utilizzando
IN
il comando
La memoria di I/O analogica contiene i valori di ingresso e di uscita dei dispositivi
di I/O analogici. Dispone di una capacità di 36 canali di ingresso e 36 canali di
uscita. I canali di ingresso analogici sono accessibili attraverso il comando
I canali di uscita analogici sono accessibili attraverso il comando
. Per accedere alle uscite, è possibile utilizzare il comando
AOUT
.
Memoria VR
La memoria VR solitamente viene usata se vi sono dati o valori che devono
essere globali, vale a dire accessibili da tutti i programmi del progetto
contemporaneamente. La dimensione di questa memoria è di 1024 slot
con indici da 0 a 1023. Uno slot di memoria è dotato di un indirizzo che
usalamacro VR(x) dove x è l'indice dello slot di memoria. È possibile
accedere alla memoria VR per la lettura e la scrittura. La scrittura viene
eseguita tramite assegnazione matematica utilizzando il comando = del
programma. Il contenuto di questa memoria viene conservato nella RAM
alimentata a batteria e pertanto non va perduto in assenza di alimentazione.
La memoria VR viene mantenuta anche quando la batteria viene sostituita,
sempre che tale sostituzione avvenga con la dovuta rapidità.
Memoria TABLE
La memoria TABLE solitamente viene usata se vi sono dati o valori
che devono essere globali, vale a dire accessibili da tutti i programmi
del progetto contemporaneamente. Se la memoria VR viene impiegata
anch'essa per definire diversi dati e valori globali, la memoria TABLE
viene utilizzata per quantitativi molto maggiori di dati globali che necessitano
anche di essere organizzati secondo un determinato ordine. Per questo motivo,
la memoria TABLE è solitamente utilizzata per la memorizzazione di dati, profili
Revisione 3.0
di movimento e log di dati di TABLE. Alcuni comandi BASIC che forniscono dati
di questo tipo e dimensione, ad esempio
l'utilizzo della memoria TABLE per scrivere i propri risultati. La dimensione
di questa memoria è di 64000 slot con indici che vanno da 0 a 63999. Anche
SCOPE, CAM eCAMBOX
, richiedono
OUT
AIN
la memoria TABLE è accessibile per la lettura e la scrittura, ma le modalità
di accesso per ciascuna di queste due funzioni è diversa. Prima di essere
letto, un determinato slot di memoria TABLE deve essere in primo luogo
definito e scritto utilizzando il comando
x
dove
e
ecc. Una volta definito e scritto, lo slot di memoria TABLE può essere letto
.
.
utilizzando il comando
di memoria TABLE. Se si cerca di leggere uno slot di memoria TABLE
non definito, si verifica un errore che viene riportato da TJ1-MC__.
Il contenuto della memoria TABLE viene conservato nella RAM alimentata
a batteria e pertanto non va perduto in caso di assenza di alimentazione.
La memoria TABLE viene mantenuta anche quando la batteria viene
sostituita, sempre che tale sostituzione avvenga con la dovuta rapidità.
è l'indice dello slot d'inizio della memoria TABLE che occorre definire
valore1, valore2
, ecc., i valori scritti nella memoria TABLE agli indici x, x+1,
TABLE(x)
TABLE(x, valore1, valore2,…)
, in cui x rappresenta l'indice dello slot
2.3.3Strutture dei dati e variabili
I programmi BASIC sono in grado di memorizzare dati numerici in diversi
tipi di variabili. Alcune variabili hanno funzioni predefinite, ad esempio
i parametri degli assi e i parametri di sistema; altre variabili possono
essere definite dal programmatore se richiesto in fase di programmazione.
In questa sezione vengono spiegate le variabili TABLE, globali e locali
di TJ1-MC__. Viene inoltre spiegato l'uso delle etichette.
Variabili TABLE
La memoria TABLE è una struttura a matrice che contiene una serie
di numeri. Questi numeri vengono impiegati, ad esempio, per specificare
nel profilo le posizioni di un comando CAM o CAMBOX. Possono essere
inoltre utilizzati per memorizzare dati da impiegare in futuro, ad esempio
i parametri usati per definire un oggetto da elaborare.
La memoria TABLE è condivisa da tutti i task di TJ1-MC__. Questo vuol
dire che i valori scritti da un task nella memoria TABLE possono essere
letti da altri task.
I valori TABLE possono essere scritti e letti utilizzando il comando TABLE.
La lunghezza massima della matrice è di 64000 elementi, da TABLE(0)
a TABLE(63999). La matrice TABLE è inizializzata fino all'elemento
definito più elevato.
MANUALE DI PROGRAMMAZIONE25
Trajexia
Variabili globali
Le variabili globali, definite nella memoria VR, sono condivise da tutti i task
di TJ1-MC__. Questo vuol dire che se un programma che sta eseguendo
il task 2 imposta VR(25) su un certo valore, altri programmi che stanno
eseguendo task diversi possono leggere quello stesso valore da VR(25).
Questo risulta particolarmente utile nella sincronizzazione di due o più task,
anche se occorre assicurarsi di evitare la scrittura simultanea sulla stessa
variabile da parte di più programmi. L'unità di controllo dispone di 1024
variabili globali, da VR(0) a VR(1023). Le variabili vengono lette e scritte
utilizzando il comando VR.
I vari task in esecuzione possono accedere ai dati TABLE
e VR. Quando si usano le variabili VR o TABLE, assicurarsi
di usare solo un task per scrivere su una particolare variabile.
Ciò consente di evitare i problemi derivanti dall'imprevista
scrittura su una stessa variabile da parte di due programmi.
Variabili locali
Nei programmi è possibile dichiarare variabili nominate o variabili locali
per un task particolare. Questo significa che due o più programmi eseguiti
su task differenti possono utilizzare una variabile con lo stesso nome, il cui
valore sarà però differente per ciascun programma. Le variabili locali possono
essere lette esclusivamente dal task in cui sono dichiarate. Le variabili locali
vengono sempre azzerate all'avvio di un programma. È possibile azzerare
le variabili locali usando il comando
CLEAR
Il massimo numero di variabili locali che possono essere dichiarate è 255.
Solo i primi 16 caratteri del nome sono significativi. Le variabili locali non
definite restituiscono zero. Non è possibile dichiarare variabili locali sulla
riga di comando.
oppure il comando
RESET
.
Uso delle variabili e delle etichette
Ciascun task ha le proprie etichette e le proprie variabili locali. Si prendano
in considerazione, a titolo di esempio, i due programmi mostrati qui di seguito.
/i
start:
FOR a = 1 to 100
MOVE(a)
WAIT IDLE
NEXT a GOTO start
Questi due programmi, se vengono eseguiti simultaneamente in task
diversi, hanno una versione propria della variabile a e dell'etichetta start.
Se è necessario conservare dati in comune tra due o più programmi,
occorre usare le variabili VR. In alternativa, se il quantitativo di dati
da conservare è notevole, è possibile usare la memoria TABLE.
Per rendere più leggibile un programma quando si usa una variabile
VR globale, è possibile ricorrere a due metodi diversi. Il primo consiste
nell'usare come costante, all'interno della variabile VR, una variabile locale
nominata. La variabile locale costante, tuttavia, deve essere dichiarata
in tutti i programmi che usano la variabile globale VR. L'esempio di seguito
mostra come usare VR(3) utilizzando questo approccio per mantenere
un parametro di lunghezza condiviso da diversi programmi:
/i
start:
GOSUB Initial
VR(length) = x
...
...
start:
a=0
REPEAT
a = a + 1
PRINT a
UNTIL a = 300
GOTO start
I programmi BASIC vengono eseguiti in sequenza, una riga per volta.
Per alterare la sequenza di esecuzione si possono usare i comandi BASIC
Revisione 3.0
GOTO e GOSUB. Per definire un'etichetta, occorre collocarla come
primo elemento di una riga e farla terminare con il segno dei due punti (:).
Le etichette possono essere stringhe di caratteri di qualsiasi lunghezza,
anche se solo i primi 15 caratteri sono significativi.
MANUALE DI PROGRAMMAZIONE26
Initial:
length = 3
RETURN
L'altro approccio garantisce persino una maggiore leggibilità e utilizza
il comando GLOBAL per dichiarare il nome come riferimento a una delle
variabili VR globali. Il nome può quindi essere utilizzato dall'interno del
Initial:
length = 3
RETURN
Trajexia
programma contenente la definizione GLOBAL e di tutti gli altri programmi.
Prima che il nome venga usato in altri programmi è necessario assicurarsi
che sia eseguito il programma contenente la definizione GLOBAL.
La procedura ottimale consiste nel definire i nomi globali nel programma
d'avvio. In questo modo, l'esempio sopra diventa:
/i
'La dichiarazione nel programma d'avvio
GLOBAL length, 3
'In altri programmi eseguiti dopo il programma d'avvio
start:
length = x
...
...
start:
MOVE(length)
PRINT(length)
...
2.3.4Specifiche matematiche
Formato numerico
Per i valori numerici, TJ1-MC__ utilizza due formati principali: numeri
a virgola mobile in singola precisione e numeri interi in singola precisione.
Internamente, il formato dei numeri a virgola mobile in singola precisione
è un valore a 32 bit. Ha un campo esponente a 8 bit, un bit per il segno
e un campo frazione a 23 bit, con un 1 implicito quale 24esimo bit. I numeri
a virgola mobile hanno un intervallo valido che va da ±5,9×10
I numeri interi sono, essenzialmente, numeri a virgola mobile con esponente
zero. Ciò implica che i numeri interi hanno un'ampiezza di 24 bit. L'intervallo
dei numeri interi è quindi compreso tra –16.777.216 e 16.777.215. I valori
numerici che ricadono fuori di questo intervallo saranno a virgola mobile.
Tutti i calcoli matematici sono eseguiti in formato a virgola
mobile. Questo significa che i calcoli di/con valori più
grandi possono dare risultati di precisione limitata.
Revisione 3.0
L'utente dovrebbe tenerlo presente nello sviluppo
dell'applicazione per il controllo del movimento.
−
39
a ±3,4×1038.
Formato esadecimale
TJ1-MC__ supporta l'assegnazione e la stampa di valori esadecimali.
Un numero esadecimale viene immesso anteponendo il carattere $ al
numero. L'intervallo valido è compreso tra 0x0 e 0xFFFFFF. Esempio:
>> VR(0)=$FF
>> PRINT VR(0)
255.0000
È possibile stampare un valore in formato esadecimale utilizzando la funzione
HEX
. I valori negativi producono valori esadecimali con complemento a 2 (24 bit).
Per il posizionamento, TJ1-MC__ effettuerà un arrotondamento per eccesso
se il valore frazionario calcolato per la distanza dal margine dell'encoder supera
lo 0,9. In caso contrario, il valore frazionario sarà arrotondato per difetto.
La posizione misurata interna e la posizione richiesta degli assi, rappresentata
dai parametri degli assi
MPOS
e
DPOS
, hanno contatori a 32 bit.
Confronto a virgola mobile
Per evitare risultati di confronto inaspettati, la funzione di confronto
considera nulla una piccola differenza tra valori diversi. Pertanto due
−6
valori con una differenza inferiore a 1,19×10
sono considerati uguali.
Precedenza
Di seguito viene fornita la precedenza degli operatori:
1. Meno unario, NOT
2. ^
3. / *
4. MOD
5. + -
6. = <> > >= <= <
7. AND OR XOR
8. Da sinistra a destra
Per assicurare la precedenza dei vari operatori, il modo migliore è usare
le parentesi.
MANUALE DI PROGRAMMAZIONE27
Trajexia
2.4Esecuzione del movimento
Ciascun task di TJ1-MC__ dispone di un insieme di buffer che
mantiene le informazioni provenienti dai comandi di movimento
impartiti.
2.4.1Generatore di movimento
Il generatore di movimento dispone di due buffer di movimento
per ciascun asse. Un buffer, denominato MTYPE, contiene
il movimento effettivo, vale a dire il movimento in esecuzione
sull'asse in quel momento. L'altro buffer, chiamato NTYPE,
contiene il movimento successivo, che viene eseguito
una volta che il movimento effettivo è stato completato.
Per una spiegazione dettagliata, vedere capitolo 2.8 “Buffer
di movimento” nel Manuale di riferimento hardware di Trajexia.
I programmi BASIC sono separati dal programma del generatore
di movimento, che controlla il movimento degli assi. Il generatore
di movimento dispone di funzioni separate per ciascun asse. Ogni
asse può essere programmato con parametri propri (ad esempio
velocità, accelerazione) e può muoversi in maniera indipendente
e simultanea oppure essere collegato ad altri assi utilizzando
comandi speciali.
Quando un comando di movimento viene elaborato, il generatore
di movimento attende che il movimento sia terminato e il buffer
relativo all'asse interessato si sia vuotato, prima di caricarvi
l'informazione di movimento successiva.
Revisione 3.0
MANUALE DI PROGRAMMAZIONE28
Trajexia
Se i buffer dei task sono pieni, l'esecuzione del programma
viene sospesa fino a quando i buffer non sono di nuovo
disponibili. Ciò vale anche per i task della riga di comando:
nessun comando può essere dato in tale circostanza.
In un caso simile, Trajexia Tools si scollegherà. Il parametro
dei task
PMOVE
sarà impostato su TRUE quando i buffer
dei task sono pieni e reimpostato su FALSE quando sono
di nuovo disponibili.
2.4.2Messa in sequenza
Ogni volta che si interrompe un ciclo di servoazionamento (vedere
la sezione 2.6.3), il generatore di movimento esamina i buffer
NTYPE per vedere se ve ne sono di disponibili. In caso affermativo,
verifica i buffer dei task per vedere se vi è un movimento in attesa
di essere caricato. Se un movimento può essere caricato, i dati
relativi a tutti gli assi specificati vengono caricati dai buffer dei
task ai buffer NTYPE e i buffer dei task corrispondenti vengono
contrassegnati come inattivi. Questo processo viene denominato
controllo delle sequenze.
fig. 2
Buffer dei task
Task 1
MOVECIRC(..) AXIS(0)
FORWARD AXIS(1)
Task 2
Task 3
MOVE(..) AXIS(0)
Buffer dei movimenti
Asse
Movimento successivo
(NTYPE)
Movimento successivo
(NTYPE)
Generatore
di movimento
Controllo delle sequenze
012
MOVE (1)
MOVECIRC (4)
FORWARD (10)
MOVECIRC (4)
IDLE (0)
IDLE (0)
Caricamento
dei movimenti
2.4.3Caricamento dei movimenti
Quando il controllo delle sequenze è terminato, i buffer MTYPE
vengono sottoposti a verifica per vedere se è possibile caricare
dei movimenti. Se i buffer MTYPE richiesti sono disponibili,
il movimento viene caricato dai buffer NTYPE nei buffer MTYPE
e i buffer NTYPE vengono contrassegnati come inattivi. Questo
processo viene denominato caricamento del movimento. Se i buffer
MTYPE contengono un movimento valido, questo viene elaborato.
Quando il movimento è stato completato, i buffer MTYPE vengono
contrassegnati come inattivi.
Revisione 3.0
MANUALE DI PROGRAMMAZIONE29
Trajexia
2.5Interfaccia della riga di comando
L'interfaccia della riga di comando offre all'utente un'interfaccia
diretta per eseguire i comandi e accedere ai parametri del sistema.
Quando TJ1-MC__ è collegato, utilizzare la finestra del terminale
di Trajexia Tools. Per ulteriori dettagli, vedi sezione 5.5.4.
TJ1-MC__ colloca in un buffer gli ultimi 10 comandi impartiti sulla
riga di comando. Premendo i tasti cursore su e giù, è possibile
passare in modo ciclico da un comando nel buffer all'altro.
2.6Programmi in Basic
TJ1-MC__ può memorizzare fino a 14 programmi, a condizione
che la capacità della memoria non venga superata. Per la gestione
di questi file di programma, TJ1-MC__ supporta semplici istruzioni
di gestione molto simili al sistema di archiviazione DOS di un computer.
Il pacchetto software Trajexia Tools viene impiegato per memorizzare
e caricare i programmi in un computer per l'archiviazione, la stampa
e la modifica. Dispone inoltre di diverse funzionalità per il monitoraggio
e il debug dell'unità di controllo. Fare riferimento al capitolo 5.
2.6.1Gestione dei programmi
Trajexia Tools crea automaticamente un progetto che contiene i programmi
da usare per un'applicazione. I programmi del progetto sono tenuti sia
nell'unità di controllo che nel computer. Ogniqualvolta un programma viene
creato o modificato, Trajexia Tools modifica entrambe le copie consentendo
così di avere sempre un backup accurato fuori dell'unità di controllo. Trajexia
Tools verifica che le due versioni del progetto siano identiche, attuando
un controllo di ridondanza ciclica. Se le due versioni sono diverse, Trajexia
Tools consente di copiare la versione di TJ1-MC__ sul disco e viceversa.
I programmi del computer sono memorizzati in un file di testo ASCII.
Possono pertanto essere stampati, modificati e copiati usando un semplice
editor di testo. TJ1-MC__ contiene i programmi originali sotto forma di token;
Revisione 3.0
per questo motivo gli stessi programmi avranno dimensioni inferiori su TJ1MC__ che non sul computer.
Memorizzazione dei programmi
I programmi di TJ1-MC__ sono conservati nella RAM alimentata a batteria
e pertanto non vanno perduti in caso di assenza di alimentazione. Si tratta
di un sistema analogo a quello della memoria VR e della memoria TABLE.
Il contenuto della memoria RAM per i programmi viene mantenuto quando
la batteria si trova in TJ1-MC__. I programmi non vanno perduti neppure
quando la batteria viene sostituita, sempre che tale sostituzione avvenga
con la dovuta rapidità. Per conservare i programmi in assenza di batteria
per periodi più lunghi è necessario copiare i programmi nella memoria
Flash dell'unità di controllo utilizzando il comando EPROM e quindi leggerli
quando si riattiva l'alimentazione; quest'ultima operazione è determinata
dal parametro di sistema POWER_UP.
Comandi di programma
TJ1-MC__ dispone di diversi comandi BASIC che consentono le creazione,
la modifica e la cancellazione dei programmi. Trajexia Tools è dotato
di pulsanti che eseguono anche queste operazioni; pertanto solitamente
non è richiesto l'uso di questi comandi nei programmi.
/i
ComandoFunzione
SELECTSeleziona un programma per la modifica, la cancellazione, ecc.
NEWCancella il programma attualmente selezionato, un programma specificato
o tutti i programmi.
DIRMostra la directory con tutti i programmi.
COPYCrea il duplicato di un programma specificato.
RENAMERinomina un programma specificato.
DELCancella il programma attualmente selezionato o un programma specificato.
LISTMostra il programma attualmente selezionato o un programma specificato.
MANUALE DI PROGRAMMAZIONE30
Trajexia
2.6.2Compilazione di programmi
Il sistema TJ1-MC__ compila i programmi automaticamente se necessario.
Normalmente non è necessario forzare la compilazione dei programmi
da parte di TJ1-MC__. È tuttavia possibile compilare programmi mediante
il menu Program di Trajexia Tools.
Il sistema TJ1-MC__ compila i programmi automaticamente nelle seguenti
circostanze.
•Se è stato modificato, il programma selezionato viene compilato
prima di essere eseguito.
•Se il programma selezionato è stato modificato prima di passare
a un altro programma, esso viene compilato.
•Il programma selezionato viene compilato usando il comando
COMPILE.
Durante la compilazione, la sintassi e la struttura del programma vengono
verificate. Se la compilazione non riesce, verrà visualizzato un messaggio
e non sarà generato alcun codice di programma. Nella casella della
directory di Trajexia Tools comparirà una croce rossa.
Non è possibile eseguire i programmi quando si verificano errori
di compilazione. Gli errori devono essere corretti e il programma ricompilato.
Il processo di compilazione include anche quando segue:
•Rimozione dei commenti.
•Compilazione dei numeri nel formato del processore interno.
•Conversione delle espressioni in notazione polacca inversa
per l'esecuzione.
•Precalcolo delle posizioni variabili.
•Calcolo e integrazione delle destinazioni con struttura ad anello.
2.6.3Esecuzione del programma
La temporizzazione dell'esecuzione dei vari task e l'aggiornamento degli
I/O di TJ1-MC__ sono incentrati sul periodo del ciclo di servoazionamento
del sistema. Tale periodo è determinato dal parametro di sistema
SERVO_PERIOD. Il periodo del ciclo di servoazionamento
di TJ1-MC__ è di 0,5, 1,0 o 2,0 m/s.
Aggiornamento degli I/O
Lo stato degli I/O di TJ1-MC__ viene aggiornato all'inizio di ciascun ciclo
di servoazionamento.
•Lo stato acquisito degli ingressi digitali viene trasferito alla variabile
di ingresso del sistema IN. Notare che questo è lo stato acquisito
nel ciclo di servoazionamento precedente.
•Le uscite analogiche delle velocità di riferimento vengono aggiornate.
•Le uscite digitali sono aggiornate in base allo stato della variabile
di uscita del sistema OP.
•Viene acquisito lo stato degli ingressi digitali.
Notare che non si verifica alcuna elaborazione automatica dei segnali di I/O,
salvo che per la registrazione. Ciò significa che tutte le azioni devono essere
programmate all'interno dei programmi BASIC.
Comandi idonei
Trajexia Tools consente di eseguire, mettere in pausa e arrestare
i programmi in diversi modi, tramite i pulsanti del pannello di controllo
e le finestre di modifica. Per controllare l'esecuzione è possibile inserire
i seguenti comandi sulla riga di comando.
/i
ComandoFunzione
Dal momento che il processo di compilazione richiede
della memoria libera, è possibile che si verifichino
errori di compilazione quando la memoria disponibile
Revisione 3.0
MANUALE DI PROGRAMMAZIONE31
non è sufficiente.
RUNEsegue il programma attualmente selezionato o un programma
specificato; a scelta, su un numero di task specificato.
STOP
HALTArresta tutti i programmi del sistema.
PROCESSVisualizza tutti i task in esecuzione.
Arresta il programma attualmente selezionato o un programma specificato.
Trajexia
L'utente può allocare esplicitamente la priorità dei task in base alla quale
si desidera che venga eseguito il programma BASIC. Quando un programma
utente viene eseguito senza una specifica allocazione di task, gli viene
assegnata la priorità di task disponibile più elevata.
Impostazione dei programmi da eseguire all'avvio
È possibile stabilire l'esecuzione automatica dei programmi al momento
dell'accensione a livelli di priorità diversi. Se necessario, il computer può
restare collegato come interfaccia operatore oppure può essere rimosso,
lasciando i programmi in esecuzione autonoma.
L'esecuzione automatica dei programmi all'avvio viene impostata in Trajexia
Tools attraverso la selezione Set Power Up Mode... del menu Program.
Questa operazione stabilisce quali programmi devono essere eseguiti
automaticamente e con quale priorità. Lo stesso risultato si ottiene con
il comando BASIC RUNTYPE, mentre con il comando DIR è possibile
visualizzare lo stato corrente.
Per maggiori informazioni su controllo dei programmi, multitasking e tempi
di ciclo, vedere le sezioni 2.2 e 2.3 del Manuale di riferimento hardware
di Trajexia.
Revisione 3.0
MANUALE DI PROGRAMMAZIONE32
Comandi BASIC
3Comandi BASIC
3.1Categorie
In questa sezione sono elencati tutti i comandi BASIC divisi per categorie.
Le categorie sono:
•Comandi degli assi.
•Parametri degli assi.
•Comandi e parametri di comunicazione.
•Costanti.
•Comandi, funzioni e parametri di I/O.
•Funzioni e operazioni matematiche.
•Comandi di programma.
•Comandi di controllo del programma.
•Parametri e modificatori di slot.
•Comandi e funzioni di sistema.
•Parametri di sistema.
•Comandi e parametri dei task.
Gli elenchi forniscono solo un riferimento di rapida consultazione.
Nella prossima sezione, i comandi sono elencati in ordine alfabetico
e corredati di una descrizione completa.
3.1.1Comandi degli assi
/i
NomeDescrizione
ACCCambia ACCEL e DECEL contemporaneamente.
ADD_DAC
ADDAXStabilisce un collegamento a un asse sovrapposto. Tutti i movimenti
B_SPLINEEspande il profilo archiviato nella memoria TABLE utilizzando
Revisione 3.0
BASEUtilizzato per impostare l'asse di base a cui vengono applicati
Somma il valore
della posizione richiesta per l'asse sovrapposto saranno aggiunti
a qualsiasi movimento attualmente in corso di esecuzione.
la funzione matematica B-Spline.
i comandi e i parametri.
DAC
di un asse all'uscita analogica dell'asse di base.
NomeDescrizione
CAMSposta un asse in base ai valori di un profilo di movimento archiviato
nella matrice di variabili della memoria TABLE.
CAMBOXSposta un asse in base ai valori di un profilo di movimento
archiviato nella matrice di variabili della memoria TABLE.
Il movimento è collegato al movimento misurato di un altro asse,
formando così una trasmissione software a variazione continua.
CANCELCancella il movimento di un asse.
CONNECTCollega la posizione richiesta di un asse ai movimenti misurati
dell'asse che è stato specificato per asse_motore al fine di fornire
una trasmissione elettronica.
DATUM
DEFPOSDefinisce la posizione corrente come nuova posizione assoluta.
DISABLE_GROUPRaggruppa gli assi per la disabilitazione degli errori.
DRIVE_ALARMControlla l'allarme corrente.
DRIVE_CLEARCancella lo stato di allarme del servoazionamento.
DRIVE_READLegge il parametro specificato del servoazionamento.
DRIVE_RESETReimposta il servoazionamento.
DRIVE_WRITEScrive un valore specifico nel parametro specificato
ENCODER_READLegge un parametro dell'encoder assoluto EnDat.
ENCODER_WRITE Scrive un parametro dell'encoder assoluto EnDat.
FORWARDSposta in avanti un asse costantemente alla velocità impostata
(HW_PSWITCH)Attiva e disattiva l'interruttore hardware all'uscita 0 di TJ1-FL02,
MECHATROLINKInizializza il bus MECHATROLINK-II ed esegue varie operazioni
MHELICALInterpola 3 assi ortogonali producendo un movimento elicoidale.
MOVESposta alla velocità, accelerazione e decelerazione richieste
Esegue una delle 7 sequenze di ricerca dell'origine per posizionare un
asse su una posizione assoluta o reimpostare un errore di movimento.
del servoazionamento.
nel parametro SPEED.
quando le posizioni predefinite vengono raggiunte.
sulle stazioni MECHATROLINK-II collegate al bus.
uno o più assi nella posizione specificata, come incremento
rispetto alla posizione corrente.
MANUALE DI PROGRAMMAZIONE33
Comandi BASIC
NomeDescrizione
MOVEABSSposta alla velocità, accelerazione e decelerazione richieste uno
o più assi nella posizione specificata, come posizione assoluta.
MOVECIRCInterpola 2 assi ortogonali producendo un arco di circonferenza.
MOVELINKCrea un movimento lineare dell'asse di base collegato tramite
trasmissione software alla posizione misurata di un asse
di collegamento.
MOVEMODIFYCambia la posizione finale assoluta del movimento lineare corrente
ad asse singolo (MOVE o MOVEABS).
RAPIDSTOPCancella il movimento corrente da tutti gli assi.
REGISTAcquisisce la posizione di un asse quando sull'encoder
viene individuato un ingresso di registrazione o il fase Z.
REVERSESposta indietro un asse costantemente alla velocità impostata
nel parametro SPEED.
STEP_RATIOImposta il rapporto per l'uscita del motore passo-passo dell'asse.
3.1.2Parametri degli assi
/i
NomeDescrizione
ACCELContiene la velocità di accelerazione dell'asse.
ADDAX_AXISContiene il numero dell'asse al quale l'asse di base
è attualmente collegato tramite ADDAX.
ATYPEContiene il tipo di asse.
AXIS_DISPLAYSeleziona le informazioni che sono rappresentate
dai LED sul coperchio frontale di TJ1-FL02.
AXIS_ENABLEAbilita e disabilita un asse particolare, indipendentemente
da un altro asse.
AXISSTATUSContiene lo stato dell'asse.
CLOSE_WINDefinisce la fine della finestra in cui è previsto la tacca
Revisione 3.0
CLUTCH_RATEDefinisce il cambiamento del rapporto di connessione
CREEPContiene la velocità di slittamento.
di registrazione.
quando viene utilizzato il comando CONNECT.
NomeDescrizione
D_GAINContiene il guadagno di controllo derivativo.
DAC_SCALEImposta la scala e la polarità applicate ai valori DAC.
DATUM_IN
DECELContiene la velocità di decelerazione dell'asse.
DEMAND_EDGESContiene il valore corrente del parametro degli assi DPOS
DPOS
DRIVE_CONTROLSeleziona i dati da monitorare attraverso DRIVE_MONITOR
DRIVE_INPUTS
DRIVE_MONITORControlla i dati del servoazionamento collegato al bus
DRIVE_STATUSContiene lo stato corrente del servoazionamento.
ENCODERContiene una copia non elaborata del registro hardware
ENCODER_BITS
ENCODER_CONTROL Controlla la modalità operativa dell'encoder assoluto EnDat.
ENCODER_ID
ENCODER_RATIOImposta il valore di scala per i conteggi encoder in entrata.
ENCODER_STATUSRestituisce lo stato dell'encoder assoluto Tamagawa.
ENCODER_TURNSRestituisce il conteggio multigiro dell'encoder assoluto.
ENDMOVEMantiene la posizione finale del movimento corrente.
ERRORMASKContiene il valore di maschera che determina se
FAST_JOG
FASTDECDefinisce il rapporto di decelerazione da rampa a zero quando
Contiene il numero d'ingresso da usare come ingresso dell'origine.
contenuto nei fronti dell'encoder.
Contiene la posizione richiesta generata dai comandi di movimento.
per gli assi collegati tramite il bus MECHATROLINK-II.
Per gli assi collegati tramite TJ1-FL02, DRIVE_CONTROL
imposta le uscite di TJ1-FL02.
Contiene i dati di I/O del driver collegato al bus MECHATROLINK-II.
I dati vengono aggiornati a ogni ciclo di servoazionamento.
MECHATROLINK-II. I dati vengono aggiornati a ogni ciclo
di servoazionamento.
dell'encoder.
Imposta il numero di bit per l'encoder assoluto collegato a TJ1-FL02.
Restituisce il valore ID dell'encoder assoluto collegato a TJ1-FL02.
MOTION_ERROR si verifica in base allo stato dell'asse.
Contiene il numero d'ingresso da usare come ingresso di jog rapido.
un asse raggiunge il finecorsa o la posizione.
MANUALE DI PROGRAMMAZIONE34
Comandi BASIC
NomeDescrizione
FEContiene l'errore di inseguimento (Following Error, FE).
FE_LATCHContiene il valore FE che ha fatto sì che l'asse mettesse l'unità
di controllo nello stato MOTION_ERROR.
FE_LIMIT
FE_LIMIT_MODEDefinisce in che modo FE influenzi lo stato MOTION_ERROR.
FE_RANGE
FHOLD_INContiene il numero d'ingresso da usare come ingresso
FHSPEEDContiene la velocità di sospensione dell'alimentazione.
FS_LIMIT
FWD_INContiene il numero d'ingresso da usare come ingresso
FWD_JOGContiene il numero d'ingresso da usare come ingresso
I_GAINContiene il guadagno di controllo integrale.
INVERT_STEPIndirizza un inverter hardware al circuito di uscita del motore
JOGSPEEDImposta la velocità di jog.
LINKAXContiene il numero dell'asse di collegamento durante qualsiasi
MARKIndividua l'evento di registrazione primario in un ingresso
MARKBIndividua l'evento di registrazione secondario in un ingresso
MERGEÈ un interruttore software che può essere utilizzato per abilitare
MPOSÈ la posizione dell'asse misurata dall'encoder.
MSPEEDRappresenta il cambiamento della posizione rilevata nell'ultimo
Revisione 3.0
MTYPEContiene il tipo di movimento attualmente in esecuzione.
Contiene il valore massimo ammesso per l'errore di inseguimento.
Contiene i limiti per l'avvertenza relativa all'errore di inseguimento.
per la sospensione dell'alimentazione.
Contiene la posizione assoluta del limite software di avanzamento.
per il limite di avanzamento.
di un jog in avanti.
passo-passo.
movimento collegato.
di registrazione.
di registrazione.
o disabilitare l'unione di movimenti consecutivi.
ciclo di servoazionamento.
NomeDescrizione
NTYPEContiene il tipo di movimento presente nel buffer dei movimenti
successivi.
OFFPOSContiene un offset che sarà applicato alla posizione richiesta
senza influenzare il movimento in nessun altro modo.
OPEN_WINDefinisce l'inizio della finestra in cui è previsto la tacca
di registrazione.
OUTLIMITContiene il limite che circoscrive l'uscita della velocità
di riferimento da TJ1-MC__.
OV_GAINContiene il guadagno per il controllo della velocità di uscita.
P_GAINContiene il guadagno per il controllo proporzionale.
REG_POS
REG_POSBContiene la posizione in cui si è verificato l'evento
REMAINÈ la distanza rimanente fino alla fine del movimento corrente.
REMOTE_ERRORRestituisce il numero di errori sulla connessione
REP_DISTContiene o imposta la distanza di ripetizione.
REP_OPTIONControlla l'applicazione del parametro REP_DIST per gli assi.
REV_INContiene il numero d'ingresso da usare come ingresso
REV_JOGContiene il numero d'ingresso da usare come ingresso
RS_LIMIT
S_REFContiene il valore della velocità di riferimento che viene
S_REF_OUTContiene il valore della velocità di riferimento che viene
SERVODetermina se l'asse funziona in modalità di controllo
SPEEDContiene la velocità richiesta in unità/s.
SRAMPContiene il fattore della curva a S.
Contiene la posizione in cui si è verificato un evento di registrazione.
di registrazione secondario.
MECHATROLINK-II del servoazionamento.
per il limite di marcia indietro.
di un jog indietro.
Contiene la posizione assoluta del limite software di marcia indietro.
applicata quando l'asse si trova in modalità ad anello aperto.
applicata al servoazionamento sia in modalità ad anello
chiuso che in modalità ad anello aperto.
servo oppure ad anello aperto.
MANUALE DI PROGRAMMAZIONE35
Comandi BASIC
NomeDescrizione
T_REFContiene il valore della coppia di riferimento che viene
applicata al servomotore.
TRANS_DPOSContiene la posizione richiesta per l'asse all'uscita
della trasformazione del contorno.
UNITSContiene il fattore di conversione delle unità.
VERIFYSeleziona modalità operative differenti sull'asse
di un'uscita motore passo-passo.
VFF_GAINContiene il guadagno di velocità per il feed-forward.
VP_SPEEDContiene la velocità del profilo di velocità.
3.1.3Comandi e parametri di comunicazione
/i
NomeDescrizione
FINS_COMMSInvia la memoria di lettura e la memoria di scrittura FINS
a un server FINS designato.
HLM_COMMANDEsegue un comando Host Link specifico sullo slave.
HLM_READLegge i dati dello slave Host Link trasferendoli alla matrice
di variabili VR o TABLE.
HLM_STATUSRappresenta lo stato dell'ultimo comando del master Host Link.
HLM_TIMEOUTDefinisce il tempo di timeout del master Host Link.
HLM_WRITEScrive i dati sullo slave Host Link trasferendoli dalla matrice
di variabili VR o TABLE.
HLS_NODEDefinisce il numero di modulo dello slave per il protocollo
slave Host Link.
SETCOMImposta le comunicazioni seriali.
Revisione 3.0
3.1.4Costanti
/i
NomeDescrizione
FALSEPari al valore numerico 0.
OFFPari al valore numerico 0.
ONPari al valore numerico 1.
PIPari al valore numerico 3,1416.
TRUEPari al valore numerico –1.
3.1.5Comandi, funzioni e parametri di I/O
/i
NomeDescrizione
GETAttende l'arrivo di un unico carattere e assegna il codice ASCII
del carattere alla variabile.
INRestituisce il valore degli ingressi digitali.
INDEVICEDefinisce i parametri del dispositivo di ingresso predefinito.
INPUTAttende la ricezione di una stringa e assegna il valore numerico
alla variabile.
KEYRestituisce TRUE o FALSE a seconda che il carattere sia stato
ricevuto oppure no.
LINPUTAttende una stringa e l'inserisce nelle variabili VR.
OPImposta una o più uscite oppure restituisce lo stato delle
prime24uscite.
OUTDEVICEDefinisce il dispositivo di uscita predefinito.
PRINTInvia una serie di caratteri a una porta seriale.
PSWITCH
Attiva un'uscita quando viene raggiunta una posizione predefinita
e disattiva l'uscita quando viene raggiunta una seconda posizione.
MANUALE DI PROGRAMMAZIONE36
Comandi BASIC
3.1.6Funzioni e operandi matematici
/i
NomeDescrizione
+ (ADDIZIONE)Somma due espressioni.
- (SOTTRAZIONE)Calcola la differenza tra due espressioni.
* (MOLTIPLICAZIONE)Moltiplica due espressioni.
/ (DIVISIONE)Calcola la divisione due espressioni.
^ (POTENZA)Trasferisce l'esponente di un'espressione ad un'altra.
= (UGUALE A)Verifica due espressioni per vedere se sono uguali.
= (ASSEGNAZIONE)Assegna un'espressione a una variabile.
<> (DIVERSO DA)Controlla due espressioni per vedere se sono diverse.
>(MAGGIORE DI)Verifica due espressioni per vedere se l'espressione di sinistra
è maggiore di quella di destra.
>= (MAGGIORE
DI O UGUALE A)
< (MINORE DI)Verifica due espressioni per vedere se l'espressione di sinistra
<= (MINORE
O UGUALE A)
ABSRestituisce il valore assoluto di un'espressione.
ACOSRestituisce l'arcocoseno di un'espressione.
ANDEsegue un'operazione AND sui bit corrispondenti dei numeri
ASINRestituisce l'arcoseno di un'espressione.
ATANRestituisce l'arcotangente di un'espressione.
ATAN2Restituisce l'arcotangente di un numero complesso diverso
Revisione 3.0
COSRestituisce il coseno di un'espressione.
EXPRestituisce il valore esponenziale di un'espressione.
FRACRestituisce la parte frazionaria di un'espressione.
Verifica due espressioni per vedere se l'espressione di sinistra
è maggiore o uguale a quella di destra.
è minore di quella di destra.
Verifica due espressioni per vedere se l'espressione di sinistra
è minore o uguale a quella di destra.
interi di due espressioni.
da zero dato da due espressioni.
NomeDescrizione
IEEE_INRestituisce il numero a virgola mobile in formato IEEE,
rappresentato da 4 byte.
IEEE_OUTRestituisce il singolo byte estratto dal numero a virgola mobile
in formato IEEE.
INTRestituisce il numero intero di un'espressione.
LNRestituisce il logaritmo naturale di un'espressione.
MODRestituisce il modulo di due espressioni.
NOTEsegue un'operazione NOT sui bit corrispondenti dei numeri
interi di due espressioni.
OREsegue un'operazione OR tra i bit corrispondenti dei numeri
interi di due espressioni.
SGNRestituisce il segno di un'espressione.
SINRestituisce il seno di un'espressione.
SQRRestituisce la radice quadrata di un'espressione.
TANRestituisce la tangente di un'espressione.
XOREsegue una funzione XOR tra i bit corrispondenti dei numeri
interi di due espressioni.
3.1.7Comandi di programma
/i
NomeDescrizione
' (CAMPO
DI COMMENTO)
: (SEPARATORE
DI ISTRUZIONI)
AUTORUNAvvia tutti i programmi che sono stati impostati per essere
COMPILECompila il programma corrente.
COPYCopia in un nuovo programma un programma esistente nell'unità
Consente a una riga di non essere eseguita.
Consente la presenza di più istruzioni su una riga.
eseguiti all'avvio.
di controllo assi.
MANUALE DI PROGRAMMAZIONE37
Comandi BASIC
NomeDescrizione
DELElimina un programma dall'unità di controllo assi.
DIRVisualizza una lista dei programmi presenti nell'unità di controllo
assi, la loro dimensione e il loro RUNTYPE sull'uscita standard.
EDIT
EPROMMemorizza un programma nella memoria flash.
LISTStampa il programma sull'uscita standard.
NEWElimina tutte le righe del programma dell'unità di controllo assi.
PROCESSRestituisce lo stato di funzionamento e il numero di ogni task
RENAMECambia il nome di un programma dell'unità di controllo assi.
RUNEsegue un programma.
RUNTYPEDetermina se un programma viene azionato all'avvio
SELECTSpecifica il programma corrente.
STEPLINEEsegue una singola riga di un programma.
STOPInterrompe l'esecuzione del programma.
TROFFSospende una registrazione alla riga corrente e riprende
TRONCrea un'interruzione in un programma.
Consente la modifica di un programma tramite un terminale VT100.
in esecuzione.
e su quale task deve essere eseguito.
la normale esecuzione del programma.
3.1.8Comandi di controllo del programma
/i
NomeDescrizione
FOR..TO..STEP..NEXT
GOSUB..RETURNPassa a una subroutine della riga immediatamente successiva
Revisione 3.0
GOTOPassa alla riga contenente l'etichetta.
L'esecuzione ad anello consente al segmento di un programma
di essere ripetuto con un aumento o una diminuzione della variabile.
all'etichetta. L'esecuzione del programma torna all'istruzione
successiva se viene fornito un "RETURN" a pagina 132.
NomeDescrizione
IF..THEN..ELSE..ENDIF Controlla il flusso del programma in base ai risultati della
condizione.
ON.. GOSUB
o ON.. GOTO
REPEAT..UNTILL'esecuzione ad anello consente la ripetizione del segmento
WHILE..WENDL'esecuzione ad anello consente la ripetizione del segmento
Attiva un conditional jump verso una delle diverse etichette.
di programma fino a quando la condizione diventa "TRUE"
a pagina 146.
di programma fino a quando la condizione non diventa FALSE.
3.1.9Parametri e modificatori di slot
/i
NomeDescrizione
COMMSTYPEContiene il tipo di unità presente nello slot di un'unità di controllo.
FPGA_VERSIONRestituisce la versione FPGA dell'unità con numero_unità
nel sistema di un'unità di controllo.
SLOTÈ un modificatore che specifica il numero di slot dell'unità.
3.1.10 Comandi e funzioni di sistema
/i
NomeDescrizione
$ (DATI ESADECIMALI) Assegna un numero esadecimale a una variabile.
AXISImposta l'asse per un comando, la lettura dei parametri
degli assi o l'assegnazione a un asse particolare.
BASICERRORÈ utilizzato per eseguire una specifica routine quando
si verifica un errore in un comando BASIC.
CLEARCancella tutte le variabili globali e locali dal task corrente.
CLEAR_BITCancella il bit specificato della variabile VR specificata.
CLEAR_PARAMSRiporta ogni variabile e ogni parametro archiviato nella memoria
flash EPROM alle impostazioni predefinite.
MANUALE DI PROGRAMMAZIONE38
Comandi BASIC
NomeDescrizione
CONSTANTDichiara una costante da utilizzare in un programma BASIC.
DATE$Stampa la data corrente come stringa.
DAY$Stampa il giorno corrente come stringa.
DEVICENETConfigura TJ1-DRT (unità slave DeviceNet) per lo scambio
di dati o restituisce lo stato di scambio dati di TJ1-DRT.
ETHERNET
EXReimposta l'unità di controllo.
FLAGImposta e legge un insieme di 32 bit.
FLAGSLegge e imposta FLAGS come blocco.
FREERestituisce la quantità di memoria disponibile.
GLOBALDichiara un riferimento a una delle variabili VR.
HALTArresta tutti i programmi al momento in esecuzione.
INITIALISEImposta tutti gli assi e i parametri sui valori predefiniti.
INVERT_INInverte i canali d'ingresso 0 – 31 del software.
INVERTER_COMMAND Legge l'I/O e cancella l'allarme dell'inverter di frequenza.
INVERTER_READLegge parametro, allarme, velocità e coppia di riferimento
Legge e imposta vari parametri della porta Ethernet di TJ1-MC__.
dell'inverter di frequenza.
NomeDescrizione
SET_BITImposta su uno il valore del bit specificato nella variabile
VR specificata.
TABL E
TABLEVALUESRestituisce una lista di valori della memoria TABLE.
TIME$Stampa l'ora corrente come stringa.
TRIGGERAvvia un comando SCOPE precedentemente impostato.
VRScrive e legge i dati nelle variabili globali (VR).
VRSTRINGRiunisce i valori della memoria VR per consentirne la stampa
WASospende l'esecuzione del programma per il numero
WAIT IDLE
WAIT LOADED
WAIT UNTILValuta ripetutamente la condizione fino a quando non è TRUE.
Scrive e legge i dati nella matrice di variabili della memoria TABLE.
come stringa.
di millisecondi specificato.
Sospende l'esecuzione del programma fino a quando l'asse
di base non ha concluso il movimento corrente e tutti i movimenti
contenuti nel buffer.
Sospende l'esecuzione del programma fino a quando nel buffer
non vi sono più movimenti da eseguire per l'asse di base, a parte
quelli attualmente in esecuzione.
INVERTER_WRITEScrive parametro, velocità e coppia di riferimento dell'inverter
di frequenza.
LIST_GLOBALMostra tutte le variabili GLOBAL e CONSTANT.
LOCKImpedisce che i programmi vengano visualizzati o modificati.
PROFIBUSConfigura TJ1-PRT (unità slave PROFIBUS-DP) per lo scambio
di dati di I/O con il master e restituisce lo stato di TJ1-PRT.
READ_BIT
RESETReimposta tutte le variabili locali di un task.
SCOPEProgramma la memorizzazione automatica da parte del sistema
Revisione 3.0
Restituisce il valore del bit specificato nella variabile VR specificata.
di un massimo di 4 parametri sulla matrice di variabili della
memoria TABLE per ogni periodo di campionamento.
3.1.11Parametri di sistema
/i
NomeDescrizione
AINContiene il valore del canale analogico.
AOUTContiene il valore del canale analogico.
BATTERY_LOWRestituisce la condizione corrente della batteria.
CHECKSUMContiene il checksum per i programmi della RAM.
COMMSERRORContiene tutti gli errori di comunicazione che si sono verificati
dall'ultima volta che il sistema è stato inizializzato.
CONTROLContiene il tipo di TJ1-MC__ del sistema.
MANUALE DI PROGRAMMAZIONE39
Comandi BASIC
NomeDescrizione
D_ZONE_MAX
D_ZONE_MIN
DATEImposta o restituisce la data corrente contenuta nell'orologio
DAYImposta o restituisce il giorno corrente.
DISPLAYDetermina i canali di I/O da visualizzare sui LED del pannello
ERROR_AXIS
FRAMESpecifica il frame operativo per le trasformazioni del frame.
LAST_AXISContiene il numero dell'ultimo asse elaborato dal sistema.
MOTION_ERRORContiene un flag di errore per gli errori di movimento degli assi.
NAIORestituisce il numero di canali analogici collegati
NEG_OFFSETConsente di attribuire un offset negativo al segnale DAC
NIOContiene il numero di entrate e uscite collegate al sistema.
POWER_UPDetermina se i programmi debbano essere letti dalla memoria
POS_OFFSETApplica un offset positivo al segnale DAC proveniente
SCOPE_POSContiene la posizione corrente all'interno della memoria
SERVO_PERIODImposta il periodo del ciclo di servoazionamento di TJ1-MC__.
SYSTEM_ERRORContiene gli errori di sistema dopo l'ultima inizializzazione.
Controlla l'uscita DAC insieme al valore di errore di inseguimento.
Controlla l'uscita DAC insieme al valore di errore di inseguimento.
calendario.
frontale.
Contiene il numero dell'asse che ha causato l'errore di movimento.
al bus MECHATROLINK-II.
proveniente dall'anello servo.
flash EPROM all'avvio o al ripristino.
dall'anello servo.
TABLE dove il comando SCOPE sta attualmente memorizzando
il primo parametro.
3.1.12 Comandi e parametri dei task
/i
NomeDescrizione
ERROR_LINEContiene il numero della riga che ha provocato l'ultimo errore
del programma BASIC.
PMOVEContiene lo stato dei buffer dei task.
PROCConsente l'accesso al parametro di un processo particolare.
PROC_STATUSRestituisce lo stato del processo specificato.
PROCNUMBERContiene il numero del task in cui il programma attualmente
selezionato viene eseguito.
RUN_ERRORContiene il numero dell'ultimo errore BASIC che si è verificato
nel task specificato.
TICKSContiene il conteggio corrente degli impulsi di clock del task.
TSIZERestituisce le dimensioni della tabella definita correntemente.
Revisione 3.0
VERSIONRestituisce il numero di versione del firmware dell'unità
di controllo assi.
WDOGL'interruttore software che abilita i servoazionamenti.
MANUALE DI PROGRAMMAZIONE40
Comandi BASIC
3.2Tutti i comandi BASIC
3.2.1+ (Addizione)
/i
TipoFunzione matematica
Sintassiespressione1 + espressione2
DescrizioneL'operatore + somma due espressioni.
Argomenti•espressione1
Qualsiasi espressione valida in BASIC.
•espressione2
Qualsiasi espressione valida in BASIC.
Esempiorisultato = 4 + 3
Assegna il valore 7 alla variabile risultato.
Vedere anche
3.2.2- (Sottrazione)
/i
TipoFunzione matematica
Sintassiespressione1 - espressione2
DescrizioneL'operatore - sottrae espressione2 da espressione1.
Argomenti•espressione1
Esempiorisultato = 10 - 2
Vedere anche
N/D
Qualsiasi espressione valida in BASIC.
•espressione2
Qualsiasi espressione valida in BASIC.
Assegna il valore 8 alla variabile risultato.
N/D
3.2.3* (Moltiplicazione)
/i
TipoFunzione matematica
Sintassiespressione1 * espressione2
DescrizioneL'operatore * moltiplica due espressioni.
Argomenti•espressione1
Qualsiasi espressione valida in BASIC.
•espressione2
Qualsiasi espressione valida in BASIC.
Esempiorisultato = 3 * 7
Assegna il valore 21 alla variabile risultato.
Vedere anche
N/D
3.2.4/ (Divisione)
/i
TipoFunzione matematica
Sintassiespressione1 / espressione2
DescrizioneL'operatore / divide espressione1 per espressione2.
Argomenti•espressione1
Qualsiasi espressione valida in BASIC.
•espressione2
Qualsiasi espressione valida in BASIC.
Esempiorisultato = 11 / 4
Assegna il valore 2.75 alla variabile risultato.
Vedere anche
N/D
Revisione 3.0
MANUALE DI PROGRAMMAZIONE41
Comandi BASIC
3.2.5^ (Potenza)
/i
TipoFunzione matematica
Sintassiespressione1 ^ espressione2
DescrizioneL'esponente ^ eleva expressione_1 alla potenza di expressione_2.
Questa operazione utilizza algoritmi a virgola mobile e potrebbe produrre
alcune piccole deviazioni nei calcoli con numeri interi.
Argomenti•espressione_1
Espressione in BASIC.
•espressione_2
Espressione in BASIC.
Esempiorisultato = 2^5
Questo assegna il valore 32 alla variabile risultato.
Vedere anche
N/D
3.2.6= (Uguale a)
/i
TipoFunzione matematica
Sintassiespressione1 = espressione2
DescrizioneL'operatore = restituisce TRUE se espressione1 è uguale a espressione2,
in caso contrario restituisce FALSE.
Argomenti•espressione1
Qualsiasi espressione valida in BASIC.
•espressione2
Qualsiasi espressione valida in BASIC.
EsempioIF a = 10 THEN GOTO etichetta1
Se la variabile a contiene un valore uguale a 10, l'esecuzione
del programma prosegue all'etichetta etichetta1. In caso contrario,
Revisione 3.0
Vedere anche
l'esecuzione del programma prosegue con l'istruzione successiva.
N/D
3.2.7= (Assegnazione)
/i
TipoFunzione matematica
Sintassivariabile = espressione
DescrizioneL'operatore = assegna il valore dell'espressione alla variabile.
Argomenti•variabile
Un nome di variabile.
•espressione
Qualsiasi espressione valida in BASIC.
Esempiovar = 18
Assegna il valore 18 alla variabile var.
Vedere anche
N/D
3.2.8<> (Diverso da)
/i
TipoFunzione matematica
Sintassiespressione1 <> espressione2
DescrizioneL'operatore <> restituisce TRUE se espressione1 è diversa
da espressione2, in caso contrario restituisce FALSE.
Argomenti•espressione1
Qualsiasi espressione valida in BASIC.
•espressione2
Qualsiasi espressione valida in BASIC.
EsempioIF a <> 10 THEN GOTO etichetta1
Se la variabile a contiene un valore non uguale a 10, l'esecuzione
del programma prosegue all'etichetta etichetta1. In caso contrario,
l'esecuzione del programma prosegue con l'istruzione successiva.
Vedere anche
N/D
MANUALE DI PROGRAMMAZIONE42
Comandi BASIC
3.2.9> (Maggiore di)
/i
TipoFunzione matematica
Sintassiespressione1 > espressione2
DescrizioneL'operatore > restituisce TRUE se espressione1 è maggiore
di espressione2, in caso contrario restituisce FALSE.
Argomenti•espressione1
Qualsiasi espressione valida in BASIC.
•espressione2
Qualsiasi espressione valida in BASIC.
EsempioIF a > 10 THEN GOTO etichetta1
Se la variabile a contiene un valore maggiore di 10, l'esecuzione
del programma prosegue all'etichetta etichetta1. In caso contrario,
l'esecuzione del programma prosegue con l'istruzione successiva.
Vedere anche
N/D
3.2.10 >= (Maggiore di o uguale a)
/i
TipoFunzione matematica
3.2.11< (Minore di)
/i
TipoFunzione matematica
Sintassiespressione1 < espressione2
DescrizioneL'operatore < restituisce TRUE se espressione1 è minore di espressione2,
in caso contrario restituisce FALSE .
Argomenti•espressione1
Qualsiasi espressione valida in BASIC.
•espressione2
Qualsiasi espressione valida in BASIC.
EsempioIF a < 10 THEN GOTO etichetta1
Se la variabile a contiene un valore minore di 10, l'esecuzione
del programma prosegue all'etichetta etichetta1. In caso contrario,
l'esecuzione del programma prosegue con l'istruzione successiva.
Vedere anche
N/D
3.2.12 <= (Minore o uguale a)
/i
TipoFunzione matematica
Sintassiespressione1 >= espressione2
DescrizioneL'operatore >= restituisce TRUE se espressione1 è maggiore
o uguale a espressione2, in caso contrario restituisce FALSE.
Argomenti•espressione1
Qualsiasi espressione valida in BASIC.
•espressione2
Qualsiasi espressione valida in BASIC.
EsempioIF a >=10 THEN GOTO etichetta1
Se la variabile a contiene un valore maggiore o uguale a 10, l'esecuzione
Revisione 3.0
Vedere anche
del programma prosegue all'etichetta etichetta1. In caso contrario,
l'esecuzione del programma prosegue con l'istruzione successiva.
N/D
Sintassiespressione1 <= espressione2
DescrizioneL'operatore <= restituisce TRUE se espressione1 è minore
o uguale a espressione2, in caso contrario restituisce FALSE.
Argomenti•espressione1
Qualsiasi espressione valida in BASIC.
•espressione2
Qualsiasi espressione valida in BASIC.
EsempioIF a <= 10 THEN GOTO etichetta1
Se la variabile a contiene un valore minore o uguale a 10, l'esecuzione
del programma prosegue all'etichetta etichetta1. In caso contrario,
l'esecuzione del programma prosegue con l'istruzione successiva.
Vedere anche
N/D
MANUALE DI PROGRAMMAZIONE43
Comandi BASIC
3.2.13 $ (Dati esadecimali)
/i
TipoComando di sistema
Sintassi$num_esadecimale
DescrizioneIl comando $ rende il numero che segue un numero esadecimale.
Argomenti•num_esadecimale
Un numero esadecimale (costituito dai caratteri 0 – 9 e A – F).
num_esadecimale è compreso tra 0 e FFFFFF.
Esempio>>TABLE(0,$F,$ABCD)
>>print TABLE(0),TABLE(1)
15.0000 43981.0000
Vedere anche
HEX (PRINT)
3.2.14 ' (Campo di commento)
/i
TipoComando di programma
Sintassi'
Descrizione' contrassegna tutto ciò che segue su una riga come commento e non come
codice di programma. Il commento non viene eseguito quando il programma
è in esecuzione. È possibile utilizzare ' all'inizio di una riga o dopo
un'istruzione valida.
ArgomentiN/D
Esempio' Questa riga non è stampata
PRINT "Avvio"
Vedere anche
N/D
3.2.15 : (Separatore di istruzioni)
/i
TipoComando di programma
Sintassi:
DescrizioneIl separatore di istruzioni : divide più istruzioni in BASIC presenti su una
singola riga. È possibile utilizzarlo sulla riga di comando e nei programmi.
ArgomentiN/D
EsempioPRINT "QUESTA RIGA": GET low : PRINT "FA TRE COSE"
Vedere anche
N/D
3.2.16 #
/i
TipoCarattere speciale
Sintassi#
DescrizioneIl simbolo # viene utilizzato per specificare un canale di comunicazione
da usare per comandi di ingresso/uscita seriali.
Nota: i canali di comunicazione maggiori di 3 saranno utilizzati solo
se è in esecuzione il software Trajexia Tools.
ArgomentiN/D
EsempioPRINT #1,"RS232"
PRINT #2,"Porta 2"
EsempioIF KEY #1 THEN GET #1,k
Controllare il tastierino sulla porta RS232
Vedere anche
N/D
Revisione 3.0
MANUALE DI PROGRAMMAZIONE44
Comandi BASIC
3.2.17 ABS
/i
TipoFunzione matematica
SintassiABS(espressione)
DescrizioneLa funzione ABS restituisce il valore assoluto di un'espressione.
Argomenti•espressione
Qualsiasi espressione valida in BASIC.
EsempioIF ABS(A) > 100 THEN PRINT "A non rientra nell'intervallo -100... 100"
Vedere anche
N/D
3.2.18 ACC
/i
TipoComando degli assi
SintassiACC(velocità)
DescrizioneImposta contemporaneamente accelerazione e decelerazione.
Questo comando fornisce un metodo rapido per impostare sia ACCEL
sia DECEL. Si consiglia di impostare la velocità di accelerazione
e quella di decelerazione con i parametri ACCEL e DECEL per gli assi.
Argomenti•velocità
La velocità di accelerazione in unità/s
con il parametro UNITS per gli assi.
EsempioACC(100)
Imposta ACCEL e DECEL su 100 unità/s
Vedere anche
ACCEL, DECEL, UNITS
2
. È possibile definire le unità
2
.
3.2.19 ACCEL
/i
TipoParametro degli assi
SintassiACCEL = espressione
DescrizioneIl parametro degli assi ACCEL contiene la velocità di accelerazione degli
assi. La velocità è impostata su unità/s
valore positivo, compreso lo zero.
ArgomentiN/D
EsempioBASE(0)
ACCEL = 100 ' Imposta la velocità di accelerazione
PRINT "Velocità di accelerazione: ";ACCEL;" mm/s/s"
ACCEL AXIS(2) = 100 ' Imposta la velocità di accelerazione per l'asse (2)
Vedere anche
ACCEL, DECEL, UNITS
2
. Il parametro può avere qualsiasi
3.2.20 ACOS
/i
TipoFunzione matematica
SintassiACOS(espressione)
DescrizioneLa funzione ACOS restituisce l'arcocoseno dell'espressione. Il valore
dell'espressione deve essere compreso tra –1 e 1. Il risultato in radianti
è compreso tra 0 and PI. I valori d'ingresso fuori intervallo restituiranno 0.
Argomenti•espressione
Qualsiasi espressione valida in BASIC.
Esempio>> PRINT ACOS(-1)
3.1416
Vedere anche
N/D
Revisione 3.0
MANUALE DI PROGRAMMAZIONE45
Comandi BASIC
3.2.21 ADD_DAC
/i
TipoComando degli assi
SintassiADD_DAC(asse)
DescrizioneIl comando ADD_DAC può fornire un doppio controllo di retroazione
permettendo che un encoder secondario venga utilizzato sul servoasse.
Il comando consente la somma delle uscite di 2 anelli servo determinando
la velocità di riferimento per il servoazionamento.
Questo comando è solitamente utilizzato in applicazioni come l'alimentazione
a rulli, dove un encoder secondario è richiesto per compensare lo slittamento.
Per l'utilizzo di ADD_DAC è necessario collegare i due assi con retroazione
fisica a un asse comune sul quale vengono eseguiti i movimenti richiesti.
Solitamente questo si ottiene eseguendo i movimenti su uno solo dei due
assi e utilizzando ADDAX o CONNECT per raggiungere la posizione richiesta
corrispondente (DPOS) per entrambi gli assi. I guadagni dell'anello servo
devono essere impostati per entrambi gli assi. Le uscite dell'anello servo
sono sommate all'uscita della velocità di riferimento del servoasse.
Per cancellare il collegamento, usare ADD_DAC(-1).ADD_DAC agisce sull'asse di base predefinito (impostato con BASE) a meno
che AXIS non venga usato per specificare un asse di base temporaneo.
Nota:
1.tenere presente che occorre determinare con precisione per entrambi gli
assi i guadagni dell'anello di controllo. Dal momento che vengono utilizzati
encoder diversi con risoluzioni diverse, i guadagni non sono identici.
2.Impostare il parametro OUTLIMIT sullo stesso valore per entrambe
le sincronizzazioni.
Argomenti•asse
Asse da cui prendere l'uscita della velocità di riferimento da sommare
all'asse di base. Impostare l'argomento su –1 per annullare
il collegamento e tornare al funzionamento normale.
SERVO AXIS(0) = ON
SERVO AXIS(1) = ON
' Esegue i movimenti sull'asse 0
Questo esempio mostra il controllo del servoazionamento dell'asse 0 tramite
un doppio controllo di retroazione utilizzando sia l'asse 0 che l'asse 1.
EsempioBASE(0)
OUTLIMIT AXIS(1) = 15000
ADD_DAC(1) AXIS(0)
ADDAX(0) AXIS(1)
WDOG = ON
SERVO = OFF
S_REF = 0
BASE(1)
SERVO = ON
' Esegue i movimenti sull'asse 1
Questo esempio mostra il controllo del servoazionamento dell'asse
0 utilizzando solamente la retroazione dell'encoder sull'asse 1.
Vedere anche
AXIS, ADDAX, OUTLIMIT
3.2.22 ADDAX
/i
TipoComando degli assi
SintassiADDAX(asse)
DescrizioneIl comando ADDAX riceve dall'asse sovrapposto i cambiamenti relativi
alla posizione richiesta in base a quanto specificato dall'argomento
dell'asse e li aggiunge a qualsiasi movimento in corso di esecuzione
sull'asse destinatario del comando.
Una volta dato il comando ADDAX, il collegamento tra i due assi si mantiene
fino a quando non viene interrotto. Utilizzare ADDAX(-1) per annullare
il collegamento tra gli assi. ADDAX consente a un asse di eseguire
i movimenti specificati per 2 assi collegati. È inoltre possibile combinare
più di due assi applicando il comando ADDAX all'asse sovrapposto.
ADDAX agisce sull'asse di base predefinito (impostato con BASE) a meno
che AXIS non sia usato per specificare un asse di base temporaneo.
Argomenti•asse
L'asse da impostare come asse sovrapposto. Impostare l'argomento su –
1 per cancellare il collegamento e tornare al funzionamento normale.
MANUALE DI PROGRAMMAZIONE46
Comandi BASIC
EsempioFORWARD ' Imposta un movimento continuo
ADDAX(2) ' Aggiunge l'asse 2 per correzione
REPEAT
GOSUB getoffset ' Ottiene l'offset da applicare
MOVE(offset) AXIS(2)
UNTIL IN(2) = ON ' Finché non viene effettuata la correzione
I pezzi sono collocati su un nastro trasportatore a moto continuo e vengono
raccolti più avanti sul nastro. Un sistema di rilevamento indica se un pezzo
si trova avanti o indietro rispetto alla sua posizione normale e la distanza
da tale posizione.
In questo esempio si presume che l'asse 0 sia l'asse di base ed esegua
un movimento continuo in avanti e che un movimento sovrapposto sull'asse
2 venga utilizzato per applicare gli offset in base all'offset calcolato in una
subroutine.
Vedere anche
AXIS, OUTLIMIT
AVVERTENZA
Tenere presente che l'utilizzo di diversi comandi ADDAX
nel sistema può provocare un anello pericoloso quando,
ad esempio, un asse è collegato a un altro e viceversa.
Una simile evenienza potrebbe causare instabilità nel sistema.
3.2.23 ADDAX_AXIS
/i
TipoParametro degli assi (sola lettura)
SintassiADDAX_AXIS
3.2.24 AIN
/i
TipoParametro di sistema
SintassiAIN(canale_analogico)
DescrizioneI canali di ingresso analogici a +/–10V si ottengono collegando i moduli
JEPMC-AN2900 del bus MECHATROLINK-II.
Nota: anche se il valore di ingresso analogico dovrebbe essere sempre
positivo, viene comunque controllato per garantire che sia maggiore di zero.
Questo è per tenere conto di eventuali disturbi del segnale di ingresso
che potrebbero rendere il valore negativo e causare un errore; una velocità
negativa, infatti, non è valida per alcun tipo di movimento, eccetto FORWARD
o REVERSE.
Argomenticanale_analogico.
Canale di ingresso analogico numero 0.31
EsempioMOVE(-5000)
REPEAT
a=AIN(1)
IF a<0 THEN a=0
SPEED=a*0.25
UNTIL MTYPE=0
La velocità di una linea di produzione dipende dalla velocità di immissione
del materiale su quella linea. Il caricamento del materiale avviene tramite
un anello a bassa velocità dotato di un sensore d'altezza a ultrasuoni.
La gamma d'uscita del sensore a ultrasuoni va da 0 a 4 V; quando
l'uscita è pari a 4 V, l'anello si trova alla massima estensione.
Vedere anche
N/D
DescrizioneIl parametro degli assi ADDAX_AXIS restituisce il numero dell'asse
a cui l'asse di base è correntemente collegato mediante il comando ADDAX.
ArgomentiN/D
Esempio>>BASE(0)
Revisione 3.0
Vedere anche
>>ADDAX(2)
>> PRINT ADDAX_AXIS
2.0000
ADDAX, AXIS
3.2.25 AND
/i
TipoOperazione matematica
Sintassiespressione1 AND espressione2
MANUALE DI PROGRAMMAZIONE47
Comandi BASIC
DescrizioneL'operatore AND esegue la funzione logica AND sui bit corrispondenti
dei numeri interi di due espressioni valide in BASIC.
La funzione logica AND tra due bit viene definita come segue:
0 AND 0 = 0
0 AND 1 = 0
1 AND 0 = 0
1 AND 1 = 1
Argomenti•espressione1
Qualsiasi espressione valida in BASIC.
•espressione2
Qualsiasi espressione valida in BASIC.
EsempioVR(0) = 10 AND (2.1*9)
Le operazioni tra parentesi vengono calcolate per prime, ma solo il numero
intero del risultato, cioè 18, è utilizzato per l'operazione AND. Pertanto
questa espressione equivale alla seguente:
VR(0) = 10 AND 18
AND è un operatore di bit e quindi l'azione binaria si svolge come segue:
01010 AND 10010 = 00010
Pertanto, VR(0) conterrà il valore 2.
EsempioIF MPOS AXIS(0) > 0 AND MPOS AXIS(1) > 0 THEN GOTO ciclo1
Vedere anche
N/D
3.2.26 AOUT
/i
TipoParametro di sistema
3.2.27 ASIN
/i
TipoFunzione matematica
SintassiASIN(espressione)
Descrizione
Argomenti•espressione
Esempio>> PRINT ASIN(-1)
Vedere anche
La funzione
un valore compreso tra –1 e 1. Il risultato in radianti è compreso tra -PI/2 e PI/2.
I valori d'ingresso non compresi in questo intervallo restituiscono 0.
-1.5708
N/D
ASIN
restituisce l'arcoseno dell'argomento. L'argomento deve avere
Qualsiasi espressione valida in BASIC.
3.2.28 ATAN
/i
TipoFunzione matematica
SintassiATAN(espressione)
DescrizioneLa funzione ATAN restituisce l'arcotangente dell'argomento. espressione
può avere un qualsiasi valore. Il risultato è espresso in radianti ed è compreso
tra -PI/2 e PI/2.
Argomenti•espressione
Qualsiasi espressione valida in BASIC.
SintassiAOUT(canale_analogico)
DescrizioneIl comando imposta il valore dei canali di uscita analogici +/–10 V disponibili
collegando i moduli JEPMC-AN2910 del bus MECHATROLINK-II. La gamma
dei valori è pari a [–32000, 32000] per una tensione di [–10 V, 10 V].
Argomenti•canale_analogico.
Canale di uscita analogico numero 0.31
Revisione 3.0
EsempioNessun esempio.
Vedere anche
N/D
Esempio>> PRINT ATAN(1)
0.7854
Vedere anche
N/D
3.2.29 ATAN2
/i
TipoFunzione matematica
SintassiATAN2(espressione1,espressione2)
MANUALE DI PROGRAMMAZIONE48
Comandi BASIC
DescrizioneLa funzione ATAN2 restituisce l'arcotangente del numero complesso
diverso da zero (espressione2, espressione1), che è equivalente all'angolo
compreso tra un punto con coordinate (espressione1, espressione2)
e l'asse x. Se espressione2 >= 0, il risultato è uguale al valore
di ATAN(espressione1 / espressione2). Il risultato in radianti
sarà compreso tra -PI e PI.
Argomenti•espressione1
Qualsiasi espressione valida in BASIC.
•espressione2
Qualsiasi espressione valida in BASIC.
Esempio>> PRINT ATAN2(0,1)
0.0000
Vedere anche
N/D
3.2.30 ATYPE
/i
TipoParametro degli assi
SintassiATYPE = valore
DescrizioneIl parametro degli assi ATYPE imposta il tipo di asse per un asse specifico.
I valori validi dipendono dal modulo TJ1 a cui è collegato il servoazionamento
che controlla l'asse. Vedere la tabella riportata di seguito. I parametri
ATYPE sono impostati dal sistema all'avvio. Per gli assi controllati dai
servoazionamenti collegati al sistema attraverso il bus MECHATROLINK-II,
il valore predefinito di ATYPE è 41 (velocità Mechatro). Per gli assi controllati
dai servoazionamenti collegati al sistema attraverso TJ1-FL02, il valore
predefinito di ATYPE è 44 (servo dell'asse flessibile).
ArgomentiN/D
EsempioATYPE AXIS(1) = 45
Questo comando imposterà l'asse 1 come asse di uscita encoder dell'asse
flessibile.
Vedere anche
Revisione 3.0
AXIS
/i
AXIS tipoATYPE valoreUnità TJ1 applicabile
Virtuale0Tutte
Posizione Mechatro40TJ1-ML__ (modulo master
MECHATROLINK-II)
Velocità Mechatro41TJ1-ML__
Coppia Mechatro42TJ1-ML__
Uscita motore passo-passo asse flessibile43TJ1-FL02
Servo dell'asse flessibile44TJ1-FL02
Uscita encoder asse flessibile45TJ1-FL02
Tamagawa assoluto asse flessibile46TJ1-FL02
EnDat assoluto asse flessibile47TJ1-FL02
SSI assoluto asse flessibile48TJ1-FL02
3.2.31 AUTORUN
/i
TipoComando di programma
SintassiAUTORUN
DescrizioneIl comando AUTORUN avvia tutti i programmi che sono stati impostati per
essere eseguiti all'avvio.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
RUNTYPE
3.2.32 AXIS
/i
TipoComando di sistema
SintassiAXIS(numero_asse)
MANUALE DI PROGRAMMAZIONE49
Comandi BASIC
DescrizioneIl modificatore AXIS imposta l'asse per un solo comando di movimento
o una sola lettura/scrittura di parametri relativi a un asse specifico.
AXIS risulta valido solo per la riga di comando o di programma
in cui è programmato. Usare il comando BASE per cambiare
l'asse di base per tutte le righe di comando che seguono.
Argomenti•numero_asse
Qualsiasi espressione valida in BASIC che specifichi il numero di asse.
EsempioBASE(0)
PRINT VP_SPEED AXIS(2)
EsempioMOVE(300) AXIS(0)
EsempioREPDIST AXIS(1) = 100
Vedere anche
BASE
3.2.33 AXIS_DISPLAY
/i
TipoParametro degli assi
SintassiAXIS_DISPLAY = valore
DescrizioneIl parametro degli assi AXIS_DISPLAY consente la visualizzazione di diversi
dati sui LED del coperchio frontale di TJ1-FL02. I LED su cui agisce questa
impostazione di parametro sono i due LED gialli che mostrano lo stato
dell'asse. All'avvio, il valore predefinito di questo parametro è 0 per tutti
gli assi. I valori validi sono riportati nella tabella di seguito.
ArgomentiN/D
EsempioAXIS_DISPLAY AXIS(2) = 2
Questo comando visualizza lo stato di OUT 0 e OUT 1 allocati all'asse 2.
Vedere anche
/i
AXIS_DISPLAY valore0123
A0REG 0AUX INOUT 0ENCODER A
Revisione 3.0
A1REG 1ENCODER ZOUT 1ENCODER B
B0REG 0AUX INOUT 0ENCODER A
B1REG 1ENCODER ZOUT 1ENCODER B
N/D
3.2.34 AXIS_ENABLE
/i
TipoParametro degli assi
SintassiAXIS_ENABLE = ON/OFF
DescrizioneIl parametro degli assi AXIS_ENABLE viene utilizzato per attivare
o disattivare un particolare asse indipendentemente dagli altri. Questo
parametro può essere impostato come attivo o non attivo per ciascun asse
singolarmente. Il valore predefinito all'avvio è “attivo” per ogni asse. Un asse
verrà attivato se per quell'asse sia AXIS_ENABLE che WDOG sono “attivi”.
Impostando AXIS_ENABLE su “non attivo” per gli assi MECHATROLINK-II,
l'uscita del servoazionamento verso il motore sarà disattivata. Impostando
AXIS_ENABLE su “non attivo” per il servoasse dell'asse flessibile, entrambe
le tensioni di uscita saranno portate a 0. Impostando AXIS_ENABLE
su “non attivo” per l'uscita motore passo-passo e l'uscita encoder dell'asse
flessibile, la generazione degli impulsi sulle uscite verrà bloccata.
ArgomentiN/D
EsempioAXIS_ENABLE AXIS(3) = OFF
Questo comando disattiverà l'asse 3 indipendentemente dagli altri assi
del sistema.
Vedere anche
AXIS, DISABLE_GROUP
3.2.35 AXISSTATUS
/i
TipoParametro degli assi (sola lettura)
SintassiAXISSTATUS
DescrizioneIl parametro degli assi AXISSTATUS contiene lo stato dell'asse. Le definizioni
del parametro degli assi AXISSTATUS sono riportate nella tabella di seguito.
Il parametro AXISSTATUS viene utilizzato per la gestione degli errori
di movimento dell'unità.
ArgomentiN/D
EsempioIF (AXISSTATUS AND 16)>0 THEN PRINT "Entro il limite
di avanzamento"
Vedere anche
AXIS, ERRORMASK
MANUALE DI PROGRAMMAZIONE50
Comandi BASIC
/i
Numero
bit
0–1–
1Avviso di errore di inseguimento2w
2Errore di comunicazione
3Allarme del servoazionamento8m
4Limite di avanzamento16f
5Limite di marcia indietro32r
6Ricerca origine dati64d
7Ingresso della sospensione
8Limite di errore di inseguimento256e
9Limite software di avanzamento512x
10Limite software di marcia indietro1024y
11Annullamento del movimento in corso2048c
12Velocità eccessiva dell'uscita encoder4096o
DescrizioneValoreCarattere
(usato in Trajexia Tools)
4a
del servoazionamento
128h
dell'alimentazione
3.2.36 B_SPLINE
Argomenti•tipo
Riservato a un'espansione futura. Impostare sempre su 1.
•dati_ingresso
Posizione della memoria TABLE dove è registrato il profilo sorgente.
•numero_ingresso
Numero di punti nel profilo sorgente.
•dati_uscita
Posizione della memoria TABLE dove sarà memorizzato il profilo
espanso.
•rapporto_espansione
Il coefficiente di espansione: se il profilo di sorgente è di 100 punti
eilrapporto_espansione è impostato su 10, il profilo risultante
sarà di 1000 punti (100 * 10).
SintassiB_SPLINE(tipo, dati_ingresso, numero_ingresso, dati_uscita, n.
espansione)
DescrizioneEspande un profilo esistente registrato nella memoria TABLE a un'altra
area della memoria TABLE, utilizzando la funzione matematica B-Spline
mediante un fattore di espansione configurabile.
Revisione 3.0
L'utilizzo ideale di questo comando si ha quando il profilo CAM sorgente
non è sufficientemente elaborato e richiede l'estrapolazione in un maggior
numero di punti.
MANUALE DI PROGRAMMAZIONE51
Comandi BASIC
DescrizioneIl comando BASE viene utilizzato per impostare l'asse di base predefinito
o per impostare un insieme specifico di sequenza di assi. Tutti i comandi
di movimento e i parametri d'asse successivi saranno applicati all'asse
di base o a un insieme specifico di sequenza di assi, salvo il caso
in cui il comando AXIS venga utilizzato per specificare un asse
di base temporaneo. L'asse di base rimane valido fino a quando
non viene cambiato nuovamente con il comando BASE.
Ogni processo BASIC può avere un insieme di assi proprio e ciascun
programma ne può impostare uno indipendentemente. Usare il modificatore
PROC per accedere al parametro di un determinato task.
Il comando BASE di raggruppamento in sequenza può essere impostato
stabilendo esplicitamente l'ordine degli assi. Questo ordine viene utilizzato
a fini di interpolazione nei movimenti multiasse lineari e circolari. All'avvio
ovvero quando un programma inizia ad essere eseguito su un task,
l'impostazione predefinita dell'insieme degli assi di base
è (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15). Il comando BASE senza alcun
argomento restituisce il raggruppamento corrente in sequenza di base.
Nota: se il comando BASE non specifica tutti gli assi, il comando BASE
“assegnerà” automaticamente i valori rimanenti. Per prima cosa assegnerà
un valore a ogni asse rimasto superiore all'ultimo valore dichiarato, quindi
ne assegnerà uno a ogni asse rimasto in sequenza.
Pertanto BASE(2,6,10) imposterà la matrice interna di 16 assi su:
2,6,10,11,12,13,14,15,0,1,3,4,5,7,8,9.
ArgomentiIl comando può supportare fino a 16 argomenti.
•asse_i
Numero dell'asse impostato come asse di base e qualsiasi asse
successivo nella sequenza del gruppo per i movimenti a più assi.
EsempioBASE(1)
UNITS = 2000 ' Imposta il fattore di conversione delle unità per l'asse 1
SPEED = 100 ' Imposta la velocità per l'asse 1
ACCEL = 5000 ' Imposta la velocità di accelerazione per l'asse 1
BASE(2)
UNITS = 2000 ' Imposta il fattore di conversione delle unità per l'asse 2
Revisione 3.0
SPEED = 125 ' Imposta la velocità per l'asse 2
ACCEL = 10000 ' Imposta la velocità di accelerazione per l'asse 2
È possibile programmare la velocità, l'accelerazione e altri parametri
di ciascun asse.
EsempioBASE(0)
MOVE(100,-23.1,1250)
In questo esempio, gli assi 0, 1 e 2 si porteranno nella posizione specificata
alla velocità e all'accelerazione impostate per l'asse 0. BASE(0) imposta
l'asse 0 come asse di base; questa operazione determina quali sono
i tre assi utilizzati da MOVE e la velocità e accelerazione degli stessi.
Esempio>>BASE(0,2,1)
Sulla riga di comando la sequenza del gruppo di base può essere visualizzata
digitando BASE.
Esempio>> RUN "PROGRAM",3
>> BASE PROC(3)(0,2,1)
Utilizzare il modificatore PROC per mostrare la sequenza del gruppo di base
di un determinato task.
Esempio>>BASE(2)
>> PRINT BASE
2.0000
La stampa di BASE restituirà l'asse di base correntemente selezionato.
Vedere anche
AXIS
3.2.38 BASICERROR
/i
TipoComando di sistema
SintassiBASICERROR
DescrizioneIl comando BASICERROR può essere utilizzato per eseguire una routine
quando si verifica un errore di run-time in un programma. BASICERROR può
essere utilizzato solo all'interno di un comando ON... GOSUB o ON... GOTO.
L'esecuzione di questo comando nel programma BASIC è richiesta una sola
volta. Se vengono utilizzati più comandi, risulta valido solo quello che viene
eseguito per ultimo.
ArgomentiN/D
MANUALE DI PROGRAMMAZIONE52
Comandi BASIC
Esempio ON BASICERROR GOTO routine_errore
...
nessun_errore = 1
STOP
routine_errore:
IF nessun_errore = 0 THEN
PRINT "L'errore";RUN_ERROR[0];
PRINT " si è verificato alla riga ";ERROR_LINE[0]
ENDIF
STOP
In questo esempio, se si verifica un errore in un comando BASIC,
verrà eseguita la routine di errore.
La presenza dell'istruzione IF impedisce che il programma
entri in routine d'errore quando viene arrestato normalmente.
Vedere anche
ERROR_LINE, ON, RUN_ERROR.
3.2.39 BATTERY_LOW
/i
TipoParametro di sistema (sola lettura)
SintassiBATTERY_LOW
DescrizioneQuesto parametro restituisce lo stato corrente della batteria.
Se BATTERY_LOW=ON occorre sostituire la batteria.
Se BATTERY_LOW=OFF la batteria è sufficientemente carica.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
Revisione 3.0
N/D
3.2.40 BREAK_RESET
/i
TipoComando di sistema
SintassiBREAK_RESET "nome_programma"
DescrizioneUtilizzato da Trajexia Tools per rimuovere tutti i punti di interruzione
dal programma specificato.
Argomenti•nome_programma
Il nome del programma da cui si desiderano rimuovere
tutti i punti di interruzione.
EsempioBREAK_RESET "sempliceprova"
Rimuoverà tutti i punti di interruzione dal programma sempliceprova.
DescrizioneIl comando CAM viene utilizzato per generare il movimento di un asse
secondo un profilo di posizione memorizzato nella matrice delle variabili
della memoria TABLE. I valori della memoria TABLE costituiscono posizioni
assolute rispetto al punto d'inizio e sono specificati nei fronti dell'encoder.
La matrice della memoria TABLE viene specificata con il comando TABLE.
Il movimento può essere definito tramite un qualsiasi numero di punti compreso
tra 2 e 64000. TJ1-MC__ si sposta in continuazione tra i valori della memoria
TABLE per permettere a diversi di punti di definire un profilo scorrevole.
È possibile eseguire simultaneamente due o più comandi
valori simili o sovrapposti presenti nella matrice della memoria TABLE.
Il profilo della memoria TABLE viene percorso trasversalmente una sola volta.
CAM
richiede che l'elemento di avvio presente nella matrice della memoria
TABLE abbia come valore zero. L'argomento distanza, assieme ai parametri
SPEED
della memoria TABLE. Notare che per poter seguire esattamente il profilo
il parametro dell'asse
al parametro
CAM agisce sull'asse di base predefinito (impostato con BASE) a meno
che AXIS non sia usato per specificare un asse di base temporaneo.
e
ACCEL
, determina la velocità di spostamento attraverso la matrice
SPEED
ACCEL
.
deve essere almeno 1000 volte superiore
CAM
utilizzando
CAM
,
MANUALE DI PROGRAMMAZIONE53
Comandi BASIC
Argomenti•punto_iniziale
L'indirizzo del primo elemento da utilizzare nella matrice della
memoria TABLE.
La matrice della memoria TABLE, potendo specificare il punto di avvio,
è in grado di mantenere più di un profilo e/o altre informazioni.
•punto_finale
L'indirizzo dell'elemento finale nella matrice della memoria TABLE.
•moltiplicatore_tabella
Il valore del moltiplicatore di tabella che viene utilizzato per scalare i valori
registrati nella memoria TABLE. Dal momento che i valori della memoria
TABLE sono specificati nei fronti dell'encoder, è possibile utilizzare questo
argomento per impostare, ad esempio, i valori del fattore di conversione
delle unità (impostato attraverso il parametro
•distanza
Fattore espresso in unità utente che controlla la velocità di spostamento
attraverso la Tabella. Il tempo impiegato per eseguire CAM dipende
dalla velocità corrente dell'asse e da questa distanza. Supponiamo
ad esempio che il sistema sia programmato in mm, la velocità impostata
su 10 mm/s e l'accelerazione abbastanza elevata. Se la distanza
specificata è di 100 mm, CAM ci metterà 10 secondi ad eseguirla.
Il parametro SPEED dell'asse di base consente la modifica della
velocità di spostamento quando si utilizza il movimento CAM.
Nota: quando il comando CAM è in esecuzione, il parametro ENDMOVE
è impostato sulla fine dell'ultimo movimento.
Esempio
Revisione 3.0
Vedere anche
Supponiamo che un movimento debba seguire l'equazione di posizione
t(x)=x*25 + 10000(1-cos(x)). In questo esempio, x è espresso in gradi.
L'esempio riguarda una memoria TABLE che genera una semplice oscillazione
cui è sovrapposta una velocità costante. Il codice di seguito può essere
utilizzato per caricare la memoria TABLE e attraversarla a ciclo continuo.
DescrizioneIl comando CAMBOX viene utilizzato per generare il movimento di un asse
secondo un profilo di posizione memorizzato nella matrice delle variabili della
memoria TABLE. Il movimento è collegato al movimento misurato di un altro
asse, formando così una trasmissione software a variazione continua. I valori
della memoria TABLE costituiscono posizioni assolute rispetto al punto
d'inizio e sono specificati nei fronti dell'encoder.
La matrice della memoria TABLE viene specificata con il comando
Il movimento può essere definito attraverso un numero qualsiasi di punti
compresi tra 2 e 64000. La matrice della memoria TABLE, potendo specificare
il punto di avvio, è in grado di mantenere più di un profilo e/o altre informazioni.
TJ1-MC__ si sposta in continuazione tra i valori della memoria TABLE per
permettere a un numero di punti di definire un profilo scorrevole. È possibile
eseguire simultaneamente due o più comandi
valori simili o sovrapposti presenti nella matrice della memoria TABLE.
Il comando CAMBOX richiede che l'elemento iniziale della memoria
TABLE abbia valore zero. Notare inoltre che il comando CAMBOX
consente l'attraversamento in avanti e indietro della memoria TABLE,
in base alla direzione dell'asse principale.
L'argomento opzione_collegamento può essere utilizzato sia per specificare
diverse opzioni d'avvio per il comando sia per specificare un CAM continuo.
Se per esempio l'opzione_collegamento viene impostata su 4, CAMBOX
funziona come un CAM “fisico”.
CAMBOX agisce sull'asse di base predefinito (impostato con BASE)
a meno che AXIS non sia usato per specificare un asse di base temporaneo.
Nota: durante l'esecuzione di CAMBOX, il parametro ENDMOVE è impostato
sulla fine dell'ultimo movimento e il parametro degli assi REMAIN contiene
la distanza rimanente sull'asse di collegamento.
Revisione 3.0
CAMBOX
utilizzando
TABLE
Argomenti•punto_iniziale
L'indirizzo del primo elemento da utilizzare nella matrice della
memoria TABLE.
•punto_finale
L'indirizzo dell'elemento finale nella matrice della memoria TABLE.
•moltiplicatore_tabella
Il valore del moltiplicatore di tabella che viene utilizzato per scalare i valori
registrati nella memoria TABLE. Dal momento che i valori della memoria
TABLE sono specificati nei fronti dell'encoder, è possibile utilizzare questo
argomento per impostare, ad esempio, i valori del fattore di conversione
delle unità (impostato attraverso il parametro UNITS).
•distanza_collegamento
La distanza, espressa in unità utente, che l'asse di collegamento deve
coprire per completare il movimento di uscita specificato. La distanza
.
EsempioNessun esempio.
Vedere anche
/i
valore
opzione_collegamento
1Il collegamento inizia quando si verifica un evento
2Il collegamento inizia da una posizione assoluta dell'asse
4
5Combinazione delle opzioni 1 e 4.
6Combinazione delle opzioni 2 e 4.
di collegamento deve essere specificata come distanza positiva.
•asse_collegamento
L'asse a cui ci si deve collegare.
•opzione_collegamento
Vedere tabella di seguito.
•posizione_collegamento
La posizione assoluta da dove CAMBOX ha inizio quando
l'opzione_collegamento è impostata su 2.
•AXIS, CAM, REP_OPTION, TABLE
Descrizione
di registrazione sull'asse di collegamento.
di collegamento (vedere posizione_collegamento).
CAMBOX
Questa opzione viene cancellata impostando il bit 1 del parametro
REP_OPTION (REP_OPTION = REP_OPTION OR 2
si ripete automaticamente e nelle due direzioni.
).
MANUALE DI PROGRAMMAZIONE55
Comandi BASIC
3.2.43 CANCEL
/i
TipoComando degli assi
SintassiCANCEL[(1)]
CA[(1)]
DescrizioneIl comando CANCEL cancella il movimento in corso di esecuzione
su un asse. I movimenti dotati di profilo di velocità (FORWARD, REVERSE, MOVE, MOVEABS, MOVECIRC, MHELICAL e MOVEMODIFY) subiscono
una decelerazione in base alla velocità di decelerazione impostata nel
parametro DECEL e vengono infine arrestati. Gli altri movimenti vengono
arrestati subito.
Il comando CANCEL cancella il contenuto del buffer del movimento
corrente (MTYPE). Il comando CANCEL(1) cancella il contenuto del buffer
dei movimenti successivi (NTYPE) senza influire sul movimento corrente
presente nel buffer MTYPE.CANCEL agisce sull'asse di base predefinito (impostato con BASE) a meno
che AXIS non sia usato per specificare un asse di base temporaneo.
Nota:
•
•Durante il processo di decelerazione del movimento corrente, eventuali
•CANCEL(1) cancella soltanto il movimento attualmente presente nel
ArgomentiN/D
EsempioFORWARD
WA(10000)
CANCEL
EsempioMOVE(1000)
MOVEABS(3000)
CANCEL ' Cancella il movimento a 3000 e imposta il movimento a 4000.
Revisione 3.0
Vedere anche
MOVEABS(4000)
Notare che in questo caso il comando MOVEMODIFY è una soluzione
migliore per modificare i punti finali di un movimento.
AXIS, MTYPE, NTYPE, PMOVE, RAPIDSTOP
CANCEL
contiene altri movimenti, questi vengono caricati successivamente.
CANCEL aggiuntivi sono ignorati.
buffer. Qualsiasi movimento presente nei buffer del task e indicato dalla
variabile PMOVE può essere caricato nel buffer non appena viene
cancellato dal buffer il movimento presente in quel momento.
cancella soltanto il movimento in corso di esecuzione. Se il buffer
3.2.44 CHECKSUM
/i
TipoParametro di sistema (sola lettura)
SintassiCHECKSUM
DescrizioneIl parametro CHECKSUM contiene il checksum per i programmi presenti
nella RAM. All'avvio, il checksum viene ricalcolato e messo a confronto
con il valore registrato in precedenza. Se il checksum è errato,
il programma non viene eseguito.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
N/D
3.2.45 CHR
/i
TipoComando di I/O
SintassiCHR(x)
Descrizione
Argomenti•x
Esempio>>PRINT CHR(65);
Vedere anche
Il comando
da un numero. In alcune versioni di BASIC
A
N/D
CHR
viene utilizzato per inviare singoli caratteri ASCII designati
Espressione in BASIC.
PRINT CHR(x)
; equivale a
PUT(x)
.
MANUALE DI PROGRAMMAZIONE56
Comandi BASIC
3.2.46 CLEAR
/i
TipoComando di sistema
SintassiCLEAR
Descrizione
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
Il comando
usato in un programma, reimposta su 0 anche le variabili locali del task corrente.
•RESET, VR
CLEAR
reimposta su 0 tutte le variabili VR globali. Quando viene
3.2.47 CLEAR_BIT
/i
TipoComando di sistema
SintassiCLEAR_BIT(numero_bit, numero_vr)
DescrizioneIl comando CLEAR_BIT reimposta su 0 il bit specificato nella variabile
VR specificata. Gli altri bit della variabile mantengono il proprio valore.
Argomenti•numero_bit
Il numero del bit da reimpostare. Intervallo: 0 – 23.
•numero_vr
Numero della variabile VR per la quale il bit viene reimpostato.
Intervallo: 0 – 1023.
EsempioNessun esempio.
Vedere anche
READ_BIT, SET_BIT, VR.
3.2.48 CLEAR_PARAMS
/i
TipoComando di sistema
SintassiCLEAR_PARAMS
Revisione 3.0
DescrizioneRiporta ogni variabile e ogni parametro archiviato nella memoria flash
EPROM alle impostazioni predefinite. CLEAR_PARAM non può essere
eseguito se l'unità di controllo è bloccata.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
N/D
3.2.49 CLOSE_WIN
/i
TipoParametro degli assi
SintassiCLOSE_WIN
CW
DescrizioneIl parametro degli assi CLOSE_WIN definisce l'estremità della finestra
all'interno o all'esterno della quale è prevista la presenza di la tacca
di registrazione. Il valore è espresso in unità utente.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
AXIS, OPEN_WIN, REGIST, UNITS.
3.2.50 CLUTCH_RATE
/i
TipoParametro degli assi
SintassiCLUTCH_RATE
DescrizioneIl parametro degli assi CLUTCH_RATE definisce il cambiamento del rapporto
di connessione quando viene utilizzato il comando CONNECT. La velocità
è definita come quantità di cambiamento al secondo.
Il valore predefinito è impostato su un valore elevato (1000000) per garantire
compatibilità con le unità TJ1-MC__ precedenti.
Nota: l'operazione che utilizza CLUTCH_RATE non è deterministica quanto
alla posizione. Se necessario, utilizzare invece il comando MOVELINK
per evitare inutili differenze di fase tra asse di base e assi collegati.
ArgomentiN/D
EsempioCLUTCH_RATE = 4
Questa impostazione implica che dando il comando CONNECT(4,1)
ci vuole un secondo per portare a termine il collegamento.
Vedere anche
AXIS, CONNECT, MOVELINK.
MANUALE DI PROGRAMMAZIONE57
Comandi BASIC
3.2.51 COMMSERROR
/i
TipoParametro di sistema (sola lettura)
SintassiCOMMSERROR
DescrizioneIl parametro COMMSERROR contiene tutti gli errori di comunicazione
che si sono verificati dall'ultima volta che il sistema è stato inizializzato.
I bit di COMMSERROR sono forniti nella tabella di seguito.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
/i
BitDescrizione Ubicazione dell'errore
8Porta 1 pronta alla ricezione datiPorta seriale 1
9Porta 1 ricezione overrun Porta seriale 1
10Porta 1 errore di paritàPorta seriale 1
11Porta 1 ricezione errore di contornoPorta seriale 1
12Porta 2 pronta alla ricezione datiPorta seriale 2
13Porta 2 ricezione overrunPorta seriale 2
14Porta 2 errore di paritàPorta seriale 2
N/D
3.2.52 COMMSTYPE
/i
TipoParametro di slot
SintassiCOMMSTYPE SLOT(numero_unità)
DescrizioneQuesto parametro restituisce il tipo di unità di un'unità di controllo.
La tabella di seguito elenca i valori restituiti.
Argomenti•numero_unità
I numeri delle unità vanno da 0 a 6; 0 rappresenta la prima unità
sulla destra rispetto a TJ1-MC__.
EsempioNessun esempio.
Vedere anche
/i
Valore
restituito
0Unità inutilizzata
31TJ1-ML__
33TJ1-FL02
34TJ1-PRT
35TJ1-DRT
N/D
Descrizione
15Porta 2 ricezione errore di contornoPorta seriale 2
Revisione 3.0
3.2.53 COMPILE
/i
TipoComando di programma
SintassiCOMPILE
Descrizione
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
Il comando
intermedio. I programmi sono compilati automaticamente dal software del sistema
prima dell'esecuzione oppure quando viene selezionato un altro programma.
N/D
COMPILE
forza la compilazione del programma corrente in codice
MANUALE DI PROGRAMMAZIONE58
Comandi BASIC
3.2.54 CONNECT
/i
TipoComando degli assi
SintassiCONNECT(rapporto, asse_motore)
CO(rapporto, asse_motore)
DescrizioneIl comando CONNECT collega la posizione richiesta dell'asse di base
ai movimenti misurati dell'asse specificato da asse_motore al fine
di creare una trasmissione elettronica.
Il rapporto può essere cambiato in qualsiasi momento eseguendo un altro
comando
CONNECT
ad assi motori differenti, sarà ignorato. Il comando
cancellato con un comando
assi
specifica di modifica della connessione.
CONNECT agisce sull'asse di base predefinito (impostato con BASE)
a meno che AXIS non sia usato per specificare un asse di base temporaneo.
Argomenti•rapporto
•asse_motore
EsempioIn un alimentatore a pressione, una rotella deve ruotare una velocità pari
a un quarto della velocità di un encoder montato sul nastro trasportatore
in entrata. La rotella è cablata all'asse 0. Un canale di ingresso controlla
gli impulsi dell'encoder provenienti dal nastro trasportatore, formando
l'asse 1. È possibile usare il codice di seguito:
BASE(1)
SERVO = OFF ' Questo asse viene utilizzato per monitorare il nastro
trasportatore
Revisione 3.0
Vedere anche
BASE(0)
SERVO = ON
CONNECT(0.25,1)
AXIS, CANCEL, CLUTCH_RATE, CONNECT, RAPIDSTOP.
CONNECT
deve essere prima cancellato. Se il comando
CLUTCH_RATE
Il rapporto di connessione della trasmissione. Il rapporto è specificato
come rapporto del margine dell'encoder (non come unità). Contiene
il numero di margini che l'asse di base deve coprire col proprio
movimento per ogni incremento di margine dell'asse motore. Il valore
del rapporto ha una risoluzione frazionaria a sedici bit e può avere
un valore sia positivo che negativo.
L'asse principale che azionerà l'asse di base.
sullo stesso asse. Per cambiare l'asse motore, il comando
CONNECT
CONNECT
CANCEL
può essere utilizzato per impostare una velocità
o
RAPIDSTOP
. Il parametro degli
può essere
rinvia
3.2.55 CONSTANT
/i
TipoComando di sistema
SintassiCONSTANT "nome", valore
DescrizioneDichiara il nome come costante da utilizzare sia all'interno del programma
contenente la definizione CONSTANT, sia all'interno di tutti gli altri programmi
presenti nel progetto Trajexia Tools.
Nota: prima che il nome venga usato in altri programmi è necessario
assicurarsi che sia eseguito il programma contenente la definizione
CONSTANT. Inoltre, solo quel programma deve essere in esecuzione nel
momento in cui viene eseguita la definizione CONSTANT: in caso contrario
verrà visualizzato l'errore di programma e il programma sarà bloccato quando
si tenterà di eseguire il comando. Per un avvio rapido, il programma dovrebbe
altresì essere l'unico processo in esecuzione al momento dell'accensione.
Una volta effettuata, la dichiarazione CONSTANT rimane attiva fino al primo
ripristino di TJ1-MC__ tramite spegnimento e riaccensione oppure fino
a quando non viene eseguito il comando EX.
È ammessa la dichiarazione fino a un massimo di 128 CONSTANT.
Argomenti•nome
Qualsiasi nome definito dall'utente contenente caratteri alfanumerici
minuscoli o sottolineature.
•valore
Il valore assegnato a nome.
EsempioCONSTANT "nak",$15
CONSTANT "pulsante_inizio",5
IF IN(pulsante_inizio)=ON THEN OP(led1,ON)
IF tasto_car=nak THEN GOSUB ness_conf_ricevuta
Vedere anche
N/D
3.2.56 CONTROL
/i
TipoParametro di sistema (sola lettura)
SintassiCONTROL
DescrizioneIl parametro CONTROL contiene il tipo di TJ1-MC__ presente nel sistema.
Il valore di questo parametro di sistema per TJ1-MC__ è 262.
MANUALE DI PROGRAMMAZIONE59
Comandi BASIC
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
N/D
3.2.57 COPY
/i
TipoComando di programma
SintassiCOPY nome_programma nuovo_nome_programma
DescrizioneIl comando COPY copia un programma esistente dall'unità di controllo
a un nuovo programma con il nome specificato. Il nome del programma
può essere specificato senza virgolette.
Nota: questo comando è implementato per un terminale offline (VT100).
All'interno di Trajexia Tools gli utenti possono selezionare il comando
dal menu Program.
Argomenti•nome_programma
Nome del programma da copiare.
•nuovo_nome_programma
Nome da usare per il nuovo programma.
Esempio>> COPY "prog" "nuovoprog"
Vedere anche
DEL, NEW, RENAME.
3.2.59 CREEP
/i
TipoParametro degli assi
SintassiCREEP
Descrizione
ArgomentiN/D
EsempioBASE(2)
Vedere anche
Il parametro degli assi
La velocità di slittamento viene utilizzata per la fase lenta di una sequenza
di ricerca dell'origine.
La velocità di slittamento viene inserita in unità utilizzando il fattore
di conversione delle unità UNITS. Ad esempio, se il fattore di conversione
delle unità è impostato sul numero di fronti encoder/pollici, la velocità viene
impostata in pollici.
CREEP = 10
SPEED = 500
DATUM(4)
CREEP AXIS(1) = 10
SPEED AXIS(1) = 500
DATUM(4) AXIS(1)
AXIS, DATUM, UNITS.
CREEP
contiene la velocità di slittamento per l'asse.
CREEP
può avere qualsiasi valore positivo, compreso lo 0.
3.2.58 COS
3.2.60 D_GAIN
/i
TipoFunzione matematica
SintassiCOS(espressione)
DescrizioneLa funzione COS restituisce il coseno dell'espressione. I valori di ingresso
sono espressi in radianti e possono avere qualsiasi valore. Il valore
del risultato sarà compreso tra –1 e 1.
Argomenti•espressione
Revisione 3.0
Esempio>> PRINT COS(0)
Vedere anche
Qualsiasi espressione valida in BASIC.
1.0000
N/D
MANUALE DI PROGRAMMAZIONE60
/i
TipoParametro degli assi
SintassiD_GAIN
DescrizioneIl parametro degli assi D_GAIN contiene il guadagno derivativo dell'asse.
Il contributo dell'uscita derivativa viene calcolato moltiplicando il cambiamento
nell'errore di inseguimento per il D_GAIN. Il valore predefinito è 0.
Per produrre una risposta più graduale e utilizzare un guadagno
proporzionale maggiore, aggiungere a un sistema il guadagno derivativo.
Valori elevati possono provocare oscillazioni.
Nota: il guadagno servoazionamento deve essere cambiato solo quando
SERVO è disattivato.
ArgomentiN/D
Comandi BASIC
EsempioNessun esempio.
Vedere anche
•AXIS, I_GAIN, OV_GAIN, P_GAIN, VFF_GAIN.
3.2.61 D_ZONE_MAX
/i
TipoParametro di sistema
SintassiD_ZONE_MAX=valore
DescrizioneQuesto parametro funziona congiuntamente a D_ZONE_MIN per ridurre
a zero l'uscita DAC quando il movimento richiesto è completo e le grandezze
dell'errore di inseguimento sono inferiori al valore D_ZONE_MIN. L'anello
servo viene riattivato non appena l'errore di inseguimento supera il valore
D_ZONE_MAX oppure quando viene avviato un nuovo movimento.
ArgomentiN/D
EsempioD_ZONE_MIN=3
D_ZONE_MAX=10
Con questi 2 parametri impostati come mostrato qui sopra, l'uscita DAC
viene ridotta a zero allorché il movimento è completo e l'errore d'inseguimento
scende sotto a 3. Se un movimento viene riavviato o il valore dell'errore
d'inseguimento supera 10, l'anello servo viene riattivato.
Vedere anche
D_ZONE_MIN.
3.2.62 D_ZONE_MIN
/i
TipoParametro di sistema
SintassiD_ZONE_MIN=valore
DescrizioneQuesto parametro funziona congiuntamente a D_ZONE_MAX per ridurre
a zero l'uscita DAC quando il movimento richiesto è completo e le grandezze
dell'errore d'inseguimento sono inferiori al valore D_ZONE_MIN. L'anello
Revisione 3.0
ArgomentiN/D
servo viene riattivato non appena l'errore di inseguimento supera il valore
D_ZONE_MAX oppure quando viene avviato un nuovo movimento.
EsempioD_ZONE_MIN=3
D_ZONE_MAX=10
Con questi 2 parametri impostati come mostrato qui sopra, l'uscita DAC
viene ridotta a zero allorché il movimento è completo e l'errore di inseguimento
scende sotto a 3. Se un movimento viene riavviato o il valore dell'errore
di inseguimento supera 10, l'anello servo viene riattivato.
Vedere anche
D_ZONE_MAX.
3.2.63 DAC
Vedere S_REF.
3.2.64 DAC_OUT
Vedere S_REF_OUT.
3.2.65 DAC_SCALE
/i
TipoParametro degli assi
SintassiDAC_SCALE
DescrizioneQuesto parametro ha 2 scopi:
1.al momento dell'accensione, viene impostato su 16 negli assi incorporati
del sistema. Ciò scala i valori applicati alla maggiore risoluzione DAC,
rendendo i guadagni richiesti per l'asse simili a quelli richiesti
per le altre unità di controllo.
2.È possibile impostare
invertire la polarità del segnale DAC di uscita. Quando il servoazionamento
non è attivo, la grandezza di
la tensione applicata è controllata dal parametro
resta comunque invertita da
ArgomentiN/D
EsempioDAC_SCALE AXIS(3)=-16
Vedere anche
DAC, S_REF.
DAC_SCALE
su un valore negativo (–16) per
DAC_SCALE
DAC_SCALE
non è importante, poiché
DAC
.
. La polarità
MANUALE DI PROGRAMMAZIONE61
Comandi BASIC
3.2.66 DATE
/i
TipoParametro di sistema
SintassiDATE
DescrizioneRestituisce o imposta la data corrente contenuta nell'orologio calendario
di Trajexia. Il numero può essere inserito in formato GG:MM:AA
o GG:MM:AAAA.
ArgomentiN/D
EsempioDATE=20:10:05
oppure
DATE=20:10:2005
Esempio>>PRINT DATE
36956
Stampa il numero che rappresenta il giorno corrente. La cifra rappresenta
il numero di giorni dal 1º gennaio 1900, laddove il 1º gen. 1900 è pari a 1.
Vedere anche
N/D
3.2.67 DATE$
/i
TipoComando di sistema
SintassiDATE$
DescrizioneInvia alla porta di stampa la data corrente GG/MM/AA come stringa.
L'anno viene identificato da 2 cifre.
3.2.68 DATUM
/i
TipoComando degli assi
SintassiDATUM(sequenza)
DescrizioneIl comando DATUM unifica 6 ricerche di origine per collocare un asse
in una posizione assoluta, reimpostando anche gli errori seguenti:
DATUM utilizza per la ricerca dell'origine sia la velocità di slittamento
che la velocità richiesta. All'interno delle sequenze, la velocità di slittamento
è impostata attraverso il parametro degli assi CREEP mentre la velocità
richiesta è impostata attraverso il parametro degli assi SPEED. Il numero
d'ingresso del selettore del dato, utilizzato per le sequenze da 3 a 6, viene
impostato dal parametro DATUM_IN.DATUM agisce sull'asse di base predefinito (impostato con BASE) a meno
che AXIS non sia usato per specificare un asse di base temporaneo.
Nota: l'ingresso d'origine impostato con il parametro DATUM_IN è active low,
il che significa che il selettore d'origine viene impostato quando l'ingresso
è spento. Gli ingressi limite della sospensione dell'alimentazione, del jog
all'indietro, del jog in avanti, dell'avanzamento e della retromarcia sono
anch'essi active low. Gli ingressi active low sono utilizzati per consentire
un cablaggio fail-safe.
Stampa la data in base al formato, ad esempio: 20/10/05
Vedere anche
Revisione 3.0
N/D
MANUALE DI PROGRAMMAZIONE62
Comandi BASIC
/i
valore di
sequenza
0Il comando DATUM(0) cancella l'errore di movimento. La posizione misurata
1L'asse si sposta in avanti alla velocità di slittamento fino a quando non
2L'asse si sposta indietro alla velocità di slittamento fino a quando non incontra
3L'asse si sposta in avanti alla velocità richiesta fino a quando il selettore
4L'asse si sposta indietro alla velocità richiesta fino a quando il selettore
Revisione 3.0
Descrizione
correntemente viene impostata come posizione richiesta (ciò risulta
particolarmente utile sugli assi del motore passo-passo con verifica della
posizione). DATUM(0) cancella anche l'errore di inseguimento che ha
superato la condizione FE_LIMIT nel registro AXISSTATUS per TUTTI
gli assi. Imposta su zero i seguenti bit presenti in AXXISSTATUS:
Bit 1: avviso di errore di inseguimento.
Bit 2: errore di comunicazione del driver remoto.
Bit 3: errore del driver remoto.
Bit 8: limite di errore di inseguimento superato.
Bit 11: annullamento del movimento in corso.
Notare che lo stato non può essere cancellato se la causa del problema
è ancora presente.
incontra il marker Z. La posizione richiesta viene quindi reimpostata su 0
e la posizione misurata viene corretta per mantenere l'errore di inseguimento.
il marker Z. La posizione richiesta viene quindi reimpostata su 0 e la posizione
misurata viene corretta per mantenere l'errore di inseguimento.
del dato non viene raggiunto. L'asse quindi si sposta indietro alla velocità
di slittamento fino a quando il selettore del dato non viene reimpostato.
La posizione richiesta viene quindi reimpostata su 0 e la posizione misurata
viene corretta così da mantenere l'errore di inseguimento.
del dato non viene raggiunto. L'asse quindi si sposta in avanti alla velocità
di slittamento fino a quando il selettore del dato non viene reimpostato.
La posizione richiesta viene quindi reimpostata su 0 e la posizione misurata
viene corretta così da mantenere l'errore di inseguimento.
valore di
sequenza
5
6
Descrizione
L'asse si sposta in avanti alla velocità richiesta fino a quando il selettore del dato
non viene raggiunto. L'asse quindi inverte la propria direzione e si sposta indietro
alla velocità di slittamento fino a quando il selettore del dato non viene reimpostato.
L'asse continua a spostarsi alla velocità di slittamento fino a quando non incontra
il marker Z dell'encoder. La posizione richiesta viene quindi reimpostata su 0
e la posizione misurata viene corretta così da mantenere l'errore di inseguimento.
L'asse si sposta indietro alla velocità richiesta fino a quando il selettore
del dato non viene raggiunto. L'asse quindi si sposta in avanti alla velocità
di slittamento fino a quando il selettore del dato non viene reimpostato. L'asse
continua a spostarsi alla velocità di slittamento fino a quando non incontra
il marker Z dell'encoder. La posizione richiesta viene quindi reimpostata su 0
e la posizione misurata viene corretta così da mantenere l'errore di inseguimento.
3.2.69 DATUM_IN
/i
TipoParametro degli assi
SintassiDATUM_IN
DAT_IN
Descrizione
Il parametro degli assi
ingresso del selettore del dato per il comando
valido è compreso tra 0 e 31. I valori da 0 a 15 rappresentano gli ingressi
fisicamente presenti sul connettore di I/O di TJ1-MC__ e sono comuni a tutti
gli assi. I valori da 16 a 27 rappresentano ingressi software che possono essere
liberamente utilizzati da programmi e comandi quali IN e OP. Sono inoltre valori
comuni a tutti gli assi. I valori da 28 a 31 vengono direttamente mappati agli ingressi
del servoazionamento presenti sul connettore CN1 e sono univocamente associati
a ogni asse. La mappatura degli ingressi del servoazionamento agli ingressi
da 28 a 31 dipende dall'impostazione del parametro di servoazionamento Pn81E.
L'impostazione consigliata è Pn81E = 0x4321, con la seguente mappatura:
Nota: l'ingresso d'origine è active low, il che significa che il selettore d'origine
viene impostato quando l'ingresso è spento. L'ingresso limite della sospensione
dell'alimentazione, del jog all'indietro, del jog in avanti, dell'avanzamento e della
retromarcia è anch'esso active low. Gli ingressi active low sono utilizzati
per consentire un cablaggio fail-safe.
DATUM_IN
contiene il numero di ingresso da usare come
DATUM
. L'intervallo d'ingresso
MANUALE DI PROGRAMMAZIONE63
Comandi BASIC
Sigma II•ingresso 28: CN1-40
•ingresso 29: CN1-41
•ingresso 30: CN1-42
•ingresso 31: CN1-43
Sigma III•ingresso 28: CN1-13
•ingresso 29: CN1-7
•ingresso 30: CN1-8
•ingresso 31: CN1-9
Junma•ingresso 26: CN1-2
•ingresso 27: CN1-1
Per maggiori informazioni sull'impostazione del parametro del driver Pn81E,
consultare il manuale del servoazionamento. Come impostazione predefinita,
il parametro è impostato su –1 e nessun ingresso è selezionato.
ArgomentiN/D
EsempioDATUM_IN AXIS(0) = 5
Vedere anche
AXIS, DATUM.
3.2.70 DAY
/i
TipoParametro di sistema
SintassiDAY
DescrizioneRestituisce il giorno corrente come numero da 0 a 6, dove domenica
corrisponde a 0. DAY può essere impostato tramite assegnazione.
ArgomentiN/D
3.2.71 DAY$
/i
TipoComando di sistema
SintassiDAY$
DescrizioneStampa il giorno corrente come stringa.
ArgomentiN/D
Esempio>>DAY=3
>>? DAY$
Mercoledì
Vedere anche
N/D
3.2.72 DECEL
/i
TipoParametro degli assi
SintassiDECEL
DescrizioneIl parametro degli assi DECEL contiene la velocità di decelerazione degli
assi. La velocità è impostata su unità/s
valore positivo, compreso lo 0.
ArgomentiN/D
EsempioDECEL = 100 ' Imposta la velocità di decelerazione
PRINT " La velocità di decelerazione è di ";DECEL;" mm/s/s"
DescrizioneIl comando DEFPOS definisce la posizione richiesta corrente (DPOS)
come nuova posizione assoluta. La posizione misurata (MPOS)
sarà modificata di conseguenza per mantenere l'errore di inseguimento.
DEFPOS viene normalmente utilizzato dopo una sequenza di ricerca
dell'origine (vedere comando DATUM), poiché il comando imposta
la posizione corrente su 0. DEFPOS può essere utilizzato
in qualsiasi momento.
In alternativa, è possibile utilizzare anche il parametro degli assi OFFPOS.
Questo parametro può essere utilizzato per eseguire una regolazione
relativa della posizione corrente.
DEFPOS agisce sull'asse di base predefinito (impostato con BASE)
a meno che AXIS non sia usato per specificare un asse di base temporaneo.
Nota: i cambiamenti apportati alla posizione dell'asse utilizzando DEFPOS
o OFFPOS vengono apportati al primo aggiornamento del servoazionamento.
Questo potrebbe causare problemi se un movimento viene iniziato nello
stesso ciclo di servoazionamento dei comandi DEFPOS o OFFPOS.
L'esempio di seguito mostra come usare il parametro OFFPOS per evitare
questo problema. Con la seguente programmazione, i comandi DEFPOS
vengono convertiti internamente in offset di posizione OFFPOS, fornendo
così un modo semplice di evitare il problema:
DEFPOS(100): WAIT UNTIL OFFPOS = 0: MOVEABS(0)
ArgomentiIl comando può supportare fino a 16 argomenti.
•pos_i
La posizione assoluta per l'asse (base+i) espresso in unità utente.
Fare riferimento al comando BASE per il raggruppamento degli assi.
L'ultima riga definisce la posizione corrente con (–1000, –3500)
espresso in unità utente. La posizione corrente sarebbe stata
reimpostata su (0,0) dai due comandi DATUM.
Vedere anche
Revisione 3.0
AXIS, DATUM, DPOS, OFFPOS, MPOS, UNITS.
3.2.74 DEL
/i
TipoComando di programma
SintassiDEL [nome_programma]
RM [nome_programma]
DescrizioneIl comando DEL cancella un programma dall'unità di controllo.
Usando il comando DEL senza il nome di un programma, si cancella
il programma correntemente selezionato (con il comando SELECT).
Il nome del programma può inoltre essere specificato senza virgolette.
DEL ALL cancella tutti i programmi.
È possibile usare DEL anche per cancellare la memoria TABLE:
DEL "TABLE". Il nome "TABLE" va scritto tra virgolette.
Nota: questo comando è implementato per un terminale offline (VT100).
All'interno di Trajexia Tools gli utenti possono selezionare il comando
dal menu Program.
Argomenti•nome_programma
Nome del programma da cancellare.
Esempio>> DEL vecchioprog
Vedere anche
COPY, NEW, RENAME, SELECT, TABL E.
3.2.75 DEMAND_EDGES
/i
TipoParametro degli assi (sola lettura)
SintassiDEMAND_EDGES
DescrizioneIl parametro degli assi DEMAND_EDGES contiene il valore corrente
del parametro degli assi DPOS espresso in unità del margine dell'encoder.
DescrizioneLa funzione 2 di DEVICENET configura TJ1-DRT per lo scambio
di dati con il modulo master DeviceNet e definisce le aree della memoria
VR dove si verifica lo scambio di I/O. La funzione 4 di DEVICENET restituisce
lo stato di scambio di dati di TJ1-DRT. Vedere la tabella per una descrizione
dei bit contenuti nei canali di stato dello scambio di dati.
Argomenti•numero_unità
Specifica il numero d'unità di TJ1-DRT nel Trajexia.
•VR_inizio_uscite
L'indirizzo iniziale nella memoria VR dell'unità di controllo dove si trovano
i dati di uscita del master DeviceNet.
•numero_uscite
Il numero di parole in uscita dal master DeviceNet della memoria VR.
•VR_inizio_ingressi
L'indirizzo iniziale nella memoria VR dell'unità di controllo dove si trovano
i dati di ingresso per il master DeviceNet.
•numero_ingressi
Il numero di parole d'ingresso nel master DeviceNet della memoria VR.
EsempioDEVICENET (0,2,1,10,16,150,31)
In questo esempio, TJ1-DRT è configurato per scambiare dati con
il master DeviceNet attraverso 16 parole di uscita (ricevute dal master)
situate tra VR(10) e VR(25) e 31 parole d'ingresso (inviate al master)
situate tra VR(150) e VR(180).
BitValoreDescrizione
00DEVICENET (numero_unità, 2, ...) non ancora eseguito
1DEVICENET (numero_unità, 2, ...) eseguito senza errori
10Nessun collegamento di I/O DeviceNet
1Collegamento di I/O DeviceNet in funzione
20Le variabili VR dell'intervallo dati di uscita sono state aggiornate
1Le variabili VR dell'intervallo dati di uscita non sono state ancora
aggiornate
30Le dimensioni del collegamento di I/O DeviceNet corrispondono
al comando DEVICENET (numero_unità, 2,…)
1Le dimensioni del collegamento di I/O DeviceNet non corrispondono
ancora al comando DEVICENET (numero_unità, 2,…)
4 – 70Sempre zero
80Alimentazione di rete OK
1Guasto nell'alimentazione di rete
90Non si è verificato nessun BUSOFF
1Si è verificato un BUSOFF
100Nessun errore di duplicazione dell'indirizzo del nodo
1Errore di duplicazione dell'indirizzo del nodo
Vedere anche
/i
Revisione 3.0
N/D
MANUALE DI PROGRAMMAZIONE66
Comandi BASIC
3.2.77 DIR
/i
TipoComando di programma
SintassiDIR
LS
DescrizioneIl comando DIR mostra un elenco dei programmi contenuti nell'unità
di controllo, le dimensioni della memoria e il RUNTYPE. DIR mostra
anche le dimensioni della memoria disponibile, la modalità all'avvio
e i programmi dell'unità di controllo correntemente selezionati.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
FREE, POWER_UP, PROCESS, RUNTYPE, SELECT.
3.2.78 DISABLE_GROUP
/i
TipoComando degli assi
SintassiDISABLE_GROUP(-1)
DISABLE_GROUP(asse_1 [, asse_2 [, ...]])
DescrizioneQuesto comando viene impiegato per creare un elenco di assi da sottoporre
a disabilitazione di errori. Qualora venga creato un gruppo di assi,
se un errore si verifica anche solo su un asse, AXIS_ENABLE e SERVO
saranno disattivati su tutti gli assi. È possibile creare gruppi multipli, sebbene
un asse non possa appartenere a più di un gruppo. È possibile cancellare
tutti i raggruppamenti usando DISABLE_GROUP(-1).
Argomenti•asse_i
Espressione in BASIC il cui risultato è un numero di asse.
EsempioDISABLE_GROUP(-1)
DISABLE_GROUP(0,1,2,3)
DISABLE_GROUP(4,5,6,7)
WDOG=ON
STOP
abilita_b:
FOR as=4 TO 7
AXIS_ENABLE AXIS(as)=ON
NEXT as
In un sistema a 8 assi, è necessario che gli assi 4 – 7 continuino
a funzionare se gli assi 0 – 3 contengono un errore e viceversa.
Gli assi vengono raggruppati usando DISABLE_GROUP.
Nota: da usare solo con MECHATROLINK-II.
Vedere anche
N/D
3.2.79 DISPLAY
/i
TipoParametro di sistema
SintassiDISPLAY=valore
DescrizioneDetermina i canali di I/O da visualizzare sui LED del pannello frontale.
Il parametro DISPLAY può essere utilizzato per selezionare l'insieme
di I/O che deve essere visualizzato.
I valori sono indicati nella tabella di seguito.
ArgomentiN/D
EsempioDISPLAY=5
Mostra le uscite 8 – 15.
Vedere anche
/i
N/D
valore Descrizione
Revisione 3.0
0Ingressi da 0 a 7 (predefiniti)
1Ingressi da 8 a 15
2Ingressi da 16 a 23
MANUALE DI PROGRAMMAZIONE67
Comandi BASIC
valore Descrizione
3Ingressi da 24 a 31
4Uscite da 0 a 7 (non utilizzate su Trajexia)
5Uscite da 8 a 15
6Uscite da 16 a 23
7Uscite da 24 a 31
3.2.80 DPOS
/i
TipoParametro degli assi (sola lettura)
SintassiDPOS
DescrizioneIl parametro degli assi DPOS contiene la posizione richiesta che
viene generata dai comandi di movimento del controllo servo, espressa
in unità utente. Quando l'unità di controllo è in modalità ad anello aperto
(SERVO=OFF), la posizione misurata (MPOS) viene copiata nel DPOS
per mantenere l'errore di inseguimento a 0.
L'intervallo della posizione richiesta è controllato attraverso i parametri
degli assi REP_DIST e REP_OPTION. Il valore può essere regolato senza
eseguire alcun movimento, utilizzando il comando DEFPOS o il parametro
degli assi OFFPOS. All'avvio, DPOS viene reimpostato su 0.
ArgomentiN/D
Esempio>> PRINT DPOS AXIS(0)
34.0000
La riga qui sopra restituirà la posizione richiesta espressa in unità utente.
DescrizioneLa funzione DRIVE_ALARM legge l'allarme corrente del servoazionamento
che è collegato al Trajexia attraverso MECHATROLINK-II. In caso
di esecuzione riuscita, il comando restituisce –1 e registra il valore nella
posizione della memoria VR specificata dal parametro VR. Se invece non
è possibile eseguire il comando, viene restituito il valore 0. Il comando viene
eseguito sul driver dell'asse di base impostato da BASE. L'asse di base
può essere cambiato con il modificatore AXIS, alla stessa maniera di tutti
gli altri comandi e parametri degli assi.
Siccome questo comando attende la risposta dall'asse, l'esecuzione
del comando può essere lenta e variare nel tempo. Se si desidera
una risposta rapida, si consiglia di non utilizzare questo comando.
Argomenti•VR
In caso di esecuzione riuscita, il valore dell'allarme viene memorizzato
all'indirizzo VR.
EsempioIF NOT DRIVE_ALARM(10) AXIS(2) THEN
PRINT "La lettura dell'allarme del servoazionamento non è riuscita"
ELSE
IF VR(10) = 0 THEN
PRINT "Servoazionamento in buone condizioni"
ELSE
PRINT "Codice allarme servo: "; VR(10)
ENDIF
ENDIF
In questo esempio, viene letto un allarme del servoazionamento che aziona
l'asse 2, dopodiché vengono presentate all'utente le informazioni relative.
Vedere anche
N/D
Revisione 3.0
MANUALE DI PROGRAMMAZIONE68
Comandi BASIC
3.2.82 DRIVE_CLEAR
/i
TipoComando degli assi
SintassiDRIVE_CLEAR
DescrizioneIl comando DRIVE_CLEAR cancella lo stato di allarme del servoazionamento
collegato attraverso il bus MECHATROLINK-II. Questo comando non è in
grado di cancellare tutti gli stati di allarme possibili. Alcuni allarmi possono
essere cancellati solo interrompendo l'alimentazione (sia di TJ1-MC__
che del servoazionamento) e quindi riattivandola nuovamente.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
DRIVE_STATUS.
Attenzione
Quando si esegue questo comando, assicurarsi che nessuna
consolle di programmazione o software per personal computer
sia collegato al servoazionamento. In caso contrario, il task del
programma sarà messo in pausa fino a quando l'altro dispositivo
non verrà rimosso dal servoazionamento.
ArgomentiN/D
EsempioDRIVE_CONTROL AXIS(2) = 256
In questo esempio, OUT 0 è attivato per l'asse 2, collegato usando TJ1-FL02.
Vedere anche
/i
CodiceDescrizione
2Errore seguente (questo è il vero FE quando viene utilizzato ATYPE=40)
8Velocità di retroazione (con Atype=41 Unità=velocità massima/40000000H,
9Velocità di comando (stesse unità della velocità di retroazione)
10Velocità di riferimento (stesse unità della velocità di retroazione)
11Coppia (forza) di riferimento (con Atype=42 Unità=Coppia max/40000000H,
14Monitor selezionato con Pn813.0 Utile per controllare i monitor
15Monitor selezionato con Pn813.1 Utile per controllare i monitor
N/D
con altre unità Atype= unità di riferimento/s)
con altre unità Atype=% al di sopra della coppia nominale)
servoazionamento (Unxxx)
servoazionamento (Unxxx)
3.2.83 DRIVE_CONTROL
/i
TipoParametro degli assi
SintassiDRIVE_CONTROL
Descrizione
Revisione 3.0
MANUALE DI PROGRAMMAZIONE69
Questo parametro, quando viene applicato all'asse controllato
dal servoazionamento collegato al sistema attraverso il bus MECHATROLINK-II,
seleziona i dati da controllare attraverso il
di seguito. Se il servoazionamento di un asse è collegato utilizzando TJ1-FL02,
questo parametro imposta le uscite di TJ1-FL02. Per attivare OUT 0 su di un
asse, impostare il bit 8 di questo parametro. Per attivare OUT 1 su di un asse,
impostare il bit 9 di questo parametro. Tenere presente che le stesse uscite
sono utilizzate dal comando
HW_PSWITCH
DRIVE_MONITOR
.
in base alla tabella
Comandi BASIC
3.2.84 DRIVE_INPUTS
/i
TipoParametro degli assi
SintassiDRIVE_INPUTS
DescrizioneQuesto parametro controlla lo stato degli ingressi del servoazionamento
collegato attraverso il bus MECHATROLINK-II. Il valore del parametro viene
aggiornato a ciascun ciclo SERVO_PERIOD. Si tratta di un operatore bitwise,
elencato nella tabella di seguito. L'impostazione consigliata è: Pn81E=4321
e Pn511=654x.
ArgomentiN/D
EsempioIn questo operatore, tutti gli ingressi possono essere controllati come segue
(servoazionamento Sigma-II):
CN1-40 DRIVE_INPUTS bit 12
CN1-41 DRIVE_INPUTS bit 13
CN1-42 DRIVE_INPUTS bit 14
CN1-43 DRIVE_INPUTS bit 15
CN1-44 DRIVE_INPUTS bit 06
CN1-45 DRIVE_INPUTS bit 07
CN1-46 DRIVE_INPUTS bit 08
EsempioIn questo operatore, tutti gli ingressi possono essere controllati come segue
(servoazionamento Junma):
CN1-1 DRIVE_INPUTS bit 6
CN1-2 DRIVE_INPUTS bit 2
CN1-3 DRIVE_INPUTS bit 1
CN1-4 DRIVE_INPUTS bit 0
Vedere anche
/i
Numero
di bit
0P_OTP_OT
Revisione 3.0
1N_OTN_OT
N/D
Descrizione Sigma-IIDescrizione Junma
Numero
di bit
4Fase B EncoderN/C
5Fase C EncoderN/C
6Segnale EXT1 (selezionato con Pn511.1)/EXT1
7Segnale EXT2 (selezionato con Pn511.2)N/C
8Segnale EXT3 (selezionato con Pn511.3)N/C
9BRK Uscita freno/BK
10RiservatoE_STP
11RiservatoN/C
12IO12 (segnale di ingresso CN1 selezionato
13IO13 (segnale di ingresso CN1 selezionato
14IO14 (segnale di ingresso CN1 selezionato
15IO15 (segnale di ingresso CN1 selezionato
Descrizione Sigma-IIDescrizione Junma
N/C
in Pn81E.0)
N/C
in Pn81E.1)
N/C
in Pn81E.2)
N/C
in Pn81E.3)
3.2.85 DRIVE_MONITOR
/i
TipoParametro degli assi
SintassiDRIVE_MONITOR
DescrizioneQuesto parametro contiene i dati controllati del servoazionamento collegato
al sistema attraverso il bus MECHATROLINK-II. I dati da controllare vengono
selezionati utilizzando DRIVE_CONTROL e possono essere visualizzati
nell'ambito di Trajexia Tools oppure utilizzati all'interno di un programma.
I dati controllati sono aggiornati a ogni SERVO_PERIOD.
ArgomentiN/D
2Segnale DEC (selezionato con Pn511.0)/DEC
3Fase A EncoderN/C
EsempioNessun esempio.
Vedere anche
N/D
MANUALE DI PROGRAMMAZIONE70
Comandi BASIC
3.2.86 DRIVE_READ
/i
TipoComando degli assi
SintassiDRIVE_READ(parametro,dimensioni,VR)
Descrizione
Argomenti•parametro
EsempioIF DRIVE_READ($100,2,1) THEN
Revisione 3.0
Vedere anche
La funzione
e collegato al Trajexia attraverso il bus MECHATROLINK-II. In caso
di esecuzione riuscita, questo comando restituisce –1 e colloca il valore letto
nella posizione della memoria VR specificata dal parametro VR. Se invece
non è possibile eseguire il comando, viene restituito il valore 0. Il comando
viene eseguito sul driver dell'asse di base impostato con
cambiato usando il modificatore
comandi e parametri degli assi.
Nota: siccome questo comando attende la risposta dall'asse, la sua
esecuzione è lenta e varia nel tempo. Si consiglia di non usare questo
comando assieme ad altri comandi che richiedono una rapida esecuzione.
Nota: l'esecuzione di un comando DRIVE_READ disabilita temporaneamente
il display sul pannello frontale del servoazionamento.
Nota: DRIVE_READ restituisce –1 in caso di riuscita. Restituisce –1 anche
quando non viene letto nessun parametro, se il numero del parametro non
esiste o è di dimensioni errate.
•dimensioni
•VR
PRINT "Il guadagno dell'anello di velocità è: ";VR(1)
ELSE
PRINT "Impossibile leggere il guadagno dell'anello di velocità"
ENDIF
DRIVE_WRITE, HEX, $ (DATI ESADECIMALI).
DRIVE_READ
Il numero di parametro che deve essere letto. Notare che i numeri
dei parametri sono esadecimali. È possibile reperire il formato
dei dati nel manuale del servoazionamento.
Per la maggior parte dei parametri, le dimensioni sono solitamente
di 2 byte. Alcuni parametri speciali possono essere lunghi 4 byte.
Le dimensioni di ciascun parametro possono essere reperite
nel manuale del servoazionamento.
L'indirizzo VR dove il parametro letto viene memorizzato in seguito
ad una esecuzione riuscita.
legge il parametro del servoazionamento specificato
AXIS
BASE
. Può essere
, alla stessa maniera di tutti gli altri
Attenzione
Quando si esegue questo comando, assicurarsi che nessuna
consolle di programmazione o software per personal computer
sia collegato al servoazionamento. In caso contrario, il task
del programma sarà messo in pausa fino a quando l'altro
dispositivo non verrà rimosso dal servoazionamento.
3.2.87 DRIVE_RESET
/i
TipoComando degli assi
SintassiDRIVE_RESET
DescrizioneIl comando DRIVE_RESET reimposta lo stato di allarme
del servoazionamento collegato attraverso il bus MECHATROLINK-II.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
N/D
Attenzione
Quando si esegue questo comando, assicurarsi che nessuna
consolle di programmazione o software per personal computer
sia collegato al servoazionamento. In caso contrario, il task
del programma sarà messo in pausa fino a quando l'altro
dispositivo non verrà rimosso dal servoazionamento.
MANUALE DI PROGRAMMAZIONE71
Comandi BASIC
3.2.88 DRIVE_STATUS
/i
TipoParametro degli assi (sola lettura)
SintassiDRIVE_STATUS
DescrizionePer gli assi MECHATROLINK-II, questo parametro viene impostato a partire
dal campo STATUS del frame di comunicazione di MECHATROLINK-II
e viene aggiornato a ogni ciclo di servoazionamento. Questi bit sono visibili
nella finestra di configurazione Intelligent Drives di Trajexia Tools e possono
essere utilizzati all'interno dei programmi. La tabella di seguito fornisce
una spiegazione per ciascun bit. (Nota: sono elencati solo i bit relativi
a MECHATROLINK-II.)
Per una spiegazione dettagliata di questi bit di stato, consultare il manuale
MECHATROLINK-II.
Per gli assi definiti come assi flessibili, questo parametro conserva
lo stato della registrazione e gli ingressi ausiliari, nonché la selezione
della registrazione. Una seconda tabella di seguito fornisce una spiegazione
per ciascun bit. (Nota: sono elencati solo i bit relativi all'asse flessibile.)
ArgomentiN/D
EsempioPRINT DRIVE_STATUS AXIS(4)
Questo comando stampa il valore corrente del DRIVE_STATUS per l'asse(4).
EsempioBASE(3)
ATYPE = 44IF (DRIVE_STATUS AND 32)= 32 THENPRINT "L'ingresso REG 0 è ON per asse(3)"
ENDIF
BitDescrizione (MECHATROLINK-II)
4Alimentazione attiva
5Blocco macchina
6Posizione iniziale
7Alla posizione/velocità
8Invio completato
9Limite di coppia
10Blocco completato
11Entro l'intervallo/limite di velocità
/i
BitDescrizione (asse flessibile)
0MARK
1MARKB
2Valore corrente selezionato REG 0
3Valore corrente selezionato REG 1
4Valore corrente AUX IN
5Valore corrente REG 0
6Valore corrente REG 1
Vedere anche
/i
BitDescrizione (MECHATROLINK-II)
0Allarme
1Avviso
Revisione 3.0
2Pronto
3Servoazionamento attivo
AXIS, MARK, MARKB, REGIST.
MANUALE DI PROGRAMMAZIONE72
Comandi BASIC
3.2.89 DRIVE_WRITE
/i
TipoComando degli assi
SintassiDRIVE_WRITE(parametro, dimensioni, valore [,modalità])
DescrizioneLa funzione DRIVE_WRITE scrive il parametro del servoazionamento
specificato e collegato al Trajexia attraverso il bus MECHATROLINK-II. In
caso di esecuzione riuscita, questo comando restituisce –1. Se invece non è
possibile eseguire il comando, viene restituito il valore 0. Il comando viene
eseguito sul driver dell'asse di base impostato con BASE. Può essere
cambiato usando il modificatore AXIS, alla stessa maniera degli altri comandi
e parametri degli assi. Per alcuni parametri, è necessario interrompere
e riattivare l'alimentazione del driver. Il comando DRIVE_RESET può essere
utilizzato a questo scopo.
Nota: siccome questo comando attende la risposta dall'asse, la sua
esecuzione è lenta e varia nel tempo. Si consiglia di non usare questo
comando assieme ad altri comandi che richiedono una rapida esecuzione.
Nota: l'esecuzione di un comando DRIVE_WRITE disabilita
temporaneamente il display sul pannello frontale del servoazionamento.
Nota: DRIVE_WRITE restituisce –1 in caso di riuscita. Restituisce –1 anche
quando non viene letto nessun parametro, se il numero del parametro non
esiste o è di dimensioni errate.
Argomenti•parametro
Il numero di parametro da scrivere. Notare che i numeri dei parametri
sono esadecimali. Per il formato dei dati, consultare il manuale
del servoazionamento.
•dimensioni
Per la maggior parte dei parametri, le dimensioni sono solitamente
di 2 byte. Alcuni parametri speciali possono essere lunghi 4 byte.
Le dimensioni di ciascun parametro possono essere reperite
nel manuale del servoazionamento.
•valore
Il valore che deve essere scritto nel parametro del driver.
•modalità
Revisione 3.0
La modalità di scrittura. Valori possibili: 0 (od omesso) – scrittura
e memorizzazione nella RAM; 1 – scrittura e memorizzazione nella
memoria EPROM.
EsempioIF DRIVE_WRITE($100,2,90) THEN
PRINT "Il nuovo guadagno dell'anello di velocità è: 90"
ELSE
PRINT "Impossibile scrivere nella RAM il guadagno dell'anello di velocità"
ENDIF
Vedere anche
•DRIVE_READ, DRIVE_RESET, $ (DATI ESADECIMALI)
Attenzione
Quando si esegue questo comando, assicurarsi che nessuna
consolle di programmazione o software per personal computer
sia collegato al servoazionamento. In caso contrario, il task
del programma sarà messo in pausa fino a quando l'altro
dispositivo non verrà rimosso dal servoazionamento.
3.2.90 EDIT
/i
TipoComando di programma
SintassiEDIT [ numero_riga ]
ED [ numero_riga ]
Descrizione
Argomenti•numero_riga
EsempioNessun esempio.
Vedere anche
Il comando
di un programma contenuto nell'unità di controllo attraverso un terminale
VT100. Il programma correntemente selezionato sarà modificato.
I comandi dell'editor sono i seguenti:
questo comando è implementato per un terminale offline (VT100).
All'interno di Trajexia Tools, gli utenti possono selezionare il comando
dal menu Program.
•Uscire dall'editor: [CTRL] K e D
•Cancellare riga: [CTRL] Y
SELECT.
EDIT
avvia l'editor a schermo incorporato, consentendo la modifica
Il numero della riga dove iniziare la modifica.
MANUALE DI PROGRAMMAZIONE73
Comandi BASIC
3.2.91 ELSE
Vedere IF..THEN..ELSE..ENDIF.
3.2.92 ELSEIF
Vedere IF..THEN..ELSE..ENDIF.
3.2.93 ENCODER
/i
TipoParametro degli assi (sola lettura)
SintassiENCODER
Descrizione
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
Il parametro degli assi
Il parametro degli assi MPOS contiene la posizione misurata, calcolata
automaticamente a partire dal valore dell'ENCODER, che consente overflow
eoffset.
AXIS, MPOS.
ENCODER
contiene una copia non elaborata dell'encoder.
3.2.94 ENCODER_BITS
/i
TipoParametro degli assi
SintassiENCODER_BITS = valore
DescrizioneQuesto parametro degli assi configura l'interfaccia per il numero di bit
dell'encoder relativi agli assi flessibili assoluti dell'encoder EnDat e SSI.
Il parametro può essere applicato agli assi con valore ATYPE 47 e 48.
Se applicato a un asse flessibile dell'encoder assoluto EnDat, i bit da 0 a 7
del parametro devono essere impostati sul numero totale dei bit dell'encoder.
I bit da 8 a 14 devono essere impostati sul numero di bit multigiro da usare.
Se applicato a un asse flessibile dell'encoder assoluto SSI, i bit da 0 a 5 del
parametro devono essere impostati sul numero dei bit dell'encoder.
Revisione 3.0
ArgomentiN/D
Il bit 6 deve essere 1 in caso di operazione binaria o 0 in caso di codice Gray.
Nota: usando un asse flessibile assoluto dell'encoder, è essenziale impostare
questo parametro per l'asse prima di impostare ATYPE.
EsempioENCODER_BITS = 25 + (256 * 12)
ATYPE = 47
In questo esempio viene utilizzato un encoder EnDat a 25 bit dotato
di 12 bit per i valori multigiro e 13 bit per ciascuna rivoluzione.
EsempioENCODER_BITS = 12 + (64 * 1)
ATYPE = 48
In questo esempio viene utilizzato un encoder SSI a 12 bit (4096 posizioni
per ciascuna rivoluzione), dotato di un'uscita di tipo binario.
Vedere anche
AXIS.
3.2.95 ENCODER_CONTROL
/i
TipoParametro degli assi
SintassiENCODER_CONTROL = valore
DescrizioneIl parametro ENCODER_CONTROL è applicabile unicamente a un asse
flessibile assoluto EnDat con valore ATYPE 47. Il parametro controlla
la modalità usata dall'encoder EnDat per restituirne la posizione. È possibile
impostare l'encoder affinché restituisca la propria posizione ciclicamente
o impostarlo su una modalità di lettura/scrittura del parametro. L'impostazione
predefinita dopo l'inizializzazione è la modalità di restituzione ciclica della
posizione. Per maggiori informazioni, vedere le specifiche dell'interfaccia
dell'encoder assoluto EnDat.
ArgomentiN/D
EsempioENCODER_CONTROL AXIS(1) = 0
Questo comando imposta la modalità di restituzione ciclica della posizione.
EsempioENCODER_CONTROL AXIS(1) = 1
Questo comando imposta il parametro di modalità di lettura/scrittura.
Vedere anche
AXIS, ENCODER, ENCODER_BITS.
MANUALE DI PROGRAMMAZIONE74
Comandi BASIC
3.2.96 ENCODER_ID
/i
TipoParametro degli assi (sola lettura)
SintassiENCODER_ID
DescrizioneQuesto parametro restituisce il valore ID di un encoder assoluto per l'asse.
Questo parametro è applicabile solo all'asse flessibile assoluto Tamagawa
con valore ATYPE 46.
Restituisce il parametro ENID dall'encoder, che è impostato su 17.
Per maggiori informazioni, vedere le caratteristiche dell'interfaccia
dell'encoder assoluto Tamagawa.
Se applicato a un asse con valore ATYPE diverso da 46, questo
parametro restituisce uno 0.
ArgomentiN/D
Esempio>>PRINT ENCODER_ID AXIS (1)
17.0000
Questo comando stampa il valore ID dell'encoder assoluto per l'asse 1.
Vedere anche
AXIS, ENCODER, ENCODER_BITS.
3.2.97 ENCODER_RATIO
/i
TipoParametro degli assi
SintassiENCODER_RATIO(denominatore,numeratore)
DescrizioneConsente al conteggio dell'encoder in entrata di essere scalato tramite
un numero non intero, utilizzando l'equazione:
MPOS = (numeratore)/(denominatore) x ingresso fronti dell'encoder
Contrariamente ai parametri UNITS, ENCODER_RATIO influenza
sia MOVECIRC che CAMBOX.
Nota: i rapporti alti devono essere evitati, poiché provocano una perdita
di risoluzione oppure riducono considerevolmente l'uniformità del movimento.
Il conteggio effettivo e fisico dell'encoder corrisponde alla risoluzione BASIC
dell'asse e l'utilizzo di questo comando potrebbe ridurre la capacità dell'unità
Revisione 3.0
di controllo di raggiungere con precisione tutte le posizioni.
Nota: ENCODER_RATIO non sostituisce UNITS. ENCODER_RATIO
deve essere utilizzato solo quando è assolutamente necessario.
In tutti gli altri casi, per scalare gli assi utilizzare UNITS.
Argomenti•denominatore
Un numero compreso tra 0 e 16777215, usato per definire
il denominatore dell'equazione qui sopra.
•numeratore
Un numero compreso tra 0 e 16777215, usato per definire
il numeratore dell'equazione qui sopra.
EsempioENCODER_RATIO(8192,7200)
UNITS=20
Un tavolo girevole è dotato di un servomotore collegato direttamente
al suo centro di rotazione. Un encoder è montato sul lato posteriore
del servomotore e restituisce un valore di 8192 conteggi per giro.
L'applicazione richiede che il tavolo venga calibrato in gradi, ma in
maniera tale per cui un grado corrisponda a un numero intero di conteggi.
Vedere anche
N/D
3.2.98 ENCODER_READ
/i
TipoComando degli assi
SintassiENCODER_READ(indirizzo)
DescrizioneIl comando ENCODER_READ è applicabile unicamente a un asse flessibile
assoluto EnDat con valore ATYPE 47. Il parametro restituisce un parametro
encoder a 16 bit memorizzato in un indirizzo specifico. I bit da 8 a 15
dell'indirizzo sono le impostazioni campo EnDat MRS mentre i bit da 0 a 7
corrispondono all'offset interno al blocco EnDat MRS. Se si verifica un errore
CRC, questo comando restituirà –1. Per maggiori informazioni, vedere
le caratteristiche dell'interfaccia dell'encoder assoluto EnDat.
Argomenti•indirizzo
Specifica quale campo EnDat MRS deve essere letto.
EsempioVR(100) = ENCODER_READ($A10D) AXIS(7)
Questo comando legge il numero dei bit dell'encoder e colloca quel valore
nell'area di memoria VR(10).
Vedere anche
AXIS, ENCODER, ENCODER_BITS.
MANUALE DI PROGRAMMAZIONE75
Comandi BASIC
3.2.99 ENCODER_STATUS
/i
TipoParametro degli assi (sola lettura)
SintassiENCODER_STATUS
DescrizioneQuesto parametro restituisce lo stato dell'encoder assoluto.
Questo parametro può essere applicato solo all'asse flessibile assoluto
Tamagawa con valore ATYPE 46. Restituisce sia il campo di stato SF sia
il campo di errore dell'encoder ALMC. Il campo SF si trova nei bit da 0 a 7,
mentre il campo ALMC è nei bit da 8 a 15. Per maggiori informazioni,
vedere le caratteristiche dell'interfaccia dell'encoder assoluto Tamagawa.
Se applicato a un asse con valore ATYPE diverso da 46, questo parametro
restituisce uno 0.
ArgomentiN/D
EsempioPRINT (ENCODER_STATUS AXIS (1) AND 255)
Questo comando stampa il campo SF dell'encoder assoluto Tamagawa
per l'asse 1.
Vedere anche
AXIS, ENCODER, ENCODER_BITS.
3.2.100 ENCODER_TURNS
/i
TipoParametro degli assi (sola lettura)
SintassiENCODER_TURNS
DescrizioneIl parametro ENCODER_TURNS restituisce il numero del conteggio
multigiro proveniente dall'encoder.
Può essere applicato solo all'asse flessibile assoluto Tamagawa
con valore ATYPE 46 e all'asse flessibile assoluto con valore ATYPE 47.
I dati multigiro non sono automaticamente applicati al parametro degli
assi MPOS dopo l'inizializzazione. Il programmatore dell'applicazione
deve applicare il parametro a partire dal programma utilizzando,
se necessario, il comando OFFPOS o DEFPOS.
Revisione 3.0
ArgomentiN/D
Se applicato a un asse con valore ATYPE diverso da 46 o 47,
questo parametro restituisce uno 0.
EsempioPRINT ENCODER_TURNS AXIS (1)
Questo comando stampa il conteggio multigiro dell'encoder assoluto
per l'asse 1.
Vedere anche
AXIS, ENCODER, ENCODER_BITS.
3.2.101 ENCODER_WRITE
/i
TipoComando degli assi
SintassiENCODER_WRITE(indirizzo, valore)
DescrizioneIl comando ENCODER_WRITE è applicabile unicamente a un asse
flessibile assoluto EnDat con valore ATYPE 47. Il comando scrive su
un parametro encoder specificato dall'indirizzo. I bit da 8 a 15 dell'indirizzo
sono le impostazioni campo EnDat MRS mentre i bit da 0 a 7 corrispondono
all'offset interno al blocco EnDat MRS. Se si verifica un errore CRC, questo
comando restituirà 0. La scrittura di 0 all'indirizzo svolge la funzione di
ripristino dell'encoder. Per maggiori informazioni, vedere le caratteristiche
dell'interfaccia dell'encoder assoluto EnDat. Per poter scrivere un parametro
dell'encoder con questo comando, il parametro ENCODER_WRITE deve
essere impostato su 1, modalità di lettura/scrittura del parametro encoder.
Argomenti•indirizzo
Specifica quale campo EnDat MRS deve essere scritto.
•valore
Espressione in BASIC.
EsempioNessun esempio.
Vedere anche
AXIS, ENCODER, ENCODER_BITS, ENCODER_CONTROL.
3.2.102 ENDIF
Vedere IF..THEN..ELSE..ENDIF.
MANUALE DI PROGRAMMAZIONE76
Comandi BASIC
3.2.103 ENDMOVE
/i
TipoParametro degli assi
SintassiENDMOVE
DescrizioneIl parametro degli assi ENDMOVE contiene la posizione finale del movimento
corrente espresso in unità utente. Se il parametro degli assi SERVO
è attivo, diventa possibile scrivere il parametro ENDMOVE per produrre
un cambiamento passo-passo della posizione richiesta (DPOS).
Note: dal momento che la posizione misurata non viene cambiata all'inizio,
occorre tenere in considerazione il limite dell'errore di inseguimento
(FE_LIMIT). Se il cambiamento della posizione richiesta è eccessivo,
il limite sarà superato.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
AXIS, DPOS, FE_LIMIT, UNITS.
3.2.104 EPROM
/i
TipoComando di programma
SintassiEPROM
DescrizioneIl comando EPROM registra nella memoria RAM di TJ1-MC__ alimentata
a batteria i programmi BASIC contenuti nella memoria flash EPROM.
Il parametro di sistema POWER_UP controlla la copia nella RAM
dei programmi registrati nella memoria flash EPROM.
Nota: in Trajexia Tools questo comando viene presentato come pulsante
sul pannello di controllo. Vi sono anche pagine pop-up che chiedono
se si desiderano scrivere i dati del programma nella memoria flash.
ArgomentiN/D
EsempioNessun esempio.
Revisione 3.0
Vedere anche
POWER_UP, RUNTYPE.
3.2.105 ERROR_AXIS
/i
TipoParametro di sistema (sola lettura)
SintassiERROR_AXIS
DescrizioneIl parametro degli assi ERROR_AXIS contiene il numero dell'asse
che ha provocato l'errore di movimento.
Un errore di movimento si verifica quando lo stato AXISSTATUS
per uno degli assi corrisponde all'impostazione ERRORMASK. In questo
caso il selettore di attivazione (WDOG) viene disattivato, il parametro
MOTION_ERROR prende il valore 1 e il parametro ERROR_AXIS prende
il numero del primo asse contenente l'errore.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
AXISSTATUS, ERRORMASK, MOTION_ERROR, WDOG.
3.2.106 ERROR_LINE
/i
TipoParametro dei task (sola lettura)
SintassiERROR_LINE
DescrizioneIl parametro ERROR_LINE contiene il numero della riga che ha causato
l'ultimo errore BASIC di run-time nel task di programma. Tale valore
è valido solo quando il parametro BASICERROR è TRUE.
Ciascun task dispone di un parametro ERROR_LINE proprio. Usare
il modificatore PROC per accedere al parametro di un determinato task.
Senza PROC viene preso in considerazione il task corrente.
ArgomentiN/D
Esempio>> PRINT ERROR_LINE PROC(4)
23.0000
Vedere anche
BASICERROR, PROC, RUN_ERROR.
MANUALE DI PROGRAMMAZIONE77
Comandi BASIC
3.2.107 ERRORMASK
/i
TipoParametro degli assi
SintassiERRORMASK
DescrizioneIl parametro degli assi ERRORMASK contiene un valore di maschera
che viene elaborato un bit alla volta con il parametro degli assi AXISSTATUS
attraverso l'operatore AND, a ciascun ciclo di servoazionamento per stabilire
se si è verificato un errore di movimento.
Quando si verifica un errore, il selettore di attivazione (WDOG) viene
spento, il parametro MOTION_ERROR prende il valore 1 e il parametro
ERROR_AXIS prende il numero del primo asse contenente l'errore.
Per conoscere lo stato delle assegnazioni dei bit, controllare il parametro
AXISVALUES. L'impostazione predefinita di ERRORMASK è 268.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
AXIS, AXISSTATUS, MOTION_ERROR, WDOG.
Attenzione
È compito dell'utente definire in quali casi viene generato un errore
di movimento. Per un funzionamento sicuro si consiglia vivamente
di generare un errore di movimento in tutti i casi in cui l'errore
di inseguimento supera il limite. Per fare ciò, impostare
il bit 8 di ERRORMASK
DescrizioneIl comando ETHERNET viene utilizzato per leggere e impostare certe funzioni
della comunicazione Ethernet. Il comando ETHERNET deve essere inserito
nella riga di comando attraverso la porta seriale 0, quando Trajexia Tools
è in modalità scollegata.
Nota: per attivare i nuovi parametri è necessario riavviare Trajexia.
Impostare l'indirizzo IP di Trajexia su 192.200.185.002.
Vedere anche
N/D
Revisione 3.0
MANUALE DI PROGRAMMAZIONE78
Comandi BASIC
3.2.109 EX
/i
TipoComando di sistema
SintassiEX[(opzione)]
DescrizioneRipristina l'unità di controllo come se venisse riaccesa.
Il comando EX esegue due tipi di ripristino diversi. EX senza argomento
ovvero EX(0) esegue il ripristino del software dell'unità di controllo. EX(1)
esegue il ripristino dell'hardware dell'unità di controllo
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
N/D
3.2.110 EXP
/i
TipoFunzione matematica
SintassiEXP(espressione)
DescrizioneLa funzione EXP restituisce il valore esponenziale dell'espressione.
Argomenti•espressione
Qualsiasi espressione valida in BASIC.
Esempio>> PRINT EXP(1.0)
2.7183
Vedere anche
N/D
3.2.111 FALSE
/i
TipoCostante (sola lettura)
SintassiFALSE
DescrizioneLa costante FALSE restituisce il valore numerico 0.
ArgomentiN/D
Esempiotest:
res = IN(0) OR IN(2)
IF res = FALSE THEN
PRINT "Gli ingressi non sono attivi"
ENDIF
Vedere anche
N/D
3.2.112 FAST_JOG
/i
TipoParametro degli assi
SintassiFAST_JOG
DescrizioneIl parametro degli assi FAS T_JOG contiene il numero d'ingresso da utilizzare
come ingresso di jog rapido. Il numero può essere compreso tra 0 e 7.
Dal momento che l'impostazione predefinita del parametro è –1, nessun
ingresso viene selezionato.
L'ingresso di jog rapido regola la velocità di jog tra due velocità. Se viene
impostato l'ingresso di jog rapido, per il funzionamento intermittente sarà
utilizzata la velocità data dal parametro degli assi SPEED. Se non viene
impostato l'ingresso di jog rapido, sarà utilizzata la velocità data dal
parametro degli assi JOGSPEED.
Nota: questo ingresso è active low.
ArgomentiN/D
Revisione 3.0
EsempioNessun esempio.
Vedere anche
AXIS, FWD_JOG, JOGSPEED, REV_JOG, SPEED.
MANUALE DI PROGRAMMAZIONE79
Comandi BASIC
3.2.113 FASTDEC
/i
TipoParametro degli assi
SintassiFAST DEC
DescrizioneIl valore predefinito è zero. Se viene specificato un FASTDEC diverso
da zero, l'asse rallenterà fino a zero alla velocità di decelerazione
precisata quando raggiunge il finecorsa o la posizione stabilita.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
N/D
3.2.114 FE
/i
TipoParametro degli assi (sola lettura)
SintassiFE
DescrizioneIl parametro degli assi FE contiene l'errore di posizione espresso
in unità utente. Questo viene calcolato sottraendo alla posizione richiesta
(parametro asseDPOS) la posizione misurata (parametro asse MPOS).
Il valore dell'errore di inseguimento può essere verificato utilizzando
i parametri degli assi FE_LIMIT e FE_RANGE.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
AXIS, DPOS, FE_LIMIT, FE_RANGE, MPOS, UNITS.
3.2.115 FE_LATCH
/i
TipoParametro degli assi (sola lettura)
SintassiFE_LATCH
DescrizioneContiene il valore iniziale FE che ha spinto l'asse a mettere l'unità di controllo
in MOTION_ERROR. Il valore viene impostato solo quando FE supera
FE_LIMIT e il parametro SERVO è stato impostato su 0. FE_LATCH viene
reimpostato su 0 quando il parametro degli assi SERVO viene riportato a 1.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
N/D
3.2.116 FE_LIMIT
/i
TipoParametro degli assi
SintassiFE_LIMIT
DescrizioneIl parametro degli assi FE_LIMIT contiene il limite massimo ammesso
per l'errore di inseguimento espresso in unità utente. Quando viene
superato, il bit 8 del parametro degli assi AXISSTATUS viene impostato.
Se il parametro ERRORMASK è stato impostato correttamente, viene
generato un errore di movimento.
Questo limite viene utilizzato come protezione contro varie condizioni
di errore, ad esempio i blocchi meccanici, la perdita di retroazione
dell'encoder, ecc.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
Revisione 3.0
AXIS, AXISSTATUS, ERRORMASK, FE, FE_RANGE, UNITS.
MANUALE DI PROGRAMMAZIONE80
Comandi BASIC
3.2.117 FE_LIMIT_MODE
/i
TipoParametro degli assi
SintassiFE_LIMIT_MODE=valore
DescrizioneQuando questo parametro è impostato su 0, l'asse provocherà
immediatamente un MOTION_ERROR non appena FE supera
il valore FE_LIMIT.
Se FE_LIMIT_MODE è impostato su 1, l'asse genererà soltanto
un MOTION_ERROR qualora FE superasse FE_LIMIT nel corso
di 2 tempi di servoazionamento consecutivi. Ciò significa che
se FE_LIMIT viene superato durante un solo ciclo
di servoazionamento, l'evento sarà ignorato.
Il valore predefinito di FE_LIMIT_MODE è 0.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
N/D
3.2.118 FE_RANGE
/i
TipoParametro degli assi
SintassiFE_RANGE
DescrizioneIl parametro degli assi FE_RANGE contiene il limite dell'intervallo d'avviso
di errore di inseguimento espresso in unità utente. Quando su un servoasse
l'errore di inseguimento supera questo valore, il bit 1 presente sul parametro
degli assi AXISSTATUS viene attivato.
Questo intervallo viene utilizzato come primo indicatore che una condizione
di errore è presente nell'applicazione (confrontare FE_LIMIT).
ArgomentiN/D
EsempioNessun esempio.
Revisione 3.0
Vedere anche
AXIS, AXISSTATUS, ERRORMASK, FE, UNITS.
3.2.119 FHOLD_IN
/i
TipoParametro degli assi
SintassiFHOLD_IN
FH_IN
Descrizione
Sigma II•ingresso 28: CN1-40
Sigma III•ingresso 28: CN1-13
Junma•ingresso 26: CN1-2
Il parametro degli assi
come ingresso per la sospensione dell'alimentazione. L'intervallo d'ingresso
valido è compreso tra 0 e 31. I valori da 0 a 15 rappresentano gli ingressi
fisicamente presenti sul connettore di I/O di TJ1-MC__ e sono comuni a tutti
gli assi. I valori da 16 a 27 rappresentano gli ingressi del software che possono
essere liberamente utilizzati da programmi e comandi quali IN e OP. Sono
inoltre valori comuni a tutti gli assi. I valori da 28 a 31 vengono direttamente
mappati agli ingressi del servoazionamento presenti sul connettore CN1
e sono univocamente associati a ogni asse. La mappatura degli ingressi
del servoazionamento agli ingressi da 28 a 31 dipende dall'impostazione
del parametro di servoazionamento Pn81E. L'impostazione consigliata
è Pn81E = 0x4321, con la seguente mappatura: Come impostazione
predefinita, il parametro è impostato su –1 e nessun ingresso è selezionato.
Nota: questo ingresso è active low.
•ingresso 29: CN1-41
•ingresso 30: CN1-42
•ingresso 31: CN1-43
•ingresso 29: CN1-7
•ingresso 30: CN1-8
•ingresso 31: CN1-9
•ingresso 27: CN1-1
Per maggiori informazioni su come impostare il parametro di servoazionamento
Pn81E, consultare il Manuale del servoazionamento. Come impostazione
predefinita, il parametro è impostato su –1 e nessun ingresso è selezionato.
FHOLD_IN
contiene il numero d'ingresso da utilizzare
MANUALE DI PROGRAMMAZIONE81
Comandi BASIC
Se un numero d'ingresso viene impostato e l'ingresso della sospensione
dell'alimentazione passa da non impostato a impostato, la velocità
di movimento dell'asse cambia e prende il valore impostato nel parametro
degli assi FHSPEED. Il movimento corrente non viene cancellato. Inoltre,
il bit 7 del parametro AXISSTATUS viene impostato. Quando l'ingresso
si ripristina, qualsiasi movimento in corso al momento in cui l'ingresso
era stato impostato tornerà alla velocità programmata.
Nota: questa funzione agisce soltanto sui movimenti controllati dalla velocità.
I movimenti che non sono controllati dalla velocità (CAMBOX, CONNECT
e MOVELINK) non vengono influenzati.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
AXIS, AXISSTATUS, UNITS.
3.2.120 FHSPEED
/i
TipoParametro degli assi
SintassiFHSPEED
DescrizioneIl parametro degli assi FHSPEED contiene la velocità di sospensione
dell'alimentazione. Questo parametro può essere impostato su un valore
espresso in unità utente/s, velocità alla quale si muove l'asse quando
si attiva l'ingresso di sospensione dell'alimentazione. Il movimento
corrente non viene cancellato. FHSPEED può avere qualsiasi valore
positivo, incluso lo 0. Il valore predefinito è 0.
Nota: questa funzione agisce soltanto sui movimenti controllati dalla
velocità. I movimenti che non sono controllati dalla velocità (CAMBOX,
DescrizioneFINS (Factory Interface Network Service) è un protocollo di comunicazione
proprietario di OMRON. Una parte di questo protocollo è stata integrata
in Trajexia. Il protocollo FINS è stato integrato con l'intenzione di abilitare
una comunicazione senza soluzione di continuità con altri dispositivi
OMRON (PLC, HMI, ecc.) e altri software (CX-Drive, CX-Server, ecc.).
Per maggiori informazioni sul protocollo di comunicazione FINS,
consultare la sezione 4.2.4 e il Communication Commands Reference
Manual, num. cat. W342-E1, sezioni 3 e 5.
Trajexia dispone di funzionalità client di FINS incorporate ed è pertanto
in grado di avviare le comunicazioni FINS con dispositivi slave di FINS,
utilizzando FINS_COMMS. Entrambi i comandi FINS 0101 (lettura
di memoria) e FINS 0102 (scrittura di memoria) sono attivi. Il comando
FINS 0101 consente la lettura della memoria da altri dispositivi dotati
di funzionalità server FINS. FINS 0102 può essere utilizzato per scrivere
dati su altri dispositivi dotati di funzionalità server FINS.
Questo comando restituisce uno dei seguenti valori, in base al risultato
dell'esecuzione:
–1: il comando è stato eseguito con successo.
0: il comando non è riuscito.
1: richiesta non inviata perché il client o il protocollo FINS è occupato.
2: uno o più dei parametri richiesti non sono validi.
3: area di memoria sorgente non valida.
4: la richiesta è stata inviata, ma il server remoto non ha risposto
entro il periodo di timeout.
5: il server remoto ha inviato un codice di risposta di errore.
EsempioNessun esempio.
Vedere anche
Revisione 3.0
AXIS, AXISSTATUS, FHOLD_IN, UNITS.
MANUALE DI PROGRAMMAZIONE82
Comandi BASIC
Argomenti•tipo
•rete
•nodo
•unità
•area_remota
•offset_remoto
•lunghezza
•area_locale
Revisione 3.0
Il tipo di comando FINS. 0 significa FINS 0101, lettura della memoria
del server remoto FINS. 1 significa FINS 0102, scrittura nella memoria
del server remoto.
La rete di destinazione. Per maggiori informazioni, consultare
il Communication Commands Reference Manual, num. cat W342-E1,
sezione 3.
Il nodo del server FINS di destinazione. Per maggiori informazioni,
consultare il Communication Commands Reference Manual,
num. cat W342-E1, sezione 3.
Il numero di unità del server FINS di destinazione. Per maggiori
informazioni, consultare il Communication Commands Reference
Manual, num. cat W342-E1, sezione 3.
L'area di memoria d'accesso del server FINS di destinazione.
Intervallo: 128..255. Notare che se la destinazione è un altro Trajexia,
quest'area deve essere rappresentata da uno dei seguenti valori: 0xB0:
valore memoria VR a numero intero; 0x82: valore memoria TABLE
a numero intero; 0xC2: valore memoria TABLE con numero
a virgola mobile.
L' offset di memoria presente sul server FINS di destinazione.
Intervallo: 0..65535. Notare che se il sistema di destinazione
è un altro Trajexia, questo intervallo verrà ulteriormente limitato agli
indirizzi massimi della memoria TABLE o della memoria VR.
Il numero degli elementi che devono essere trasferiti L'intervallo dipende
dalla lunghezza del frame FINS e dalla capacità del client e dei server
remoti. L'intervallo per un Trajexia è compreso tra i numeri interi 1 e 700
o tra i numeri a virgola variabile da 1 a 350.
L'area di memoria locale (sorgente). Notare che se la destinazione
è un altro Trajexia, quest'area deve essere rappresentata da uno dei
seguenti valori: 0x00: valore memoria VR a numero intero; 0x01: valore
memoria TABLE a numero intero; 0x02: valore memoria TABLE con
numero a virgola mobile.
•offset_locale
L'offset del primo valore dell'area di memoria locale (sorgente).
L'intervallo dipende dalle dimensioni della matrice della memoria
VR o TABLE e dal valore dell'argomento “lunghezza”.
•timeout
Il numero di millisecondi di attesa di una risposta dal server FINS
di destinazione che devono trascorrere prima del timeout.
•IP1, IP2, IP3, IP4
Parametri opzionali che definiscono l'indirizzo IP del server
remoto (di destinazione). Questi argomenti devono essere
utilizzati se Trajexia e il server di destinazione FINS non appartengono
alla stessa rete.
EsempioUn Trajexia e un sistema OMRON CJ1 PLC con modulo Ethernet
CJ1W-ETN11 sono collegati alla stessa rete. L'indirizzo IP del Trajexia
è 192.168.0.5. L'indirizzo IP del modulo Ethernet PLC è 192.168.0.12.
Quando viene eseguito il comando FINS_COMMS(0,0,12,0,$82, 1000,20,0,500,5000,192,168,0,12), vengono lette 20 parole (lunghezza=20)
dall'area di memoria PLC di DM (area_remota=$82), a partire da DM1000
(offset_remoto=1000), e vengono scritte nella memoria VR di Trajexia in
formato di numero intero (area_locale=0), a partire da VR(500) (offset locale=500). Quindi, i valori nella memoria PLC compresi tra DM1000
e DM1019 vengono collocati nella memoria di Trajexia tra VR(500)
e VR(519). Il timeout viene impostato a 5 secondi.
Quando viene eseguito il comando FINS_COMMS(1,0,12,0,$80, 50,10,0,300,3000,192,168,0,12), vengono scritte 10 parole (lunghezza=10)
della memoria VR di Trajexia (area_locale=0), a partire da VR(300)
(offset_locale=300), come numeri interi nell'area CIO della memoria PLC
(area_remota=$80), a partire da CIO50 (offset_remoto=50). Quindi,
i valori nella memoria PLC compresi tra DM1000 e DM1019 vengono
posizionati nella memoria PLC da CIO50 a CIO59. Il timeout viene
impostato a 3 secondi.
Vedere anche
N/D
MANUALE DI PROGRAMMAZIONE83
Comandi BASIC
3.2.122 FLAG
/i
TipoComando di sistema
SintassiFLAG(numero_flag [,valore])
DescrizioneIl comando FLAG viene utilizzato per impostare e leggere un insieme
di 32 bit flag. Il comando FLAG può essere utilizzato con uno o due
parametri. Quando è specificato un parametro, viene restituito lo stato
del bit flag precisato. Quando sono specificati due parametri, il flag
precisato viene impostato sul valore del secondo parametro. Il comando
FLAG viene fornito per favorire la compatibilità con unità di controllo
precedenti e non è consigliato per i nuovi programmi.
Argomenti•numero_flag
Il numero di flag è un valore compreso tra 0 e 31.
•valore
Se specificato, questo è lo stato su cui impostare il flag precisato,
cioè “attivo” o “non attivo”. Può anche essere scritto come 1 o 0.
EsempioFLAG(27,ON)
Imposta il bit flag 27 su “on”.
Vedere anche
N/D
3.2.123 FLAGS
/i
TipoComando di sistema
SintassiFLAGS([valore])
DescrizioneLegge e imposta FLAGS come blocco. Il comando FLAGS viene
fornito per favorire la compatibilità con unità di controllo precedenti
e non è consigliato per i nuovi programmi. I flag a 32 bit possono
essere letti con FLAGS e impostati con FLAGS(valore).
Argomenti•valore
L'equivalente decimale dello schema dei bit su cui i flag devono
essere impostati. Vedere tabella di seguito.
EsempioFLAGS(146) ' 2 + 16 + 128
Imposta i flag 1,4 e 7 su “attivo”, tutti gli altri su “non attivo”.
EsempioIF (FLAGS AND 8) <>0 THEN GOSUB qualche parte
Verifica se il flag 3 è impostato.
Vedere anche
/i
Numero di bitValore decimale
01
12
24
N/D
38
416
532
664
7128
Revisione 3.0
MANUALE DI PROGRAMMAZIONE84
Comandi BASIC
3.2.124 FOR..TO..STEP..NEXT
/i
TipoComando di controllo del programma.
SintassiFOR variabile = inizio TO fine [STEP incremento]
comandi
NEXT variabile
DescrizioneL'anello FOR ... NEXT consente la ripetizione per un dato numero di volte
del segmento di programma compreso tra le istruzioni FOR e NEXT.
L'ingresso in questo anello produce l'inizializzazione della variabile sul valore
di “inizio"; quindi viene eseguito il blocco di comandi. Quando viene raggiunto
il comando NEXT, la variabile subisce l'incremento specificato dopo STEP.
Il valore STEP può essere sia positivo che negativo; se omesso, viene
considerato pari a 1.
Fintanto che la variabile è minore o uguale a “fine”, il blocco di comandi
viene eseguito ripetutamente fino a quando la variabile non diventa maggiore
di “fine"; a quel punto, l'esecuzione del programma proseguirà dopo NEXT.
Nota: le istruzioni FOR ... NEXT possono essere nidificate fino a un massimo
di 8 livelli in un programma BASIC.
Argomenti•variabile
Espressione in BASIC.
•inizio
Espressione in BASIC.
•fine
Espressione in BASIC.
•incremento
Espressione in BASIC.
•comandi
Uno o più comandi BASIC.
Esempioanello:
FOR dist = 5 TO -5 STEP -0.25
MOVEABS(dist)
GOSUB pick_up
NEXT dist
L'incremento STEP può essere sia positivo che negativo.
Esempioanello1:
FOR l1 = 1 TO 8
anello2:
FOR l2 = 1 TO 6
MOVEABS(l1*100,l2*100)
GOSUB 1000
NEXT l2
NEXT l1
Le istruzioniFOR…TO...STEP...NEXT possono essere nidificate
(fino a un massimo di 8 livelli), a condizione che i comandi interni FOR
e NEXT siano entrambi inclusi nell'anello esterno FOR...TO...STEP...NEXT.
Vedere anche
REPEAT..UNTIL, WHILE..WEND.
EsempioFOR numop = 8 TO 13
OP(numop,ON)
NEXT numop
Questo anello attiva le uscite dalla 8 alla 13.
Revisione 3.0
MANUALE DI PROGRAMMAZIONE85
Comandi BASIC
3.2.125 FORWARD
/i
TipoComando degli assi
SintassiFORWARD
FO
DescrizioneIl comando FORWARD sposta in avanti un asse costantemente alla velocità
impostata nel parametro degli assi SPEED. La velocità di accelerazione
è definita dal parametro degli assi ACCEL.
FORWARD agisce sull'asse di base predefinito (impostato con BASE)
a meno che AXIS non sia usato per specificare un asse di base temporaneo.
Nota: il movimento di avanzamento può essere arrestato eseguendo
i comandi CANCEL o RAPIDSTOP oppure raggiungendo il limite
di avanzamento.
ArgomentiN/D
Esempioavvio:
FORWARD
WAIT UNTIL IN(0) = ON ' Aspetta il segnale di arresto
CANCEL
Vedere anche
AXIS, CANCEL, RAPIDSTOP, REVERSE, UNITS.
3.2.126 FPGA_VERSION
/i
TipoParametro di slot
SintassiFPGA_VERSION SLOT(numero_unità)
DescrizioneQuesto parametro restituisce la versione FPGA dell'unità attraverso
il numero_unità del sistema di un'unità di controllo.
Argomenti•numero_unità
I numeri delle unità vanno da –1 a 6 e includono lo 0; –1 rappresenta
TJ1-MC__ e 0 la prima unità sulla destra rispetto a TJ1-MC__.
EsempioN/D
Revisione 3.0
Vedere anche
N/D
3.2.127 FRAC
/i
TipoFunzione matematica
SintassiFRAC(espressione)
DescrizioneLa funzione FRAC restituisce la parte frazionaria dell'espressione.
Argomenti•espressione
Qualsiasi espressione valida in BASIC.
Esempio>> PRINT FRAC(1.234)
0.2340
Vedere anche
N/D
3.2.128 FRAME
/i
TipoParametro di sistema
SintassiFRAME=valore
DescrizioneViene utilizzato per specificare in quale frame occorre operare quando
si utilizzano le trasformazioni dei frame. Le trasformazioni dei frame vengono
utilizzate per consentire la specificazione dei movimenti che, in un ambito
di riferimento coordinato a più assi, non presentano una corrispondenza
univoca con i vari assi. Un esempio può essere il braccio robot SCARA
con assi giuntati. Affinché l'estremità del braccio del robot possa eseguire
movimenti in linea retta su un piano cartesiano, i motori devono muoversi
seguendo un modello determinato dalla geometria dei robot.
Le trasformazioni dei frame necessarie per eseguire funzioni di questo tipo,
devono essere compilate a partire da una sorgente di linguaggio C e caricate
nel software dell'unità di controllo del sistema. Contattare OMRON
se si richiede un simile intervento.
È possibile specificare il sistema della macchina con più frame diversi. Il
correntemente attivo viene specificato con il parametro di sistema
Il
FRAME
ArgomentiN/D
EsempioFRAME=1
Vedere anche
N/D
predefinito è 0 che corrisponde a una trasformazione singola univoca.
FRAME
FRAME
.
MANUALE DI PROGRAMMAZIONE86
Comandi BASIC
3.2.129 FREE
/i
TipoFunzione di sistema
SintassiFREE
DescrizioneLa funzione FREE restituisce la quantità rimanente di memoria disponibile
per i programmi utente e gli elementi della matrice della memoria TABLE.
Nota: ogni riga occupa un minimo di 4 caratteri (byte) in memoria,
vale a dire la lunghezza della riga interessata, la lunghezza della riga
precedente, il numero di spazi iniziali e un singolo token di comando.
I comandi addizionali necessitano di un byte per token; la maggior parte
degli altri dati vengono conservati come ASCII.
TJ1-MC__ compila i programmi prima che vengano eseguiti; ciò significa
che è necessaria una memoria doppia per potere eseguire un programma.
ArgomentiN/D
Esempio>> PRINT FREE
47104.0000
Vedere anche
N/D
3.2.130 FS_LIMIT
/i
TipoParametro degli assi
SintassiFS_LIMIT
FSLIMIT
DescrizioneIl parametro degli assi FS_LIMIT contiene la posizione assoluta del limite
software di avanzamento espresso in unità utente.
Un limite software per il movimento di avanzamento può essere impostato
a partire dal programma che controlla la gamma di utilizzo del macchinario.
Una volta raggiunto il limite, TJ1-MC__ decelera fino a raggiungere lo 0,
quindi cancella il movimento. Il bit 9 del parametro degli assi AXISSTATUS
viene attivato fintantoché la posizione dell'asse rimane superiore a FS_LIMIT.
Revisione 3.0
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
AXIS, AXISSTATUS, UNITS.
3.2.131 FWD_IN
/i
TipoParametro degli assi
SintassiFWD_IN
Descrizione
Sigma II•ingresso 28: CN1-40
Sigma III•ingresso 28: CN1-13
Junma•ingresso 26: CN1-2
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
Il parametro degli assi
ingresso del limite di avanzamento. L'intervallo d'ingresso valido è compreso
tra 0 e 31. I valori da 0 a 15 rappresentano gli ingressi fisicamente presenti
sul connettore di I/O di TJ1-MC__ e sono comuni a tutti gli assi. I valori da
16 a 27 rappresentano ingressi software che possono essere liberamente
utilizzati da programmi e comandi quali IN e OP. Sono inoltre valori comuni
a tutti gli assi. I valori da 28 a 31 vengono direttamente mappati agli ingressi de
servoazionamento presenti sul connettore CN1 e sono univocamente associati
a ogni asse. La mappatura degli ingressi del servoazionamento agli ingressi da
28 a 31 dipende dall'impostazione del parametro di servoazionamento Pn81E.
L'impostazione consigliata è Pn81E = 0x4321, con la seguente mappatura:
Se viene impostato un numero d'ingresso e il limite viene raggiunto, qualsiasi
movimento di avanzamento su quell'asse verrà arrestato. Inoltre sarà
impostato il bit 4 di AXISSTATUS.
Nota: questo ingresso è active low.
•ingresso 29: CN1-41
•ingresso 30: CN1-42
•ingresso 31: CN1-43
•ingresso 29: CN1-7
•ingresso 30: CN1-8
•ingresso 31: CN1-9
•ingresso 27: CN1-1
Per maggiori informazioni su come impostare il parametro di servoazionamento
Pn81E, consultare il Manuale del servoazionamento. Come impostazione
predefinita, il parametro è impostato su –1 e nessun ingresso è selezionato.
AXIS, AXISSTATUS REV_IN.
FWD_IN
contiene il numero d'ingresso da utilizzare come
MANUALE DI PROGRAMMAZIONE87
Comandi BASIC
3.2.132 FWD_JOG
/i
TipoParametro degli assi
SintassiFWD_JOG
DescrizioneIl parametro degli assi FWD_JOG contiene il numero d'ingresso da utilizzare
come ingresso del jog di avanzamento L'ingresso può essere impostato
tra 0 e 7. Come impostazione predefinita, il parametro è impostato
su –1 e nessun ingresso è selezionato.
Nota: questo ingresso è active low.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
AXIS, FAST_JOG, JOGSPEED, REV_JOG.
3.2.133 GET
/i
TipoComando di I/O
SintassiGET [n.,] variabile
DescrizioneIl comando GET assegna a una variabile il codice ASCII di un carattere
ricevuto. Se il buffer della porta seriale è vuoto, l'esecuzione del programma
è sospesa fino a quando non viene ricevuto un carattere. I canali da 5 a 7
sono canali logici che vengono sovraimposti alla porta di programmazione
0 quando sono utilizzati i Trajexia Tools.
Nota: il canale 0 è riservato al collegamento con Trajexia Tools
e/o l'interfaccia della riga di comando. Tenere presente che questo
canale potrebbe dare dei problemi relativamente a questa funzione.
EsempioGET#5, k
Questa riga memorizza in k il carattere ASCII ricevuto sul canale della
porta 5 di Trajexia Tools.
Vedere anche
/i
Numero del
dispositivo
d'ingresso
0Porta di programmazione 0
1Porta seriale 1 di RS-232C
2Porta seriale 2 di RS-422A/485
5Canale utente 5 della porta 0 di Trajexia Tools
6Canale utente 6 della porta 0 di Trajexia Tools
7Canale utente 7 della porta 0 di Trajexia Tools
INDEVICE INDEVICE, INPUT, KEY, LINPUT
Descrizione
Argomenti•n
Il dispositivo d'ingresso specificato. Quando questo argomento
è omesso, viene utilizzata la porta specificata da INDEVICE.
Vedere tabella di seguito.
Revisione 3.0
•variabile
Il nome della variabile che riceve il codice ASCII.
MANUALE DI PROGRAMMAZIONE88
Comandi BASIC
3.2.134 GLOBAL
/i
TipoComando di sistema
SintassiGLOBAL "nome", numero_vr
DescrizioneDichiara il nome come riferimento a una delle variabili globali VR. Il nome
può quindi essere utilizzato sia all'interno del programma contenente
la definizione GLOBAL, sia all'interno di tutti gli altri programmi presenti
nel progetto Trajexia Tools 2.
Nota: prima che il nome venga usato in altri programmi è necessario
assicurarsi che sia eseguito il programma contenente la definizione
GLOBAL. Inoltre, solo quel programma deve essere in esecuzione
nel momento in cui viene eseguita la definizione GLOBAL: in caso contrario
verrà visualizzato l'errore di programma e il programma sarà bloccato quando
si tenterà di eseguire il comando. Per un avvio rapido, il programma dovrebbe
altresì essere l'unico processo in esecuzione al momento dell'accensione.
Una volta effettuata, la dichiarazione GLOBAL rimane attiva fino al primo
ripristino di TJ1-MC__ tramite spegnimento e riaccensione oppure fino
a quando non viene eseguito il comando EX.
Nei programmi che utilizzano il comando GLOBAL definito,
il nome ha lo stesso significato di VR(numero_vr). Non utilizzare
la sintassi: VR(nome).
È ammessa la dichiarazione fino a un massimo di 128 GLOBAL.
Argomenti•nome
Qualsiasi nome definito dall'utente contenente caratteri
alfanumerici minuscoli o sottolineature.
•numero_vr
Il numero della memoria VR da associare a nome.
EsempioGLOBAL "passo_vite",12
GLOBAL "rapporto1",534
rapporto1 = 3.56
passo_vite = 23.0
PRINT passo_vite, rapporto1
Vedere anche
Revisione 3.0
N/D
3.2.135 GOSUB..RETURN
/i
TipoComando di controllo del programma.
SintassiGOSUB etichetta
...
RETURN
DescrizioneLa struttura GOSUB consente il passaggio a una subroutine. GOSUB
memorizza la posizione della riga dopo il comando GOSUB e poi passa
all'etichetta specificata. Quando viene raggiunta l'istruzione RETURN,
l'esecuzione del programma torna alla posizione memorizzata.
Nota: le subroutine di ogni task possono essere nidificate fino
a un massimo di 8 livelli.
Argomenti•etichetta
Un'etichetta valida presente nel programma. Un'etichetta non
valida provocherà un errore di compilazione prima dell'esecuzione.
Le etichette possono essere stringhe di caratteri di qualsiasi lunghezza,
anche se solo i primi 15 sono significativi.
Esempioprincipale:
GOSUB routine
GOTO principale
routine:
PRINT "Posizione misurata=";MPOS;CHR(13);
RETURN
Vedere anche
GOTO
3.2.136 GOTO
/i
TipoComando di controllo del programma.
SintassiGOTO etichetta
DescrizioneLa struttura GOTO consente di effettuare un salto nell'esecuzione
di un programma. GOTO fa passare l'esecuzione del programma
direttamente alla riga contenente l'etichetta.
MANUALE DI PROGRAMMAZIONE89
Comandi BASIC
Argomenti•etichetta
Un'etichetta valida presente nel programma. Un'etichetta non
valida provocherà un errore di compilazione prima dell'esecuzione.
Le etichette possono essere stringhe di caratteri di qualsiasi lunghezza,
anche se solo i primi 15 sono significativi.
Esempioanello:
PRINT "Posizione misurata = ";MPOS;CHR(13);
GOTO anello
Vedere anche
GOSUB..RETURN
3.2.137 HALT
/i
TipoComando di sistema
SintassiHALT
DescrizioneIl comando HALT arresta tutti i task di programma in corso di esecuzione.
Il comando può essere usato sia sulla riga di comando che nei programmi.
Il comando STOP può essere usato per arrestare un singolo task
di programma.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
PROCESS, STOP.
3.2.138 HEX
/i
TipoComando di I/O
SintassiHEX
DescrizioneQuesto comando viene utilizzato in un'istruzione di stampa per produrre
un numero in formato esadecimale.
Revisione 3.0
ArgomentiN/D
3.2.139 HLM_COMMAND
/i
TipoComando di comunicazione
SintassiHLM_COMMAND(comando, porta [ , nodo [ , area/modalità_mc
[ , offset_mc ]]])
DescrizioneIl comando HLM_COMMAND esegue un'operazione specifica del comando
Host Link su uno o su tutti gli slave Host Link presenti sulla porta selezionata.
L'esecuzione del programma è sospesa fino a quando non viene ricevuta
la stringa di risposta o non è trascorso il tempo di timeout. Il tempo di timeout
viene specificato utilizzando il parametro HLM_TIMEOUT. Lo stato del
trasferimento può essere controllato tramite il parametro HLM_STATUS.
Note:
•quando si utilizza HLM_READ, assicurarsi di impostare il protocollo
del master Host Link attraverso il comando SETCOM.
•I comandi del master Host Link devono essere eseguiti da un solo task
di programma per evitare problemi di temporizzazione con il multitasking.
Argomenti•comando
La selezione dell'operazione di Host Link che deve essere eseguita.
Vedere la prima tabella di seguito.
•porta
La porta seriale specificata. 1 = porta seriale 1 di RS-232C; 2 = porta
seriale 2 di RS-422A.
•nodo (per HLM_MREAD, HLM_TEST, HLM_ABORT e HLM_STWR)
Il numero di nodo slave a cui inviare il comando Host Link. Intervallo: [0, 31].
•modalità (per HLM_STWR)
La modalità operativa specificata per la CPU. 0 = modalità PROGRAM;
2 = modalità MONITOR; 3 = modalità RUN.
•area_mc (per HLM_MREAD)
Selezione della memoria di TJ1-MC__ da cui leggere i dati da inviare.
Vedere la seconda tabella di seguito.
•offset_mc (per HLM_MREAD)
L'indirizzo dell'area di memoria di TJ1-MC__ specificata da cui leggere.
Intervallo per le variabili della memoria VR: [0, 1023]. Intervallo
per le variabili della memoria TABLE: [0, 63999].
EsempioPRINT#5,HEX(IN(8,16))
Vedere anche
N/D
MANUALE DI PROGRAMMAZIONE90
Comandi BASIC
EsempioHLM_COMMAND(HLM_MREAD,1,12,MC_VR,233)
Questo comando legge il codice del modello della CPU dello slave Host Link
con indirizzo nodo 12 collegato alla porta RS-232C. Il risultato viene scritto
in VR(233).
Se lo slave collegato è un C200HX PC, la VR(233) conterrà il valore
12 (esadecimale) dopo un'esecuzione riuscita.
EsempioHLM_COMMAND(HLM_TEST,2,23)
PRINT HLM_STATUS PORT(2)
Questo comando verificherà la comunicazione di Host Link con lo slave
Host Link (nodo 23) collegato alla porta RS-422A.
Se il parametro HLM_STATUS contiene il valore 0, la comunicazione
è funzionale.
EsempioHLM_COMMAND(HLM_INIT,2)
HLM_COMMAND(HLM_ABORT,2,4)
Questi due comandi eseguono le operazioni INITIALIZE e ABORT
di Host Link sulla porta 2 dell'RS-422A. Il numero di nodo dello slave è 4.
EsempioHLM_COMMAND(HLM_STWR,2,0,2)
Quando è necessario scrivere dati su un PC utilizzando Host Link,
la CPU non può essere in modalità RUN. È possibile impostarla su modalità
MONITOR utilizzando il comando HLM_COMMAND. L'indirizzo nodo dello
slave è 0 e lo slave è collegato alla porta RS-232C.
Esegue il comando per PC MODEL READ (MM) di Host Link che legge
il codice del modello della CPU. Il risultato viene scritto nella variabile
TJ1-MC__ specificata da area_mc e offset_mc.
Esegue il comando TEST (TS) di Host Link per verificare che
la comunicazione sia corretta, inviando la stringa “MCW151 TEST
STRING” e controllando la stringa ripetuta. Per conoscere il risultato,
verificare il parametro HLM_STATUS.
Esegue il comando ABORT (XZ) di Host Link per interrompere
il comando di Host Link in corso di esecuzione. Il comando ABORT
non riceve una risposta.
valore
di comando
HLM_INIT
(o valore 3)
HLM_STWR
(o valore 4)
/i
valore area_mc Area dati
MC_TABLE
(o valore 8)
MC_VR
(o valore 9)
Descrizione
Esegue il comando INITIALIZE (**) di Host Link per inizializzare
la procedura di controllo della trasmissione di tutte le unità slave.
Esegue il comando STATUS WRITE (SC) di Host Link per cambiare
la modalità operativa della CPU.
DescrizioneIl comando HLM_READ legge i dati da uno slave Host Link inviando
alla porta seriale una stringa di comando Host Link contenente il nodo
dello slave specificato. I dati ricevuti in risposta vengono scritti in variabili
della memoria VR o della memoria TABLE. Ogni parola contenuta nei dati
viene trasferita su una sola variabile. La lunghezza massima dei dati
è di 30 parole (trasferimento di frame singolo).
L'esecuzione del programma è sospesa fino a quando non viene ricevuta
la stringa di risposta o non è trascorso il tempo di timeout. Il tempo di timeout
viene specificato utilizzando il parametro HLM_TIMEOUT. Lo stato del
trasferimento può essere controllato tramite il parametro HLM_STATUS.
Note:
•quando si utilizza HLM_READ, assicurarsi di impostare il protocollo
del master Host Link attraverso il comando SETCOM.
•I comandi del master Host Link devono essere eseguiti da un solo task
di programma per evitare problemi di temporizzazione con il multitasking.
MANUALE DI PROGRAMMAZIONE91
Comandi BASIC
Argomenti•porta
La porta seriale specificata. 1 = porta seriale 1 di RS-232C;
2 = porta seriale 2 di RS-422A.
•nodo
Il numero di nodo slave a cui inviare il comando Host Link.
Intervallo: [0, 31].
•area_pc
Selezione della memoria PC per il comando Host link.
Vedere la prima tabella di seguito.
•offset_pc
L'indirizzo dell'area di memoria PC specificata da cui leggere.
Intervallo: [0, 9999].
•lunghezza
Il numero di parole contenute nei dati che devono essere trasferite.
Intervallo: [1, 30].
•area_mc
Selezione della memoria di TJ1-MC__ da cui leggere i dati da inviare.
Vedere la seconda tabella di seguito.
•offset_mc
L'indirizzo dell'area di memoria di TJ1-MC__ specificata su cui scrivere.
Intervallo per le variabili della memoria VR: [0, 1023]. Intervallo
per le variabili della memoria TABLE: [0, 63999].
EsempioHLM_READ(2,17,PLC_DM,120,20,MC_TABLE,4000)
Questo esempio mostra come leggere 20 parole dagli indirizzi 120 – 139
dell'area DM del PC trasferendoli agli indirizzi 4000 – 4019 della memoria
TABLE di TJ1-MC__. Il PC dispone dell'indirizzo nodo slave 17 ed è collegato
alla porta RS-422A.
DescrizioneIl parametro HLM_STATUS contiene lo stato dell'ultimo comando master
Host Link inviato alla porta specificata. Il parametro indica lo stato dei
comandi HLM_READ, HLM_WRITE e HLM_COMMAND. I bit di stato
sono definiti nella tabella di seguito.
Il parametro
Nel caso in cui il valore del parametro fosse diverso da 0, occorre programmare
l'azione appropriata nel programma utente in BASIC, come ad esempio
un nuovo tentativo o un arresto di emergenza.
Ogni porta dispone di un parametro HLM_STATUS. Il modificatore PORT
è richiesto per specificare la porta.
Argomenti•n
La porta seriale specificata. 1 = porta seriale 1 di RS-232C;
2 = porta seriale 2 di RS-422A
HLM_STATUS
avrà valore 0 se non si sono verificati problemi.
MANUALE DI PROGRAMMAZIONE92
Comandi BASIC
Esempio>> HLM_WRITE(1,28,PLC_EM,50,25,MC_VR,200)
>> PRINT HEX(HLM_STATUS PORT(1))
1
Apparentemente la CPU si trova in modalità RUN e non accetta
l'operazione di scrittura.
Esempio>> HLM_COMMAND(HLM_TEST,2,0)
>> PRINT HLM_STATUS PORT(2)
256.0000
Si è verificato un errore di timeout.
Vedere anche
/i
BitNomeDescrizione
0 – 7Codice di fineIl codice di fine può essere un codice di fine definito dallo slave
8Errore di timeout Un errore di timeout si verifica se non viene ricevuta alcuna
di Host Link (problemi nella stringa di comando inviata) oppure
un codice di fine definito a causa di un problema riscontrato
dal master Host Link (problemi sulla stringa di risposta ricevuta).
risposta entro il tempo di timeout. Questo significa
che si è interrotta la comunicazione.
Questo stato indica che lo slave non ha riconosciuto
riconosciuto
il comando e ha restituito una risposta IC.
3.2.142 HLM_TIMEOUT
/i
TipoParametro di comunicazione
SintassiHLM_TIMEOUT
DescrizioneIl parametro HLM_TIMEOUT specifica il tempo di timeout fissato per
il protocollo del master Host Link per entrambe le porte seriali. Un errore
di timeout si verifica quando il tempo necessario per inviare il comando
e ricevere la risposta dallo slave supera quello specificato con questo
parametro.
Il parametro si applica ai comandi HLM_READ, HLM_WRITE
e HLM_COMMAND. Il parametro HLM_TIMEOUT viene specificato
nei tempi di servoazionamento.
ArgomentiN/D
Esempio>> HLM_TIMEOUT=2000
Considerare che il ciclo di servoazionamento di TJ1-MC__ è impostato
su 500 ms (SERVO_PERIOD=500). Per entrambe le porte seriali il tempo
di timeout del master Host Link è stato impostato su 1 s.
DescrizioneIl comando HLM_WRITE scrive i dati di TJ1-MC__ sullo slave Host Link
inviando alla porta seriale una stringa di comando Host Link contenente
il nodo dello slave specificato. I dati ricevuti in risposta vengono scritti
prendendoli dalle variabili della memoria VR o della memoria TABLE.
Ogni variabile definisce la parola o i dati che saranno trasferiti. La lunghezza
massima dei dati è di 29 parole (trasferimento di frame singolo).
L'esecuzione del programma è sospesa fino a quando non viene ricevuta
la stringa di risposta o non è trascorso il tempo di timeout. Il tempo di timeout
viene specificato utilizzando il parametro HLM_TIMEOUT. Lo stato del
trasferimento può essere controllato tramite il parametro HLM_STATUS.
Note:
•quando si utilizza HLM_WRITE, assicurarsi di impostare il protocollo
del master Host Link attraverso il comando SETCOM.
•I comandi del master Host Link devono essere eseguiti da un solo task
di programma per evitare problemi di temporizzazione con il multitasking.
Argomenti•porta
La porta seriale specificata. 1 = porta seriale 1 di RS-232C;
2 = porta seriale 2 di RS-422A
•nodo
Il numero di nodo slave a cui inviare il comando Host Link.
Intervallo: [0, 31].
•area_pc
Selezione della memoria PC per il comando Host link.
Vedere la prima tabella di seguito.
•offset_pc
L'indirizzo dell'area di memoria PC specificata su cui scrivere.
Intervallo: [0, 9999].
•lunghezza
Il numero di parole contenute nei dati che devono essere trasferite.
Intervallo: [1, 29].
•area_mc
Selezione della memoria di TJ1-MC__ da cui leggere i dati da inviare.
Vedere la seconda tabella di seguito
•offset_mc
L'indirizzo dell'area di memoria di TJ1-MC__ specificata da cui leggere.
Intervallo per le variabili della memoria VR: [0, 1023]. Intervallo
per le variabili della memoria TABLE: [0, 63999].
EsempioHLM_WRITE(1,28,PLC_EM,50,25,MC_VR,200)
Questo esempio mostra come scrivere 25 parole trasferendole dagli indirizzi
200 – 224 della memoria VR di TJ1-MC__ agli indirizzi 50 – 74 dell'area
EM del PC. Il PC dispone dell'indirizzo nodo slave 28 ed è collegato
alla porta RS-232C.
DescrizioneIl parametro HLS_NODE definisce il numero di modulo dello slave per
il protocollo slave Host Link. TJ1-MC__ risponde solamente alle stringhe
di comando di master Host Link con il numero di modulo specificato
in questo parametro. L'intervallo valido per questo parametro è [0, 31].
Il valore predefinito è 0.
DescrizioneIl comando HW_PSWITCH attiva l'uscita OUT 0 per l'asse quando viene
raggiunta la posizione misurata dell'asse predefinito e disattiva l'uscita
quando viene raggiunta un'altra posizione misurata. Le posizioni sono
definite come sequenza della memoria TABLE in un intervallo compreso
tra inizio_tabella e fine_tabella e quando viene eseguito il comando
HW_PSWITCH vengono memorizzate nella coda FIFO.
Questo comando può essere applicato solo agli assi definiti come assi
flessibili con valori ATYPE 43, 44 e 45.
Il comando può essere utilizzato con 1 e fino a tutti e 5 i parametri. Per
disabilitare l'interruttore o cancellare la coda FIFO, è sufficiente un solo
parametro. Tutti e cinque i parametri sono necessari per attivare l'interruttore.
Dopo aver caricato la FIFO e aver attuato la sequenza di posizioni presenti
nella FIFO stessa, qualora fosse necessario eseguire nuovamente la stessa
sequenza la FIFO deve essere cancellata prima di eseguire il comando
HW_PSWITCH con gli stessi parametri.
Lo stato dell'uscita da impostare, su “attiva” o “non attiva”,
nella prima posizione della FIFO.
•inizio_tabella
Indirizzo della memoria TABLE dove ha inizio la sequenza.
•fine_tabella
Indirizzo della memoria TABLE dove finisce la sequenza.
Revisione 3.0
MANUALE DI PROGRAMMAZIONE95
Comandi BASIC
EsempioHW_PSWITCH(1, 1, ON, 21, 50)
Questo comando carica la FIFO con 30 posizioni, registrate nella memoria
TABLE a partire da TABLE(21) in ordine crescente. Quando la posizione
memorizzata in TAB LE(2 1) viene raggiunta, l'uscita OUT 0 viene impostata
su “attiva” e poi, a mano a mano che vengono raggiunte le posizioni
successive della sequenza, alternativamente su “non attiva” e “attiva”
fino a quando non si arriva alla posizione memorizzata in TABLE(50).
EsempioHW_PSWITCH(0)
Questo comando disattiva l'interruttore se era stato attivato in precedenza,
ma non cancella la coda FIFO.
EsempioHW_PSWITCH(2)
Questo comando cancella la coda FIFO, se è stata caricata in precedenza.
Vedere anche
AXIS
3.2.146 I_GAIN
/i
TipoParametro degli assi
SintassiI_GAIN
DescrizioneIl parametro I_GAIN contiene il guadagno integrale per l'asse. Il contributo
integrale d'uscita viene calcolato moltiplicando la somma degli errori
seguenti per il valore del parametro I_GAIN. Il valore predefinito è 0.
L'aggiunta di un guadagno integrale a un sistema di servoazionamento
ne riduce l'errore di posizionamento quando è fermo o quando si muove
con regolarità. Ciò può produrre o aumentare la sovraelongazione
e l'oscillazione ed è pertanto adatto solo per quei sistemi
che funzionano a velocità costante e con accelerazioni lente.
Nota: per evitare qualsiasi instabilità i guadagni dei servoazionamenti
vanno cambiati solamente quando SERVO non è attivo.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
Revisione 3.0
D_GAIN, I_GAIN, OV_GAIN, P_GAIN, VFF_GAIN.
3.2.147 IDLE
3.2.148 IEEE_IN
/i
TipoFunzione matematica
SintassiIEEE_IN(byte0,byte1,byte2,byte3)
DescrizioneLa funzione IEEE_IN restituisce il numero a virgola mobile rappresentato
da 4 byte che solitamente sono stati ricevuti tramite un collegamento
di comunicazione.
Argomenti•byte0 – byte3
Qualsiasi combinazione di valori a 8 bit rappresentante un numero
a virgola mobile IEEE valido.
EsempioVR(20) = IEEE_IN(b0,b1,b2,b3)
Vedere anche
N/D
3.2.149 IEEE_OUT
/i
TipoFunzione matematica
Sintassibyte_n = IEEE_OUT(valore, n)
Descrizione
Argomenti•valore
EsempioV=MPOS AXIS(2)
Vedere anche
La funzione
dal valore a virgola mobile per trasmetterlo tramite un sistema bus. Normalmente
la funzione viene chiamata 4 volte, per estrarre ogni volta un byte.
Nota: il byte 0 è il byte alto del formato a virgola mobile IEEE a 32 bit.
Qualsiasi parametro o variabile a virgola mobile in BASIC.
Il numero di byte (0 – 3) da estrarre.
restituisce un singolo byte in formato IEEE estratto
Vedere WAIT IDLE.
MANUALE DI PROGRAMMAZIONE96
Comandi BASIC
3.2.150 IF..THEN..ELSE..ENDIF
/i
TipoComando di controllo del programma.
SintassiIF condizione_1 THEN comandi {ELSEIF condizione_i THEN comandi}
[ ELSE comandi ] ENDIF
IF condizione_1 THEN comandi
DescrizioneQuesta struttura controlla il flusso del programma in base ai risultati della
condizione. Se la condizione è TRUE i comandi successivi a THEN e fino
a ELSEIF, ELSE o ENDIF vengono eseguiti. Se la condizione è FALS E
e il comando della sottostruttura successiva ELSEIF è TRUE, i comandi
di tale sottostruttura vengono eseguiti. Se tutte le condizioni sonoFALSE,
i comandi successivi a ELSE vengono eseguiti oppure il programma riprende
l'esecuzione alla riga successiva a ENDIF qualora non sia incluso un ELSE. ENDIF viene utilizzato per segnare la fine del blocco condizionale.
Nota: le sequenze IF...THEN...ELSE...ENDIF possono essere nidificate
senza limiti. Per una struttura IF...THEN a più righe, nessuna istruzione
deve seguire THEN. Una struttura a una sola riga non deve utilizzare ENDIF.
Argomenti•condizione_i
Un'espressione logica.
•comandi
Uno o più comandi BASIC.
EsempioIF MPOS > (0.22 * VR(0)) THEN GOTO lunghezza_eccedente
EsempioIF IN(0) = ON THEN
DescrizioneLa funzione IN restituisce il valore degli ingressi digitali.
•IN(numero_ingresso, numero_ingresso_finale) restituisce la somma
binaria del gruppo di ingressi. La differenza tra i due argomenti deve
essere minore di 24.
•IN(numero_ingresso) con un valore di numero_ingresso minore
di 32 restituisce il valore del canale particolare.
•IN (senza argomenti) restituisce la somma binaria dei primi 24 ingressi
(ad esempio IN(0,23)).
Argomenti•numero_ingresso:
Il numero dell'ingresso per il quale deve essere restituito un valore.
Valore: un numero intero compreso tra 0 e 31.
•numero_ingresso_finale
Il numero dell'ultimo ingresso per il quale deve essere restituito
un valore. Valore: un numero intero compreso tra 0 e 31.
MANUALE DI PROGRAMMAZIONE97
Comandi BASIC
EsempioLe righe di seguito possono essere utilizzate per spostare, in base
a un determinato fattore, la posizione impostata su un selettore rotativo.
Il selettore rotativo è collegato agli ingressi 4, 5, 6 e 7 e fornisce l'uscita
espressa in BCD.
Il comando MOVEABS viene costruito come segue:
Fase 1: IN(4,7) ottiene un numero compreso tra 0 e 15.
Fase 2: il numero viene moltiplicato per 1,5467 così da ottenere
la distanza richiesta.
Fase 3: viene eseguito un movimento assoluto fino a questa posizione.
EsempioIn questo esempio viene testato un singolo ingresso:
test:
WAIT UNTIL IN(4)=ON ' Il nastro trasportatore è in posizione quando è ON
GOSUB posizione
Vedere anche
OP.
3.2.152 INDEVICE
/i
TipoParametro di I/O
SintassiINDEVICE
DescrizioneIl parametro INDEVICE definisce il dispositivo di ingresso predefinito.
Il dispositivo viene selezionato per i comandi d'ingresso quando
l'opzione #n è omessa. Il parametro INDEVICE è specifico di un task.
I valori supportati sono elencati nella tabella di seguito.
ArgomentiN/D
EsempioNessun esempio.
/i
Valore Descrizione
0Porta di programmazione 0 (predefinita)
1Porta seriale 1 di RS-232C
2Porta seriale 2 di RS-422A/485
5Canale utente 5 della porta 0 di Trajexia Tools
6Canale utente 6 della porta 0 di Trajexia Tools
7Canale utente 7 della porta 0 di Trajexia Tools
3.2.153 INITIALISE
/i
TipoComando di sistema
SintassiINITIALISE
DescrizioneImposta tutti i parametri degli assi, di sistema e di processo sui rispettivi
valori predefiniti. I parametri sono inoltre reimpostati ogni volta che l'unità
di controllo viene accesa o quando viene eseguito un comando EX (reset
software). In Trajexia Tools, il menu Reset the controller... sotto il menu
Controller esegue un'operazione equivalente a quella di un comando EX.
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
•EX
Vedere anche
Revisione 3.0
GETGET, INPUT, LINPUT, KEY.
MANUALE DI PROGRAMMAZIONE98
Comandi BASIC
3.2.154 INPUT
/i
TipoComando di I/O
SintassiINPUT [ #n ], variabile { , variabile }
DescrizioneIl comando INPUT assegna alle variabili specificate valori numerici di stringa
d'ingresso. È possibile richiedere più valori di stringa d'ingresso su una
riga separati da virgole oppure su più righe separati da un ritorno a capo.
L'esecuzione del programma è messa in pausa fino a quando la stringa
non viene terminata tramite ritorno a capo dopo l'assegnazione dell'ultima
variabile.
Se la stringa non è valida, l'utente viene informato da un messaggio di errore
e il task è ripetuto. Non vi è alcun limite alla quantità massima di ingressi
su una riga, tranne la lunghezza della riga stessa.
I canali da 5 a 7 sono canali logici che vengono sovraimposti alla porta
di programmazione 0 di RS-232C quando sono utilizzati i Trajexia Tools.
Nota: il canale 0 è riservato al collegamento con Trajexia Tools e/o l'interfaccia
della riga di comando. Tenere presente che questo canale potrebbe dare
dei problemi relativamente a questa funzione.
Argomenti•n
Il dispositivo d'ingresso specificato. Quando questo argomento
è omesso, viene utilizzata la porta specificata da INDEVICE.
•variabile
La variabile su cui scrivere.
EsempioConsiderare il seguente programma per ricevere dati dal terminale.
INPUT#5, num
PRINT#5, "BATCH COUNT=";num[0]
Una possibile risposta sul terminale potrebbe essere:
123<CR>
BATCH COUNT=123
Vedere anche
Revisione 3.0
INDEVICE, GET, LINPUT, KEY
3.2.155 INT
/i
TipoFunzione matematica
SintassiINT(espressione)
DescrizioneLa funzione INT restituisce il numero intero dell'espressione.
Nota: per arrotondare un numero positivo al valore intero più vicino,
prendere la funzione INT del valore incrementato di 0,5. In modo analogo,
per arrotondare un valore negativo sottrarre 0,5 prima di applicare INT.
Argomenti•espressione
Qualsiasi espressione valida in BASIC.
Esempio>> PRINT INT(1.79)
1.0000
Vedere anche
N/D
3.2.156 INVERT_IN
/i
TipoComando di sistema
SintassiINVERT_IN(ingresso,on/off)
DescrizioneIl comando INVERT_IN consente ai canali di ingresso 0..31 di essere
invertiti separatamente nel software.
Si tratta di una funzionalità importante poiché consente a questi
canali di ingresso di essere assegnati all'attivazione di funzioni come
la sospensione dell'alimentazione.
La funzione INVERT_IN attiva ovvero disattiva l'inversione di un canale.
Può essere applicata solo agli ingressi 0..31.
Argomenti•ingresso
Espressione in BASIC.
Esempio>>? IN(3)
0.0000
>>INVERT_IN(3,ON)
>>? IN(3)
1.0000
Vedere anche
N/D
MANUALE DI PROGRAMMAZIONE99
Comandi BASIC
3.2.157 INVERT_STEP
/i
TipoParametro degli assi
SintassiINVERT_STEP
Descrizione
ArgomentiN/D
EsempioNessun esempio.
Vedere anche
INVERT_STEP
di uscita impulsi del motore passo-passo. Questo può rivelarsi necessario
nel collegamento di alcuni driver del motore passo-passo. La logica elettronica
contenuta dal generatore Trajexia di impulsi per il motore passo-passo
presume che il fronte FALLING (di discesa) dell'uscita del motore passo-passo
sia il fronte attivo che produce il movimento del motore. Tale funzionamento
è appropriato per la maggior parte dei driver del motore passo-passo.
L'impostazione
(di salita) del segnale del motore passo-passo nel fronte attivo. Laddove
necessario,
di controllo con
Nota: se l'impostazione è errata, un motore passo-passo può rimanere
sfasato di un passo al cambiamento di direzione.
N/D
viene utilizzato per collegare un inverter hardware al circuito
DescrizioneINVERTER_COMMAND controlla gli ingressi e cancella l'allarme dell'inverter
di frequenza collegato al sistema attraverso il bus MECHATROLINK-II.
Esistono due funzioni INVERTER_COMMAND:
•1: cancella un allarme.
•7: controlla i segnali di funzionamento.
Per utilizzare un inverter tramite MECHATROLINK-II, occorre far passare
il comando e il riferimento attraverso l'opzione di comunicazione:
•Inverter MV/V7: N3=3; N4=9
•Inverter F7/G7: B1-01=3; B1-02=3.
Assicurarsi che il firmware dell'inverter supporti la scheda MECHATROLINK-II.
Il comando restituisce –1 se viene eseguito con successo oppure 0 se non riesce.
Il comando inviato all'inverter corrisponde ai bit elencati nella tabella di seguito.
Argomenti•modulo
Numero di TJ1-ML__ a cui l'inverter è collegato.
•stazione
Il numero di stazione MECHATROLINK-II dell'inverter.
•numero_allarme
Il numero dell'allarme. Vedere il manuale dell'inverter.
•segnali_funzionamento
Un valore bitwise per controllare i segnali di funzionamento.
Vedere tabella di seguito.
EsempioNessun esempio.
Vedere anche
N/D
Revisione 3.0
MANUALE DI PROGRAMMAZIONE100
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.