Omron TJ1-MC16, TJ1-MC04 PROGRAMMING Manual [it]

Cat. No. I52E-IT-03
Controllo assi Trajexia
TJ1-MC04 TJ1-MC1 6
MANUALE DI PROGRAMMAZIONE
Avviso
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.
MANUALE DI PROGRAMMAZIONE 2
© OMRON, 2007
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
Nome N. 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
Nome N. 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-NS115 SIEP C71080001 Descrive le procedure di installazione
I50E Descrive come apprendere
rapidamente il funzionamento di Trajexia, effettuando lo spostamento di un singolo asse mediante MECHATROLINK-II, in una configurazione di prova.
I51E Descrive la procedura di installazione
e le specifiche hardware delle unità Trajexia, nonché la filosofia del sistema Trajexia.
I52E Descrive 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 15 Descrive le procedure di installazione
e funzionamento dei servoazionamenti Sigma-II.
TOEP-C71080603 01-OY Descrive le procedure di installazione
e funzionamento dei servoazionamenti JUNMA.
e funzionamento del modulo applicativo MECHATROLINK-II.
Manuale di Sigma-III con interfaccia MECHATROLINK
Inverter V7 TOEP C71060605 02-OY Descrive le procedure di installazione
Inverter F7Z TOE S616-55 1-OY Descrive le procedure di installazione
Inverter G7 TOE S616-60 Descrive 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 11 Descrive 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-08 Descrive le procedure di installazione
e funzionamento delle interfacce MECHATROLINK per gli inverter G7 ed F7.
SIBP-C730600-03 Descrive le procedure di installazione
e funzionamento delle interfacce MECHATROLINK per gli inverter V7.
SIE C887-5 Descrive le procedure di installazione
e funzionamento dei moduli di ingresso e uscita MECHATROLINK e del ripetitore MECHATROLINK-II.
W342 Descrive 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 PROGRAMMAZIONE 3
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__.
/i
Funzionalità Versione firmware TJ1-MC__ Versione FPGA TJ1-MC__
Supporto totale TJ1-FL02 V1.6509 21 e superiore.
Supporto comandi BASIC FINS_COMMS
Supporto TJ1-DRT V1.6509 Tutte le versioni
Supporto TJ1-MC04 e TJ1-ML04
V1.6509 Tutte le versioni
V1.6607 21 e superiore
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 PROGRAMMAZIONE 4

Indice

1 Avvertenze e precauzioni di sicurezza .....................................................................................................................................................16
1.1 Destinatari del manuale ..................................................................................................................................................................................................................16
1.2 Precauzioni generali .......................................................................................................................................................................................................................16
1.3 Precauzioni di sicurezza .................................................................................................................................................................................................................16
1.4 Precauzioni relative all'ambiente operativo.....................................................................................................................................................................................17
1.5 Precauzioni relative all'applicazione ...............................................................................................................................................................................................18
1.6 Precauzioni per l'assemblaggio dell'unità .......................................................................................................................................................................................21
2 Sistema Trajexia..........................................................................................................................................................................................22
2.1 Introduzione ....................................................................................................................................................................................................................................22
2.1.1 Hardware Trajexia ...........................................................................................................................................................................................................23
2.1.2 Questo manuale ...............................................................................................................................................................................................................23
2.2 Programmazione BASIC multitasking.............................................................................................................................................................................................23
2.3 Programmazione in BASIC.............................................................................................................................................................................................................24
2.3.1 Istruzioni per assi, sistema e task.....................................................................................................................................................................................24
2.3.2 Aree di memoria ...............................................................................................................................................................................................................24
2.3.3 Strutture dei dati e variabili ...............................................................................................................................................................................................25
2.3.4 Specifiche matematiche ...................................................................................................................................................................................................27
2.4 Esecuzione del movimento.............................................................................................................................................................................................................28
2.4.1 Generatore di movimento .................................................................................................................................................................................................28
2.4.2 Messa in sequenza...........................................................................................................................................................................................................29
2.4.3 Caricamento dei movimenti..............................................................................................................................................................................................29
2.5 Interfaccia della riga di comando ....................................................................................................................................................................................................30
2.6 Programmi in Basic.........................................................................................................................................................................................................................30
2.6.1 Gestione dei programmi ...................................................................................................................................................................................................30
2.6.2 Compilazione di programmi..............................................................................................................................................................................................31
2.6.3 Esecuzione del programma..............................................................................................................................................................................................31
3 Comandi BASIC .......................................................................................................................................................................................... 33
3.1 Categorie ........................................................................................................................................................................................................................................33
3.1.1 Comandi degli assi ...........................................................................................................................................................................................................33
3.1.2 Parametri degli assi ..........................................................................................................................................................................................................34
3.1.3 Comandi e parametri di comunicazione ..........................................................................................................................................................................36
3.1.4 Costanti ............................................................................................................................................................................................................................36
3.1.5 Comandi, funzioni e parametri di I/O ..............................................................................................................................................................................36
3.1.6 Funzioni e operandi matematici ....................................................................................................................................................................................37
Revision 3.0
MANUALE DI PROGRAMMAZIONE 5
3.1.7 Comandi di programma ...................................................................................................................................................................................................37
3.1.8 Comandi di controllo del programma ...............................................................................................................................................................................38
3.1.9 Parametri e modificatori di slot .......................................................................................................................................................................................38
Revision 3.0
Indice
3.1.10 Comandi e funzioni di sistema .......................................................................................................................................................................................38
3.1.11 Parametri di sistema ........................................................................................................................................................................................................39
3.1.12 Comandi e parametri dei task ..........................................................................................................................................................................................40
3.2 Tutti i comandi BASIC.....................................................................................................................................................................................................................41
3.2.1 + (Addizione) ....................................................................................................................................................................................................................41
3.2.2 - (Sottrazione)...................................................................................................................................................................................................................41
3.2.3 * (Moltiplicazione) .............................................................................................................................................................................................................41
3.2.4 / (Divisione).......................................................................................................................................................................................................................41
3.2.5 ^ (Potenza) .......................................................................................................................................................................................................................42
3.2.6 = (Uguale a)......................................................................................................................................................................................................................42
3.2.7 = (Assegnazione) .............................................................................................................................................................................................................42
3.2.8 <> (Diverso da).................................................................................................................................................................................................................42
3.2.9 >(Maggiore di) ..................................................................................................................................................................................................................43
3.2.10 >= (Maggiore di o uguale a) .............................................................................................................................................................................................43
3.2.11 < (Minore di) .....................................................................................................................................................................................................................43
3.2.12 <= (Minore o uguale a) .....................................................................................................................................................................................................43
3.2.13 $ (Dati esadecimali)..........................................................................................................................................................................................................44
3.2.14 ' (Campo di commento) ....................................................................................................................................................................................................44
3.2.15 : (Separatore di istruzioni) ................................................................................................................................................................................................44
3.2.16 #........................................................................................................................................................................................................................................44
3.2.17 ABS ..................................................................................................................................................................................................................................45
3.2.18 ACC ..................................................................................................................................................................................................................................45
3.2.19 ACCEL..............................................................................................................................................................................................................................45
3.2.20 ACOS ...............................................................................................................................................................................................................................45
3.2.21 ADD_DAC ........................................................................................................................................................................................................................46
3.2.22 ADDAX .............................................................................................................................................................................................................................46
3.2.23 ADDAX_AXIS ...................................................................................................................................................................................................................47
3.2.24 AIN....................................................................................................................................................................................................................................47
3.2.25 AND ..................................................................................................................................................................................................................................47
3.2.26 AOUT................................................................................................................................................................................................................................48
3.2.27 ASIN .................................................................................................................................................................................................................................48
3.2.28 ATAN ................................................................................................................................................................................................................................48
3.2.29 ATAN2 ..............................................................................................................................................................................................................................48
3.2.30 ATYPE..............................................................................................................................................................................................................................49
3.2.31 AUTORUN........................................................................................................................................................................................................................49
3.2.32 AXIS .................................................................................................................................................................................................................................49
3.2.33 AXIS_DISPLAY ................................................................................................................................................................................................................50
3.2.34 AXIS_ENABLE .................................................................................................................................................................................................................50
3.2.35 AXISSTATUS ...................................................................................................................................................................................................................50
3.2.36 B_SPLINE ........................................................................................................................................................................................................................51
MANUALE DI PROGRAMMAZIONE 6
Revision 3.0
Indice
3.2.37 BASE ................................................................................................................................................................................................................................51
3.2.38 BASICERROR..................................................................................................................................................................................................................52
3.2.39 BATTERY_LOW...............................................................................................................................................................................................................53
3.2.40 BREAK_RESET ...............................................................................................................................................................................................................53
3.2.41 CAM..................................................................................................................................................................................................................................53
3.2.42 CAMBOX..........................................................................................................................................................................................................................55
3.2.43 CANCEL ...........................................................................................................................................................................................................................56
3.2.44 CHECKSUM.....................................................................................................................................................................................................................56
3.2.45 CHR..................................................................................................................................................................................................................................56
3.2.46 CLEAR..............................................................................................................................................................................................................................57
3.2.47 CLEAR_BIT......................................................................................................................................................................................................................57
3.2.48 CLEAR_PARAMS ............................................................................................................................................................................................................57
3.2.49 CLOSE_WIN ....................................................................................................................................................................................................................57
3.2.50 CLUTCH_RATE ...............................................................................................................................................................................................................57
3.2.51 COMMSERROR ...............................................................................................................................................................................................................58
3.2.52 COMMSTYPE ..................................................................................................................................................................................................................58
3.2.53 COMPILE .........................................................................................................................................................................................................................58
3.2.54 CONNECT ........................................................................................................................................................................................................................59
3.2.55 CONSTANT......................................................................................................................................................................................................................59
3.2.56 CONTROL ........................................................................................................................................................................................................................59
3.2.57 COPY ...............................................................................................................................................................................................................................60
3.2.58 COS..................................................................................................................................................................................................................................60
3.2.59 CREEP .............................................................................................................................................................................................................................60
3.2.60 D_GAIN ............................................................................................................................................................................................................................60
3.2.61 D_ZONE_MAX .................................................................................................................................................................................................................61
3.2.62 D_ZONE_MIN ..................................................................................................................................................................................................................61
3.2.63 DAC ..................................................................................................................................................................................................................................61
3.2.64 DAC_OUT ........................................................................................................................................................................................................................61
3.2.65 DAC_SCALE ....................................................................................................................................................................................................................61
3.2.66 DATE ................................................................................................................................................................................................................................62
3.2.67 DATE$..............................................................................................................................................................................................................................62
3.2.68 DATUM.............................................................................................................................................................................................................................62
3.2.69 DATUM_IN .......................................................................................................................................................................................................................63
3.2.70 DAY ..................................................................................................................................................................................................................................64
3.2.71 DAY$ ................................................................................................................................................................................................................................64
3.2.72 DECEL..............................................................................................................................................................................................................................64
3.2.73 DEFPOS...........................................................................................................................................................................................................................64
3.2.74 DEL...................................................................................................................................................................................................................................65
3.2.75 DEMAND_EDGES ...........................................................................................................................................................................................................65
3.2.76 DEVICENET.....................................................................................................................................................................................................................66
MANUALE DI PROGRAMMAZIONE 7
Revision 3.0
Indice
3.2.77 DIR ...................................................................................................................................................................................................................................67
3.2.78 DISABLE_GROUP ...........................................................................................................................................................................................................67
3.2.79 DISPLAY ..........................................................................................................................................................................................................................67
3.2.80 DPOS ...............................................................................................................................................................................................................................68
3.2.81 DRIVE_ALARM ................................................................................................................................................................................................................68
3.2.82 DRIVE_CLEAR.................................................................................................................................................................................................................69
3.2.83 DRIVE_CONTROL...........................................................................................................................................................................................................69
3.2.84 DRIVE_INPUTS ...............................................................................................................................................................................................................70
3.2.85 DRIVE_MONITOR............................................................................................................................................................................................................70
3.2.86 DRIVE_READ...................................................................................................................................................................................................................71
3.2.87 DRIVE_RESET.................................................................................................................................................................................................................71
3.2.88 DRIVE_STATUS ..............................................................................................................................................................................................................72
3.2.89 DRIVE_WRITE .................................................................................................................................................................................................................73
3.2.90 EDIT .................................................................................................................................................................................................................................73
3.2.91 ELSE ................................................................................................................................................................................................................................74
3.2.92 ELSEIF .............................................................................................................................................................................................................................74
3.2.93 ENCODER........................................................................................................................................................................................................................74
3.2.94 ENCODER_BITS..............................................................................................................................................................................................................74
3.2.95 ENCODER_CONTROL....................................................................................................................................................................................................74
3.2.96 ENCODER_ID ..................................................................................................................................................................................................................75
3.2.97 ENCODER_RATIO...........................................................................................................................................................................................................75
3.2.98 ENCODER_READ............................................................................................................................................................................................................75
3.2.99 ENCODER_STATUS .......................................................................................................................................................................................................76
3.2.100 ENCODER_TURNS .........................................................................................................................................................................................................76
3.2.101 ENCODER_WRITE ..........................................................................................................................................................................................................76
3.2.102 ENDIF...............................................................................................................................................................................................................................76
3.2.103 ENDMOVE .......................................................................................................................................................................................................................77
3.2.104 EPROM ............................................................................................................................................................................................................................77
3.2.105 ERROR_AXIS ..................................................................................................................................................................................................................77
3.2.106 ERROR_LINE...................................................................................................................................................................................................................77
3.2.107 ERRORMASK ..................................................................................................................................................................................................................78
3.2.108 ETHERNET ......................................................................................................................................................................................................................78
3.2.109 EX.....................................................................................................................................................................................................................................79
3.2.110 EXP ..................................................................................................................................................................................................................................79
3.2.111 FALSE ..............................................................................................................................................................................................................................79
3.2.112 FAST_JOG.......................................................................................................................................................................................................................79
3.2.113 FASTDEC.........................................................................................................................................................................................................................80
3.2.114 FE.....................................................................................................................................................................................................................................80
3.2.115 FE_LATCH .......................................................................................................................................................................................................................80
3.2.116 FE_LIMIT..........................................................................................................................................................................................................................80
MANUALE DI PROGRAMMAZIONE 8
Revision 3.0
Indice
3.2.117 FE_LIMIT_MODE .............................................................................................................................................................................................................81
3.2.118 FE_RANGE ......................................................................................................................................................................................................................81
3.2.119 FHOLD_IN........................................................................................................................................................................................................................81
3.2.120 FHSPEED.........................................................................................................................................................................................................................82
3.2.121 FINS_COMMS..................................................................................................................................................................................................................82
3.2.122 FLAG ................................................................................................................................................................................................................................84
3.2.123 FLAGS..............................................................................................................................................................................................................................84
3.2.124 FOR..TO..STEP..NEXT ....................................................................................................................................................................................................85
3.2.125 FORWARD .......................................................................................................................................................................................................................86
3.2.126 FPGA_VERSION..............................................................................................................................................................................................................86
3.2.127 FRAC................................................................................................................................................................................................................................86
3.2.128 FRAME.............................................................................................................................................................................................................................86
3.2.129 FREE................................................................................................................................................................................................................................87
3.2.130 FS_LIMIT..........................................................................................................................................................................................................................87
3.2.131 FWD_IN............................................................................................................................................................................................................................87
3.2.132 FWD_JOG ........................................................................................................................................................................................................................88
3.2.133 GET ..................................................................................................................................................................................................................................88
3.2.134 GLOBAL ...........................................................................................................................................................................................................................89
3.2.135 GOSUB..RETURN............................................................................................................................................................................................................89
3.2.136 GOTO ...............................................................................................................................................................................................................................89
3.2.137 HALT ................................................................................................................................................................................................................................90
3.2.138 HEX ..................................................................................................................................................................................................................................90
3.2.139 HLM_COMMAND .............................................................................................................................................................................................................90
3.2.140 HLM_READ ......................................................................................................................................................................................................................91
3.2.141 HLM_STATUS..................................................................................................................................................................................................................92
3.2.142 HLM_TIMEOUT................................................................................................................................................................................................................93
3.2.143 HLM_WRITE ....................................................................................................................................................................................................................94
3.2.144 HLS_NODE ......................................................................................................................................................................................................................95
3.2.145 (HW_PSWITCH)...............................................................................................................................................................................................................95
3.2.146 I_GAIN..............................................................................................................................................................................................................................96
3.2.147 IDLE..................................................................................................................................................................................................................................96
3.2.148 IEEE_IN............................................................................................................................................................................................................................96
3.2.149 IEEE_OUT........................................................................................................................................................................................................................96
3.2.150 IF..THEN..ELSE..ENDIF...................................................................................................................................................................................................97
3.2.151 IN......................................................................................................................................................................................................................................97
3.2.152 INDEVICE.........................................................................................................................................................................................................................98
3.2.153 INITIALISE........................................................................................................................................................................................................................98
3.2.154 INPUT...............................................................................................................................................................................................................................99
3.2.155 INT....................................................................................................................................................................................................................................99
3.2.156 INVERT_IN.......................................................................................................................................................................................................................99
MANUALE DI PROGRAMMAZIONE 9
Revision 3.0
Indice
3.2.157 INVERT_STEP...............................................................................................................................................................................................................100
3.2.158 INVERTER_COMMAND ................................................................................................................................................................................................100
3.2.159 INVERTER_READ .........................................................................................................................................................................................................101
3.2.160 INVERTER_WRITE........................................................................................................................................................................................................102
3.2.161 JOGSPEED....................................................................................................................................................................................................................103
3.2.162 KEY ................................................................................................................................................................................................................................103
3.2.163 LAST_AXIS ....................................................................................................................................................................................................................104
3.2.164 LINKAX...........................................................................................................................................................................................................................104
3.2.165 LINPUT...........................................................................................................................................................................................................................104
3.2.166 LIST................................................................................................................................................................................................................................105
3.2.167 LIST_GLOBAL................................................................................................................................................................................................................105
3.2.168 LN...................................................................................................................................................................................................................................106
3.2.169 LOCK..............................................................................................................................................................................................................................106
3.2.170 MARK .............................................................................................................................................................................................................................106
3.2.171 MARKB...........................................................................................................................................................................................................................107
3.2.172 MECHATROLINK ...........................................................................................................................................................................................................107
3.2.173 MERGE ..........................................................................................................................................................................................................................108
3.2.174 MHELICAL......................................................................................................................................................................................................................109
3.2.175 MOD ...............................................................................................................................................................................................................................109
3.2.176 MOTION_ERROR ..........................................................................................................................................................................................................109
3.2.177 MOVE .............................................................................................................................................................................................................................110
3.2.178 MOVEABS......................................................................................................................................................................................................................111
3.2.179 MOVECIRC ....................................................................................................................................................................................................................112
3.2.180 MOVELINK .....................................................................................................................................................................................................................114
3.2.181 MOVEMODIFY ...............................................................................................................................................................................................................115
3.2.182 MPOS .............................................................................................................................................................................................................................116
3.2.183 MSPEED ........................................................................................................................................................................................................................116
3.2.184 MTYPE ...........................................................................................................................................................................................................................116
3.2.185 NAIO...............................................................................................................................................................................................................................117
3.2.186 NEG_OFFSET................................................................................................................................................................................................................117
3.2.187 NEW ...............................................................................................................................................................................................................................117
3.2.188 NEXT..............................................................................................................................................................................................................................117
3.2.189 NIO .................................................................................................................................................................................................................................117
3.2.190 NOT................................................................................................................................................................................................................................118
3.2.191 NTYPE............................................................................................................................................................................................................................118
3.2.192 OFF ................................................................................................................................................................................................................................118
3.2.193 OFFPOS.........................................................................................................................................................................................................................118
3.2.194 ON ..................................................................................................................................................................................................................................119
3.2.195 ON.. GOSUB ..................................................................................................................................................................................................................119
3.2.196 ON.. GOTO.....................................................................................................................................................................................................................119
MANUALE DI PROGRAMMAZIONE 10
Revision 3.0
Indice
3.2.197 OP ..................................................................................................................................................................................................................................119
3.2.198 OPEN_WIN ....................................................................................................................................................................................................................120
3.2.199 OR ..................................................................................................................................................................................................................................120
3.2.200 OUTDEVICE...................................................................................................................................................................................................................121
3.2.201 OUTLIMIT.......................................................................................................................................................................................................................121
3.2.202 OV_GAIN........................................................................................................................................................................................................................121
3.2.203 P_GAIN ..........................................................................................................................................................................................................................122
3.2.204 PI ....................................................................................................................................................................................................................................122
3.2.205 PMOVE...........................................................................................................................................................................................................................122
3.2.206 POS_OFFSET................................................................................................................................................................................................................123
3.2.207 POWER_UP ...................................................................................................................................................................................................................123
3.2.208 PRINT.............................................................................................................................................................................................................................123
3.2.209 PROC .............................................................................................................................................................................................................................124
3.2.210 PROC_STATUS .............................................................................................................................................................................................................124
3.2.211 PROCESS ......................................................................................................................................................................................................................125
3.2.212 PROCNUMBER..............................................................................................................................................................................................................125
3.2.213 PROFIBUS .....................................................................................................................................................................................................................125
3.2.214 PSWITCH .......................................................................................................................................................................................................................126
3.2.215 RAPIDSTOP...................................................................................................................................................................................................................127
3.2.216 READ_BIT......................................................................................................................................................................................................................127
3.2.217 REG_POS ......................................................................................................................................................................................................................128
3.2.218 REG_POSB....................................................................................................................................................................................................................128
3.2.219 REGIST ..........................................................................................................................................................................................................................128
3.2.220 REMAIN..........................................................................................................................................................................................................................130
3.2.221 REMOTE_ERROR .........................................................................................................................................................................................................130
3.2.222 RENAME ........................................................................................................................................................................................................................130
3.2.223 REP_DIST ......................................................................................................................................................................................................................131
3.2.224 REP_OPTION ................................................................................................................................................................................................................131
3.2.225 REPEAT..UNTIL.............................................................................................................................................................................................................131
3.2.226 RESET............................................................................................................................................................................................................................132
3.2.227 RETURN.........................................................................................................................................................................................................................132
3.2.228 REV_IN...........................................................................................................................................................................................................................132
3.2.229 REV_JOG.......................................................................................................................................................................................................................133
3.2.230 REVERSE ......................................................................................................................................................................................................................133
3.2.231 RS_LIMIT .......................................................................................................................................................................................................................133
3.2.232 RUN................................................................................................................................................................................................................................133
3.2.233 RUN_ERROR.................................................................................................................................................................................................................134
3.2.234 RUNTYPE ......................................................................................................................................................................................................................134
3.2.235 S_REF............................................................................................................................................................................................................................135
3.2.236 S_REF_OUT ..................................................................................................................................................................................................................135
MANUALE DI PROGRAMMAZIONE 11
Revision 3.0
Indice
3.2.237 SCOPE...........................................................................................................................................................................................................................136
3.2.238 SCOPE_POS .................................................................................................................................................................................................................137
3.2.239 SELECT..........................................................................................................................................................................................................................137
3.2.240 SERVO...........................................................................................................................................................................................................................137
3.2.241 SERVO_PERIOD ...........................................................................................................................................................................................................137
3.2.242 SET_BIT .........................................................................................................................................................................................................................138
3.2.243 SETCOM ........................................................................................................................................................................................................................138
3.2.244 SGN................................................................................................................................................................................................................................139
3.2.245 SIN..................................................................................................................................................................................................................................139
3.2.246 SLOT ..............................................................................................................................................................................................................................139
3.2.247 SPEED ...........................................................................................................................................................................................................................139
3.2.248 SQR................................................................................................................................................................................................................................140
3.2.249 SRAMP...........................................................................................................................................................................................................................140
3.2.250 STEP ..............................................................................................................................................................................................................................140
3.2.251 STEP_RATIO .................................................................................................................................................................................................................140
3.2.252 STEPLINE ......................................................................................................................................................................................................................141
3.2.253 STOP..............................................................................................................................................................................................................................141
3.2.254 SYSTEM_ERROR..........................................................................................................................................................................................................142
3.2.255 T_REF ............................................................................................................................................................................................................................142
3.2.256 TABLE ............................................................................................................................................................................................................................143
3.2.257 TABLEVALUES..............................................................................................................................................................................................................143
3.2.258 TAN ................................................................................................................................................................................................................................144
3.2.259 THEN..............................................................................................................................................................................................................................144
3.2.260 TICKS .............................................................................................................................................................................................................................144
3.2.261 TIME...............................................................................................................................................................................................................................144
3.2.262 TIME$.............................................................................................................................................................................................................................145
3.2.263 TO...................................................................................................................................................................................................................................145
3.2.264 TRANS_DPOS ...............................................................................................................................................................................................................145
3.2.265 TRIGGER .......................................................................................................................................................................................................................145
3.2.266 TROFF............................................................................................................................................................................................................................145
3.2.267 TRON .............................................................................................................................................................................................................................146
3.2.268 TRUE..............................................................................................................................................................................................................................146
3.2.269 TSIZE .............................................................................................................................................................................................................................146
3.2.270 UNITS.............................................................................................................................................................................................................................147
3.2.271 UNLOCK.........................................................................................................................................................................................................................147
3.2.272 UNTIL .............................................................................................................................................................................................................................147
3.2.273 VERIFY...........................................................................................................................................................................................................................147
3.2.274 VERSION .......................................................................................................................................................................................................................147
3.2.275 VFF_GAIN......................................................................................................................................................................................................................148
3.2.276 VP_SPEED.....................................................................................................................................................................................................................148
MANUALE DI PROGRAMMAZIONE 12
Indice
3.2.277 VR...................................................................................................................................................................................................................................148
3.2.278 VRSTRING .....................................................................................................................................................................................................................149
3.2.279 WA..................................................................................................................................................................................................................................149
3.2.280 WAIT IDLE......................................................................................................................................................................................................................150
3.2.281 WAIT LOADED...............................................................................................................................................................................................................150
3.2.282 WAIT UNTIL ...................................................................................................................................................................................................................150
3.2.283 WDOG ............................................................................................................................................................................................................................151
3.2.284 WHILE..WEND ...............................................................................................................................................................................................................151
3.2.285 XOR................................................................................................................................................................................................................................152
4 Protocolli di comunicazione ....................................................................................................................................................................153
4.1 Interfacce disponibili .....................................................................................................................................................................................................................153
4.2 Ethernet ......................................................................................................................................................................................................................................153
4.2.1 Comunicare direttamente con Trajexia dal proprio computer.........................................................................................................................................154
4.2.2 Comunicare a distanza con Trajexia ..............................................................................................................................................................................155
4.2.3 Protocollo Trajexia Tools .............................................................................................................................................................................................156
4.2.4 Protocollo del server FINS ..........................................................................................................................................................................................156
4.2.5 Protocollo client FINS .....................................................................................................................................................................................................158
4.3 Protocollo seriale .......................................................................................................................................................................................................................158
4.3.1 Master Host Link ............................................................................................................................................................................................................159
4.3.2 Slave Host Link ............................................................................................................................................................................................................163
4.3.3 Protocollo definito dall'utente .........................................................................................................................................................................................165
4.4 PROFIBUS ..............................................................................................................................................................................................................................167
4.4.1 Introduzione....................................................................................................................................................................................................................167
4.4.2 Configurazione della comunicazione..............................................................................................................................................................................167
4.4.3 Stato della comunicazione..............................................................................................................................................................................................172
4.5 DeviceNet .....................................................................................................................................................................................................................................173
4.5.1 Introduzione....................................................................................................................................................................................................................173
4.5.2 Configurazione della comunicazione..............................................................................................................................................................................173
4.5.3 Stato della comunicazione..............................................................................................................................................................................................178
4.6 MECHATROLINK-II .................................................................................................................................................................................................................179
5 Interfaccia Trajexia Tools.........................................................................................................................................................................180
5.1 Introduzione ..................................................................................................................................................................................................................................180
5.2 Specifiche e connessioni ..............................................................................................................................................................................................................180
5.2.1 Specifiche del PC ...........................................................................................................................................................................................................180
Revision 3.0
MANUALE DI PROGRAMMAZIONE 13
5.2.2 Installazione del software Trajexia Tools........................................................................................................................................................................181
5.2.3 Collegamento a TJ1-MC__.............................................................................................................................................................................................186
5.3 Progetti .........................................................................................................................................................................................................................................191
5.3.1 Progetti di Trajexia Tools................................................................................................................................................................................................191
5.3.2 Finestra Check Project ................................................................................................................................................................................................192
Indice
5.4 Finestra delle applicazioni di Trajexia Tools .................................................................................................................................................................................194
5.4.1 Pannello di controllo .......................................................................................................................................................................................................194
5.4.2 Barra dei menu...............................................................................................................................................................................................................194
5.4.3 Barra degli strumenti ......................................................................................................................................................................................................195
5.5 Descrizioni dei menu ...................................................................................................................................................................................................................196
5.5.1 Menu Project .................................................................................................................................................................................................................196
5.5.2 Menu Controller ..............................................................................................................................................................................................................198
5.5.3 Menu Program................................................................................................................................................................................................................203
5.5.4 Menu Tools.....................................................................................................................................................................................................................205
5.5.5 Menu Options .................................................................................................................................................................................................................221
5.5.6 Menu Window.................................................................................................................................................................................................................224
5.5.7 Menu Help ......................................................................................................................................................................................................................224
6 Esempi e suggerimenti............................................................................................................................................................................. 225
6.1 Esempi procedurali .......................................................................................................................................................................................................................225
6.1.1 Programma Startup .......................................................................................................................................................................................................225
6.1.2 Impostazioni del guadagno ............................................................................................................................................................................................229
6.1.3 Impostazione del parametro degli assi UNITS e del rapporto di riduzione.....................................................................................................................239
6.1.4 Mappatura degli ingressi e delle uscite del servoazionamento ......................................................................................................................................251
6.1.5 Ricerca dell'origine .........................................................................................................................................................................................................253
6.1.6 Registrazione..................................................................................................................................................................................................................259
6.1.7 Registrazione e monitoraggio.........................................................................................................................................................................................269
6.2 Esempi pratici. ..............................................................................................................................................................................................................................279
6.2.1 Programma shell ...........................................................................................................................................................................................................279
6.2.2 Programma di inizializzazione .....................................................................................................................................................................................283
6.2.3 Programma per asse singolo ........................................................................................................................................................................................286
6.2.4 Posizione tramite individuazione del prodotto ...............................................................................................................................................................287
6.2.5 Posizione su una griglia ................................................................................................................................................................................................289
6.2.6 Programma per un alimentatore di sacchetti ................................................................................................................................................................291
6.2.7 Tabella CAM all'interno di un programma ...................................................................................................................................................................294
6.2.8 Programma per lama semovente .................................................................................................................................................................................295
6.2.9 Programma di correzione .............................................................................................................................................................................................298
7 Soluzione dei problemi............................................................................................................................................................................. 300
7.1 Tensione e strumenti di analisi .....................................................................................................................................................................................................300
7.2 TJ1-MC__ .....................................................................................................................................................................................................................................300
Revision 3.0
MANUALE DI PROGRAMMAZIONE 14
7.2.1 Errori di sistema..............................................................................................................................................................................................................300
7.2.2 Errori degli assi...............................................................................................................................................................................................................300
7.2.3 Errori delle unità .............................................................................................................................................................................................................301
7.2.4 Errori di configurazione...................................................................................................................................................................................................302
7.2.5 Sostituire la batteria........................................................................................................................................................................................................302
Indice
7.3 TJ1-PRT .......................................................................................................................................................................................................................................302
7.3.1 Errori di sistema..............................................................................................................................................................................................................302
7.3.2 Errore di comunicazione nei dati di I/O...........................................................................................................................................................................303
7.4 TJ1-DRT .......................................................................................................................................................................................................................................304
7.4.1 Errori di sistema..............................................................................................................................................................................................................304
7.4.2 Errore di comunicazione nei dati di I/O...........................................................................................................................................................................304
7.5 TJ1-ML__......................................................................................................................................................................................................................................304
7.5.1 Errori di sistema..............................................................................................................................................................................................................304
7.5.2 Errori del bus ..................................................................................................................................................................................................................304
7.6 TJ1-FL02 ......................................................................................................................................................................................................................................305
7.6.1 Errori di sistema..............................................................................................................................................................................................................305
Revision 3.0
MANUALE DI PROGRAMMAZIONE 15
Avvertenze e precauzioni di sicurezza
1 Avvertenze e precauzioni di sicurezza

1.1 Destinatari 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.2 Precauzioni 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.3 Precauzioni 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 PROGRAMMAZIONE 16
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.4 Precauzioni 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 PROGRAMMAZIONE 17
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.5 Precauzioni 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 PROGRAMMAZIONE 18
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 PROGRAMMAZIONE 19
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 PROGRAMMAZIONE 20
Avvertenze e precauzioni di sicurezza
1.6 Precauzioni 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 PROGRAMMAZIONE 21
Trajexia
2Trajexia

2.1 Introduzione

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 PROGRAMMAZIONE 22
Trajexia
2.1.1 Hardware 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.2 Questo 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.2 Programmazione 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 PROGRAMMAZIONE 23
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.3 Programmazione 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.2 Aree di memoria
Revisione 3.0
2.3.1 Istruzioni 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 PROGRAMMAZIONE 24
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.3 Strutture 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 PROGRAMMAZIONE 25
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
start: GOSUB Initial MOVE(VR(length)) PRINT(VR(length)) ...
Etichette
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 PROGRAMMAZIONE 26
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.4 Specifiche 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).
L'intervallo valido è compreso tra
>> TABLE(0,-10,65536) >> PRINT HEX(TABLE(0)),HEX(TABLE(1)) FFFFF6 10000
8.388.608 e 16.777.215. Esempio:
Posizionamento
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 PROGRAMMAZIONE 27
Trajexia

2.4 Esecuzione 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.1 Generatore 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 PROGRAMMAZIONE 28
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.2 Messa 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.3 Caricamento 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 PROGRAMMAZIONE 29
Trajexia

2.5 Interfaccia 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.6 Programmi 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.1 Gestione 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 TJ1­MC__ 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
Comando Funzione
SELECT Seleziona un programma per la modifica, la cancellazione, ecc.
NEW Cancella il programma attualmente selezionato, un programma specificato
o tutti i programmi.
DIR Mostra la directory con tutti i programmi.
COPY Crea il duplicato di un programma specificato.
RENAME Rinomina un programma specificato.
DEL Cancella il programma attualmente selezionato o un programma specificato.
LIST Mostra il programma attualmente selezionato o un programma specificato.
MANUALE DI PROGRAMMAZIONE 30
Trajexia
2.6.2 Compilazione 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.3 Esecuzione 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
Comando Funzione
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 PROGRAMMAZIONE 31
non è sufficiente.
RUN Esegue il programma attualmente selezionato o un programma
specificato; a scelta, su un numero di task specificato.
STOP
HALT Arresta tutti i programmi del sistema.
PROCESS Visualizza 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 PROGRAMMAZIONE 32
Comandi BASIC
3 Comandi BASIC

3.1 Categorie

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.1 Comandi degli assi
/i
Nome Descrizione ACC Cambia ACCEL e DECEL contemporaneamente.
ADD_DAC ADDAX Stabilisce un collegamento a un asse sovrapposto. Tutti i movimenti
B_SPLINE Espande il profilo archiviato nella memoria TABLE utilizzando
Revisione 3.0
BASE Utilizzato 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.
Nome Descrizione CAM Sposta un asse in base ai valori di un profilo di movimento archiviato
nella matrice di variabili della memoria TABLE.
CAMBOX Sposta 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.
CANCEL Cancella il movimento di un asse. CONNECT Collega 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
DEFPOS Definisce la posizione corrente come nuova posizione assoluta. DISABLE_GROUP Raggruppa gli assi per la disabilitazione degli errori. DRIVE_ALARM Controlla l'allarme corrente. DRIVE_CLEAR Cancella lo stato di allarme del servoazionamento. DRIVE_READ Legge il parametro specificato del servoazionamento. DRIVE_RESET Reimposta il servoazionamento. DRIVE_WRITE Scrive un valore specifico nel parametro specificato
ENCODER_READ Legge un parametro dell'encoder assoluto EnDat. ENCODER_WRITE Scrive un parametro dell'encoder assoluto EnDat. FORWARD Sposta in avanti un asse costantemente alla velocità impostata
(HW_PSWITCH) Attiva e disattiva l'interruttore hardware all'uscita 0 di TJ1-FL02,
MECHATROLINK Inizializza il bus MECHATROLINK-II ed esegue varie operazioni
MHELICAL Interpola 3 assi ortogonali producendo un movimento elicoidale. MOVE Sposta 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 PROGRAMMAZIONE 33
Comandi BASIC
Nome Descrizione MOVEABS Sposta alla velocità, accelerazione e decelerazione richieste uno
o più assi nella posizione specificata, come posizione assoluta.
MOVECIRC Interpola 2 assi ortogonali producendo un arco di circonferenza. MOVELINK Crea un movimento lineare dell'asse di base collegato tramite
trasmissione software alla posizione misurata di un asse di collegamento.
MOVEMODIFY Cambia la posizione finale assoluta del movimento lineare corrente
ad asse singolo (MOVE o MOVEABS).
RAPIDSTOP Cancella il movimento corrente da tutti gli assi. REGIST Acquisisce la posizione di un asse quando sull'encoder
viene individuato un ingresso di registrazione o il fase Z.
REVERSE Sposta indietro un asse costantemente alla velocità impostata
nel parametro SPEED.
STEP_RATIO Imposta il rapporto per l'uscita del motore passo-passo dell'asse.
3.1.2 Parametri degli assi
/i
Nome Descrizione ACCEL Contiene la velocità di accelerazione dell'asse. ADDAX_AXIS Contiene il numero dell'asse al quale l'asse di base
è attualmente collegato tramite ADDAX. ATYPE Contiene il tipo di asse. AXIS_DISPLAY Seleziona le informazioni che sono rappresentate
dai LED sul coperchio frontale di TJ1-FL02. AXIS_ENABLE Abilita e disabilita un asse particolare, indipendentemente
da un altro asse.
AXISSTATUS Contiene lo stato dell'asse. CLOSE_WIN Definisce la fine della finestra in cui è previsto la tacca
Revisione 3.0
CLUTCH_RATE Definisce il cambiamento del rapporto di connessione
CREEP Contiene la velocità di slittamento.
di registrazione.
quando viene utilizzato il comando CONNECT.
Nome Descrizione D_GAIN Contiene il guadagno di controllo derivativo. DAC_SCALE Imposta la scala e la polarità applicate ai valori DAC.
DATUM_IN DECEL Contiene la velocità di decelerazione dell'asse. DEMAND_EDGES Contiene il valore corrente del parametro degli assi DPOS
DPOS DRIVE_CONTROL Seleziona i dati da monitorare attraverso DRIVE_MONITOR
DRIVE_INPUTS
DRIVE_MONITOR Controlla i dati del servoazionamento collegato al bus
DRIVE_STATUS Contiene lo stato corrente del servoazionamento. ENCODER Contiene una copia non elaborata del registro hardware
ENCODER_BITS ENCODER_CONTROL Controlla la modalità operativa dell'encoder assoluto EnDat.
ENCODER_ID ENCODER_RATIO Imposta il valore di scala per i conteggi encoder in entrata. ENCODER_STATUS Restituisce lo stato dell'encoder assoluto Tamagawa. ENCODER_TURNS Restituisce il conteggio multigiro dell'encoder assoluto. ENDMOVE Mantiene la posizione finale del movimento corrente. ERRORMASK Contiene il valore di maschera che determina se
FAST_JOG FASTDEC Definisce 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 PROGRAMMAZIONE 34
Comandi BASIC
Nome Descrizione FE Contiene l'errore di inseguimento (Following Error, FE). FE_LATCH Contiene il valore FE che ha fatto sì che l'asse mettesse l'unità
di controllo nello stato MOTION_ERROR.
FE_LIMIT FE_LIMIT_MODE Definisce in che modo FE influenzi lo stato MOTION_ERROR.
FE_RANGE FHOLD_IN Contiene il numero d'ingresso da usare come ingresso
FHSPEED Contiene la velocità di sospensione dell'alimentazione.
FS_LIMIT FWD_IN Contiene il numero d'ingresso da usare come ingresso
FWD_JOG Contiene il numero d'ingresso da usare come ingresso
I_GAIN Contiene il guadagno di controllo integrale. INVERT_STEP Indirizza un inverter hardware al circuito di uscita del motore
JOGSPEED Imposta la velocità di jog. LINKAX Contiene il numero dell'asse di collegamento durante qualsiasi
MARK Individua l'evento di registrazione primario in un ingresso
MARKB Individua 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. MSPEED Rappresenta il cambiamento della posizione rilevata nell'ultimo
Revisione 3.0
MTYPE Contiene 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.
Nome Descrizione NTYPE Contiene il tipo di movimento presente nel buffer dei movimenti
successivi.
OFFPOS Contiene un offset che sarà applicato alla posizione richiesta
senza influenzare il movimento in nessun altro modo.
OPEN_WIN Definisce l'inizio della finestra in cui è previsto la tacca
di registrazione.
OUTLIMIT Contiene il limite che circoscrive l'uscita della velocità
di riferimento da TJ1-MC__.
OV_GAIN Contiene il guadagno per il controllo della velocità di uscita. P_GAIN Contiene il guadagno per il controllo proporzionale.
REG_POS REG_POSB Contiene la posizione in cui si è verificato l'evento
REMAIN È la distanza rimanente fino alla fine del movimento corrente. REMOTE_ERROR Restituisce il numero di errori sulla connessione
REP_DIST Contiene o imposta la distanza di ripetizione. REP_OPTION Controlla l'applicazione del parametro REP_DIST per gli assi. REV_IN Contiene il numero d'ingresso da usare come ingresso
REV_JOG Contiene il numero d'ingresso da usare come ingresso
RS_LIMIT S_REF Contiene il valore della velocità di riferimento che viene
S_REF_OUT Contiene il valore della velocità di riferimento che viene
SERVO Determina se l'asse funziona in modalità di controllo
SPEED Contiene la velocità richiesta in unità/s. SRAMP Contiene 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 PROGRAMMAZIONE 35
Comandi BASIC
Nome Descrizione T_REF Contiene il valore della coppia di riferimento che viene
applicata al servomotore. TRANS_DPOS Contiene la posizione richiesta per l'asse all'uscita
della trasformazione del contorno.
UNITS Contiene il fattore di conversione delle unità. VERIFY Seleziona modalità operative differenti sull'asse
di un'uscita motore passo-passo.
VFF_GAIN Contiene il guadagno di velocità per il feed-forward. VP_SPEED Contiene la velocità del profilo di velocità.
3.1.3 Comandi e parametri di comunicazione
/i
Nome Descrizione
FINS_COMMS Invia la memoria di lettura e la memoria di scrittura FINS
a un server FINS designato.
HLM_COMMAND Esegue un comando Host Link specifico sullo slave.
HLM_READ Legge i dati dello slave Host Link trasferendoli alla matrice
di variabili VR o TABLE.
HLM_STATUS Rappresenta lo stato dell'ultimo comando del master Host Link.
HLM_TIMEOUT Definisce il tempo di timeout del master Host Link.
HLM_WRITE Scrive i dati sullo slave Host Link trasferendoli dalla matrice
di variabili VR o TABLE.
HLS_NODE Definisce il numero di modulo dello slave per il protocollo
slave Host Link.
SETCOM Imposta le comunicazioni seriali.
Revisione 3.0
3.1.4 Costanti
/i
Nome Descrizione
FALSE Pari al valore numerico 0.
OFF Pari al valore numerico 0.
ON Pari al valore numerico 1.
PI Pari al valore numerico 3,1416.
TRUE Pari al valore numerico –1.
3.1.5 Comandi, funzioni e parametri di I/O
/i
Nome Descrizione
GET Attende l'arrivo di un unico carattere e assegna il codice ASCII
del carattere alla variabile.
IN Restituisce il valore degli ingressi digitali.
INDEVICE Definisce i parametri del dispositivo di ingresso predefinito.
INPUT Attende la ricezione di una stringa e assegna il valore numerico
alla variabile.
KEY Restituisce TRUE o FALSE a seconda che il carattere sia stato
ricevuto oppure no.
LINPUT Attende una stringa e l'inserisce nelle variabili VR.
OP Imposta una o più uscite oppure restituisce lo stato delle
prime24uscite.
OUTDEVICE Definisce il dispositivo di uscita predefinito.
PRINT Invia 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 PROGRAMMAZIONE 36
Comandi BASIC
3.1.6 Funzioni e operandi matematici
/i
Nome Descrizione
+ (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)
ABS Restituisce il valore assoluto di un'espressione.
ACOS Restituisce l'arcocoseno di un'espressione.
AND Esegue un'operazione AND sui bit corrispondenti dei numeri
ASIN Restituisce l'arcoseno di un'espressione.
ATAN Restituisce l'arcotangente di un'espressione.
ATAN2 Restituisce l'arcotangente di un numero complesso diverso
Revisione 3.0
COS Restituisce il coseno di un'espressione.
EXP Restituisce il valore esponenziale di un'espressione.
FRAC Restituisce 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.
Nome Descrizione
IEEE_IN Restituisce il numero a virgola mobile in formato IEEE,
rappresentato da 4 byte.
IEEE_OUT Restituisce il singolo byte estratto dal numero a virgola mobile
in formato IEEE.
INT Restituisce il numero intero di un'espressione.
LN Restituisce il logaritmo naturale di un'espressione.
MOD Restituisce il modulo di due espressioni.
NOT Esegue un'operazione NOT sui bit corrispondenti dei numeri
interi di due espressioni.
OR Esegue un'operazione OR tra i bit corrispondenti dei numeri
interi di due espressioni.
SGN Restituisce il segno di un'espressione.
SIN Restituisce il seno di un'espressione.
SQR Restituisce la radice quadrata di un'espressione.
TAN Restituisce la tangente di un'espressione.
XOR Esegue una funzione XOR tra i bit corrispondenti dei numeri
interi di due espressioni.
3.1.7 Comandi di programma
/i
Nome Descrizione
' (CAMPO DI COMMENTO)
: (SEPARATORE DI ISTRUZIONI)
AUTORUN Avvia tutti i programmi che sono stati impostati per essere
COMPILE Compila il programma corrente.
COPY Copia 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 PROGRAMMAZIONE 37
Comandi BASIC
Nome Descrizione
DEL Elimina un programma dall'unità di controllo assi.
DIR Visualizza una lista dei programmi presenti nell'unità di controllo
assi, la loro dimensione e il loro RUNTYPE sull'uscita standard.
EDIT
EPROM Memorizza un programma nella memoria flash.
LIST Stampa il programma sull'uscita standard.
NEW Elimina tutte le righe del programma dell'unità di controllo assi.
PROCESS Restituisce lo stato di funzionamento e il numero di ogni task
RENAME Cambia il nome di un programma dell'unità di controllo assi.
RUN Esegue un programma.
RUNTYPE Determina se un programma viene azionato all'avvio
SELECT Specifica il programma corrente.
STEPLINE Esegue una singola riga di un programma.
STOP Interrompe l'esecuzione del programma.
TROFF Sospende una registrazione alla riga corrente e riprende
TRON Crea 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.8 Comandi di controllo del programma
/i
Nome Descrizione
FOR..TO..STEP..NEXT
GOSUB..RETURN Passa a una subroutine della riga immediatamente successiva
Revisione 3.0
GOTO Passa 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.
Nome Descrizione
IF..THEN..ELSE..ENDIF Controlla il flusso del programma in base ai risultati della
condizione.
ON.. GOSUB o ON.. GOTO
REPEAT..UNTIL L'esecuzione ad anello consente la ripetizione del segmento
WHILE..WEND L'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.9 Parametri e modificatori di slot
/i
Nome Descrizione
COMMSTYPE Contiene il tipo di unità presente nello slot di un'unità di controllo.
FPGA_VERSION Restituisce 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
Nome Descrizione
$ (DATI ESADECIMALI) Assegna un numero esadecimale a una variabile.
AXIS Imposta 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.
CLEAR Cancella tutte le variabili globali e locali dal task corrente.
CLEAR_BIT Cancella il bit specificato della variabile VR specificata.
CLEAR_PARAMS Riporta ogni variabile e ogni parametro archiviato nella memoria
flash EPROM alle impostazioni predefinite.
MANUALE DI PROGRAMMAZIONE 38
Comandi BASIC
Nome Descrizione
CONSTANT Dichiara una costante da utilizzare in un programma BASIC.
DATE$ Stampa la data corrente come stringa.
DAY$ Stampa il giorno corrente come stringa.
DEVICENET Configura TJ1-DRT (unità slave DeviceNet) per lo scambio
di dati o restituisce lo stato di scambio dati di TJ1-DRT.
ETHERNET
EX Reimposta l'unità di controllo.
FLAG Imposta e legge un insieme di 32 bit.
FLAGS Legge e imposta FLAGS come blocco.
FREE Restituisce la quantità di memoria disponibile.
GLOBAL Dichiara un riferimento a una delle variabili VR.
HALT Arresta tutti i programmi al momento in esecuzione.
INITIALISE Imposta tutti gli assi e i parametri sui valori predefiniti.
INVERT_IN Inverte i canali d'ingresso 0 – 31 del software.
INVERTER_COMMAND Legge l'I/O e cancella l'allarme dell'inverter di frequenza.
INVERTER_READ Legge parametro, allarme, velocità e coppia di riferimento
Legge e imposta vari parametri della porta Ethernet di TJ1-MC__.
dell'inverter di frequenza.
Nome Descrizione
SET_BIT Imposta su uno il valore del bit specificato nella variabile
VR specificata.
TABL E
TABLEVALUES Restituisce una lista di valori della memoria TABLE.
TIME$ Stampa l'ora corrente come stringa.
TRIGGER Avvia un comando SCOPE precedentemente impostato.
VR Scrive e legge i dati nelle variabili globali (VR).
VRSTRING Riunisce i valori della memoria VR per consentirne la stampa
WA Sospende l'esecuzione del programma per il numero
WAIT IDLE
WAIT LOADED
WAIT UNTIL Valuta 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_WRITE Scrive parametro, velocità e coppia di riferimento dell'inverter
di frequenza.
LIST_GLOBAL Mostra tutte le variabili GLOBAL e CONSTANT.
LOCK Impedisce che i programmi vengano visualizzati o modificati.
PROFIBUS Configura 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
RESET Reimposta tutte le variabili locali di un task.
SCOPE Programma 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.11 Parametri di sistema
/i
Nome Descrizione
AIN Contiene il valore del canale analogico.
AOUT Contiene il valore del canale analogico.
BATTERY_LOW Restituisce la condizione corrente della batteria.
CHECKSUM Contiene il checksum per i programmi della RAM.
COMMSERROR Contiene tutti gli errori di comunicazione che si sono verificati
dall'ultima volta che il sistema è stato inizializzato.
CONTROL Contiene il tipo di TJ1-MC__ del sistema.
MANUALE DI PROGRAMMAZIONE 39
Comandi BASIC
Nome Descrizione
D_ZONE_MAX
D_ZONE_MIN
DATE Imposta o restituisce la data corrente contenuta nell'orologio
DAY Imposta o restituisce il giorno corrente.
DISPLAY Determina i canali di I/O da visualizzare sui LED del pannello
ERROR_AXIS
FRAME Specifica il frame operativo per le trasformazioni del frame.
LAST_AXIS Contiene il numero dell'ultimo asse elaborato dal sistema.
MOTION_ERROR Contiene un flag di errore per gli errori di movimento degli assi.
NAIO Restituisce il numero di canali analogici collegati
NEG_OFFSET Consente di attribuire un offset negativo al segnale DAC
NIO Contiene il numero di entrate e uscite collegate al sistema.
POWER_UP Determina se i programmi debbano essere letti dalla memoria
POS_OFFSET Applica un offset positivo al segnale DAC proveniente
SCOPE_POS Contiene la posizione corrente all'interno della memoria
SERVO_PERIOD Imposta il periodo del ciclo di servoazionamento di TJ1-MC__.
SYSTEM_ERROR Contiene 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
Nome Descrizione
ERROR_LINE Contiene il numero della riga che ha provocato l'ultimo errore
del programma BASIC.
PMOVE Contiene lo stato dei buffer dei task.
PROC Consente l'accesso al parametro di un processo particolare.
PROC_STATUS Restituisce lo stato del processo specificato.
PROCNUMBER Contiene il numero del task in cui il programma attualmente
selezionato viene eseguito.
RUN_ERROR Contiene il numero dell'ultimo errore BASIC che si è verificato
nel task specificato.
TICKS Contiene il conteggio corrente degli impulsi di clock del task.
TIME Restituisce l'ora corrente contenuta nell'orologio calendario.
TSIZE Restituisce le dimensioni della tabella definita correntemente.
Revisione 3.0
VERSION Restituisce il numero di versione del firmware dell'unità
di controllo assi.
WDOG L'interruttore software che abilita i servoazionamenti.
MANUALE DI PROGRAMMAZIONE 40
Comandi BASIC

3.2 Tutti i comandi BASIC

3.2.1 + (Addizione)
/i
Tipo Funzione matematica
Sintassi espressione1 + espressione2
Descrizione L'operatore + somma due espressioni.
Argomenti espressione1
Qualsiasi espressione valida in BASIC.
espressione2
Qualsiasi espressione valida in BASIC.
Esempio risultato = 4 + 3
Assegna il valore 7 alla variabile risultato.
Vedere anche
3.2.2 - (Sottrazione)
/i
Tipo Funzione matematica
Sintassi espressione1 - espressione2
Descrizione L'operatore - sottrae espressione2 da espressione1.
Argomenti espressione1
Esempio risultato = 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
Tipo Funzione matematica
Sintassi espressione1 * espressione2
Descrizione L'operatore * moltiplica due espressioni.
Argomenti espressione1
Qualsiasi espressione valida in BASIC.
espressione2
Qualsiasi espressione valida in BASIC.
Esempio risultato = 3 * 7
Assegna il valore 21 alla variabile risultato.
Vedere anche
N/D
3.2.4 / (Divisione)
/i
Tipo Funzione matematica
Sintassi espressione1 / espressione2
Descrizione L'operatore / divide espressione1 per espressione2.
Argomenti espressione1
Qualsiasi espressione valida in BASIC.
espressione2
Qualsiasi espressione valida in BASIC.
Esempio risultato = 11 / 4
Assegna il valore 2.75 alla variabile risultato.
Vedere anche
N/D
Revisione 3.0
MANUALE DI PROGRAMMAZIONE 41
Comandi BASIC
3.2.5 ^ (Potenza)
/i
Tipo Funzione matematica
Sintassi espressione1 ^ espressione2
Descrizione L'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.
Esempio risultato = 2^5
Questo assegna il valore 32 alla variabile risultato.
Vedere anche
N/D
3.2.6 = (Uguale a)
/i
Tipo Funzione matematica
Sintassi espressione1 = espressione2
Descrizione L'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.
Esempio IF 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
Tipo Funzione matematica
Sintassi variabile = espressione
Descrizione L'operatore = assegna il valore dell'espressione alla variabile.
Argomenti variabile
Un nome di variabile.
espressione
Qualsiasi espressione valida in BASIC.
Esempio var = 18
Assegna il valore 18 alla variabile var.
Vedere anche
N/D
3.2.8 <> (Diverso da)
/i
Tipo Funzione matematica
Sintassi espressione1 <> espressione2
Descrizione L'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.
Esempio IF 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 PROGRAMMAZIONE 42
Comandi BASIC
3.2.9 > (Maggiore di)
/i
Tipo Funzione matematica
Sintassi espressione1 > espressione2
Descrizione L'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.
Esempio IF 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
Tipo Funzione matematica
3.2.11 < (Minore di)
/i
Tipo Funzione matematica
Sintassi espressione1 < espressione2
Descrizione L'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.
Esempio IF 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
Tipo Funzione matematica
Sintassi espressione1 >= espressione2
Descrizione L'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.
Esempio IF 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
Sintassi espressione1 <= espressione2
Descrizione L'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.
Esempio IF 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 PROGRAMMAZIONE 43
Comandi BASIC
3.2.13 $ (Dati esadecimali)
/i
Tipo Comando di sistema
Sintassi $num_esadecimale
Descrizione Il 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
Tipo Comando 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.
Argomenti N/D
Esempio ' Questa riga non è stampata
PRINT "Avvio"
Vedere anche
N/D
3.2.15 : (Separatore di istruzioni)
/i
Tipo Comando di programma
Sintassi :
Descrizione Il separatore di istruzioni : divide più istruzioni in BASIC presenti su una
singola riga. È possibile utilizzarlo sulla riga di comando e nei programmi.
Argomenti N/D
Esempio PRINT "QUESTA RIGA": GET low : PRINT "FA TRE COSE"
Vedere anche
N/D
3.2.16 #
/i
Tipo Carattere speciale
Sintassi #
Descrizione Il 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.
Argomenti N/D
Esempio PRINT #1,"RS232"
PRINT #2,"Porta 2"
Esempio IF KEY #1 THEN GET #1,k
Controllare il tastierino sulla porta RS232
Vedere anche
N/D
Revisione 3.0
MANUALE DI PROGRAMMAZIONE 44
Comandi BASIC
3.2.17 ABS
/i
Tipo Funzione matematica
Sintassi ABS(espressione)
Descrizione La funzione ABS restituisce il valore assoluto di un'espressione.
Argomenti espressione
Qualsiasi espressione valida in BASIC.
Esempio IF ABS(A) > 100 THEN PRINT "A non rientra nell'intervallo -100... 100"
Vedere anche
N/D
3.2.18 ACC
/i
Tipo Comando degli assi
Sintassi ACC(velocità)
Descrizione Imposta 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.
Esempio ACC(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
Tipo Parametro degli assi
Sintassi ACCEL = espressione
Descrizione Il parametro degli assi ACCEL contiene la velocità di accelerazione degli
assi. La velocità è impostata su unità/s valore positivo, compreso lo zero.
Argomenti N/D
Esempio BASE(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
Tipo Funzione matematica
Sintassi ACOS(espressione)
Descrizione La 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 PROGRAMMAZIONE 45
Comandi BASIC
3.2.21 ADD_DAC
/i
Tipo Comando degli assi Sintassi ADD_DAC(asse) Descrizione Il 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.
Esempio BASE(0)
OUTLIMIT AXIS(1) = 15000 ADD_DAC(1) AXIS(0) ADDAX(0) AXIS(1) WDOG = ON
Revisione 3.0
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.
Esempio BASE(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
Tipo Comando degli assi
Sintassi ADDAX(asse)
Descrizione Il 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 PROGRAMMAZIONE 46
Comandi BASIC
Esempio FORWARD ' 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
Tipo Parametro degli assi (sola lettura)
Sintassi ADDAX_AXIS
3.2.24 AIN
/i
Tipo Parametro di sistema
Sintassi AIN(canale_analogico)
Descrizione I 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.
Argomenti canale_analogico.
Canale di ingresso analogico numero 0.31
Esempio MOVE(-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
Descrizione Il parametro degli assi ADDAX_AXIS restituisce il numero dell'asse
a cui l'asse di base è correntemente collegato mediante il comando ADDAX.
Argomenti N/D
Esempio >>BASE(0)
Revisione 3.0
Vedere anche
>>ADDAX(2) >> PRINT ADDAX_AXIS
2.0000
ADDAX, AXIS
3.2.25 AND
/i
Tipo Operazione matematica
Sintassi espressione1 AND espressione2
MANUALE DI PROGRAMMAZIONE 47
Comandi BASIC
Descrizione L'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.
Esempio VR(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.
Esempio IF MPOS AXIS(0) > 0 AND MPOS AXIS(1) > 0 THEN GOTO ciclo1
Vedere anche
N/D
3.2.26 AOUT
/i
Tipo Parametro di sistema
3.2.27 ASIN
/i
Tipo Funzione matematica
Sintassi ASIN(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
Tipo Funzione matematica
Sintassi ATAN(espressione)
Descrizione La 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.
Sintassi AOUT(canale_analogico)
Descrizione Il 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
Esempio Nessun esempio.
Vedere anche
N/D
Esempio >> PRINT ATAN(1)
0.7854
Vedere anche
N/D
3.2.29 ATAN2
/i
Tipo Funzione matematica
Sintassi ATAN2(espressione1,espressione2)
MANUALE DI PROGRAMMAZIONE 48
Comandi BASIC
Descrizione La 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
Tipo Parametro degli assi
Sintassi ATYPE = valore
Descrizione Il 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).
Argomenti N/D
Esempio ATYPE 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 tipo ATYPE valore Unità TJ1 applicabile
Virtuale 0 Tutte
Posizione Mechatro 40 TJ1-ML__ (modulo master
MECHATROLINK-II)
Velocità Mechatro 41 TJ1-ML__
Coppia Mechatro 42 TJ1-ML__
Uscita motore passo-passo asse flessibile 43 TJ1-FL02
Servo dell'asse flessibile 44 TJ1-FL02
Uscita encoder asse flessibile 45 TJ1-FL02
Tamagawa assoluto asse flessibile 46 TJ1-FL02
EnDat assoluto asse flessibile 47 TJ1-FL02
SSI assoluto asse flessibile 48 TJ1-FL02
3.2.31 AUTORUN
/i
Tipo Comando di programma
Sintassi AUTORUN
Descrizione Il comando AUTORUN avvia tutti i programmi che sono stati impostati per
essere eseguiti all'avvio.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
RUNTYPE
3.2.32 AXIS
/i
Tipo Comando di sistema
Sintassi AXIS(numero_asse)
MANUALE DI PROGRAMMAZIONE 49
Comandi BASIC
Descrizione Il 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.
Esempio BASE(0)
PRINT VP_SPEED AXIS(2)
Esempio MOVE(300) AXIS(0)
Esempio REPDIST AXIS(1) = 100
Vedere anche
BASE
3.2.33 AXIS_DISPLAY
/i
Tipo Parametro degli assi
Sintassi AXIS_DISPLAY = valore
Descrizione Il 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.
Argomenti N/D
Esempio AXIS_DISPLAY AXIS(2) = 2
Questo comando visualizza lo stato di OUT 0 e OUT 1 allocati all'asse 2.
Vedere anche
/i
AXIS_DISPLAY valore 0 1 2 3
A0 REG 0 AUX IN OUT 0 ENCODER A
Revisione 3.0
A1 REG 1 ENCODER Z OUT 1 ENCODER B
B0 REG 0 AUX IN OUT 0 ENCODER A
B1 REG 1 ENCODER Z OUT 1 ENCODER B
N/D
3.2.34 AXIS_ENABLE
/i
Tipo Parametro degli assi
Sintassi AXIS_ENABLE = ON/OFF
Descrizione Il 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.
Argomenti N/D
Esempio AXIS_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
Tipo Parametro degli assi (sola lettura)
Sintassi AXISSTATUS
Descrizione Il 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à.
Argomenti N/D
Esempio IF (AXISSTATUS AND 16)>0 THEN PRINT "Entro il limite
di avanzamento"
Vedere anche
AXIS, ERRORMASK
MANUALE DI PROGRAMMAZIONE 50
Comandi BASIC
/i
Numero bit
0– 1
1 Avviso di errore di inseguimento 2 w
2 Errore di comunicazione
3 Allarme del servoazionamento 8 m
4 Limite di avanzamento 16 f
5 Limite di marcia indietro 32 r
6 Ricerca origine dati 64 d
7 Ingresso della sospensione
8 Limite di errore di inseguimento 256 e
9 Limite software di avanzamento 512 x
10 Limite software di marcia indietro 1024 y
11 Annullamento del movimento in corso 2048 c
12 Velocità eccessiva dell'uscita encoder 4096 o
Descrizione Valore Carattere
(usato in Trajexia Tools)
4a
del servoazionamento
128 h
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).
Esempio Nessun esempio.
Vedere anche
N/D
3.2.37 BASE
/i
Tipo Comando degli assi
Sintassi BASE
BASE(asse_1 [ ,asse_2 [ , asse_3 [ , asse_4 [ , asse_...]]]]) BA BA(asse_1 [ ,asse_2 [ , asse_3 [ , asse_4 [ , asse_...]]]])
/i
Tipo Comando degli assi
Sintassi B_SPLINE(tipo, dati_ingresso, numero_ingresso, dati_uscita, n.
espansione)
Descrizione Espande 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 PROGRAMMAZIONE 51
Comandi BASIC
Descrizione Il 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.
Argomenti Il 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.
Esempio BASE(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.
Esempio BASE(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
Tipo Comando di sistema
Sintassi BASICERROR
Descrizione Il 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.
Argomenti N/D
MANUALE DI PROGRAMMAZIONE 52
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
Tipo Parametro di sistema (sola lettura)
Sintassi BATTERY_LOW
Descrizione Questo parametro restituisce lo stato corrente della batteria.
Se BATTERY_LOW=ON occorre sostituire la batteria. Se BATTERY_LOW=OFF la batteria è sufficientemente carica.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
Revisione 3.0
N/D
3.2.40 BREAK_RESET
/i
Tipo Comando di sistema
Sintassi BREAK_RESET "nome_programma"
Descrizione Utilizzato 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.
Esempio BREAK_RESET "sempliceprova"
Rimuoverà tutti i punti di interruzione dal programma sempliceprova.
Vedere anche
N/D
3.2.41 CAM
/i
Tipo Comando degli assi
Sintassi CAM(punto_iniziale, punto_finale, moltiplicatore_tabella, distanza)
Descrizione Il 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 PROGRAMMAZIONE 53
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.
GOSUB tabellacam anello: CAM(1,19,1,200) GOTO anello
La subroutine tabellacam carica i dati della tabella di seguito nella matrice della memoria TABLE.
ACCEL, AXIS, CAMBOX, SPEED, TABLE.
UNITS
Posizione nella memoria TABLE Grado Valore
100
2 20 1103
3 40 3340
4 60 6500
5 80 10263
6 100 14236
7 120 18000
).
8 140 21160
9 160 23396
10 180 24500
11 200 24396
12 220 23160
13 240 21000
14 260 18236
15 280 15263
16 300 12500
17 320 10340
18 340 9103
19 360 9000
/i
MANUALE DI PROGRAMMAZIONE 54
Comandi BASIC
3.2.42 CAMBOX
/i
Tipo Comando degli assi
Sintassi CAMBOX(punto_iniziale, punto_finale, moltiplicatore_tabella,
distanza_collegamento, asse_collegamento [ , opzione_collegamento [ , posizione_collegamento ]])
Descrizione Il 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
.
Esempio Nessun esempio.
Vedere anche
/i
valore opzione_collegamento
1 Il collegamento inizia quando si verifica un evento
2 Il collegamento inizia da una posizione assoluta dell'asse
4
5 Combinazione delle opzioni 1 e 4.
6 Combinazione 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 PROGRAMMAZIONE 55
Comandi BASIC
3.2.43 CANCEL
/i
Tipo Comando degli assi Sintassi CANCEL[(1)]
CA[(1)]
Descrizione Il 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
Argomenti N/D Esempio FORWARD
WA(10000) CANCEL
Esempio MOVE(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
Tipo Parametro di sistema (sola lettura)
Sintassi CHECKSUM
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
N/D
3.2.45 CHR
/i
Tipo Comando di I/O
Sintassi CHR(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 PROGRAMMAZIONE 56
Comandi BASIC
3.2.46 CLEAR
/i
Tipo Comando di sistema
Sintassi CLEAR
Descrizione
Argomenti N/D
Esempio Nessun 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
Tipo Comando di sistema
Sintassi CLEAR_BIT(numero_bit, numero_vr)
Descrizione Il 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.
Esempio Nessun esempio.
Vedere anche
READ_BIT, SET_BIT, VR.
3.2.48 CLEAR_PARAMS
/i
Tipo Comando di sistema
Sintassi CLEAR_PARAMS
Revisione 3.0
Descrizione Riporta 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
N/D
3.2.49 CLOSE_WIN
/i
Tipo Parametro degli assi Sintassi CLOSE_WIN
CW
Descrizione Il 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. Argomenti N/D Esempio Nessun esempio. Vedere anche
AXIS, OPEN_WIN, REGIST, UNITS.
3.2.50 CLUTCH_RATE
/i
Tipo Parametro degli assi Sintassi CLUTCH_RATE Descrizione Il 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. Argomenti N/D Esempio CLUTCH_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 PROGRAMMAZIONE 57
Comandi BASIC
3.2.51 COMMSERROR
/i
Tipo Parametro di sistema (sola lettura)
Sintassi COMMSERROR
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
/i
Bit Descrizione Ubicazione dell'errore
8 Porta 1 pronta alla ricezione dati Porta seriale 1
9 Porta 1 ricezione overrun Porta seriale 1
10 Porta 1 errore di parità Porta seriale 1
11 Porta 1 ricezione errore di contorno Porta seriale 1
12 Porta 2 pronta alla ricezione dati Porta seriale 2
13 Porta 2 ricezione overrun Porta seriale 2
14 Porta 2 errore di parità Porta seriale 2
N/D
3.2.52 COMMSTYPE
/i
Tipo Parametro di slot
Sintassi COMMSTYPE SLOT(numero_unità)
Descrizione Questo 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__.
Esempio Nessun esempio.
Vedere anche
/i
Valore restituito
0 Unità inutilizzata
31 TJ1-ML__
33 TJ1-FL02
34 TJ1-PRT
35 TJ1-DRT
N/D
Descrizione
15 Porta 2 ricezione errore di contorno Porta seriale 2
Revisione 3.0
3.2.53 COMPILE
/i
Tipo Comando di programma
Sintassi COMPILE
Descrizione
Argomenti N/D
Esempio Nessun 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 PROGRAMMAZIONE 58
Comandi BASIC
3.2.54 CONNECT
/i
Tipo Comando degli assi Sintassi CONNECT(rapporto, asse_motore)
CO(rapporto, asse_motore)
Descrizione Il 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
Esempio In 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
Tipo Comando di sistema Sintassi CONSTANT "nome", valore Descrizione Dichiara 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.
Esempio CONSTANT "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
Tipo Parametro di sistema (sola lettura) Sintassi CONTROL Descrizione Il parametro CONTROL contiene il tipo di TJ1-MC__ presente nel sistema.
Il valore di questo parametro di sistema per TJ1-MC__ è 262.
MANUALE DI PROGRAMMAZIONE 59
Comandi BASIC
Argomenti N/D Esempio Nessun esempio. Vedere anche
N/D
3.2.57 COPY
/i
Tipo Comando di programma
Sintassi COPY nome_programma nuovo_nome_programma
Descrizione Il 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
Tipo Parametro degli assi
Sintassi CREEP
Descrizione
Argomenti N/D
Esempio BASE(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
Tipo Funzione matematica
Sintassi COS(espressione)
Descrizione La 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 PROGRAMMAZIONE 60
/i
Tipo Parametro degli assi
Sintassi D_GAIN
Descrizione Il 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.
Argomenti N/D
Comandi BASIC
Esempio Nessun esempio.
Vedere anche
AXIS, I_GAIN, OV_GAIN, P_GAIN, VFF_GAIN.
3.2.61 D_ZONE_MAX
/i
Tipo Parametro di sistema
Sintassi D_ZONE_MAX=valore
Descrizione Questo 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.
Argomenti N/D
Esempio D_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
Tipo Parametro di sistema
Sintassi D_ZONE_MIN=valore
Descrizione Questo 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
Argomenti N/D
servo viene riattivato non appena l'errore di inseguimento supera il valore D_ZONE_MAX oppure quando viene avviato un nuovo movimento.
Esempio D_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
Tipo Parametro degli assi
Sintassi DAC_SCALE
Descrizione Questo 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
Argomenti N/D
Esempio DAC_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 PROGRAMMAZIONE 61
Comandi BASIC
3.2.66 DATE
/i
Tipo Parametro di sistema
Sintassi DATE
Descrizione Restituisce 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.
Argomenti N/D
Esempio DATE=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
Tipo Comando di sistema
Sintassi DATE$
Descrizione Invia alla porta di stampa la data corrente GG/MM/AA come stringa.
L'anno viene identificato da 2 cifre.
3.2.68 DATUM
/i
Tipo Comando degli assi
Sintassi DATUM(sequenza)
Descrizione Il 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.
Argomenti sequenza
Vedere tabella di seguito.
Esempio Nessun esempio.
Vedere anche
ACCEL, AXIS, AXISSTATUS, CREEP, DATUM_IN, DECEL, MOTION_ERROR, SPEED.
Argomenti N/D
Esempio PRINT #1,DATE$
Stampa la data in base al formato, ad esempio: 20/10/05
Vedere anche
Revisione 3.0
N/D
MANUALE DI PROGRAMMAZIONE 62
Comandi BASIC
/i
valore di sequenza
0 Il comando DATUM(0) cancella l'errore di movimento. La posizione misurata
1 L'asse si sposta in avanti alla velocità di slittamento fino a quando non
2 L'asse si sposta indietro alla velocità di slittamento fino a quando non incontra
3 L'asse si sposta in avanti alla velocità richiesta fino a quando il selettore
4 L'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
Tipo Parametro degli assi
Sintassi DATUM_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 PROGRAMMAZIONE 63
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.
Argomenti N/D
Esempio DATUM_IN AXIS(0) = 5
Vedere anche
AXIS, DATUM.
3.2.70 DAY
/i
Tipo Parametro di sistema
Sintassi DAY
Descrizione Restituisce il giorno corrente come numero da 0 a 6, dove domenica
corrisponde a 0. DAY può essere impostato tramite assegnazione.
Argomenti N/D
3.2.71 DAY$
/i
Tipo Comando di sistema
Sintassi DAY$
Descrizione Stampa il giorno corrente come stringa.
Argomenti N/D
Esempio >>DAY=3
>>? DAY$ Mercoledì
Vedere anche
N/D
3.2.72 DECEL
/i
Tipo Parametro degli assi
Sintassi DECEL
Descrizione Il parametro degli assi DECEL contiene la velocità di decelerazione degli
assi. La velocità è impostata su unità/s valore positivo, compreso lo 0.
Argomenti N/D
Esempio DECEL = 100 ' Imposta la velocità di decelerazione
PRINT " La velocità di decelerazione è di ";DECEL;" mm/s/s"
Vedere anche
ACCEL, AXIS, UNITS.
2
. Il parametro può avere qualsiasi
Esempio >>DAY=3
3.2.73 DEFPOS
/i
Tipo Comando degli assi
Sintassi DEFPOS(pos_1 [ , pos_2 [ , pos_3 [ , pos_4 [, ...]]]])
DP(pos_1 [ , pos_2 [ , pos_3 [ , pos_4 [, ...]]]])
Vedere anche
Revisione 3.0
>>? DAY
3.0000
N/D
MANUALE DI PROGRAMMAZIONE 64
Comandi BASIC
Descrizione Il 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)
Argomenti Il 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.
Esempio BASE(2)
DATUM(5) BASE(1) DATUM(4) WAIT IDLE DEFPOS(-1000,-3500)
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
Tipo Comando di programma
Sintassi DEL [nome_programma]
RM [nome_programma]
Descrizione Il 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
Tipo Parametro degli assi (sola lettura)
Sintassi DEMAND_EDGES
Descrizione Il parametro degli assi DEMAND_EDGES contiene il valore corrente
del parametro degli assi DPOS espresso in unità del margine dell'encoder.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
AXIS, DPOS.
MANUALE DI PROGRAMMAZIONE 65
Comandi BASIC
3.2.76 DEVICENET
/i
Tipo Comando di sistema
Sintassi DEVICENET(numero_unità, 2, 1, VR_inizio_uscite, numero_uscite,
VR_inizio_ingressi, numero_ingressi) DEVICENET(numero_unità, 4, 0)
Descrizione La 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.
Esempio DEVICENET (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).
Bit Valore Descrizione
00 DEVICENET (numero_unità, 2, ...) non ancora eseguito
1 DEVICENET (numero_unità, 2, ...) eseguito senza errori
1 0 Nessun collegamento di I/O DeviceNet
1 Collegamento di I/O DeviceNet in funzione
2 0 Le variabili VR dell'intervallo dati di uscita sono state aggiornate
1 Le variabili VR dell'intervallo dati di uscita non sono state ancora
aggiornate
3 0 Le dimensioni del collegamento di I/O DeviceNet corrispondono
al comando DEVICENET (numero_unità, 2,…)
1 Le dimensioni del collegamento di I/O DeviceNet non corrispondono
ancora al comando DEVICENET (numero_unità, 2,…)
4 – 7 0 Sempre zero
8 0 Alimentazione di rete OK
1 Guasto nell'alimentazione di rete
9 0 Non si è verificato nessun BUSOFF
1 Si è verificato un BUSOFF
10 0 Nessun errore di duplicazione dell'indirizzo del nodo
1 Errore di duplicazione dell'indirizzo del nodo
Vedere anche
/i
Revisione 3.0
N/D
MANUALE DI PROGRAMMAZIONE 66
Comandi BASIC
3.2.77 DIR
/i
Tipo Comando di programma
Sintassi DIR
LS
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
FREE, POWER_UP, PROCESS, RUNTYPE, SELECT.
3.2.78 DISABLE_GROUP
/i
Tipo Comando degli assi
Sintassi DISABLE_GROUP(-1)
DISABLE_GROUP(asse_1 [, asse_2 [, ...]])
Descrizione Questo 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.
Esempio DISABLE_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
Tipo Parametro di sistema
Sintassi DISPLAY=valore
Descrizione Determina 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.
Argomenti N/D
Esempio DISPLAY=5
Mostra le uscite 8 – 15.
Vedere anche
/i
N/D
valore Descrizione
Revisione 3.0
0 Ingressi da 0 a 7 (predefiniti)
1 Ingressi da 8 a 15
2 Ingressi da 16 a 23
MANUALE DI PROGRAMMAZIONE 67
Comandi BASIC
valore Descrizione
3 Ingressi da 24 a 31
4 Uscite da 0 a 7 (non utilizzate su Trajexia)
5 Uscite da 8 a 15
6 Uscite da 16 a 23
7 Uscite da 24 a 31
3.2.80 DPOS
/i
Tipo Parametro degli assi (sola lettura)
Sintassi DPOS
Descrizione Il 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.
Argomenti N/D
Esempio >> PRINT DPOS AXIS(0)
34.0000
La riga qui sopra restituirà la posizione richiesta espressa in unità utente.
Vedere anche
AXIS, DPOS, DEFPOS, DEMAND_EDGES, FE, MPOS, REP_DIST, REP_OPTION, OFFPOS, UNITS.
3.2.81 DRIVE_ALARM
/i
Tipo Comando degli assi
Sintassi DRIVE_ALARM(VR)
Descrizione La 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.
Esempio IF 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 PROGRAMMAZIONE 68
Comandi BASIC
3.2.82 DRIVE_CLEAR
/i
Tipo Comando degli assi
Sintassi DRIVE_CLEAR
Descrizione Il 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.
Argomenti N/D
Esempio Nessun 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.
Argomenti N/D
Esempio DRIVE_CONTROL AXIS(2) = 256
In questo esempio, OUT 0 è attivato per l'asse 2, collegato usando TJ1-FL02.
Vedere anche
/i
Codice Descrizione
2 Errore seguente (questo è il vero FE quando viene utilizzato ATYPE=40)
8 Velocità di retroazione (con Atype=41 Unità=velocità massima/40000000H,
9 Velocità di comando (stesse unità della velocità di retroazione)
10 Velocità di riferimento (stesse unità della velocità di retroazione)
11 Coppia (forza) di riferimento (con Atype=42 Unità=Coppia max/40000000H,
14 Monitor selezionato con Pn813.0 Utile per controllare i monitor
15 Monitor 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
Tipo Parametro degli assi
Sintassi DRIVE_CONTROL
Descrizione
Revisione 3.0
MANUALE DI PROGRAMMAZIONE 69
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
Tipo Parametro degli assi
Sintassi DRIVE_INPUTS
Descrizione Questo 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.
Argomenti N/D
Esempio In 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
Esempio In 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_OT P_OT
Revisione 3.0
1N_OT N_OT
N/D
Descrizione Sigma-II Descrizione Junma
Numero di bit
4 Fase B Encoder N/C
5 Fase C Encoder N/C
6 Segnale EXT1 (selezionato con Pn511.1) /EXT1
7 Segnale EXT2 (selezionato con Pn511.2) N/C
8 Segnale EXT3 (selezionato con Pn511.3) N/C
9 BRK Uscita freno /BK
10 Riservato E_STP
11 Riservato N/C
12 IO12 (segnale di ingresso CN1 selezionato
13 IO13 (segnale di ingresso CN1 selezionato
14 IO14 (segnale di ingresso CN1 selezionato
15 IO15 (segnale di ingresso CN1 selezionato
Descrizione Sigma-II Descrizione 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
Tipo Parametro degli assi
Sintassi DRIVE_MONITOR
Descrizione Questo 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.
Argomenti N/D
2 Segnale DEC (selezionato con Pn511.0) /DEC
3 Fase A Encoder N/C
Esempio Nessun esempio.
Vedere anche
N/D
MANUALE DI PROGRAMMAZIONE 70
Comandi BASIC
3.2.86 DRIVE_READ
/i
Tipo Comando degli assi Sintassi DRIVE_READ(parametro,dimensioni,VR) Descrizione
Argomenti parametro
Esempio IF 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
Tipo Comando degli assi
Sintassi DRIVE_RESET
Descrizione Il comando DRIVE_RESET reimposta lo stato di allarme
del servoazionamento collegato attraverso il bus MECHATROLINK-II.
Argomenti N/D
Esempio Nessun 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 PROGRAMMAZIONE 71
Comandi BASIC
3.2.88 DRIVE_STATUS
/i
Tipo Parametro degli assi (sola lettura)
Sintassi DRIVE_STATUS
Descrizione Per 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.)
Argomenti N/D
Esempio PRINT DRIVE_STATUS AXIS(4)
Questo comando stampa il valore corrente del DRIVE_STATUS per l'asse(4).
Esempio BASE(3)
ATYPE = 44 IF (DRIVE_STATUS AND 32)= 32 THEN PRINT "L'ingresso REG 0 è ON per asse(3)"
ENDIF
Bit Descrizione (MECHATROLINK-II)
4 Alimentazione attiva
5 Blocco macchina
6 Posizione iniziale
7 Alla posizione/velocità
8 Invio completato
9 Limite di coppia
10 Blocco completato
11 Entro l'intervallo/limite di velocità
/i
Bit Descrizione (asse flessibile)
0MARK
1 MARKB
2 Valore corrente selezionato REG 0
3 Valore corrente selezionato REG 1
4 Valore corrente AUX IN
5 Valore corrente REG 0
6 Valore corrente REG 1
Vedere anche
/i
Bit Descrizione (MECHATROLINK-II)
0 Allarme
1 Avviso
Revisione 3.0
2 Pronto
3 Servoazionamento attivo
AXIS, MARK, MARKB, REGIST.
MANUALE DI PROGRAMMAZIONE 72
Comandi BASIC
3.2.89 DRIVE_WRITE
/i
Tipo Comando degli assi
Sintassi DRIVE_WRITE(parametro, dimensioni, valore [,modalità])
Descrizione La 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.
Esempio IF 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
Tipo Comando di programma
Sintassi EDIT [ numero_riga ]
ED [ numero_riga ]
Descrizione
Argomenti numero_riga
Esempio Nessun 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 PROGRAMMAZIONE 73
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
Tipo Parametro degli assi (sola lettura) Sintassi ENCODER Descrizione
Argomenti N/D Esempio Nessun 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
Tipo Parametro degli assi Sintassi ENCODER_BITS = valore Descrizione Questo 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
Argomenti N/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.
Esempio ENCODER_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.
Esempio ENCODER_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
Tipo Parametro degli assi
Sintassi ENCODER_CONTROL = valore
Descrizione Il 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.
Argomenti N/D
Esempio ENCODER_CONTROL AXIS(1) = 0
Questo comando imposta la modalità di restituzione ciclica della posizione.
Esempio ENCODER_CONTROL AXIS(1) = 1
Questo comando imposta il parametro di modalità di lettura/scrittura.
Vedere anche
AXIS, ENCODER, ENCODER_BITS.
MANUALE DI PROGRAMMAZIONE 74
Comandi BASIC
3.2.96 ENCODER_ID
/i
Tipo Parametro degli assi (sola lettura) Sintassi ENCODER_ID Descrizione Questo 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. Argomenti N/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
Tipo Parametro degli assi Sintassi ENCODER_RATIO(denominatore,numeratore) Descrizione Consente 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.
Esempio ENCODER_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
Tipo Comando degli assi
Sintassi ENCODER_READ(indirizzo)
Descrizione Il 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.
Esempio VR(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 PROGRAMMAZIONE 75
Comandi BASIC
3.2.99 ENCODER_STATUS
/i
Tipo Parametro degli assi (sola lettura)
Sintassi ENCODER_STATUS
Descrizione Questo 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.
Argomenti N/D
Esempio PRINT (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
Tipo Parametro degli assi (sola lettura)
Sintassi ENCODER_TURNS
Descrizione Il 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
Argomenti N/D
Se applicato a un asse con valore ATYPE diverso da 46 o 47,
questo parametro restituisce uno 0.
Esempio PRINT 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
Tipo Comando degli assi
Sintassi ENCODER_WRITE(indirizzo, valore)
Descrizione Il 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.
Esempio Nessun esempio.
Vedere anche
AXIS, ENCODER, ENCODER_BITS, ENCODER_CONTROL.
3.2.102 ENDIF
Vedere IF..THEN..ELSE..ENDIF.
MANUALE DI PROGRAMMAZIONE 76
Comandi BASIC
3.2.103 ENDMOVE
/i
Tipo Parametro degli assi
Sintassi ENDMOVE
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
AXIS, DPOS, FE_LIMIT, UNITS.
3.2.104 EPROM
/i
Tipo Comando di programma
Sintassi EPROM
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
Revisione 3.0
Vedere anche
POWER_UP, RUNTYPE.
3.2.105 ERROR_AXIS
/i
Tipo Parametro di sistema (sola lettura)
Sintassi ERROR_AXIS
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
AXISSTATUS, ERRORMASK, MOTION_ERROR, WDOG.
3.2.106 ERROR_LINE
/i
Tipo Parametro dei task (sola lettura)
Sintassi ERROR_LINE
Descrizione Il 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.
Argomenti N/D
Esempio >> PRINT ERROR_LINE PROC(4)
23.0000
Vedere anche
BASICERROR, PROC, RUN_ERROR.
MANUALE DI PROGRAMMAZIONE 77
Comandi BASIC
3.2.107 ERRORMASK
/i
Tipo Parametro degli assi
Sintassi ERRORMASK
Descrizione Il 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.
Argomenti N/D
Esempio Nessun 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
3.2.108 ETHERNET
/i
Tipo Comando di sistema
Sintassi ETHERNET(funzione, numero_unità, parametro [,valori])
Descrizione Il 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.
Argomenti funzione
0 = lettura, 1 = scrittura.
numero_unità
–1.
parametro
0 = indirizzo IP; 2 = subnet mask; 3 = indirizzo MAC; 8 = gateway; 11 = cache ARP (sola lettura).
valori
Il parametro richiesto per una scrittura.
Esempio ETHERNET(1,-1,0,192,200,185,2)
Impostare l'indirizzo IP di Trajexia su 192.200.185.002.
Vedere anche
N/D
Revisione 3.0
MANUALE DI PROGRAMMAZIONE 78
Comandi BASIC
3.2.109 EX
/i
Tipo Comando di sistema
Sintassi EX[(opzione)]
Descrizione Ripristina 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
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
N/D
3.2.110 EXP
/i
Tipo Funzione matematica
Sintassi EXP(espressione)
Descrizione La 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
Tipo Costante (sola lettura)
Sintassi FALSE
Descrizione La costante FALSE restituisce il valore numerico 0.
Argomenti N/D
Esempio test:
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
Tipo Parametro degli assi
Sintassi FAST_JOG
Descrizione Il 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.
Argomenti N/D
Revisione 3.0
Esempio Nessun esempio.
Vedere anche
AXIS, FWD_JOG, JOGSPEED, REV_JOG, SPEED.
MANUALE DI PROGRAMMAZIONE 79
Comandi BASIC
3.2.113 FASTDEC
/i
Tipo Parametro degli assi
Sintassi FAST DEC
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
N/D
3.2.114 FE
/i
Tipo Parametro degli assi (sola lettura)
Sintassi FE
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
AXIS, DPOS, FE_LIMIT, FE_RANGE, MPOS, UNITS.
3.2.115 FE_LATCH
/i
Tipo Parametro degli assi (sola lettura)
Sintassi FE_LATCH
Descrizione Contiene 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
N/D
3.2.116 FE_LIMIT
/i
Tipo Parametro degli assi
Sintassi FE_LIMIT
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
Revisione 3.0
AXIS, AXISSTATUS, ERRORMASK, FE, FE_RANGE, UNITS.
MANUALE DI PROGRAMMAZIONE 80
Comandi BASIC
3.2.117 FE_LIMIT_MODE
/i
Tipo Parametro degli assi
Sintassi FE_LIMIT_MODE=valore
Descrizione Quando 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
N/D
3.2.118 FE_RANGE
/i
Tipo Parametro degli assi
Sintassi FE_RANGE
Descrizione Il 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).
Argomenti N/D
Esempio Nessun esempio.
Revisione 3.0
Vedere anche
AXIS, AXISSTATUS, ERRORMASK, FE, UNITS.
3.2.119 FHOLD_IN
/i
Tipo Parametro degli assi
Sintassi FHOLD_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 PROGRAMMAZIONE 81
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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
AXIS, AXISSTATUS, UNITS.
3.2.120 FHSPEED
/i
Tipo Parametro degli assi
Sintassi FHSPEED
Descrizione Il 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,
CONNECT e MOVELINK) non vengono influenzati.
Argomenti N/D
3.2.121 FINS_COMMS
/i
Tipo Comando di comunicazione
Sintassi FINS_COMMS(tipo, rete, nodo, unità, area_remota, offset_remoto,
lunghezza, area_locale, offset_locale, timeout [, ip1, ip2, ip3, ip4])
Descrizione FINS (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.
Esempio Nessun esempio.
Vedere anche
Revisione 3.0
AXIS, AXISSTATUS, FHOLD_IN, UNITS.
MANUALE DI PROGRAMMAZIONE 82
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.
Esempio Un 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 PROGRAMMAZIONE 83
Comandi BASIC
3.2.122 FLAG
/i
Tipo Comando di sistema
Sintassi FLAG(numero_flag [,valore])
Descrizione Il 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.
Esempio FLAG(27,ON)
Imposta il bit flag 27 su “on”.
Vedere anche
N/D
3.2.123 FLAGS
/i
Tipo Comando di sistema
Sintassi FLAGS([valore])
Descrizione Legge 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.
Esempio FLAGS(146) ' 2 + 16 + 128
Imposta i flag 1,4 e 7 su “attivo”, tutti gli altri su “non attivo”.
Esempio IF (FLAGS AND 8) <>0 THEN GOSUB qualche parte
Verifica se il flag 3 è impostato.
Vedere anche
/i
Numero di bit Valore decimale
01
12
24
N/D
38
416
532
664
7128
Revisione 3.0
MANUALE DI PROGRAMMAZIONE 84
Comandi BASIC
3.2.124 FOR..TO..STEP..NEXT
/i
Tipo Comando di controllo del programma.
Sintassi FOR variabile = inizio TO fine [STEP incremento]
comandi
NEXT variabile
Descrizione L'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.
Esempio anello:
FOR dist = 5 TO -5 STEP -0.25 MOVEABS(dist) GOSUB pick_up NEXT dist
L'incremento STEP può essere sia positivo che negativo.
Esempio anello1:
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.
Esempio FOR numop = 8 TO 13
OP(numop,ON)
NEXT numop
Questo anello attiva le uscite dalla 8 alla 13.
Revisione 3.0
MANUALE DI PROGRAMMAZIONE 85
Comandi BASIC
3.2.125 FORWARD
/i
Tipo Comando degli assi
Sintassi FORWARD
FO
Descrizione Il 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.
Argomenti N/D
Esempio avvio:
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
Tipo Parametro di slot
Sintassi FPGA_VERSION SLOT(numero_unità)
Descrizione Questo 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__.
Esempio N/D
Revisione 3.0
Vedere anche
N/D
3.2.127 FRAC
/i
Tipo Funzione matematica
Sintassi FRAC(espressione)
Descrizione La 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
Tipo Parametro di sistema
Sintassi FRAME=valore
Descrizione Viene 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
Argomenti N/D
Esempio FRAME=1
Vedere anche
N/D
predefinito è 0 che corrisponde a una trasformazione singola univoca.
FRAME
FRAME
.
MANUALE DI PROGRAMMAZIONE 86
Comandi BASIC
3.2.129 FREE
/i
Tipo Funzione di sistema
Sintassi FREE
Descrizione La 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.
Argomenti N/D
Esempio >> PRINT FREE
47104.0000
Vedere anche
N/D
3.2.130 FS_LIMIT
/i
Tipo Parametro degli assi
Sintassi FS_LIMIT
FSLIMIT
Descrizione Il 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
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
AXIS, AXISSTATUS, UNITS.
3.2.131 FWD_IN
/i
Tipo Parametro degli assi
Sintassi FWD_IN
Descrizione
Sigma II ingresso 28: CN1-40
Sigma III ingresso 28: CN1-13
Junma ingresso 26: CN1-2
Argomenti N/D
Esempio Nessun 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 PROGRAMMAZIONE 87
Comandi BASIC
3.2.132 FWD_JOG
/i
Tipo Parametro degli assi
Sintassi FWD_JOG
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
AXIS, FAST_JOG, JOGSPEED, REV_JOG.
3.2.133 GET
/i
Tipo Comando di I/O
Sintassi GET [n.,] variabile
Descrizione Il 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.
Esempio GET#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
0 Porta di programmazione 0
1 Porta seriale 1 di RS-232C
2 Porta seriale 2 di RS-422A/485
5 Canale utente 5 della porta 0 di Trajexia Tools
6 Canale utente 6 della porta 0 di Trajexia Tools
7 Canale 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 PROGRAMMAZIONE 88
Comandi BASIC
3.2.134 GLOBAL
/i
Tipo Comando di sistema
Sintassi GLOBAL "nome", numero_vr
Descrizione Dichiara 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.
Esempio GLOBAL "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
Tipo Comando di controllo del programma.
Sintassi GOSUB etichetta
... RETURN
Descrizione La 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.
Esempio principale:
GOSUB routine GOTO principale routine: PRINT "Posizione misurata=";MPOS;CHR(13); RETURN
Vedere anche
GOTO
3.2.136 GOTO
/i
Tipo Comando di controllo del programma.
Sintassi GOTO etichetta
Descrizione La 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 PROGRAMMAZIONE 89
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.
Esempio anello:
PRINT "Posizione misurata = ";MPOS;CHR(13);
GOTO anello
Vedere anche
GOSUB..RETURN
3.2.137 HALT
/i
Tipo Comando di sistema
Sintassi HALT
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
PROCESS, STOP.
3.2.138 HEX
/i
Tipo Comando di I/O
Sintassi HEX
Descrizione Questo comando viene utilizzato in un'istruzione di stampa per produrre
un numero in formato esadecimale.
Revisione 3.0
Argomenti N/D
3.2.139 HLM_COMMAND
/i
Tipo Comando di comunicazione
Sintassi HLM_COMMAND(comando, porta [ , nodo [ , area/modalità_mc
[ , offset_mc ]]])
Descrizione Il 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].
Esempio PRINT#5,HEX(IN(8,16))
Vedere anche
N/D
MANUALE DI PROGRAMMAZIONE 90
Comandi BASIC
Esempio HLM_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.
Esempio HLM_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.
Esempio HLM_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.
Esempio HLM_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.
Vedere anche
/i
valore di comando
HLM_MREAD
(o valore 0)
HLM_TEST
(o valore 1)
Revisione 3.0
HLM_ABORT
(o valore 2)
HLM_READ, HLM_COMMAND, HLM_STATUS, HLM_TIMEOUT, HLS_NODE, HLM_WRITE, SETCOM.
Descrizione
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.
Matrice di variabili della memoria TABLE
Matrice di variabili globale (VR)
3.2.140 HLM_READ
/i
Tipo Comando di comunicazione
Sintassi HLM_READ(porta, nodo, area_pc, offset_pc, lunghezza, area_mc,
offset_mc)
Descrizione Il 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 PROGRAMMAZIONE 91
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].
Esempio HLM_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.
Vedere anche
/i
valore area_pc Area dati Comando Host Link
PLC_DM
(o valore 0)
Revisione 3.0
PLC_IR
(o valore 1)
HLM_COMMAND, HLM_STATUS, HLM_TIMEOUT, HLS_NODE, HLM_WRITE, SETCOM.
Area DM (memoria dati)
Area CIO/IR RR
RD
valore area_pc Area dati Comando Host Link
PLC_LR
(o valore 2)
PLC_HR
(o valore 3)
PLC_AR
(o valore 4)
PLC_EM
(o valore 6)
/i
valore area_mc Area dati
MC_TABLE
(o valore 8)
MC_VR
(o valore 9)
Area LR (data link) RL
Area HR (ritenzione)
Area AR (ausiliaria) RJ
Area EM (memoria estesa)
Matrice di variabili della memoria TABLE
Matrice di variabili globale (VR)
RH
RE
3.2.141 HLM_STATUS
/i
Tipo Parametro di comunicazione
Sintassi HLM_STATUS PORT(n)
Descrizione Il 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 PROGRAMMAZIONE 92
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
Bit Nome Descrizione
0 – 7 Codice di fine Il codice di fine può essere un codice di fine definito dallo slave
8 Errore di timeout Un errore di timeout si verifica se non viene ricevuta alcuna
9 Comando non
HLM_READ, HLM_COMMAND, HLM_TIMEOUT, HLS_NODE, HLM_WRITE, SETCOM.
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
Tipo Parametro di comunicazione
Sintassi HLM_TIMEOUT
Descrizione Il 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.
Argomenti N/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.
Vedere anche
Revisione 3.0
HLM_READ, HLM_COMMAND, HLM_STATUS, HLS_NODE, HLM_WRITE, SETCOM SERVO_PERIOD.
MANUALE DI PROGRAMMAZIONE 93
Comandi BASIC
3.2.143 HLM_WRITE
/i
Tipo Comando di comunicazione
Sintassi HLM_WRITE(porta, nodo, area_pc, offset_pc, lunghezza, area_mc,
offset_mc)
Descrizione Il 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].
Esempio HLM_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.
Revisione 3.0
Vedere anche
/i
valore area_pc Area dati Comando Host Link
PLC_DM
(o valore 0)
PLC_IR
(o valore 1)
PLC_LR
(o valore 2)
HLM_READ, HLM_COMMAND, HLM_STATUS, HLM_TIMEOUT, HLS_NODE, SETCOM.
Area DM (memoria dati)
Area CIO/IR RR
Area LR (data link) RL
RD
MANUALE DI PROGRAMMAZIONE 94
Comandi BASIC
valore area_pc Area dati Comando Host Link
PLC_HR
(o valore 3)
PLC_AR
(o valore 4)
PLC_EM
(o valore 6)
/i
valore area_mc Area dati
MC_TABLE
(o valore 8)
MC_VR
(o valore 9)
Area HR (ritenzione)
Area AR (ausiliaria) RJ
Area EM (memoria estesa)
Matrice di variabili della memoria TABLE
Matrice di variabili globale (VR)
RH
RE
3.2.144 HLS_NODE
/i
Tipo Parametro di comunicazione
Sintassi HLS_NODE
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
N/D
3.2.145 (HW_PSWITCH)
/i
Tipo Comando degli assi
Sintassi HW_PSWITCH(modalità, direzione, statousc, inizio_tabella, fine_tabella)
Descrizione Il 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.
Argomenti •modalità
0 = disabilitazione interruttore; 1 = accensione e caricamento FIFO; 2 = cancellazione FIFO.
direzione
0 = decrescente; 1 = crescente.
•statousc
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 PROGRAMMAZIONE 95
Comandi BASIC
Esempio HW_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).
Esempio HW_PSWITCH(0)
Questo comando disattiva l'interruttore se era stato attivato in precedenza, ma non cancella la coda FIFO.
Esempio HW_PSWITCH(2)
Questo comando cancella la coda FIFO, se è stata caricata in precedenza.
Vedere anche
AXIS
3.2.146 I_GAIN
/i
Tipo Parametro degli assi
Sintassi I_GAIN
Descrizione Il 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.
Argomenti N/D
Esempio Nessun 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
Tipo Funzione matematica
Sintassi IEEE_IN(byte0,byte1,byte2,byte3)
Descrizione La 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.
Esempio VR(20) = IEEE_IN(b0,b1,b2,b3)
Vedere anche
N/D
3.2.149 IEEE_OUT
/i
Tipo Funzione matematica
Sintassi byte_n = IEEE_OUT(valore, n)
Descrizione
Argomenti valore
Esempio V=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.
•n
byte0 = IEEE_OUT(V, 0) byte1 = IEEE_OUT(V, 1) byte2 = IEEE_OUT(V, 2) byte3 = IEEE_OUT(V, 3)
N/D
IEEE_OUT
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 PROGRAMMAZIONE 96
Comandi BASIC
3.2.150 IF..THEN..ELSE..ENDIF
/i
Tipo Comando di controllo del programma. Sintassi IF condizione_1 THEN comandi {ELSEIF condizione_i THEN comandi}
[ ELSE comandi ] ENDIF IF condizione_1 THEN comandi
Descrizione Questa 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.
Esempio IF MPOS > (0.22 * VR(0)) THEN GOTO lunghezza_eccedente Esempio IF IN(0) = ON THEN
conteggio = conteggio + 1 PRINT "COUNTS = ";conteggio esito_negativo = 0 ELSE esito_negativo = esito_negativo + 1 ENDIF
Esempio IF IN(arresto)=ON THEN
OP(8,ON) VR(flag_ciclo)=0 ELSEIF IN(avvio_ciclo)=ON THEN
Revisione 3.0
VR(flag_ciclo)=1 ELSEIF IN(fase1)=ON THEN VR(flag_ciclo)=99 ENDIF
Esempio IF car_tasto=$31 THEN
GOSUB car_1 ELSEIF car_tasto=$32 THEN GOSUB car_2 ELSEIF car_tasto=$33 THEN GOSUB car_3 ELSE PRINT "Carattere sconosciuto" ENDIF
Vedere anche
N/D
3.2.151 IN
/i
Tipo Funzione di I/O
Sintassi IN(numero_ingresso [ ,numero_ingresso_finale ])
IN
Descrizione La 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 PROGRAMMAZIONE 97
Comandi BASIC
Esempio Le 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.
anellomovimento: MOVEABS(IN(4,7)*1.5467) WAIT IDLE GOTO anellomovimento
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.
Esempio In 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
Tipo Parametro di I/O
Sintassi INDEVICE
Descrizione Il 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.
Argomenti N/D
Esempio Nessun esempio.
/i
Valore Descrizione
0 Porta di programmazione 0 (predefinita)
1 Porta seriale 1 di RS-232C
2 Porta seriale 2 di RS-422A/485
5 Canale utente 5 della porta 0 di Trajexia Tools
6 Canale utente 6 della porta 0 di Trajexia Tools
7 Canale utente 7 della porta 0 di Trajexia Tools
3.2.153 INITIALISE
/i
Tipo Comando di sistema
Sintassi INITIALISE
Descrizione Imposta 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.
Argomenti N/D
Esempio Nessun esempio.
Vedere anche
•EX
Vedere anche
Revisione 3.0
GETGET, INPUT, LINPUT, KEY.
MANUALE DI PROGRAMMAZIONE 98
Comandi BASIC
3.2.154 INPUT
/i
Tipo Comando di I/O
Sintassi INPUT [ #n ], variabile { , variabile }
Descrizione Il 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.
Esempio Considerare 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
Tipo Funzione matematica
Sintassi INT(espressione)
Descrizione La 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
Tipo Comando di sistema
Sintassi INVERT_IN(ingresso,on/off)
Descrizione Il 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 PROGRAMMAZIONE 99
Comandi BASIC
3.2.157 INVERT_STEP
/i
Tipo Parametro degli assi
Sintassi INVERT_STEP
Descrizione
Argomenti N/D
Esempio Nessun 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
INVERT_STEP=ON
INVERT_STEP
WDOG=ON
di fatto trasforma il fronte RISING
deve essere impostato prima di abilitare l'unità
. L'impostazione predefinita non è attiva.
3.2.158 INVERTER_COMMAND
/i
Tipo Comando di sistema
Sintassi INVERTER_COMMAND(modulo, stazione, 7, segnali_operazione)
INVERTER_COMMAND(modulo, stazione, 1, numero_allarme)
Descrizione INVERTER_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.
Esempio Nessun esempio.
Vedere anche
N/D
Revisione 3.0
MANUALE DI PROGRAMMAZIONE 100
Loading...