Manuale CX-Programmer PDF
Manuale CX-Programmer PDF
W340-IT2-11
Controllori programmabili
MANUALE DI RIFERIMENTO
Controllori programmabili
PER LE ISTRUZIONI
!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.
!Attenzione Indica una situazione di potenziale pericolo che, se non evitata, può essere causa di
lesioni non gravi a persone o danni a proprietà.
Supporti visivi
Nella colonna sinistra del manuale sono riportate le seguenti intestazioni per
facilitare l'individuazione dei diversi tipi di informazioni.
Nota Indica informazioni di particolare rilevanza per un efficiente e vantaggioso
utilizzo del prodotto.
1,2,3... 1. Indica un qualche tipo di elenco, quali procedure, liste di controllo, ecc.
OMRON, 1999
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à palese in relazione all'uso delle informazioni contenute nel presente manuale. Inoltre,
poiché OMRON è alla costante ricerca della migliore qualità per i propri prodotti, le informazioni contenute nel presente
manuale sono soggette a modifiche senza preavviso. Il presente manuale è stato redatto con la massima attenzione e tuttavia
OMRON non assume alcuna responsabilità in relazione ad eventuali errori od omissioni, né assume alcuna responsabilità in
relazione ad eventuali danni derivanti dalle informazioni in esso contenute.
v
Versioni delle CPU della serie CS/CJ
Versioni delle Per gestire le CPU della serie CS/CJ in base alle differenze di funzionalità
presenti negli aggiornamenti, è stato introdotto il concetto di "versione della
CPU CPU". Questo concetto si applica alle CPU CS1-H, CJ1-H, CJ1M e CS1D.
Notazione delle versioni La versione della CPU è riportata a destra del numero di lotto, sulla targhetta
delle CPU sui prodotti dei prodotti per i quali vengono gestite le versioni, come illustrato di seguito.
CPU della serie CS/CJ Targhetta prodotto
CS1H-CPU67H
CPU UNIT
vi
Versione della CPU
vii
Versione della CPU
È possibile apporre queste etichette sulla parte frontale delle CPU precedenti
per distinguerle da quelle di versioni differenti.
viii
Notazione delle Nel presente manuale la versione di una CPU viene fornita come illustrato
versioni delle CPU nella seguente tabella.
Targhetta prodotto CPU su cui non viene fornita alcuna CPU per le quali viene fornita una versione
versione (Ver. @.@)
Significato
Designazione di singole CPU CS1-H precedenti alla versione 2.0 CPU CS1H-CPU67H versione @.@
CPU (ad esempio
CS1H-CPU67H)
Designazione dei gruppi CPU CS1-H precedenti alla versione 2.0 CPU CS1-H versione @.@
delle CPU (ad esempio
le CPU CS1-H)
Designazione di CPU della serie CS precedenti alla versione CPU della serie CS versione @.@
un'intera serie di CPU 2.0
(ad esempio le CPU
della serie CS)
ix
Versioni di CPU e numeri di lotto
Serie Modello Dati di produzione
Prece- Settembre Ottobre Novembre Dicembre Giugno Successiva
dente 2003 2003 2003 2003 2004
Serie CPU CS1 CS1@-
CS CPU@@
Nessuna versione
della CPU
x
Funzioni supportate dalla versione della CPU
CPU CS1-H (CS1@-CPU@@H)
Funzioni Versione della CPU
CPU precedenti alla CPU versione 2.0
versione 2.0
Scaricamento e caricamento di singoli task --- OK
Protezione da lettura migliorata mediante password --- OK
Protezione da scrittura dai comandi FINS inviati alle CPU tramite --- OK
reti
Connessioni di rete in linea senza tabelle degli I/O --- OK
Comunicazioni tramite un massimo di 8 livelli di rete --- OK
Connessione in linea ai PLC tramite PT della serie NS OK a partire dal OK
numero di lotto 030201
Impostazione dei canali del primo slot OK per un massimo di OK per un massimo di
8 gruppi 64 gruppi
Trasferimento automatico all'accensione del sistema senza un file --- OK
dei parametri
Rilevamento automatico del metodo di allocazione degli I/O per il --- ---
trasferimento automatico all'accensione del sistema
Ore di inizio e fine del funzionamento --- OK
Nuove istruzioni MILH, MILR, MILC --- OK
di applicazione =DT, <>DT, <DT, <=DT, >DT, >=DT --- OK
BCMP2 --- OK
GRY OK a partire dal OK
numero di lotto 030201
TPO --- OK
DSW, TKY, HKY, MTR, 7SEG --- OK
EXPLT, EGATR, ESATR, ECHRD, ECHWR --- OK
Lettura/Scrittura da/su Unità bus CPU bus tramite OK a partire dal OK
IORD/IOWR numero di lotto 030418
PRV2 --- ---
xi
CPU CS1D
Funzioni CPU CS1D per sistemi a due CPU CPU CS1D per
(CS1D-CPU@@H) sistemi a
singola CPU
(CS1D-CPU@@S)
CPU precedenti alla CPU versione 1.1 CPU versione 2.0
versione 1.1
Funzione CPU duplex OK OK ---
esclusiva Sostituzione in linea OK OK OK
delle CPU
CS1D Moduli di alimentazione duplex OK OK OK
Due moduli Controller Link OK OK OK
Due moduli Ethernet --- OK OK
Scaricamento e caricamento di singoli task --- --- OK
Protezione da lettura migliorata mediante --- --- OK
password
Protezione da scrittura dai comandi FINS --- --- OK
inviati alle CPU tramite reti
Connessioni di rete in linea senza tabelle --- --- OK
degli I/O
Comunicazioni tramite un massimo di 8 livelli --- --- OK
di rete
Connessione in linea ai PLC tramite PT della --- --- OK
serie NS
Impostazione dei canali del primo slot --- --- OK per un massimo
di 64 gruppi
Trasferimento automatico all'accensione del --- --- OK
sistema senza un file dei parametri
Rilevamento automatico del metodo di --- --- ---
allocazione degli I/O per il trasferimento
automatico all'accensione del sistema
Ore di inizio e fine del funzionamento --- OK OK
Nuove MILH, MILR, MILC --- --- OK
istruzioni di =DT, <>DT, <DT, <=DT, >DT, --- --- OK
applicazione >=DT
BCMP2 --- --- OK
GRY --- --- OK
TPO --- --- OK
DSW, TKY, HKY, MTR, 7SEG --- --- OK
EXPLT, EGATR, ESATR, --- --- OK
ECHRD, ECHWR
Lettura/Scrittura da/su moduli --- --- OK
CPU bus tramite IORD/IOWR
PRV2 --- --- ---
xii
CPU CJ1-H/CJ1M
Funzioni CPU CJ1-H CPU CJ1M, CPU CJ1M,
(CJ1@-CPU@@H) eccetto i modelli di base modelli di base
(CJ1M-CPU@@) (CJ1M-
CPU11/21)
CPU CPU versione CPU CPU versione CPU versione
precedenti alla 2.0 precedenti alla 2.0 2.0
versione 2.0 versione 2.0
Scaricamento e caricamento di --- OK --- OK OK
singoli task
Protezione da lettura migliorata --- OK --- OK OK
mediante password
Protezione da scrittura dai --- OK --- OK OK
comandi FINS inviati alle CPU
tramite reti
Connessioni di rete in linea OK, ma solo se OK OK, ma solo se OK OK
senza tabelle degli I/O all'accensione all'accensione
del sistema è del sistema è
impostata l'allo- impostata l'allo-
cazione delle cazione delle
tabelle degli I/O tabelle degli I/O
Comunicazioni tramite un OK per un mas- OK per un mas- OK per un mas- OK per un mas- OK per un mas-
massimo di 8 livelli di rete simo di 8 gruppi simo di simo di 8 gruppi simo di simo di
64 gruppi 64 gruppi 64 gruppi
Connessione in linea ai PLC OK a partire dal OK OK a partire dal OK OK
tramite PT della serie NS numero di lotto numero di lotto
030201 030201
Impostazione dei canali del --- OK --- OK OK
primo slot
Trasferimento automatico --- OK --- OK OK
all'accensione del sistema
senza un file dei parametri
Rilevamento automatico del --- OK --- OK OK
metodo di allocazione degli I/O
per il trasferimento automatico
all'accensione del sistema
Ore di inizio e fine del --- OK --- OK OK
funzionamento
Nuove MILH, MILR, MILC --- OK --- OK OK
istruzioni =DT, <>DT, <DT, --- OK --- OK OK
di applica- <=DT, >DT, >=DT
zione
BCMP2 --- OK OK OK OK
GRY OK a partire dal OK OK a partire dal OK OK
numero di lotto numero di lotto
030201 030201
TPO --- OK --- OK OK
DSW, TKY, HKY, --- OK --- OK OK
MTR, 7SEG
EXPLT, EGATR, --- OK --- OK OK
ESATR, ECHRD,
ECHWR
Lettura/Scrittura --- OK --- OK OK
da/su Unità bus
CPU bus tramite
IORD/IOWR
PRV2 --- --- --- OK, ma solo per OK, ma solo per
i modelli con I/O i modelli con I/O
integrati integrati
xiii
Funzioni supportate dalle CPU versione 3.0 o successiva
CPU CS1-H (CS1@-CPU@@H)
Funzioni Versione della CPU
CPU precedenti Versione 3.0
alla versione 2.0,
versione 2.0
Blocchi funzione (supportati da CX-Programmer versione 5.0 o --- OK
successiva)
Gateway seriale (conversione dei comandi FINS in comandi --- OK
CompoWay/F a livello di porta seriale integrata)
Memoria dei commenti (nella memoria flash interna) --- OK
Dati di backup semplice espansi --- OK
Nuove istruzioni TXDU(256), RXDU(255) (supporto per la comuni- --- OK
di applicazione cazione senza protocollo tra moduli di comunica-
zione seriale e CPU della versione 1.2 o
successiva)
Istruzioni di conversione del modello: --- OK
XFERC(565), DISTC(566), COLLC(567),
MOVBC(568), BCNTC(621)
Istruzioni speciali per blocchi funzione: --- OK
GETID(286)
Funzioni di Istruzioni TXD(235) e RXD(236) (supporto per la --- OK
istruzione comunicazione senza protocollo tra schede di
addizionali comunicazione seriale e CPU della versione 1.2 o
successiva)
xiv
Versioni delle CPU e dispositivi di programmazione
Per consentire l'utilizzo delle funzioni aggiunte alla CPU versione 2.0, è
necessario utilizzare CX-Programmer versione 4.0 o successiva.
Per consentire l'utilizzo delle funzioni aggiunte ai blocchi funzione per le CPU
versione 3.0, è necessario utilizzare CX-Programmer versione 5.0 o
successiva.
Nelle seguenti tabelle è illustrata la relazione tra le versioni delle CPU e le
versioni di CX-Programmer.
Versioni delle CPU e dispositivi di programmazione
CPU Funzioni CX-Programmer Console di
Ver- Ver- Ver- Versione program-
sione 3.2 sione sione 5.0 o mazione
o prece- 3.3 4.0 succes-
dente siva
CPU CJ1M, Funzioni Con utilizzo delle nuove --- --- OK OK Nessuna
modelli di base, aggiuntive della funzioni restrizione
versione della versione 2.0 Senza utilizzo delle --- OK OK OK
CPU 2.0 nuove funzioni
CPU CS1-H, CJ1- Funzioni Con utilizzo delle nuove --- --- OK OK
H e CJ1M, eccetto aggiuntive della funzioni
modelli di base, versione 2.0 Senza utilizzo delle OK OK OK OK
versione della nuove funzioni
CPU 2.0
CPU CS1D per Funzioni Con utilizzo delle nuove --- --- OK OK
sistemi a singola aggiuntive della funzioni
CPU, versione versione 2.0 Senza utilizzo delle OK
della CPU 2.0 nuove funzioni
CPU CS1D per Funzioni Con utilizzo delle nuove --- --- OK OK
sistemi a due aggiuntive della funzioni
CPU, versione versione 1.1 Senza utilizzo delle OK OK OK OK
della CPU 1. nuove funzioni
CPU della serie Funzioni Con utilizzo dei blocchi --- --- --- OK
CS/CJ versione aggiuntive per funzione
3.0 blocchi funzione Senza utilizzo dei blocchi OK OK OK OK
della versione 3.0 funzione
Nota Come illustrato sopra, se non si utilizzano le funzioni aggiunte alla versione
2.0 o alla versione 1.1, non è necessario eseguire l'aggiornamento a CX-
Programmer versione 4.0.
Impostazione del tipo di La versione della CPU non influisce sull'impostazione effettuata per il tipo di
dispositivo dispositivo in CX-Programmer. Selezionare il tipo di dispositivo come illustrato
nella seguente tabella, indipendentemente dalla versione della CPU.
Serie Gruppo CPU Modello di CPU Impostazione del tipo di dispositivo in
CX-Programmer versione 4.0 o
successiva
Serie CS CPU CS1-H CS1G-CPU@@H CS1G-H
CS1H-CPU@@H CS1H-H
CPU CS1D per sistemi a due CPU CS1D-CPU@@H CS1D-H (o CS1H-H)
CPU CS1D per sistemi a singola CPU CS1D-CPU@@S CS1D-S
Serie CJ CPU CJ1-H CJ1G-CPU@@H CJ1G-H
CJ1H-CPU@@H CJ1H-H
CPU CJ1M CJ1M-CPU@@ CJ1M
xv
Risoluzione dei problemi relativi alle versioni delle CPU in CX-Programmer
Problema Causa Soluzione
Utilizzando CX-Programmer Controllare il programma o
versione 4.0 o successiva, si è cambiare la CPU in cui si
tentato di scaricare un desidera scaricare il
programma che contiene programma con una CPU
istruzioni supportate solo dalle versione 2.0 o successiva.
CPU versione 2.0 o successiva in
una CPU precedente alla
Dopo la visualizzazione del messaggio sopra versione 2.0.
riportato, verrà visualizzato un errore di compilazione
nella scheda Compile (Compila) della finestra di
output.
Utilizzando CX-Programmer Controllare le impostazioni
versione 4.0 o successiva, si è delle impostazioni del PLC o
tentato di scaricare impostazioni cambiare la CPU in cui si
del PLC che contengono desidera scaricare le
impostazioni supportate solo impostazioni con una CPU
dalle CPU versione 2.0 o versione 2.0 o successiva.
successiva, ovvero non impostate
sui valori predefiniti, in una CPU
precedente alla versione 2.0.
“????” viene visualizzato in un programma trasferito Si è utilizzato CX-Programmer Non è possibile caricare le
dal PLC a CX-Programmer. versione 3.3 o precedente per nuove istruzioni utilizzando
caricare un programma che CX-Programmer versione 3.3
contiene istruzioni supportate o precedente. Utilizzare CX-
solo dalle CPU versione 2.0 o Programmer versione 4.0 o
successiva da una CPU versione successiva.
2.0 o successiva.
xvi
SOMMARIO
PRECAUZIONI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
1 Destinatari del manuale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
2 Precauzioni generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
3 Precauzioni per la sicurezza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
4 Precauzioni relative all'ambiente operativo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
5 Precauzioni per le applicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
6 Conformità alle direttive dell'Unione Europea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx
CAPITOLO 1
Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1-1 Caratteristiche generali delle istruzioni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1-2 Controlli dell'esecuzione di istruzioni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
CAPITOLO 2
Sommario delle istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2-1 Classificazioni in base alla funzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2-2 Istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2-3 Elenco alfabetico delle istruzioni in base al codice mnemonico. . . . . . . . . . . . . . . . . . . . . . 108
2-4 Elenco delle istruzioni in base al codice funzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
CAPITOLO 3
Istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3-1 Descrizioni delle istruzioni: notazione e layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
3-2 Aggiornamentidelle istruzioni e nuove istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
3-3 Istruzioni di ingresso sequenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
3-4 Istruzioni di uscita sequenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
3-5 Istruzioni di controllo sequenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
3-6 Istruzioni di temporizzatore e contatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
3-7 Istruzioni di confronto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
3-8 Istruzioni di spostamento dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
3-9 Istruzioni di scorrimento dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
3-10 Istruzioni di incremento e decremento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
3-11 Istruzioni matematiche con simboli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
3-12 Istruzioni di conversione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
3-13 Istruzioni logiche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
3-14 Istruzioni matematiche speciali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
3-15 Istruzioni matematiche a virgola mobile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
3-16 Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) 613
3-17 Istruzioni di elaborazione dei dati delle tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
3-18 Istruzioni di controllo dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
3-19 Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
3-20 Istruzioni di controllo degli interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
xvii
SOMMARIO
3-21 Istruzioni per contatore veloce e uscita a impulsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
3-22 Istruzioni di step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
3-23 Istruzioni per moduli di I/O di base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
3-24 Istruzioni per la comunicazione seriale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
3-25 Istruzioni di rete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
3-26 Istruzioni per la memoria dei file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
3-27 Istruzioni di visualizzazione: DISPLAY MESSAGE: MSG(046). . . . . . . . . . . . . . . . . . . . . 1058
3-28 Istruzioni per l'orologio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
3-29 Istruzioni di debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075
3-30 Istruzioni di diagnostica per malfunzionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
3-31 Altre istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
3-32 Istruzioni di programmazione a blocchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124
3-33 Istruzioni di elaborazione delle stringhe di testo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158
3-34 Istruzioni di controllo dei task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192
3-35 Istruzioni di conversione del modello (solo CPU versione 3.0 o successiva) . . . . . . . . . . . . 1199
CAPITOLO 4
Tempi di esecuzione delle istruzioni e numero di step . . . . 1219
4-1 Tempi di esecuzione delle istruzioni e numero di step per la serie CS . . . . . . . . . . . . . . . . . 1221
4-2 Tempi di esecuzione delle istruzioni e numero di step per la serie CJ . . . . . . . . . . . . . . . . . 1250
Appendices
A Tabella dei codici ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287
Storico delle revisioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295
xviii
Informazioni sul manuale
Nel presente manuale viene fornita una descrizione una descrizione delle istruzioni di
programmazione per i diagrammi ladder dei moduli CPU supportate dai controllori programmabili
(PLC) della serie CS/CJ. I prodotti della serie CS e della serie CJ sono suddivisi come illustrato nella
seguente tabella.
Modulo Serie CS Serie CJ
CPU CPU CS1-H: CS1H-CPU@@H CPU CJ1-H: CJ1H-CPU@@H
CS1G-CPU@@H CJ1G-CPU@@H
CJ1G-CPU@@P
CPU CS1: CS1H-CPU@@-EV1 CPU CJ1: CJ1G-CPU@@-EV1
CS1G-CPU@@-EV1 CPU CJ1M: CJ1M-CPU@@
CPU CS1D:
CPU CS1D per sistemi a due CPU:
CS1D-CPU@@H
CPU CS1D per sistemi a singola CPU:
CS1D-CPU@@S
CPU con processo CS1D:
CS1D-CPU@@P
Moduli di I/O di base Moduli di I/O di base della serie CS Moduli di I/O di base della serie CJ
Moduli di I/O speciali Moduli di I/O speciali della serie CS Moduli di I/O speciali della serie CJ
Unità bus CPU Unità bus CPU della serie CS Unità bus CPU della serie CJ
Moduli di Moduli di alimentazione della serie CS Moduli di alimentazione della serie CJ
alimentazione
Leggere attentamente il presente manuale e tutti i manuali correlati elencati nella tabella riportata nella
pagina seguente e accertarsi di avere ben compreso le informazioni fornite prima di procedere alla
programmazione o all'utilizzo delle CPU della serie CS/CJ in un sistema PLC.
Capitolo 1 introduce i PLC della serie CS/CJ in base alla serie di istruzioni supportate.
Capitolo 2 fornisce vari elenchi di istruzioni che è possibile utilizzare come riferimento.
Capitolo 3 descrive le singole istruzioni della serie di istruzioni per la serie CS/CJ.
Capitolo 4 fornisce i tempi di esecuzione delle istruzioni e il numero di step necessari per ciascuna
istruzione della serie CS/CJ.
xix
Informazioni sul manuale (continua)
Nome N. cat. Descrizione
Serie SYSMAC CS/CJ W340 Fornisce una descrizione delle istruzioni di
CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, programmazione utilizzate nei diagrammi ladder
CS1D-CPU@@H, CS1D-CPU@@S, CJ1G-CPU@@, supportate dai PLC della serie CS/CJ (il presente
CJ1M-CPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H manuale).
Controllori programmabili - Manuale di riferimento delle
istruzioni
Serie SYSMAC CS/CJ W394 Fornisce informazioni sulla programmazione e
CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, altri metodi per l'utilizzo delle funzioni dei PLC
CS1D-CPU@@H, CS1D-CPU@@S, CJ1G-CPU@@, della serie CS/CJ
CJ1M-CPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H
Controllori programmabili - Manuale di programmazione
Serie SYSMAC CS W339 Fornisce informazioni generali sui PLC della serie
CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H CS, ne descrive le caratteristiche di
Manuale dell'operatore dei controllori programmabili progettazione, le procedure di installazione e
manutenzione nonché altre operazioni di base
per l'utilizzo dei PLC.
Serie SYSMAC CJ W393 Fornisce informazioni generali sui PLC della serie
CJ1G-CPU@@, CJ1M-CPU@@, CJ1G-CPU@@P, CJ, ne descrive le caratteristiche di progettazione,
CJ1G/H-CPU@@H le procedure di installazione e manutenzione
Controllori programmabili - Manuale dell'operatore nonché altre operazioni di base per l'utilizzo dei
PLC
CPU CJ1M-CPU21/22/23 della serie CJ con I/O integrati W395 Descrive le funzioni degli I/O integrati delle
Manuale dell'operatore CPU CJ1M
SYSMAC CS Series W405 Fornisce informazioni generali e descrive le
CS1D-CPU@@H CPU Units caratteristiche di progettazione, le procedure di
CS1D-CPU@@S CPU Units installazione e manutenzione nonché altre
CS1D-DPL1 Duplex Unit operazioni di base per un sistema duplex basato
CS1D-PA207R Power Supply Unit sulla CPU CS1D.
Duplex System Operation Manual
SYSMAC CS/CJ Series W341 Fornisce informazioni sui metodi di
CQM1H-PRO01-E, C200H-PRO27-E, CQM1-PRO01-E programmazione e utilizzo dei PLC della serie
Programming Consoles Operation Manual CS/CJ mediante una console di programmazione.
SYSMAC CS/CJ Series W342 Descrive i comandi di comunicazione FINS e dei
CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, PLC della serie C (Host Link) utilizzati con i PLC
CS1D-CPU@@H, CS1D-CPU@@S, CJ1M-CPU@@, della serie CS/CJ.
CJ1G-CPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H,
CS1W-SCB21-V1/41-V1, CS1W-SCU21-V1,
CJ1W-SCU21-V1/41-V1
Communications Commands Reference Manual
SYSMAC WS02-CXP@@-E W414 Fornisce informazioni sull'utilizzo di CX-Program-
CX-Programmer Operation Manual Version 3.@ mer, un dispositivo di programmazione software
SYSMAC WS02-CXP@@-E W425 che supporta i PLC della serie CS/CJ, e del pro-
CX-Programmer Operation Manual Version 4.@ gramma CX-Net incluso in CX-Programmer.
SYSMAC WS02-CXP@@-E W437
CX-Programmer Operation Manual Version 5.@
xx
Nome N. cat. Descrizione
SYSMAC WS02-CXP@@-E W438 Descrive specifiche e metodi operativi relativi ai
CX-Programmer Operation Manual Function Blocks blocchi funzione. Queste informazioni sono rile-
vanti solo se si utilizzano i blocchi funzione con
CX-Programmer versione 5.0 e CPU CJ1-H/
CJ1M versione 3.0. Per informazioni dettagliate
su altre funzionalità di CX-Programmer versione
5.0, fare riferimento al manuale CX-Programmer
Operation Manual Version 5.@ (W437). 5.0.
SYSMAC CS/CJ Series W336 Descrive l'utilizzo dei moduli e delle schede di
CS1W-SCB21-V1/41-V1, CS1W-SCU21-V1, comunicazione seriale per la comunicazione
CJ1W-SCU21-V1/41-V1 seriale con i dispositivi esterni, incluso l'impiego
Serial Communications Boards/Units Operation Manual dei protocolli di sistema standard per i prodotti
OMRON.
SYSMAC WS02-PSTC1-E W344 Fornisce informazioni sull'utilizzo di CX-Protocol
CX-Protocol Operation Manual per la creazione di protocol macro, impiegate
come sequenze di comunicazione nella comuni-
cazione con dispositivi esterni.
!AVVERTENZA La mancata lettura o comprensione delle informazioni fornite in questo manuale può
fare insorgere condizioni di rischio e conseguenti lesioni personali, anche mortali,
danneggiamento o funzionamento non corretto del prodotto. Leggere ogni sezione
per intero e accertarsi di avere compreso le informazioni in essa contenute e quelle
correlate prima di eseguire una delle procedure o operazioni descritte.
xxi
xxii
PRECAUZIONI
In questo capitolo sono riportate le precauzioni generali per l'uso dei controllori programmabili (PLC) della serie CS/CJ e
dei dispositivi collegati.
Le informazioni contenute in questo capitolo sono importanti per garantire un utilizzo sicuro e affidabile dei con-
trollori programmabili. È necessario leggere il capitolo e comprenderne il contenuto prima di configurare o utiliz-
zare un PLC.
xxiii
Destinatari del manuale 1
2 Precauzioni generali
L'utente deve utilizzare il prodotto in base alle specifiche riportate nei manuali
dell'operatore.
Prima di utilizzare il prodotto in condizioni non descritte nel manuale o di appli-
carlo a sistemi di controllo nucleare, sistemi ferroviari, sistemi per l’aviazione,
veicoli, sistemi di combustione, apparecchiature medicali, macchine da luna
park, apparecchiature di sicurezza e qualunque altro sistema, macchina o appa-
recchiatura, il cui utilizzo errato potrebbe avere un serio impatto sull'incolumità di
persone o protezione di cose, rivolgersi al proprio rappresentante OMRON.
Accertarsi che i valori nominali e le specifiche del prodotto siano sufficienti per i
sistemi, le macchine e le apparecchiature che verranno utilizzati e dotare sem-
pre tali sistemi, macchine e apparecchiature di doppi meccanismi di sicurezza.
Nel presente manuale vengono fornite informazioni sulla programmazione e sul
funzionamento del modulo. Si raccomanda di leggere il manuale prima di utiliz-
zare il modulo per la prima volta e tenerlo sempre a portata di mano come riferi-
mento durante le operazioni.
!AVVERTENZA È di fondamentale importanza che il PLC e tutti i relativi moduli vengano utiliz-
zati per lo scopo specificato e nelle condizioni specificate, in particolare in
applicazioni che implicano rischi diretti o indiretti per l'incolumità delle per-
sone. Prima di utilizzare il PLC per tali applicazioni, rivolgersi al proprio rap-
presentante OMRON.
!AVVERTENZA Non tentare di smontare, riparare o modificare alcun modulo. Qualsiasi inter-
vento in tal senso potrebbe provocare malfunzionamento, incendi o scosse
elettriche.
!AVVERTENZA Applicare adeguate misure di sicurezza ai circuiti esterni (cioè, esterni al con-
trollore programmabile), incluse quelle riportate di seguito, per garantire la mas-
sima sicurezza del sistema in caso di anomalie dovute al malfunzionamento del
PLC o ad altri fattori esterni che influiscono sul funzionamento del PLC. Disat-
tendere queste precauzioni potrebbe essere causa di gravi incidenti.
• I circuiti di controllo esterni devono essere dotati di circuiti di arresto di
emergenza, circuiti di interblocco, circuiti di finecorsa e altre misure di
sicurezza analoghe.
• Il PLC disattiva tutte le uscite quando la funzione di autodiagnostica rileva
un errore o viene eseguita un'istruzione FALS (allarme di guasto grave).
Come contromisura in caso di tali errori, il sistema deve essere dotato di
misure di sicurezza esterne.
• Le uscite del PLC potrebbero restare attivate o disattivate in caso di depo-
sizione elettrolitica, bruciatura dei relè di uscita o distruzione dei transistor
di uscita. Come contromisura per questo problema, il sistema deve
essere dotato di misure di sicurezza esterne.
• In presenza di sovraccarico o cortocircuito sull'uscita a 24 Vc.c. (alimen-
tazione di servizio del PLC), si potrebbe verificare un abbassamento di
tensione e una conseguente disattivazione delle uscite. Come contromi-
sura per questo problema, il sistema deve essere dotato di misure di sicu-
rezza esterne.
!Attenzione Verificare lo stato di sicurezza prima di trasferire file di dati memorizzati nella
memoria file (scheda di memoria o area di memoria file nell'area EM) all'area
degli I/O (CIO) della CPU utilizzando un dispositivo periferico. In caso contra-
rio, è possibile che i dispositivi collegati al modulo di uscita non funzionino in
modo corretto, indipendentemente dalla modalità operativa della CPU.
!Attenzione 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 ano-
mali provocati da guasti a carico delle linee di segnale, cadute di tensione
temporanee o altre cause. Se non vengono adottate misure appropriate, il
funzionamento anomalo del sistema potrebbe essere causa di gravi incidenti.
!Attenzione Eseguire modifiche in linea solo dopo aver verificato che l'estensione del
tempo di ciclo non provoca effetti negativi. In caso contrario, i segnali di
ingresso potrebbe risultare illeggibili.
!Attenzione Le CPU CS1-H, CJ1-H, CJ1M e CS1D eseguono automaticamente il backup
del programma utente e dei dati di parametro nella memoria flash quando tali
dati vengono scritti nella CPU. I dati della memoria I/O (comprese le aree DM,
EM e HR) non vengono tuttavia scritti nella memoria flash. Un'apposita batte-
ria consente di conservare i dati delle aree DM, EM e HR nel caso in cui si
verifichino cadute di tensione. Se si verificano errori relativi alla batteria, i dati
contenuti in queste aree potrebbero risultare non corretti dopo la caduta di
tensione. Se i dati delle aree DM, EM e HR vengono utilizzati per il controllo di
uscite esterne, impedire l'invio di dati non corretti quando il flag di errore della
batteria (A40204) è attivato.
!Attenzione Verificare lo stato di sicurezza sul nodo di destinazione prima di trasferire un
programma o modificare il contenuto dell'area di memoria I/O. La mancata
osservanza di questa precauzione prima di procedere a tali operazioni implica
il rischio di lesioni.
xxv
Precauzioni relative all'ambiente operativo 4
!Attenzione Serrare le viti sulla morsettiera del modulo di alimentazione c.a. applicando la
coppia specificata nel manuale dell'operatore. La presenza di viti allentate
può provocare bruciature o malfunzionamento.
!Attenzione Non toccare il modulo di alimentazione mentre eroga corrente o immediata-
mente dopo lo spegnimento, poiché la temperatura del modulo di alimenta-
zione potrebbe essere tale da provocare ustioni.
!Attenzione Prestare particolare attenzione durante il collegamento di PC o altri dispositivi
periferici a un PLC su cui sia installato un modulo non isolato (CS1W-CLK12/
52(-V1) o CS1W-ETN01) collegato a un alimentatore esterno. Se l'estremità a
24 V dell'alimentatore esterno viene collegata a terra e l'estremità a 0 V della
periferica viene collegata a terra, si creerà un corto circuito. Durante il collega-
mento di una periferica a questo tipo di PLC, eseguire la messa a terra
dell'estremità a 0 V dell'alimentatore esterno oppure non eseguire affatto la
messa a terra dell'alimentatore esterno.
xxvi
Precauzioni per le applicazioni 5
xxvii
Precauzioni per le applicazioni 5
nali di uscita sui moduli di uscita c.c. e altri moduli vengono momentanea-
mente sollecitati all'accensione del PLC.
• Il cliente è tenuto a implementare meccanismi di sicurezza per guasti ed
errori allo scopo di garantire la sicurezza nel caso in cui le uscite dei
moduli di uscita rimangano attivate a seguito di guasti dei circuiti interni a
carico di relè, transistor e altri elementi.
• Il cliente è tenuto a implementare meccanismi di sicurezza per guasti ed
errori allo scopo di garantire la sicurezza in caso di segnali errati, man-
canti o anomali provocati da guasti a carico delle linee di segnale, cadute
di tensione temporanee o altre cause.
• È responsabilità del cliente dotare i circuiti esterni, ovvero esterni al con-
trollore programmabile, di circuiti di interblocco, circuiti di finecorsa e altre
misure di sicurezza analoghe.
• Non spegnere il PLC durante il trasferimento di dati. In particolare, non
spegnere il PLC durante le operazioni di lettura o scrittura su una scheda
di memoria e non rimuovere la scheda di memoria mentre l'indicatore
BUSY è acceso. Per rimuovere una scheda di memoria, premere innanzi-
tutto l'interruttore di alimentazione della scheda di memoria, quindi atten-
dere che l'indicatore BUSY si spenga prima di rimuoverla.
• Se il bit di ritentività IOM è impostato su ON e si passa dalla modalità
operativa RUN o MONITOR alla modalità PROGRAM, le uscite del PLC
non vengono disattivate e mantengono lo stato precedente. Accertarsi
che i carichi esterni non instaurino condizioni pericolose quando ciò
accade. Se il funzionamento viene interrotto a causa di un errore fatale,
inclusi gli errori generati dall'istruzione FALS(007), tutte le uscite del
modulo di uscita vengono disattivate e viene mantenuto solo lo stato delle
uscite interne.
• L'integrità del contenuto delle aree DM, EM e HR della CPU è assicurata
da una batteria di backup. Se la batteria si scarica, i dati potrebbero
andare persi. Adottare contromisure adeguate a livello di programma uti-
lizzando il flag di errore della batteria (A40204) per reinizializzare i dati o
intervenire in altro modo in caso di esaurimento della batteria.
• Quando si fornisce corrente a 200-240 Vc.a. con un PLC della serie CS,
rimuovere sempre il ponticello di metallo dai terminali del selettore di ten-
sione del modulo di alimentazione (tale operazione non è necessaria per
moduli di alimentazione con gamme di tensione più ampie). Se il ponti-
cello di metallo rimane collegato durante l'alimentazione a 200-240 Vc.a.,
il prodotto verrà distrutto.
• Utilizzare sempre le tensioni di alimentazione specificate nei manuali
dell'operatore. Una tensione errata può provocare un malfunzionamento o
bruciature.
• Adottare le misure necessarie per garantire che il sistema sia sempre ali-
mentato nel rispetto delle specifiche di tensione e frequenza nominali. In
particolare, fare molta attenzione in luoghi dove l'alimentazione è insta-
bile. Un'alimentazione non adeguata può comportare un funzionamento
incorretto.
• Installare interruttori esterni o altri dispositivi di sicurezza per evitare cor-
tocircuiti nelle aree di cablaggio esterno. Misure insufficienti di protezione
da cortocircuiti potrebbero causare bruciature.
• Non applicare ai moduli di ingresso tensioni superiori alla tensione di
ingresso nominale. Tensioni eccessivamente alte potrebbero essere
causa di bruciature.
• Non applicare tensioni o collegare carichi ai moduli di uscita superiori alla
corrente di carico massima. Tensioni o carichi eccessivamente elevati
potrebbero essere causa di bruciature.
xxviii
Precauzioni per le applicazioni 5
xxix
Conformità alle direttive dell'Unione Europea 6
• Non utilizzare cavi RS-232C per personal computer di terze parti. Utiliz-
zare sempre i cavi speciali elencati in questo manuale o assemblare i cavi
in conformità alle specifiche indicate. L'impiego di cavi di terze parti
potrebbe causare danni ai dispositivi esterni o alla CPU.
• Non collegare mai il pin 6 (alimentazione a 5 V) della porta RS-232C di
una CPU a un dispositivo diverso da un adattatore NT-AL001 o CJ1W-
CIF11. Il dispositivo esterno o la CPU potrebbe subire danni.
• Quando si sostituiscono componenti, accertarsi sempre che le specifiche
tecniche del nuovo componente siano appropriate. Disattendere questa
precauzione può causare un malfunzionamento o bruciature.
• Prima di toccare un modulo, toccare un oggetto metallico con messa a
terra per scaricare l'elettricità statica accumulata. Disattendere questa
precauzione può causare un malfunzionamento o danneggiare il modulo.
• Quando si trasportano o immagazzinano schede di circuiti stampati,
coprirle sempre con materiale antistatico per proteggerle dall'elettricità
statica e mantenere la temperatura di stoccaggio appropriata.
• Non toccare le schede di circuiti stampati o i componenti montati sulle
schede a mani nude. Sulle schede vi sono contatti appuntiti ed altre parti
che, se toccate incautamente, potrebbero provocare lesioni.
• Non cortocircuitare i terminali della batteria né caricare, smontare, scal-
dare eccessivamente o incenerire la batteria. Non sottoporre la batteria a
forti urti. Ciò potrebbe provocare dispersione, rottura, emissione di calore
o combustione della batteria. Eliminare le batterie che hanno subito forti
urti, ad esempio cadendo sul pavimento, in quanto potrebbero verificarsi
perdite di elettroliti durante l'uso.
• Gli standard UL richiedono che le batterie vengano sostituite solo da tec-
nici esperti. Consentire la sostituzione delle batterie solo da parte di per-
sonale qualificato.
• Nei PLC della serie CJ, i dispositivi scorrevoli posti sulla parte superiore e
inferiore del modulo di alimentazione, della CPU, dei moduli di I/O, dei
moduli di I/O speciale e dei moduli CPU bus devono essere bloccati,
facendoli scorrere finché non scattano in posizione. Se i dispositivi scorre-
voli non vengono bloccati, il modulo non funzionerà in modo corretto.
• Nei PLC della serie CJ, collegare sempre la piastrina di blocco al modulo
sul lato destro del PLC. Senza piastrina di blocco il PLC non funzionerà in
modo corretto.
• L'impostazione di tabelle data link o parametri non corretti può dare luogo
a un funzionamento imprevisto. Anche se le tabelle data link e i parametri
sono stati impostati correttamente, verificare che il sistema controllato
non ne sia influenzato negativamente prima di avviare o interrompere i
data link.
• Quando le tabelle di routing vengono trasferite da un dispositivo di pro-
grammazione alla CPU, i moduli CPU bus vengono riavviati. Il riavvio di
tali unità è necessario per la lettura e l'abilitazione delle nuove tabelle di
routing. Verificare che il sistema non evidenzi problemi prima di consen-
tire la reimpostazione delle unità bus CPU.
xxx
Conformità alle direttive dell'Unione Europea 6
6-2 Principi
Direttive sulla compatibilità elettromagnetica (EMC)
I dispositivi OMRON conformi alle Direttive dell'Unione Europea sono altresì
conformi agli standard EMC, in modo da poter essere facilmente incorporati in
altri dispositivi o macchine complesse. La conformità dei singoli prodotti agli
standard EMC è stata verificata (vedere nota). Tuttavia, la conformità del pro-
dotto agli standard, una volta installato nel sistema del cliente, deve essere veri-
ficata dal cliente stesso.
Le prestazioni relative agli standard EMC dei dispositivi OMRON conformi alle
Direttive dell'Unione Europea variano a seconda della configurazione, cablaggio
e altre condizioni dell'apparecchiatura o pannello di controllo nel quale i disposi-
tivi OMRON sono installati. Pertanto il cliente deve effettuare i controlli finali per
accertarsi che tali dispositivi e la macchina nel suo complesso siano conformi
agli standard EMC.
Nota Gli standard di compatibilità elettromagnetica applicabili sono i seguenti:
EMS (suscettibilità elettromagnetica): EN61131-2 (Serie CS)/
EN61000-6-2 (Serie CJ)
EMI (interferenza elettromagnetica): EN61000-6-4
(Emissione irradiata: norme 10 m)
Direttiva per le basse tensioni (LVD)
Accertarsi sempre che i dispositivi che operano nella gamma di tensioni 50-
1.000 Vc.a. e 75-1.500 Vc.c. soddisfino gli standard di sicurezza per il PLC (EN
61131-2).
xxxi
Conformità alle direttive dell'Unione Europea 6
Contromisure
Per ulteriori informazioni, fare riferimento alla norma EN61000-6-4.
Non è necessaria alcuna contromisura per la riduzione dei disturbi se la fre-
quenza di commutazione del carico per l'intero sistema, incluso il PLC, è infe-
riore a 5 volte al minuto.
È necessario adottare contromisure per la riduzione dei disturbi se la frequenza
di commutazione del carico per l'intero sistema, incluso il PLC, è superiore a
5 volte al minuto.
Esempi di contromisure
Quando si commuta un carico induttivo, collegare un dispositivo di protezione da
sovracorrente, diodi e così via in parallelo con il carico o contatto come mostrato
di seguito.
Circuito Corrente Caratteristiche Requisiti
C.A. C.C.
Metodo CR Sì Sì Se il carico è un relè o solenoide, si deter- La capacità del condensatore deve essere
mina un ritardo tra l'apertura del circuito e di 1-0,5 µF per una corrente di contatto
il ripristino del carico. pari a 1 A e la resistenza del resistore deve
Se la tensione di alimentazione è 24 o 48 essere di 0,5-1 Ω per una tensione di con-
V, collegare il dispositivo di protezione da tatto pari a 1 V. Tuttavia, questi valori pos-
induttivo
Carico
carico.
Alimenta- Se la tensione di alimentazione è 24 o
zione 48 V, collegare il varistore in parallelo con il
carico. Se la tensione di alimentazione è
da 100 a 200 V, inserire il varistore tra i
contatti.
Quando si commuta un carico con una forte corrente di picco, come in una lam-
pada a incandescenza, ridurre la corrente come illustrato di seguito.
Soluzione 1 Soluzione 2
R
Uscita Uscita
R
COM COM
Generando una corrente di Utilizzando un resistore
riposo pari a circa un terzo del per limitare il flusso di
valore nominale della lampada corrente
a incandescenza
xxxii
CAPITOLO 1
Introduzione
In questa sezione sono riportate le informazioni sulle caratteristiche generali delle istruzioni e sugli errori che possono ve-
rificarsi durante l'esecuzione di un'istruzione.
1
Caratteristiche generali delle istruzioni Capitolo 1-1
• CPU CS1
Modello Capacità del programma Punti di I/O
CS1H-CPU67-E 250.000 step 5.120
CS1H-CPU66-E 120.000 step
CS1H-CPU65-E 60.000 step
CS1H-CPU64-E 30.000 step
CS1H-CPU63-E 20.000 step
CS1G-CPU45-E 60.000 step
CS1G-CPU44-E 30.000 step 1.280
CS1G-CPU43-E 20.000 step 960
CS1G-CPU42-E 10.000 step
2
Caratteristiche generali delle istruzioni Capitolo 1-1
Serie CJ
Nelle tabelle seguenti è riportato il numero massimo di step programmabili in
ciascun modulo CPU della serie CJ.
• CPU CJ1-H
Modello Capacità del programma Punti di I/O
CJ1H-CPU67H 250.000 step 2.560
CJ1H-CPU66H 120.000 step
CJ1H-CPU65H 60.000 step
CJ1G-CPU45H 60.000 step 1.280
CJ1G-CPU44H 30.000 step
CJ1G-CPU43H 20.000 step 960
CJ1G-CPU42H 10.000 step
• CPU CJ1
Modello Capacità del programma Punti di I/O
CJ1G-CPU45 60.000 step 1.280
CJ1G-CPU44 30.000 step
• CPU CJ1M
Modello Capacità del programma Punti di I/O
CJ1M-CPU23 20.000 step 640
CJ1M-CPU22 10.000 step 320
CJ1M-CPU21 5.000 step 160
CJ1M-CPU13 20.000 step 640
CJ1M-CPU12 10.000 step 320
CJ1M-CPU11 5.000 step 160
Nota La capacità dei programmi per i PLC della serie CS/CJ viene misurata in step,
mentre la capacità dei programmi per i PLC OMRON precedenti, ad esempio
i PLC delle serie C e CV, veniva misurata in canali. In altre parole, 1 step equi-
vale a 1 canale. Tuttavia, poiché per alcune istruzioni della serie CS/CJ la
quantità di memoria richiesta per l'esecuzione è diversa rispetto ai modelli
precedenti, la conversione per un PLC della serie CJ della capacità di un pro-
gramma utente sviluppato per un altro PLC in base al criterio secondo cui
1 canale equivale a 1 step non produrrà un valore accurato. Per indicazioni
sulla conversione delle capacità di programmi sviluppati per PLC OMRON
precedenti, fare riferimento alle informazioni riportate alla fine della CAPI-
TOLO 4 Tempi di esecuzione delle istruzioni e numero di step.
Il numero di step in un programma non corrisponde al numero di istruzioni. Ad
esempio, le istruzioni LD e OUT richiedono 1 step ciascuna, mentre l'istruzione
MOV(021) richiede 3 step. Altre istruzioni richiedono fino a 7 step ciascuna. Inol-
tre, il numero di step richiesto da un'istruzione viene incrementato di uno step
per ogni operando a doppia lunghezza utilizzato nell'istruzione. Ad esempio,
l'istruzione MOVL(498) richiede normalmente 3 step, ma saranno necessari 4
step se è stata specificata una costante per l'operando del canale di origine, S.
Per informazioni sul numero di step richiesti da ogni istruzione, consultare la
CAPITOLO 4 Tempi di esecuzione delle istruzioni e numero di step.
come condizioni di fronto o test) viene ese- Condizione di esecuzione con stato ON
creata per un solo ciclo per ciascuna
esecuzione) guita ad ogni ciclo. La transizione da OFF a ON in CIO 000103.
condizione di esecuzione è
vera per ogni ciclo quando
il risultato passa dallo stato
OFF allo stato ON.
Differenziata Istruzioni di uscita L'istruzione viene eseguita %Istruzione 0001
sul fronte di solo una volta quando la eseguita una volta 02 %SET
per differenziazione Istruzione SET eseguita una
discesa (con condizione di esecuzione sul fronte di discesa volta per ogni transizione da
prefisso %) passa dallo stato ON allo ON a OFF in CIO 000102.
stato OFF.
Istruzioni di ingresso L'elaborazione del bit (ad Istruzione di ingresso con 0001
(istruzioni utilizzate esempio di lettura, con- differenziazione sul fronte di 03
discesa
come condizioni di fronto o test) viene ese-
esecuzione) guita ad ogni ciclo. La Condizione di esecuzione con
stato ON creata per un solo ciclo
condizione di esecuzione è per ciascuna transizione da ON
vera per ogni ciclo quando a OFF in CIO 000103.
il risultato passa dallo stato
ON allo stato OFF.
Nota L'opzione di differenziazione sul fronte di discesa (%) è disponibile solo per le
istruzioni LD, AND, OR e RSET. Per creare variazioni con differenziazione sul
fronte di discesa di altre istruzioni, è necessario controllare l'esecuzione
dell'istruzione con bit di lavoro controllati con DIFD(014) o DOWN(522).
4
Caratteristiche generali delle istruzioni Capitolo 1-1
! @MOV
Codice mnemonico istruzione
Variazione di differenziazione sul fronte di salita
Variazione di aggiornamento immediato
MOV JMP
#0000 S (origine) &3 N (numero)
D00000 D (destinazione)
5
Caratteristiche generali delle istruzioni Capitolo 1-1
Nota È possibile fare riferimento agli operandi di un'istruzione anche in base alla
relativa posizione nell'istruzione (primo operando, secondo operando, ecc.). I
codici utilizzati per l'operando variano in base alla funzione specifica dell'ope-
rando stesso.
MOV
#0000 Primo operando
D00000 Secondo operando
@D@@@@@
Specifica D00256.
Aggiunge il prefisso @.
6
Caratteristiche generali delle istruzioni Capitolo 1-1
Specifica E0_00001.
Specifica E1_00257.
Specifica E2_00002.
Nota Quando nella configurazione del PLC è selezionata la modalità binaria, l'area
DM e gli indirizzi del banco EM corrente (da banco 0 a C) vengono considerati
come indirizzi di memoria consecutivi. Se un canale DM indirizzato indiretta-
mente contiene un valore maggiore di 32.767, nel banco EM 0 verrà specifi-
cato un canale. Ad esempio, E00000 nel banco 0 specificherà quando il
canale DM indirizzato indirettamente contiene un valore esadecimale di 8000
(32.768).
Se un canale EM indirizzato indirettamente contiene un valore maggiore di
32.767, nel banco EM successivo verrà specificato un canale. Ad esempio,
verrà specificato E3_00000 quando il canale EM indirizzato indirettamente nel
banco 2 contiene un valore esadecimale di 8000 (32.768).
Specifica degli indirizzi DM/EM indiretti in modalità BCD
Metodo Descrizione Esempio Esempio di istruzione
Indirizzamento Quando il prefisso * viene immesso MOV #0001 *D00200
indiretto dell'area *D00200
prima di un indirizzo DM o EM, il
DM/EM
(modalità BCD) contenuto BCD di tale canale specifica 0 1 0 0
un altro canale che verrà usato come
operando. Il contenuto può essere da
0000 a 9999, a seconda dell'indirizzo d Specifica D00100.
canale desiderato nell'area DM o EM.
Aggiunge il prefisso *.
*D @@@@@
Da 0000
Contenuto a 9999
(BCD)
7
Caratteristiche generali delle istruzioni Capitolo 1-1
Nota Accertarsi che nei contenuti dei registri indice siano indicati indirizzi di memo-
ria I/O validi.
8
Caratteristiche generali delle istruzioni Capitolo 1-1
Specifica di costanti
Metodo Operandi appli- Formato Codice Intervallo Esempio
cabili dei dati
Costante Tutti i dati binari Binario # Da #0000 a #FFFF ---
dati a 16 bit e i dati binari senza
inclusi in un segno
intervallo Decimale ± Da –32.768 a +32.767 ---
con segno
Decimale & Da &0 a &66.535 ---
senza
segno
Tutti i dati BCD e BCD # Da #0000 a #9999 ---
i dati BCD
inclusi in un
intervallo
Costante Tutti i dati binari Binario # Da #0000 0000 a ---
dati a 32 bit e i dati binari senza #FFFF FFFF
inclusi in un segno
intervallo Decimale + Da –2.147.483.648 a ---
con segno – +2.147.483.647
Decimale & Da &0 a ---
senza &4.294.967.295
segno
Tutti i dati BCD e BCD # Da #0000 0000 a ---
i dati BCD #9999 9999
inclusi in un
intervallo
9
Caratteristiche generali delle istruzioni Capitolo 1-1
SP
10
Caratteristiche generali delle istruzioni Capitolo 1-1
BCD 23 22 21 20 23 22 21 20 23 22 21 20 23 22 21 20
Decimale Da 0 a 9 Da 0 a 9 Da 0 a 9 Da 0 a 9
11
Caratteristiche generali delle istruzioni Capitolo 1-1
Numeri binari con segno I numeri negativi con segno vengono espressi come complemento a 2 del
valore esadecimale assoluto. Per un valore decimale di –12.345, il valore
assoluto è equivalente al valore 3039 esadecimale. Il complemento a 2 è
10000 – 3039 (entrambi esadecimali) o CFC7.
Per convertire un numero binario con segno negativo (CFC7) in decimale, è
necessario calcolare il complemento a 2 di tale numero (10000 – CFC7 =
3039), convertirlo in decimale (3039 esadecimale = 12.345 decimale), quindi
aggiungere un segno meno (–12.345).
12
Controlli dell'esecuzione di istruzioni Capitolo 1-2
13
Controlli dell'esecuzione di istruzioni Capitolo 1-2
Tutti gli errori che provocano l'attivazione del flag di errore o del flag di errore
di accesso vengono considerati come errori di programma. Nella tabella
seguente sono elencati gli errori di programma. È possibile configurare il PLC
in modo che l'esecuzione del programma venga interrotta quando si verifica
uno di questi errori.
Tipo di errore Descrizione Flag correlati
Istruzione END man- Nel programma è assente l'istruzione END(001). Flag di errore di END man-
cante cante (A29511)
Flag di errore di esecu- Per un errore di esecuzione task esistono tre possibili cause: Flag di errore di esecu-
zione task 1) Non esiste un task ciclico eseguibile. zione task (A29512)
2) Non esiste un programma allocato al task.
3) È stato generato un interrupt ma il task ad interrupt corri-
spondente non esiste.
Errore di elaborazione La CPU ha tentato di eseguire un'istruzione ma i dati forniti Flag di errore (ER),
istruzione* nell'operando dell'istruzione non erano corretti. Flag di errore di elabora-
*Se il PLC è stato configurato in modo da considerare gli zione istruzione (A29508)
errori di istruzione come errori irreversibili (errori di pro-
gramma), verrà attivato il flag di errore di elaborazione istru-
zione (A29508) e l'esecuzione del programma verrà
interrotta.
Errore di accesso* Per un errore di accesso esistono cinque possibili cause: Flag di errore di accesso
1) Lettura e scrittura nell'area dei parametri. (AER)
2) Scrittura in una scheda di memoria non installata. Flag di errore di accesso
3) Lettura/scrittura in un banco EM formattato come memoria illegale (A29510)
per i file EM.
4) Scrittura in un'area di sola lettura.
5) Il contenuto di un canale DM/EM non è in formato BCD,
nonostante il PLC sia impostato per l'indirizzamento indiretto
nel formato BCD.
*Se il PLC è stato configurato in modo da considerare gli
errori di istruzione come errori irreversibili (errori di pro-
gramma), verrà attivato il flag di errore di accesso illegale
(A29510) e l'esecuzione del programma verrà interrotta.
Errore BCD DM/EM indi- Il contenuto di un canale DM/EM non è in formato BCD, nono- Flag di errore di accesso
retto* stante il PLC sia impostato per l'indirizzamento indiretto nel (AER),
formato BCD. Flag di errore BCD DM/EM
*Se il PLC è stato configurato in modo da considerare gli indiretto (A29509)
errori di istruzione come errori irreversibili (errori di pro-
gramma), verrà attivato il flag di errore BCD DM/EM indiretto
(A29509) e l'esecuzione del programma verrà interrotta.
Errore di overflow com- Durante la modifica in linea sono state ripetutamente inserite Flag di errore di overflow
parativo ed eliminate istruzioni differenziate (oltre 31.072 volte). comparativo (A29513)
Errore di overflow UM È stato superato l'ultimo indirizzo nella UM (memoria del pro- Flag di errore di overflow
gramma utente). UM (A29515)
Errore di istruzione ille- Il programma contiene un'istruzione che non è possibile ese- Flag di errore di istruzione
gale guire. illegale (A29514)
14
CAPITOLO 2
Sommario delle istruzioni
In questa sezione viene fornito un sommario delle istruzioni utilizzate con i PLC delle serie CS/CJ.
15
Classificazioni in base alla funzione Capitolo 2-1
16
Classificazioni in base alla funzione Capitolo 2-1
17
Classificazioni in base alla funzione Capitolo 2-1
18
Classificazioni in base alla funzione Capitolo 2-1
19
Classificazioni in base alla funzione Capitolo 2-1
20
Classificazioni in base alla funzione Capitolo 2-1
21
Classificazioni in base alla funzione Capitolo 2-1
22
Classificazioni in base alla funzione Capitolo 2-1
Ripetizione LOOP LOOP BLOCK LEND LOOP BLOCK LEND NOT LOOP BLOCK
indirizzo_bit END indirizzo_bit END NOT
LEND LOOP BLOCK --- --- --- ---
condizione_in END
gresso
Istruzioni di --- MOV$ MOV STRING +$ CONCATE- LEFT$ GET STRING
elabora- NATE LEFT
zione strin- STRING
ghe di testo
RIGHT$ GET STRING MID$ GET STRING FIND$ FIND IN
RIGHT MIDDLE STRING
LEN$ STRING LEN- RPLC$ REPLACE IN DEL$ DELETE
GTH STRING STRING
XCHG$ EXCHANGE CLR$ CLEAR INS$ INSERT INTO
STRING STRING STRING
LD, AND, OR STRING --- --- --- ---
+ COMPARI-
=$, <>$, <$, SON
<=$, >$, >=$
Istruzioni di --- TKON TASK ON TKOF TASK OFF --- ---
controllo dei
task
23
Istruzioni Capitolo 2-2
2-2 Istruzioni
2-2-1 Istruzioni di ingresso sequenza
*1
: non supportata dalle CPU CS1D per sistemi a due CPU.
*2:
supportata solo dalle CPU CS1-H, CJ1-H, CJ1M e CS1D.
*3
: supportata solo dalle CPU CS1-H, CJ1-H e CJ1M.
Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
LOAD Barra di Indica un inizio logico e crea una condizione di esecuzione ON/OFF Inizio della 153
LD basata sullo stato ON/OFF del bit operando specificato. logica
distribuzione
@LD Non richiesta
%LD
!LD*1
!@LD*1 Punto
!%LD*1 iniziale
del blocco
LOAD NOT Barra di Indica un inizio logico e crea una condizione di esecuzione ON/OFF Inizio della 155
LD NOT distribuzione basata sull'inverso dello stato ON/OFF del bit operando specificato. logica
@LD NOT*2 Non richiesta
%LD NOT*2
!LD NOT*1
!@LD NOT*3 Punto
!%LD NOT*3 iniziale
del blocco
AND Esegue un AND logico dello stato del bit operando specificato e della Continua su 157
AND condizione di esecuzione corrente. rung
@AND Richiesta
%AND
!AND*1
!@AND*1
!%AND*1
AND NOT Inverte lo stato del bit operando specificato ed esegue un AND logico Continua su 159
AND NOT con la condizione di esecuzione corrente. rung
@AND NOT*2 Richiesta
%AND NOT*2
!AND NOT*1
!@AND NOT*3
!%AND NOT*3
OR Barra di Esegue un OR logico dello stato ON/OFF del bit operando specificato Continua su 161
OR e della condizione di esecuzione corrente. rung
distribuzione
@OR Richiesta
%OR
!OR*1
!@OR*1
!%OR*1
OR NOT Barra di Inverte lo stato del bit specificato ed esegue un OR logico con la condi- Continua su 163
OR NOT zione di esecuzione corrente. rung
distribuzione
@OR NOT*2 Richiesta
%OR NOT*2
!OR NOT*1
!@OR NOT*3
!%OR NOT*3
24
Istruzioni Capitolo 2-2
LD
Blocco logico B
...
LD
Blocco logico B
...
BIT TEST LD TSTN(351), AND TSTN(351) e OR TSTN(351) vengono utilizzate Continua su 174
LD TSTN TSTN(351) nel programma analogamente a LD NOT, AND NOT e OR NOT. La rung
351 condizione di esecuzione viene disattivata quando il bit specificato nel Non richiesta
S canale specificato viene impostato su ON e attivata quando il bit viene
impostato su OFF.
N
S: canale di origine
N: numero di bit
BIT TEST LD TST(350), AND TST(350) e OR TST(350) vengono utilizzate nel Continua su 174
AND TST(350) programma analogamente a LD, AND e OR. La condizione di esecu- rung
AND TST
zione viene attivata quando il bit specificato nel canale specificato Richiesta
350 S viene impostato su ON e disattivata quando il bit viene impostato su
N OFF.
S: canale di origine
N: numero di bit
BIT TEST LD TSTN(351), AND TSTN(351) e OR TSTN(351) vengono utilizzate Continua su 174
AND TSTN AND TSTN(351) nel programma analogamente a LD NOT, AND NOT e OR NOT. La rung
condizione di esecuzione viene disattivata quando il bit specificato nel Richiesta
351 S canale specificato viene impostato su ON e attivata quando il bit viene
N impostato su OFF.
S: canale di origine
N: numero di bit
25
Istruzioni Capitolo 2-2
S: canale di origine
N: numero di bit
BIT TEST LD TSTN(351), AND TSTN(351) e OR TSTN(351) vengono utilizzate Continua su 174
OR TSTN TSTN(351) nel programma analogamente a LD NOT, AND NOT e OR NOT. La rung
condizione di esecuzione viene disattivata quando il bit specificato nel Richiesta
351 S canale specificato viene impostato su ON e attivata quando il bit viene
N impostato su OFF.
S: canale di origine
N: numero di bit
OUTPUT NOT Inverte il risultato (condizione di esecuzione) dell'elaborazione logica e Uscita 178
OUT NOT lo invia in uscita al bit specificato. Richiesta
!OUT NOT*1
R (reset)
011
B: bit
Reset
Condizione di
esecuzione S
Condizione di
esecuzione R
Stato di B
DIFFERENTIATE Uscita 184
UP DIFU(013) DIFU(013) imposta su ON il bit specificato per un ciclo
quando la condizione di esecuzione passa da OFF a ON Richiesta
DIFU B (fronte di salita).
!DIFU*1
B: bit Condizione di esecuzione
013
Stato di B
Un ciclo
26
Istruzioni Capitolo 2-2
Stato di B
Un ciclo
SET Uscita 187
SET SET imposta il bit dell'operando su ON quando la condizione di
SET Richiesta
@SET esecuzione è ON.
%SET
B Condizione di
!SET*1 B: bit esecuzione di SET
!@SET*1
!%SET*1 Stato di B
RESET RSET imposta il bit dell'operando su OFF quando la condizione di Uscita 187
RSET RSET esecuzione è ON. Richiesta
@RSET Condizione di
%RSET B
esecuzione di RSET
!RSET*1 B: bit
!@RSET*1
Stato di B
!%RSET*1
MULTIPLE BIT SETA(530) imposta su ON il numero di bit consecutivi specificato. Uscita 189
SET SETA(530) Richiesta
SETA D
@SETA
530 N1 N2 bit vengono
impostati su 1 (ON)
N2
D: canale iniziale
N1: bit iniziale
N2: numero di bit
MULTIPLE BIT RSTA(531) imposta su OFF il numero di bit consecutivi specificato. Uscita 189
RESET RSTA(531) Richiesta
RSTA
@RSTA D
531 N1 N2 bit vengono
reimpostati su 0
N2 (OFF)
D: canale iniziale
N1: bit iniziale
N2: numero di bit
SINGLE BIT SET SETB(532) imposta su ON il bit specificato nel canale specificato Uscita 192
(solo CS1-H, SETB(532) quando lo stato della condizione di esecuzione è ON. Richiesta
CJ1-H, CJ1M o A differenza dell'istruzione SET, è possibile utilizzare SETB(532) per
CS1D) D impostare un bit in un canale DM o EM.
SETB
@SETB N
!SETB*1 D: indirizzo
!@SETB*1 del canale
N: numero di bit
27
Istruzioni Capitolo 2-2
SINGLE BIT OUTB(534) invia in uscita il risultato (condizione di esecuzione) Uscita 195
OUTPUT (solo OUTB(534) dell'elaborazione logica al bit specificato. Richiesta
CS1-H, CJ1-H, A differenza dell'istruzione OUT, è possibile utilizzare OUTB(534) per
CJ1M o CS1D) D controllare un bit di un canale DM o EM.
OUTB N
@OUTB
!OUTB*1 D: indirizzo
del canale
N: numero di bit
28
Istruzioni Capitolo 2-2
Task 1 Programma A
Passaggio al numero
di task successivo
Task 2 Programma B
Passaggio al numero
di task successivo
Task n Programma Z
Refresh I/O
NO OPERATION Istruzione priva di funzione. Per NOP(000) non viene eseguita alcuna Uscita 198
NOP elaborazione. Non richiesta
000
INTERLOCK Determina l'interblocco per tutte le uscite comprese tra IL(002) Uscita 201
IL IL(002) e ILC(003) quando lo stato della condizione di esecuzione per Richiesta
002 IL(002) è OFF. IL(002) e ILC(003) vengono di norma utilizzate
in coppia.
Condizione di Condizione di
Condizione di esecuzione ON esecuzione OFF
esecuzione
29
Istruzioni Capitolo 2-2
JUMP END Indica la fine di un salto il cui inizio è specificato dall'istruzione Uscita 219
JME JME(005) JMP(004) o CJP(510). Non richiesta
005 N
N: numero di salto
30
Istruzioni Capitolo 2-2
Le istruzioni in questa
Istruzioni sezione non vengono
eseguite e lo stato di uscita
eseguite viene mantenuto. Il tempo
di esecuzione di tali
istruzioni è pertanto
inesistente.
Le istruzioni in questa
sezione non vengono
Istruzioni eseguite e lo stato di
eseguite uscita viene mantenuto. Il
tempo di esecuzione di
tali istruzioni è pertanto
inesistente.
MULTIPLE JUMP Quando lo stato della condizione di esecuzione per JMP0(515) è OFF, Uscita 227
JMP0 JMP0(515) tutte le istruzioni del programma comprese tra JMP0(515) e l'istruzione Richiesta
515 JME0(516) successiva vengono elaborate come NOP(000). Utilizzare
JMP0(515) e JME0(516) in coppia. Nel programma è possibile
utilizzare un numero illimitato di istruzioni JMP0(515)/JME0(516) in
coppia. Condizione di Condizione di
esecuzione a ON esecuzione a
Istruzioni
saltate
Istruzioni
eseguite
Le istruzioni saltate
vengono considerate
Condizione di Condizione di come istruzioni
esecuzione b ON esecuzione b OFF NOP(000) e
richiedono lo stesso
tempo di esecuzione.
Istruzioni
eseguite
Istruzioni saltate
MULTIPLE JUMP Quando lo stato della condizione di esecuzione per JMP0(515) è OFF, Uscita 227
END JME0(516) tutte le istruzioni del programma comprese tra JMP0(515) e l'istruzione Non richiesta
JME0 JME0(516) successiva vengono elaborate come NOP(000). Utilizzare
516 JMP0(515) e JME0(516) in coppia. Nel programma è possibile utiliz-
zare un numero illimitato di istruzioni JMP0(515)/JME0(516) in coppia.
31
Istruzioni Capitolo 2-2
BREAK LOOP Viene inserita in un ciclo FOR-NEXT per interrompere l'esecuzione Uscita 232
BREAK BREAK(514) Richiesta
del ciclo quando si verifica una determinata condizione. Le rimanenti
514 istruzioni all'interno del ciclo vengono considerate come istruzioni
NOP(000) Condizione di
N ripetizioni esecuzione a ON
Arresto forzato
delle ripetizioni
Considerate
come istruzioni
NOP(000)
FOR-NEXT Le istruzioni comprese tra FOR(512) e NEXT(513) vengono ripetute Uscita 229
LOOPS NEXT(513) per il numero di volte specificato. Le istruzioni FOR(512) e NEXT(513) Non richiesta
NEXT devono essere utilizzate in coppia.
513
32
Istruzioni Capitolo 2-2
Flag di
TIMX(550) completa-
mento
N
S Ingresso del
temporizzatore
N: numero di
temporizzatore PV del SV
S: valore impostato temporizzatore
Flag di
completa-
mento
Flag di
completamento
N
S
N: numero di
temporizzatore
S: valore impostato
33
Istruzioni Capitolo 2-2
D1
D2
S
D1: flag di
completamento
D2: canale PV
S: canale SV
34
Istruzioni Capitolo 2-2
D1
D2 Ingresso del
S temporizzatore
D1: flag di SV 7
completamento ...
D2: canale PV SV 2
S: primo canale SV PV del SV 1
temporizzatore (D2) SV 0
0
Flag di Bit 7
completamento ...
(D1) Bit 2
Bit 1
Bit 0
COUNTER CNT/CNTX(546) attiva un contatore decrementale. L'intervallo di impostazione Uscita 260
CNT Ingresso CNT Richiesta
per il valore impostato (SV) è compreso tra 0 e 9.999 secondi per valori decimali
(BCD) conteggio N codificati in binario (BCD) e da 0 a 65.535 secondi per valori binari (decimali o
S esadecimali).
CNTX Ingresso Ingresso conteggio
di reset
546
(binario) N: numero di Ingresso di reset
(solo CS1-H, CJ1- contatore
H, CJ1M o CS1D) S: valore
impostato SV
PV del contatore
Ingresso
conteggio CNTX(546)
N
Flag di
S completamento
Ingresso
di reset
N: numero di
contatore
S: valore impostato
35
Istruzioni Capitolo 2-2
SV 1
PV del contatore
Flag di completamento
RESET TIMER/ CNR(545)/CNRX(547) reimposta i temporizzatori o i contatori che rien- Uscita 267
COUNTER CNR(545) trano nell'intervallo dei numeri di temporizzatore o contatore specifi- Richiesta
CNR cato. Imposta il valore impostato su 9999 (valore massimo).
N1
@CNR
545 N2
(BCD)
N1: primo numero
nell'intervallo
CNRX
@CNRX N2: ultimo numero
547 nell'intervallo
(binario)
(solo CS1-H, CJ1-
H, CJ1M o CS1D) CNRX(547)
N1
N2
36
Istruzioni Capitolo 2-2
Condizione di
AND esecuzione ON quando
il risultato del confronto
è vero.
<
OR
<
Condizione di esecuzione ON
quando il risultato del confronto
è vero.
Confronto con S1: dati di Le istruzioni di confronto con simboli (doppio canale, senza segno) LD: non 275
simboli (doppio confronto 1 confrontano due valori (costanti e/o il contenuto di dati specifici a dop- richiesta
canale, senza S2: dati di pio canale) in formato binario a 32 bit senza segno e creano una con- AND, OR:
segno) dizione di esecuzione ON quando la condizione di confronto è vera. richiesta
confronto 2 Esistono tre tipi di istruzioni di confronto con simboli, ovvero LD
LD, AND, OR + =,
<>, <, <=, >, >= + (LOAD), AND e OR.
L
301 (=)
306 (<>)
311 (<)
316 (<=)
321 (>)
326 (>=)
Confronto con S1: dati di Le istruzioni di confronto con simboli (con segno) confrontano due LD: non 275
simboli (con confronto 1 valori (costanti e/o il contenuto di canali specifici) in formato binario a richiesta
segno) S2: dati di 16 bit con segno (esadecimale a 4 cifre) e creano una condizione di AND, OR:
LD, AND, OR + =, esecuzione ON quando la condizione di confronto è vera. Esistono tre richiesta
confronto 2 tipi di istruzioni di confronto con simboli, ovvero LD (LOAD), AND e
<>, <, <=, >, >=
+S OR.
302 (=)
307 (<>)
312 (<)
317 (<=)
322 (>)
327 (>=)
37
Istruzioni Capitolo 2-2
OR:
Simbolo
C
S1
S2
C: canale di
controllo
S1: primo canale
del tempo
attuale
S2: primo canale
del tempo di
confronto
UNSIGNED Confronta due valori binari senza segno (costanti e/o il contenuto di Uscita 287
COMPARE CMP(020)
canali specifici) e invia il risultato ai flag aritmetici dell'area ausiliaria. Richiesta
CMP S1
!CMP*1
S2 Confronto binario
020 senza segno
S1: dati di
confronto 1
S2: dati di Flag aritmetici
confronto 2 (>, >=, =, <=, <, <>)
DOUBLE Confronta due valori binari doppi senza segno (costanti e/o il Uscita 290
UNSIGNED CMPL(060) Richiesta
contenuto di canali specifici) e invia il risultato ai flag aritmetici
COMPARE dell'area ausiliaria.
S1
CMPL
060 S2 Confronto binario
senza segno
S1: dati di S1+1 S2+1
confronto 1
S2: dati di
confronto 2 Flag aritmetici
(>, >=, =, <=, <, <>)
38
Istruzioni Capitolo 2-2
DOUBLE Confronta due valori binari doppi con segno (costanti e/o il Uscita 296
SIGNED BINARY CPSL(115)
contenuto di canali specifici) e invia il risultato ai flag aritmetici Richiesta
COMPARE
S1 dell'area ausiliaria.
CPSL
115 S2 Confronto binario
con segno
S1: dati di S1+1 S2+1
confronto 1
S2: dati di
confronto 2 Flag aritmetici
(>, >=, =, <=, <, <>)
MULTIPLE Confronta 16 canali consecutivi con altri 16 canali consecutivi e, se il Uscita 299
COMPARE MCMP(019)
contenuto di un canale non è uguale, imposta su ON il bit Richiesta
MCMP S1 corrispondente nel canale del risultato.
@MCMP
S2 Confronto R
019
0: i canali
R sono
S1: primo canale uguali.
del gruppo 1 1: i canali
S2: primo canale non sono
del gruppo 2 uguali.
R: canale del
risultato
39
Istruzioni Capitolo 2-2
AREA RANGE Confronta il valore binario a 16 bit senza segno in CD (contenuto del Uscita 310
COMPARE ZCP(088) canale o costante) con l'intervallo definito da LL e UL e invia i risultati Richiesta
ZCP ai flag aritmetici dell'area ausiliaria.
@ZCP CD
088 LL
(solo CS1-H, CJ1-
H, CJ1M o CS1D) UL
CD: dati da
confrontare (1 canale)
LL: limite inferiore
dell'intervallo
UL: limite superiore
dell'intervallo
DOUBLE AREA Confronta il valore binario a 32 bit senza segno in CD e CD+1 (conte- Uscita 313
RANGE ZCPL(116) nuto del canale o costante) con l'intervallo definito da LL e UL e invia i Richiesta
COMPARE risultati ai flag aritmetici dell'area ausiliaria.
CD
ZCPL
@ZCPL LL
116
(solo CS1-H, CJ1- UL
H, CJ1M o CS1D) CD: dati da
confrontare (2 canali)
LL: limite inferiore
dell'intervallo
UL: limite superiore
dell'intervallo
40
Istruzioni Capitolo 2-2
Canale di destinazione
DOUBLE MOVE Trasferisce due canali di dati nei canali specificati. Uscita 318
MOVL(498)
MOVL S S+1 Richiesta
@MOVL S
498
D
S: primo canale di Stato del bit non
origine modificato
D: primo canale di
D D+1
destinazione
MOVE NOT Trasferisce il complemento di un canale di dati nel canale specificato. Uscita 317
MVN MVN(022) Richiesta
@MVN Canale di origine
S
022
D
S: origine
D: destinazione Stato del bit
invertito
Canale di destinazione
41
Istruzioni Capitolo 2-2
S: canale di origine
St: canale iniziale
E: canale finale
E
42
Istruzioni Capitolo 2-2
S: canale di origine
Bs: indirizzo base
di destinazione
Of: offset Bs+n
DATA COLLECT Trasferisce il canale di origine, calcolato aggiungendo un valore di Uscita 338
COLL COLL(081) offset all'indirizzo di base, nel canale di destinazione. Richiesta
@COLL Bs
081 Bs Of
Of
D
D: destinazione
(registro indice)
Registro indice
Registro indice
43
Istruzioni Capitolo 2-2
abilitato
···
St
44
Istruzioni Capitolo 2-2
DOUBLE Fa scorrere tutti i bit dei canali Wd e Wd +1 di un bit a sinistra, Uscita 362
ROTATE LEFT ROLL(572)
incluso il flag di riporto (CY). Richiesta
ROLL Wd
@ROLL Wd+1 Wd
572 Wd: canale
DOUBLE Fa scorrere tutti i bit dei canali Wd e Wd +1 di un bit a sinistra, Uscita 369
ROTATE LEFT RLNL(576) Richiesta
escluso il flag di riporto (CY).
WITHOUT
CARRY Wd Wd+1 Wd
RLNL
@RLNL Wd: canale
576
ROTATE RIGHT Uscita 364
ROR(028) Fa scorrere tutti i bit del canale Wd di un bit a destra,
ROR Richiesta
@ROR incluso il flag di riporto (CY).
Wd Wd+1 Wd
028
Wd: canale
45
Istruzioni Capitolo 2-2
ONE DIGIT SHIFT Fa scorrere i dati di una cifra (4 bit) a sinistra. Uscita 374
LEFT SLD(074)
Richiesta
SLD E S t
St
@SLD
074 E Perso
D: canale iniziale
dello scorrimento Fa scorrere un bit a sinistra
N-1 bit
C: bit iniziale
N: lunghezza dati
di scorrimento
N-1 bit
46
Istruzioni Capitolo 2-2
Scorrimento
del contenuto
Perso di "a" o "0"
N bit
DOUBLE SHIFT Uscita 384
N-BITS LEFT NSLL(582) Fa scorrere i 32 bit specificati dei dati canale a sinistra del numero
di bit specificato. Richiesta
NSLL D
@NSLL
582 C
Scorrimento di n bit
D: canale di
scorrimento
C: canale di Scorriment
controllo o del
contenuto
Perso di "a" o "0"
N bit
SHIFT N-BITS Uscita 387
RIGHT NASR(581) Fa scorrere i 16 bit specificati dei dati canale a destra del Richiesta
NASR numero di bit specificato.
@NASR D
581 C
Scorrimento del
D: canale di contenuto di
scorrimento "a" o "0" Perso
C: canale di
controllo N bit
DOUBLE SHIFT Fa scorrere i 32 bit specificati dei dati canale a destra del Uscita 389
N-BITS RIGHT NSRL(583) Richiesta
numero di bit specificato.
NSRL D
@NSRL
583 C Scorrimento di n bit
D: canale di
scorrimento Scorrimento
C: canale di del
contenuto di Perso
controllo
"a" o "0"
47
Istruzioni Capitolo 2-2
48
Istruzioni Capitolo 2-2
49
Istruzioni Capitolo 2-2
DOUBLE BCD Somma dati e/o costanti in formato BCD a 8 cifre (doppio canale), Uscita 423
ADD WITH +BCL(407) Richiesta
CARRY incluso il flag di riporto (CY).
Au Au+1 Au (BCD)
+BCL
@+BCL Ad
407 Ad+1 Ad (BCD)
R
Au: primo canale + CY
augendo
Ad: primo canale
addendo Il flag CY viene
CY R+1 R (BCD)
R: primo canale del attivato in
risultato presenza di riporto.
50
Istruzioni Capitolo 2-2
51
Istruzioni Capitolo 2-2
52
Istruzioni Capitolo 2-2
53
Istruzioni Capitolo 2-2
54
Istruzioni Capitolo 2-2
DOUBLE Converte dati esadecimali a 8 cifre (binari a 32 bit) in dati in formato Uscita 470
BINARY-TO- BCDL(059)
BCD a 8 cifre. Richiesta
DOUBLE BCD
S (Binario) R (BCD)
BCDL
@BCDL R (Binario) R+1 (BCD)
059
S: primo canale di
origine
R: primo canale
del risultato
55
Istruzioni Capitolo 2-2
R
R+1
R+1
R+14
R+15
R+16
R+17
Vengono usati due
intervalli di 16 canali
quando l specifica 2 byte.
R+30
R+31
56
Istruzioni Capitolo 2-2
Decodifica da 16
Bit più Bit più
a 4 bit (in R viene
scritta la posizione a sinistra a destra
del bit più a
sinistra [m])
n=2 (inizia con la cifra 2)
ASCII CONVERT Converte cifre esadecimali a 4 bit nel canale di origine negli Uscita 486
ASC ASC(086) Richiesta
equivalenti ASCII a 8 bit.
@ASC Di
S
086
Di Prima cifra da convertire
S: canale di
origine
Di: identificativo
della cifra Numero di
D: primo canale cifre (n+1)
di destinazione
Sinistra (1) Destra (0)
57
Istruzioni Capitolo 2-2
COLUMN TO Converte una colonna di bit all'interno di un intervallo di 16 canali Uscita 494
LINE LINE(063) (lo stesso numero di bit in 16 canali consecutivi) nei 16 bit del Richiesta
LINE canale di destinazione
@LINE S N
Bit Bit
063 N 15 00
D S 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 1
S: primo canale S+1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1
di origine S+2 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1
N: numero di bit
D: canale di S+3 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1
destinazione . . . .
. . . .
. . . .
S+15 0 1 1 0 0 0 0 1 1 0 0 0 1 0 1 0
Bit Bit
15 00
D 0 . . . 0 1 1 1
LINE TO Converte i 16 bit del canale di origine in una colonna di bit Uscita 496
COLUMN COLM(064)
all'interno di un intervallo di 16 canali di destinazione (lo stesso Richiesta
COLM S numero di bit in 16 canali consecutivi).
@COLM
064 D Bit Bit
15 00
N
S: canale di S 0 . . . . . . . 0 1 1 1
origine
D: primo canale di
destinazione
N: numero di bit Bit Bi Bit
15 00
D 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1
D+1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1
D+2 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1
D+3 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1
. . . .
. . . .
. . . .
D+15 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0
58
Istruzioni Capitolo 2-2
59
Istruzioni Capitolo 2-2
60
Istruzioni Capitolo 2-2
61
Istruzioni Capitolo 2-2
ARITHMETIC Calcola seno, coseno o un'estrapolazione lineare dei dati di origine. Uscita 540
PROCESS APR(069)
La funzione di estrapolazione lineare consente di approssimare rela- Richiesta
APR C zioni tra X e Y con segmenti di linea.
@APR
069 S
R
C: canale di
controllo
S: dati di origine
R: canale del
risultato
FLOATING Uscita 552
POINT DIVIDE FDIV(079) Divide un numero a virgola mobile a 7 cifre per un altro numero. Richiesta
FDIV I numeri a virgola mobile sono espressi in notazione scientifica
@FDIV Dd (7 cifre di mantissa e 1 cifra di esponente).
079 Dr Quoziente
R R+1 R
Dd: primo canale
dividendo Dr+1 Dr Dd+1 Dd
Dr: primo canale
divisore
R: primo canale
del risultato
BIT COUNTER Conta il numero totale di bit impostati su ON presenti nei Uscita 556
BCNT BCNT(067) canali specificati. Richiesta
@BCNT N canali
N
067 Conta il numero di
S bit impostati su ON.
...
R
S+(N −1) Risultato
N: numero di
canali binario
S: primo canale
di origine R
R: canale del
risultato
62
Istruzioni Capitolo 2-2
FLOATING TO Converte un valore a virgola mobile a 32 bit in dati binari a 32 bit con Uscita 565
32-BIT FIXL(451) segno e invia il risultato ai canali del risultato specificati. Richiesta
FIXL S
@FIXL S+1 S Dati a virgola
451 R mobile (32 bit)
S: primo canale
di origine R+1 R Dati binari con
R: primo canale segno (32 bit)
del risultato
16-BIT TO FLOA- Uscita 566
TING FLT(452) Converte un valore binario a 16 bit con segno in dati a virgola mobile
Richiesta
FLT
a 32 bit e invia il risultato ai canali del risultato specificati.
@FLT S
Dati binari con
452 R S segno (16 bit)
S: canale di
origine Dati a virgola mobile
R: primo canale R+1 R (32 bit)
del risultato
32-BIT TO FLOA- Uscita 568
TING FLTL(453) Converte un valore binario a 32 bit con segno in dati a virgola mobile
a 32 bit e invia il risultato ai canali del risultato specificati. Richiesta
FLTL S
@FLTL Dati binari con
S+1 S
453 R segno (32 bit)
S: primo canale
di origine Dati a virgola
R: primo canale R+1 R mobile (32 bit)
del risultato
FLOATING- Uscita 570
POINT ADD +F(454) Somma due numeri a virgola mobile a 32 bit e invia il risultato ai canali
Richiesta
+F del risultato specificati.
@+F
Au
Augendo (dati a
454 Ad Au+1 Au
virgola mobile a 32 bit)
R Addendo (dati a
Au: primo canale
augendo
+ Ad+1 Ad virgola mobile a 32 bit)
AD: primo canale
addendo Risultato (dati a
R: primo canale R+1 R
del risultato virgola mobile a 32 bit)
FLOATING- Uscita 572
POINT F(455) Esegue la sottrazione tra due numeri a virgola mobile a 32 bit e invia Richiesta
SUBTRACT il risultato ai canali del risultato specificati.
–F Mi
@–F Minuendo (dati a
Su Mi+1 Mi
455 virgola mobile a 32 bit)
R
Mi: primo canale − Su+1 Su
Sottraendo (dati a
virgola mobile a 32 bit)
minuendo
Su: primo canale
sottraendo Risultato (dati a
R: primo canale R+1 R virgola mobile a 32 bit)
del risultato
63
Istruzioni Capitolo 2-2
64
Istruzioni Capitolo 2-2
65
Istruzioni Capitolo 2-2
<F (331), S1
<=F (332), S2
>F (333),
o >=F (334) Uso di OR:
Simbolo,
opzione
S1
S2
S1: dati di confronto 1
S2: dati di confronto 2
66
Istruzioni Capitolo 2-2
67
Istruzioni Capitolo 2-2
68
Istruzioni Capitolo 2-2
69
Istruzioni Capitolo 2-2
DOUBLE LOGA- Calcola il logaritmo naturale (in base e) dei dati a virgola mobile in dop- Uscita 653
RITHM LOGD(859) pia precisione specificati (64 bit) e invia il risultato ai canali dei risultati. Richiesta
LOGD
@LOGD S
859 R
S: primo canale
di origine
R: primo canale
del risultato
DOUBLE EXPO- Eleva un numero a virgola mobile in doppia precisione (64 bit) alla Uscita 655
NENTIAL PWRD(860) potenza di un altro numero a virgola mobile in doppia precisione e Richiesta
POWER invia il risultato ai canali dei risultati.
PWRD B
@PWRD E
860
R
B: primo canale
base
E: primo canale
esponente
R: primo canale
del risultato
DOUBLE SYM- Uso di LD: Confronta i dati in doppia precisione specificati (64 bit) e crea una con- LD: 657
BOL COMPARI- Simbolo,
dizione di esecuzione ON se il risultato del confronto è vero. non richiesta
SON opzione Con le istruzioni di confronto con simboli a virgola mobile è possibile
LD, AND o OR S1 utilizzare tre tipi di simboli: LD (LOAD), AND e OR. AND o OR:
+ S2 richiesta
=D (335),
<>D (336), Uso di AND:
<D (337), Simbolo,
<=D (338), opzione
>D (339), S1
o >=D (340) S2
Uso di OR:
Simbolo,
opzione
S1
S2
S1: dati di confronto 1
S2: dati di confronto 2
70
Istruzioni Capitolo 2-2
PUSH ONTO Scrive un canale di dati nello stack specificato. Uscita 669
STACK PUSH(632)
Richiesta
PUSH Indirizzo di memoria Indirizzo di memoria
TB I/O interna I/O interna
@PUSH
632 S
TB TB
TB: primo TB+1 TB+1
indirizzo dello TB+2 TB+2
stack TB+3 PUSH(632) TB+3
S: canale di
origine
LAST IN FIRST Legge l'ultimo canale dei dati scritti nello stack specificato, ossia i dati Uscita 675
OUT LIFO(634) Richiesta
nello stack più recenti.
LIFO Indirizzo di Indirizzo di
@LIFO TB
Puntatore memoria I/O memoria I/O
634 D stack interna interna
TB: primo TB TB
indirizzo dello TB+1 Dati più TB+1
stack TB+2 recenti TB+2
D: canale di m−1
TB+3 TB+3
destinazione
Puntat
ore
m−1 m−1
A rimane
invariato
Il puntatore
viene LIFO
decrementato.
FIRST IN FIRST Legge il primo canale dei dati scritti nello stack specificato, Uscita 672
OUT FIFO(633) ossia i dati nello stack meno recenti. Richiesta
FIFO Indirizzo di
Indirizzo di memoria I/O
@FIFO TB memoria I/O interna
633 D interna
Punta- TB TB
Dati
TB: primo tore TB+1 meno TB+1
indirizzo dello stack TB+2 recenti TB+2
stack TB+3
m−1
TB+3
D: canale di
destinazione Punta-
tore
stack m−1
71
Istruzioni Capitolo 2-2
GET RECORD Restituisce il numero del record all'indirizzo di memoria I/O interna Uscita 683
NUMBER GETR(636) contenuto nel registro indice specificato. Richiesta
GETR
@GETR N
636 IR Numero tabella (N)
Indirizzo di
D memoria
N: numero tabella GETR(636) scrive nel
IR: registro indice canale D il numero del
IR Numero record record che include
D: canale di
(R) l'indirizzo di memoria
destinazione
I/O (m).
DATA SEARCH Cerca un canale di dati all'interno di un intervallo di canali. Uscita 685
SRCH SRCH(181) Richiesta
@SRCH Indirizzo di memoria
C I/O interna
181
R1
R1 Ricerca
Cd
C Cd
C: primo canale
di controllo
R1: primo canale
nell'intervallo R1+(C-1)
Cd: dati di Corrispondenza
confronto
72
Istruzioni Capitolo 2-2
D C canali
C: primo canale Valore
di controllo massimo
R1: primo canale R1+(W −1)
nell'intervallo
D: canale di
destinazione
FIND MINIMUM Uscita 693
MIN(183) Trova il valore minimo nell'intervallo.
MIN Richiesta
@MIN C Indirizzo di memoria
183 I/O interna
R1 R1
D C canali
C: primo canale
di controllo Valore minimo
R1: primo canale R1+(W-1)
nell'intervallo
D: canale di
destinazione
SUM Uscita 697
SUM(184) Somma i byte o i canali nell'intervallo e invia il risultato a due
SUM Richiesta
@SUM canali.
C
184
R1
D
R1
C: primo canale
di controllo
R1: primo canale
nell'intervallo R1+(W-1)
)
D: primo canale
di destinazione
73
Istruzioni Capitolo 2-2
STACK DATA Scrive i dati di origine nell'elemento specificato dello stack, sovrascri- Uscita richie- 710
OVERWRITE SWRIT(640) vendo i dati già esistenti. Il valore di offset (numero di elementi prima sta
(solo CS1-H, della posizione corrente del puntatore) indica la posizione dell'elemento
CJ1-H, CJ1M o TB desiderato.
CS1D)
C
SWRIT
@SWRIT S
640
TB: primo indirizzo
dello stack
C: valore di offset
S: dati di origine
STACK DATA Inserisce i dati di origine nella posizione specificata nello stack e fa scor- Uscita richie- 713
INSERT (solo SINS(641) rere verso il basso i dati rimanenti dello stack. Il valore di offset indica la sta
CS1-H, CJ1-H, posizione del punto d'inserimento (il numero di elementi di dati che pre-
CJ1M o CS1D) TB cede la posizione corrente del puntatore).
SINS C
@SINS
641 S
74
Istruzioni Capitolo 2-2
Limite inferiore
C
DEAD BAND Controlla i dati di uscita in base all'appartenenza dei dati di Uscita 743
CONTROL BAND(681) Richiesta
ingresso all'intervallo della zona morta.
BAND
@BAND S Uscita
681 C
D
Limite inferiore (C)
S: canale di
ingresso Ingresso
C: primo canale
limite Limite superiore (C+1)
D: canale di uscita
75
Istruzioni Capitolo 2-2
TIME-PROPOR- A partire dal rapporto di funzionamento o da una variabile manipolata Uscita 749
TIONAL OUTPUT TPO(685) contenuta nel canale specificato, converte il rapporto di funzionamento Richiesta
TPO S in un'uscita proporzionale al tempo in base ai parametri specificati ed
685 emette il risultato dall'uscita specificata.
(solo CPU della C
serie CS/CJ ver-
sione 2.0 o suc- R
cessiva). S: canale di
ingresso
C: primo canale
parametro
R: bit di uscita
a impulsi
76
Istruzioni Capitolo 2-2
S: canale di origine
P1: primo canale
parametro ∆Y
R: canale del ∆Y
risultato
Offset ∆X
∆X
S (binario S (binario
con segno) con segno)
Offset
Offset di 0000
P1 Offset (Binario con segno) R (BCD con segno)
P1 + 1 ∆Y (Binario con segno)
P1 + 2 ∆X (BCD con segno)
∆Y
Offset = 0000 esadecimale
∆X
S (binario
con segno)
77
Istruzioni Capitolo 2-2
∆X ∆X
Offset Offset S (BCD con segno)
Min.
conversione S (BCD con segno)
Min. conversione
Offset di 0000
Max.
conversione
∆Y
∆X
S (BCD con segno)
Min. conversione
AVERAGE Calcola il valore medio di un canale di ingresso per il numero di cicli Uscita 769
AVG AVG(195) specificato. Richiesta
195
S S: canale di origine
N
R
S: canale di
origine N: numero di cicli
N: numero di cicli
R: canale del
risultato
R
R+1 Puntatore
Flag di media valida Media
R+2
R+3
N valori
R+N+1
78
Istruzioni Capitolo 2-2
Programma principale
Programma di
subroutine
(tra SBN(092)
e RET(093))
Fine programma
D
N: numero
subroutine
S: primo canale
parametro di Esecuzione della
subroutine tra
ingresso SBN(092) e
RET(093)
D: primo canale
MCRO(099)
parametro di
uscita
SUBROUTINE Indica l'inizio del programma di subroutine con il numero di Uscita 783
ENTRY SBN(092) subroutine specificato. Non richiesta
SBN N
092
N: numero
subroutine o
Area subroutine
79
Istruzioni Capitolo 2-2
READ Legge le impostazioni di elaborazione dell'interrupt correnti definite tra- Uscita 805
INTERRUPT MSKR(692) mite l'istruzione MSKS(690). Richiesta
MASK
(non supportata N
dalle CPU CS1D D
per sistemi a due
CPU). N: identificatore
MSKR di interrupt
@MSKR D: canale di
692 destinazione
80
Istruzioni Capitolo 2-2
ENABLE INTER- Abilita l'esecuzione di tutti i task ad interrupt che erano stati Uscita 816
RUPTS EI(694) disabilitati tramite l'istruzione DI(693). Non richiesta
EI
694
Abilita l'esecuzione di
tutti i task ad interrupt
disabilitati.
81
Istruzioni Capitolo 2-2
P: identificatore
della porta
C: dati di controllo
NV: primo canale
con nuovo valore
attuale
HIGH-SPEED L'istruzione PRV(881) viene utilizzata per leggere il valore Uscita 827
COUNTER PV PRV
attuale di un contatore veloce, di un'uscita a impulsi o di un Richiesta
READ P interrupt di ingresso (modalità contatore).
PRV
@PRV C
881 D
P: identificatore
della porta
C: dati di controllo
D: primo canale di
destinazione
COUNTER FRE- Legge l'ingresso della frequenza a impulsi di un contatore veloce e Uscita 833
QUENCY CON- PRV2 converte la frequenza in velocità di rotazione (numero di rotazioni) Richiesta
VERT C1 oppure converte il valore attuale del contatore nel numero totale di
PRV2 rotazioni. Il risultato viene inviato ai canali di destinazione in formato
883 C2 esadecimale a 8 cifre. Gli impulsi possono essere immessi esclusiva-
mente dal contatore veloce 0.
(Solo CPU CJ1M D
versione 2.0 o
successiva). C1: dati di con-
trollo
C2: impulsi/rota-
zione
D: primo canale di
destinazione
COMPARISON L'istruzione CTBL(882) viene utilizzata per eseguire confronti tra il Uscita 837
TABLE LOAD CTBL valore attuale di un contatore veloce e valori o intervalli di riferimento. Richiesta
CTBL P
@CTBL
C
882
TB
P: identificatore
della porta
C: dati di controllo
TB: primo canale
della tabella di
confronto
SPEED OUTPUT L'istruzione SPED(885) viene utilizzata per specificare la frequenza e Uscita 841
SPED consentire l'emissione degli impulsi senza accelerazione o decelera-
SPED Richiesta
@SPED P zione.
885
M
F
P: identificatore
della porta
M: modalità di
uscita
F: primo canale di
frequenza degli
impulsi
82
Istruzioni Capitolo 2-2
P: identificatore
della porta
T: tipo di impulsi
N: numero di
impulsi
PULSE OUTPUT L'istruzione PLS2(887) viene utilizzata per impostare la frequenza Uscita 849
PLS2 degli impulsi e i valori di accelerazione e decelerazione, nonché con-
PLS2 Richiesta
@PLS2 P sentire l'emissione degli impulsi con accelerazione o decelerazione
(con valori di accelerazione e decelerazione distinti). È previsto solo il
887 M posizionamento.
S
F
P: identificatore
della porta
M: modalità di
uscita
S: primo canale
della tabella impo-
stazioni
F: primo canale
della frequenza
iniziale
ACCELERATION L'istruzione ACC(888) viene utilizzata per impostare la frequenza degli Uscita 855
CONTROL ACC impulsi e i valori di accelerazione e decelerazione, nonché consentire Richiesta
ACC P l'emissione degli impulsi con accelerazione o decelerazione (con valori
@ACC di accelerazione e decelerazione uguali). Sono previsti sia il posiziona-
888 M mento che il controllo della velocità.
S
P: identificatore
della porta
M: modalità di
uscita
S: primo canale
della tabella impo-
stazioni
ORIGIN SEARCH L'istruzione ORG(889) viene utilizzata per eseguire operazioni di Uscita 862
ORG ricerca dell'origine e ritorno all'origine.
ORG Richiesta
@ORG P
889
C
P: identificatore
della porta
C: dati di controllo
PULSE WITH L'istruzione PWM(891) viene utilizzata per l'emissione di impulsi con Uscita 865
VARIABLE DUTY PWM duty-cycle variabile. Richiesta
FACTOR P
PWM
@ F
891 D
P: identificatore
della porta
F: frequenza
D: duty-cycle
83
Istruzioni Capitolo 2-2
STEP START L'istruzione SNXT(009) viene utilizzata nei seguenti modi: Uscita 868
SNXT SNXT(009) (1) Per avviare l'esecuzione della programmazione step. Richiesta
009 B (2) Per passare al bit di controllo dello step successivo.
(3) Per terminare l'esecuzione della programmazione step.
B: bit
7-SEGMENT Converte il contenuto esadecimale delle cifre specificate in codici Uscita 888
DECODER SDEC(078)
display a 7 segmenti e li memorizza negli 8 bit superiori o inferiori Richiesta
SDEC dei canali di destinazione specificati.
@SDEC S
078 Di
D Di
Numero di cifre
S: canale di Prima cifra da convertire
origine
Di: identificativo
della cifra
D: primo canale
di destinazione
8 bit più a destra (0)
7 segmenti
84
Istruzioni Capitolo 2-2
I: canale di
ingresso dati
D1: primo canale
registro
D2: canale di
immissione
HEXADECIMAL Legge i dati numerici da un tastierino esadecimale collegato a un Uscita 899
KEY INPUT HKY(212) modulo di ingresso e a un modulo di uscita e memorizza fino a 8 cifre di Richiesta
HKY dati in formato esadecimale nei canali specificati.
I
212
(solo CPU della O
serie CS/CJ ver-
sione 2.0 o suc- D
cessiva). C
I: canale di
ingresso dati
O: canale di
uscita
D: primo canale
registro
MATRIX INPUT Accetta fino a 64 segnali da una matrice 8 × 8 collegata a un modulo di Uscita 904
MTR MTR(213) ingresso e a un modulo di uscita (utilizzando 8 punti di ingresso e 8 Richiesta
213 I punti di uscita) e memorizza i dati a 64 bit nei 4 canali di destinazione.
(solo CPU della
serie CS/CJ ver- O
sione 2.0 o suc-
cessiva). D
C
I: canale di
ingresso dati
O: canale di
uscita
D: primo canale
di destinazione
C: canale di
sistema
85
Istruzioni Capitolo 2-2
Nota: Solo CPU della serie CS/CJ versione 2.0 o successiva (com-
prese le CPU CS1-H, CJ1-H e CJ1M con numero di lotto 030418
o successivo) possono leggere dalle unità bus CPU.
INTELLIGENT I/O Invia il contenuto dell'area di memoria I/O della CPU al modulo Uscita 917
WRITE IOWR(223) Richiesta
di I/O speciale o all'unità bus CPU (vedere nota).
IOWR
@IOWR C
223 S D
D+1
D
C: dati di controllo Numero modulo del modulo
S: origine di I/O speciale
trasferimento e
numero di canali
D: destinazione
trasferimento e
numero di canali Scrittura
del numero
di canali
specificato
Nota: Solo CPU della serie CS/CJ versione 2.0 o successiva (com-
prese le CPU CS1-H, CJ1-H e CJ1M con numero di lotto 030418
o successivo) possono scrivere nelle unità bus CPU.
CPU BUS UNIT Esegue immediatamente l'aggiornamento degli I/O dell'unità bus CPU Uscita richie- 921
I/O REFRESH DLNK(226) con il numero di unità specificato. sta
(solo CS1-H,
CJ1-H, CJ1M N
o CS1D)
DLNK N: numero modulo
@DLNK
226
86
Istruzioni Capitolo 2-2
TRANSMIT Invia il numero di byte di dati specificato dalla porta RS-232C integrata Uscita 937
TXD TXD(236) nella CPU o dalla porta seriale di una scheda di comunicazione seriale Richiesta
@TXD (versione 1.2 o successiva).
S
236
C
N
S: primo canale di
origine
C: canale di controllo
N: numero di byte
da 0000 a 0100
esadecimale (da 0
a 256 decimale)
RECEIVE Legge il numero di byte di dati specificato dalla porta RS-232C inte- Uscita 944
RXD RXD(235) grata nella CPU o dalla porta seriale di una scheda di comunicazione Richiesta
@RXD seriale (versione 1.2 o successiva).
D
235
C
N
D: primo canale di
destinazione
C: canale di
controllo
N: numero di byte
da memorizzare
da 0000 a 0100
esadecimale (da
0 a 256 decimale)
TRANSMIT VIA Invia il numero di byte di dati specificato dalla porta seriale di un Uscita 952
SERIAL COMMU- TXDU(256) modulo di comunicazione seriale (versione del modulo 1.2 o succes- Richiesta
NICATIONS UNIT siva). I dati vengono inviati in modalità senza protocollo con gli even-
TXDU S tuali codici di inizio e di fine specificati nell'area di configurazione DM
@TXDU allocata.
C
256
N
S: primo canale di
origine
C: primo canale di
controllo
N: numero di byte
da 0000 a 0256
BCD
87
Istruzioni Capitolo 2-2
CHANGE SERIAL Modifica i parametri di comunicazione di una porta seriale sulla CPU, Uscita 968
PORT SETUP STUP(237) sul modulo di comunicazione seriale (unità bus CPU) o sulla scheda di Richiesta
STUP comunicazione seriale. L'istruzione STUP(237) consente pertanto di
@STUP C modificare la modalità di protocollo durante il funzionamento del PLC.
237 S
C: canale di
controllo (porta)
S: primo canale
di origine
88
Istruzioni Capitolo 2-2
15 0
D Dati Risposta
della
risposta Esecuzione
(D−1) (m byte)
+ m
2
EXPLICIT MES- Invia un messaggio esplicito con qualsiasi codice di servizio. Uscita 1013
SAGE SEND EXPLT(720) Richiesta
EXPLT S
720
(solo CPU della D
serie CS/CJ ver- C
sione 2.0 o suc-
cessiva). S: primo canale
del messaggio
di invio
D: primo canale
del messaggio
ricevuto
C: primo canale
di controllo
EXPLICIT GET Legge le informazioni sullo stato con un messaggio esplicito (Get Attri- Uscita 1021
ATTRIBUTE EGATR(721) bute Single, codice di servizio: 0E esadecimale). Richiesta
EGATR S
721
(solo CPU della D
serie CS/CJ ver-
sione 2.0 o suc- C
cessiva). S: primo canale
del messaggio
di invio
D: primo canale
del messaggio
ricevuto
C: primo canale
di controllo del
messaggio
EXPLICIT SET Scrive le informazioni sullo stato con un messaggio esplicito (Set Attri- Uscita 1028
ATTRIBUTE ESATR(722) bute Single, codice di servizio: 0E esadecimale). Richiesta
ESATR S
722
(solo CPU della C
serie CS/CJ ver-
sione 2.0 o suc- S: primo canale
cessiva). del messaggio
di invio
C: primo canale
di controllo
89
Istruzioni Capitolo 2-2
EXPLICIT WORD Scrive dati dalla CPU locale in una CPU remota collegata in rete (la Uscita 1038
WRITE ECHWR(724) CPU remota deve supportare i messaggi espliciti). Richiesta
ECHWR
S
724
(solo CPU della D
serie CS/CJ ver-
sione 2.0 o suc- C
cessiva). S: primo canale
di origine nella
CPU locale
D: primo canale di
destinazione
nella CPU
remota
C: primo canale
di controllo
90
Istruzioni Capitolo 2-2
D
C: canale di Numero di
controllo canali
S1: primo canale specificato in
di origine S1 e S1+1
S2: nome file
D: primo canale di Numero
Scheda di memoria di canali
destinazione
o memoria dei file scritti in
nell'area EM D e D+1.
(specificata nella
quarta cifra di C). File specificato
in S2 CPU
Numero di
canali
Aggiunta
Scheda di memoria o memoria
dei file nell'area EM (specificata
Inizio del nella quarta cifra di C).
file File
CPU Nuovo file creato
specificato
Indirizzo
di inizio
specifi- Numero di canali
cato specificato in D1
e D1+1
in S
91
Istruzioni Capitolo 2-2
C: primo canale
del calendario
T: primo canale
dell'ora T Minuti Secondi
R: primo canale T+1 Ore
del risultato
R Minuti Secondi
R+1 Giorno Ora
R+2 Anno Mese
CALENDAR Sottrae tempo dai dati del calendario nei canali specificati. Uscita 1065
SUBTRACT CSUB(731) Richiesta
CSUB
@CSUB C C Minuti Secondi
731 T C+1 Giorno Ora
R C+2 Anno Mese
C: primo canale −
del calendario
T: primo canale
dell'ora T Minuti Secondi
R: primo canale Ore
del risultato T+1
R Minuti Secondi
R+1 Giorno Ora
R+2 Anno Mese
92
Istruzioni Capitolo 2-2
Secondi
Minuti Secondi
Ore
93
Istruzioni Capitolo 2-2
SEVERE Genera errori fatali definiti dall'utente. Gli errori fatali causano l'arresto Uscita 1087
FAILURE ALARM FALS(007) del PLC. Inoltre genera errori fatali nel sistema. Richiesta
FALS
N Flag di errore FALS attivato
007 L'esecuzion Codice di errore scritto in A400
S e di Codice di errore e data/ora scritti
nell'area del log degli errori
FAL(007)
N: numero di FALS genera un
S: primo canale errore fatale
del messaggio o con numero L'indicatore ERR è acceso
codice di errore di FAL N.
da generare
Messaggio
visualizzato sulla
console di
programmazione
FAILURE POINT Uscita 1095
DETECTION FPD(269) L'istruzione FPD(269) consente di rilevare un errore in un blocco di
istruzioni monitorando il tempo che intercorre tra l'esecuzione Richiesta
FPD dell'istruzione stessa e l'attivazione di un'uscita di diagnostica,
C individuando in tal modo l'ingresso che impedisce l'attivazione di
269 un'uscita.
T
Funzione di monitoraggio del tempo
R Il monitoraggio inizia quando la condizione di
esecuzione diventa ON. Se l'uscita B non
viene attivata entro il tempo di monitoraggio,
C: canale di viene generato un errore non fatale.
controllo
T: tempo di Condizione di
monitoraggio esecuzione A
R: primo canale
registro T Blocco di
elaborazione
R dell'errore
Blocco di istruzioni (opzionale)
successivo
Condizione di esecuzione
dell'analisi diagnostica
della logica C
Uscita diagnostica B
94
Istruzioni Capitolo 2-2
CONVERT Converte l'indirizzo di memoria di un PLC della serie CS/CJ nell'indi- Uscita 1117
ADDRESS TO CV TOCV(285) rizzo di memoria equivalente di un PLC della serie CV. Richiesta
(solo CS1-H,
CJ1-H, CJ1M S
o CS1D) D
TOCV
@TOCV S: registro indice
285 contenente
l'indirizzo di
memoria della
serie CS
D: canale di
destinazione
95
Istruzioni Capitolo 2-2
Eseguito quando la
condizione di esecuzione
è ON.
BLOCK Definisce un'area di programmazione a blocchi. Per ogni istruzione Programma a 1128
PROGRAM END BPRG(096) deve esistere un'istruzione BEND(801) corrispondente. blocchi
BEND Richiesto
801
BLOCK BPPS Mette in pausa e riavvia il programma a blocchi specificato da un Programma a 1131
PROGRAM (811) altro programma a blocchi. blocchi
PAUSE Richiesto
BPPS N
811 N: numero
programma a
blocchi
...
... Istruzione
BPPS(811) eseguita
dal programma a
blocchi n.
Programma a blocchi n.
... Una volta messo in pausa,
questo programma non
verrà eseguito, anche se il
bit a diventasse ON.
96
Istruzioni Capitolo 2-2
Programma a blocchi n.
... Questo programma non verrà
eseguito finché il bit a rimane
impostato su ON.
CONDITIONAL EXIT(806) EXIT(806) senza un bit operando esce dal programma se la Programma a 1137
BLOCK EXIT condizione di esecuzione è ON. blocchi
EXIT B: bit operando Richiesto
806 Condizione di Condizione di
esecuzione esecuzione
OFF ON
A eseguito A eseguito
Condizione di
esecuzione
B eseguito
A eseguito A eseguito
B eseguito
97
Istruzioni Capitolo 2-2
A eseguito B eseguito
(tra IF ed ELSE) (dopo ELSE)
A eseguito B eseguito
(tra IF ed ELSE) (dopo ELSE)
CONDITIONAL IF (802) NOT Le istruzioni comprese tra IF(802) ed ELSE(803) vengono eseguite se Programma a 1133
BLOCK BRAN- B il bit operando è impostato su ON, mentre le istruzioni tra ELSE(803) e blocchi
CHING (NOT) IEND(804) vengono eseguite se il bit operando è impostato su OFF. Richiesto
IF NOT
B: bit operando
802
CONDITIONAL --- Se l'istruzione ELSE(803) viene omessa e il bit operando è impostato Programma a 1133
BLOCK BRAN- su ON, verranno eseguite le istruzioni comprese tra IF(802) e blocchi
CHING (ELSE) IEND(804). Richiesto
ELSE
803
CONDITIONAL --- Se il bit operando è impostato su OFF, verranno eseguite solo le istru- Programma a 1133
BLOCK BRAN- zioni inserite dopo IEND(804). blocchi
CHING END Richiesto
IEND
804
98
Istruzioni Capitolo 2-2
A
eseguito
Condizione di B eseguito
esecuzione
C C C eseguito
eseguito eseguito
Attesa
ONE CYCLE AND WAIT(805) Se il bit operando è impostato su OFF (ON per WAIT(805) NOT), le Programma a 1140
WAIT B istruzioni rimanenti del programma a blocchi verranno ignorate. Nel blocchi
WAIT ciclo successivo non verrà eseguita alcuna istruzione del programma a Richiesto
805 B: bit operando blocchi, ad eccezione della condizione di esecuzione per WAIT(805) o
WAIT(805) NOT. Quando la condizione di esecuzione passa a ON
(OFF per WAIT(805) NOT), verranno eseguite le istruzioni da
WAIT(805) o WAIT(805) NOT fino alla fine del programma.
ONE CYCLE AND WAIT(805) NOT Se il bit operando è impostato su OFF (ON per WAIT(805) NOT), le Programma a 1140
WAIT (NOT) B istruzioni rimanenti del programma a blocchi verranno ignorate. Nel blocchi
WAIT NOT ciclo successivo non verrà eseguita alcuna istruzione del programma a Richiesto
blocchi, ad eccezione della condizione di esecuzione per WAIT(805) o
805 B: bit operando
WAIT(805) NOT. Quando la condizione di esecuzione passa a ON
(OFF per WAIT(805) NOT), verranno eseguite le istruzioni da
WAIT(805) o WAIT(805) NOT fino alla fine del programma.
TIMER WAIT TIMW(813) Ritarda l'esecuzione del programma a blocchi del periodo di tempo Programma a 1144
TIMW N blocchi
specificato. L'esecuzione riprende dall'istruzione dopo
813 SV Richiesto
TIMW(813)/TIMWX(816) al completamento del conteggio.
(BCD) SV: da 0 a 999,9 secondi per il
N: numero del formato BCD e da 0 a 6.
TIMWX temporizzatore 553,5 secondi per il formato binario
816 SV: valore impo-
(binario) stato A eseguito
(solo CS1-H, CJ1-
H, CJ1M o CS1D) TIMWX(816)
N
SV
SV
preimpostato Tempo trascorso
N: numero del
temporizzatore
B eseguito
SV: valore impo-
stato
BEND
C eseguito
C
99
Istruzioni Capitolo 2-2
N: numero di
contatore
SV: valore impo- C C C eseguito
stato C eseguito eseguito
I: ingresso conteg-
gio
HIGH-SPEED TMHW(815) Ritarda l'esecuzione delle rimanenti istruzioni del programma a blocchi Programma a 1150
TIMER WAIT N del periodo di tempo specificato. L'esecuzione riprende dall'istruzione blocchi
TMHW SV dopo TMHW(815)/TMHWX(818) allo scadere del temporizzatore. Richiesto
815 SV: da 0 a 99,99 secondi
(BCD)
N: numero del per il formato BCD e da 0 a 655,
temporizzatore 35 secondi per il formato binario
TMHWX SV: valore impo-
817 stato A
(binario) eseguito
(solo CS1-H, CJ1- TMHWX(817)
H, CJ1M o CS1D) N
SV
SV
preimpost Tempo trascorso
N: numero del
temporizzatore B eseguito
SV: valore impo-
stato
BEND
C eseguito
C
100
Istruzioni Capitolo 2-2
Condizione di esecuzione
Ciclo ripetuto
LEND LEND(810) Le istruzioni LEND(810) e LEND(810) NOT specificano la fine del ciclo. Programma a 1153
LEND Quando viene raggiunta l'istruzione LEND(810) o LEND(810) NOT, blocchi
l'esecuzione del programma torna ciclicamente all'istruzione Richiesto
810
LOOP(809) immediatamente precedente finché il bit operando per
LEND(810) o LEND(810) NOT non passa, rispettivamente, a ON o a
OFF oppure finché lo stato della condizione di esecuzione per
LEND(810) è ON.
LEND LEND(810) Programma a 1153
LEND B blocchi
Se il bit operando è OFF per LEND(810) (o ON per LEND(810) NOT),
810 Richiesto
l'esecuzione del ciclo viene ripetuta a partire dall'istruzione dopo
B: bit operando LOOP(809). Se il bit operando è ON per LEND(810) (o OFF per
LEND(810) NOT), il ciclo viene interrotto e l'esecuzione continua a
partire dall'istruzione dopo LEND(810) o LEND(810) NOT.
Bit Bit Bit Bit
operando operando operando operando
ON OFF OFF OFF
Ciclo ripetuto
101
Istruzioni Capitolo 2-2
GET STRING Legge il numero di caratteri specificato a partire dall'inizio della Uscita 1164
LEFT LEFT$(652) Richiesta
stringa di testo.
LEFT$ S1
@LEFT$
652 S2
D
S1: primo canale
della stringa di testo
S2: numero di
caratteri
D: primo canale di
destinazione
GET STRING Legge il numero di caratteri specificato a partire dalla fine della Uscita 1166
RIGHT RGHT$(653)
stringa di testo. Richiesta
RGHT$ S1
@RGHT$ 00
653 S2
D
S1: primo canale
della stringa di
testo
S2: numero di
caratteri
D: primo canale
di destinazione
GET STRING Legge il numero di caratteri specificato a partire da una determinata Uscita 1168
MIDDLE MID$(654) posizione all'interno della stringa di testo. Richiesta
MID$
@MID$ S1
654 S2
→ →
S3
D
S1: primo canale
della stringa di
testo
S2: numero di
caratteri
S3: posizione
iniziale
D: primo canale
di destinazione
102
Istruzioni Capitolo 2-2
S: primo canale
della stringa di
testo
D: primo canale
di destinazione
REPLACE IN Uscita 1175
STRING RPLC$(654) Sostituisce una stringa di testo con quella specificata a partire da una
determinata posizione. Richiesta
RPLC$
@RPLC$ S1
661 S2
S3 → →
S4
D
S1: primo canale
della stringa di testo
S2: primo canale
della stringa di testo
di sostituzione
S3: numero di
caratteri
S4: posizione iniziale
D: primo canale di
destinazione
DELETE STRING Elimina la stringa di testo specificata dall'interno di un'altra stringa. Uscita 1178
DEL$ DEL$(658) Richiesta
@DEL$ Numero di caratteri da
S1 eliminare (specificato da S2)
658
→ →
S2
S3
G
D
S1: primo canale
della stringa di
testo
S2: numero di
caratteri
S3: posizione
iniziale
D: primo canale
di destinazione
103
Istruzioni Capitolo 2-2
Confronto di Le istruzioni di confronto delle stringhe (=$, <>$, <$, <=$, >$, >=$) 1187
stringhe LD confrontano due stringhe di testo a partire dall'inizio, verificando i valori LD: non
LD, AND, OR + Simbolo dei codici ASCII. Se il risultato del confronto è vero, viene creata una richiesta
=$, <>$, <$, <=$, condizione di esecuzione ON per LOAD, AND o OR. AND, OR:
>$, >=$ S1 richiesta
670 (=$) S2
671 (<>$)
672 (<$)
673 (<=$) AND
674 (>$) Simbolo
675 (>=$)
S1
S2
OR
Simbolo
S1
S2
S1: stringa di testo 1
S2: stringa di testo 2
104
Istruzioni Capitolo 2-2
Task m Task m
Diventa
eseguibile
Diventa nel ciclo
eseguibile successivo
nello
stesso
ciclo
Task n Task n
Task m Task m
Messo Messo in
in stato stato di
di attesa attesa al
nello ciclo
stesso
ciclo
Task n Task n
105
Istruzioni Capitolo 2-2
N: numero di
canali
S: primo canale di
origine
D: primo canale di
destinazione
SINGLE WORD Uscita 1203
DISTRIBUTE DISTC(566) Trasferisce il canale di origine in un canale di destinazione calcolato
aggiungendo il valore di offset all'indirizzo di base. È anche possibile Richiesta
DISTC S scrivere in uno stack (operazione PUSH ONTO STACK).
@DISTC
566 Bs S Bs Of
Of
S: canale di origine
Bs: indirizzo base
di destinazione
Of: offset
Bs+n
DATA COLLECT Uscita 1206
COLLC(567) Trasferisce il canale di origine, calcolato aggiungendo un valore di
COLLC offset all'indirizzo di base, nel canale di destinazione. È anche Richiesta
@COLLC possibile leggere da uno stack in ordine FIFO o LIFO (operazione
Bs STACK DATA READ).
567
Of Bs Of
D
106
Istruzioni Capitolo 2-2
107
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
108
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
109
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
B
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
BAND DEAD BAND 681 @BAND --- --- 743
CONTROL
BCD BINARY-TO-BCD 024 @BCD --- --- 469
BCDL DOUBLE BINARY-TO- 059 @BCDL --- --- 470
BCD
BCDS SIGNED BINARY-TO- 471 @BCDS --- --- 505
BCD
BCMP UNSIGNED BLOCK 068 @BCMP --- --- 304
COMPARE
BCMP2 EXPANDED BLOCK 502 @BCMP2 --- --- 306
COMPARE
BCNT BIT COUNTER 067 @BCNT --- --- 556
BCNTC BIT COUNTER 621 @BCNTC --- --- 1212
BDSL DOUBLE SIGNED 473 @BDSL --- --- 507
BINARY-TO-BCD
BEND BLOCK PROGRAM 801 --- --- --- 1128
END
BIN BCD-TO-BINARY 023 @BIN --- --- 466
BINL DOUBLE BCD-TO- 058 @BINL --- --- 467
DOUBLE BINARY
BINS SIGNED BCD-TO- 470 @BINS --- --- 499
BINARY
BISL DOUBLE SIGNED 472 @BISL --- --- 502
BCD-TO-BINARY
BPPS BLOCK PROGRAM 811 --- --- --- 1131
PAUSE
BPRG BLOCK PROGRAM 096 --- --- --- 1128
BEGIN
BPRS BLOCK PROGRAM 812 --- --- --- 1131
RESTART
BREAK BREAK LOOP 514 --- --- --- 232
BSET BLOCK SET 071 @BSET --- --- 331
C
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
CADD CALENDAR ADD 730 @CADD --- --- 1061
CCL LOAD CONDITION 283 @CCL --- --- 1112
FLAGS
CCS SAVE CONDITION 282 @CCS --- --- 1110
FLAGS
110
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
D
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
DATE CLOCK ADJUSTMENT 735 @DATE --- --- 1073
DBL 16-BIT BINARY TO 843 @DBL --- --- 623
DOUBLE FLOATING
DBLL 32-BIT BINARY TO 844 @DBLL --- --- 624
DOUBLE FLOATING
DEG RADIANS TO 459 @DEG --- --- 579
DEGREES
DEGD DOUBLE RADIANS TO 850 @RADD --- --- 634
DEGREES
DEL$ DELETE STRING 658 @DEL$ --- --- 1178
DI DISABLE 693 @DI --- --- 814
INTERRUPTS
DIFD DIFFERENTIATE 014 --- --- !DIFD 184
DOWN
DIFU DIFFERENTIATE UP 013 --- --- !DIFU 184
DIM DIMENSION RECORD 631 @DIM --- --- 678
TABLE
111
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
E
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
ECHRD EXPLICIT WORD 723 @ECHRD --- --- 1034
READ
ECHWR EXPLICIT WORD 724 @ECHWR --- --- 1038
WRITE
EGATR EXPLICIT GET 721 @EGATR --- --- 1021
ATTRIBUTE
EI ENABLE 694 --- --- --- 816
INTERRUPTS
ELSE ELSE 803 --- --- --- 1133
EMBC SELECT EM BANK 281 @EMBC --- --- 1106
END END 001 --- --- --- 197
ESATR EXPLICIT SET 722 @ESATR --- --- 1028
ATTRIBUTE
EXIT NOT CONDITIONAL BLOCK 806 --- --- --- 1137
(operando) EXIT NOT
EXIT CONDITIONAL BLOCK 806 --- --- --- 1137
(condizione di EXIT
ingresso)
EXIT CONDITIONAL BLOCK 806 --- --- --- 1137
(operando) EXIT
EXP EXPONENT 467 @EXP --- --- 595
EXPD DOUBLE EXPONENT 858 @EXPD --- --- 651
EXPLT EXPLICIT MESSAGE 720 @EXPLT --- --- 1013
SEND
F
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
FAL FAILURE ALARM 006 @FAL --- --- 1079
FALS SEVERE FAILURE 007 --- --- --- 1087
ALARM
FCS FRAME CHECKSUM 180 @FCS --- --- 700
FDIV FLOATING POINT 079 @FDIV --- --- 552
DIVIDE
FIFO FIRST IN FIRST OUT 633 @FIFO --- --- 672
FIND$ FIND IN STRING 660 @FIND$ --- --- 1171
FIX FLOATING TO 16-BIT 450 @FIX --- --- 563
FIXD DOUBLE FLOATING 841 @FIXD --- --- 620
TO 16-BIT BINARY
FIXL FLOATING TO 32-BIT 451 @FIXL --- --- 565
FIXLD DOUBLE FLOATING 842 @FIXLD --- --- 621
TO 32-BIT BINARY
FLT 16-BIT TO FLOATING 452 @FLT --- --- 566
FLTL 32-BIT TO FLOATING 453 @FLTL --- --- 568
112
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
G
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
GETID GET VARIABLE ID 286 @GETID --- --- 1214
GETR GET RECORD 636 @GETR --- --- 683
NUMBER
GRET GLOBAL 752 --- --- --- 797
SUBROUTINE
RETURN
GRY GRAY CODE 474 @GRY --- --- 511
CONVERSION
GSBN GLOBAL 751 --- --- --- 794
SUBROUTINE ENTRY
GSBS GLOBAL 750 @GSBS --- --- 786
SUBROUTINE CALL
H
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
HEX ASCII TO HEX 162 @HEX --- --- 490
HKY HEXADECIMAL KEY 212 --- --- --- 899
INPUT
HMS SECONDS TO HOURS 066 @HMS --- --- 1070
I
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
IEND IF END 804 --- --- --- 1133
IF NOT IF NOT 802 --- --- --- 1133
(operando)
IF (condizione IF 802 --- --- --- 1133
di ingresso)
IF (operando) IF 802 --- --- --- 1133
IL INTERLOCK 002 --- --- --- 201
ILC INTERLOCK CLEAR 003 --- --- --- 201
INI MODE CONTROL 880 @INI --- --- 823
INS$ INS$ 657 @INS$ --- --- 1184
IORD INTELLIGENT I/O 222 @IORD --- --- 913
READ
IORF I/O REFRESH 097 @IORF --- --- 885
IORS ENABLE 288 --- --- --- 1123
PERIPHERAL
SERVICING
113
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
J
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
JME JUMP END 005 --- --- --- 219
JME0 MULTIPLE JUMP END 516 --- --- --- 227
JMP JUMP 004 --- --- --- 219
JMP0 MULTIPLE JUMP 515 --- --- --- 227
K
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
KEEP KEEP 011 --- --- !KEEP 180
L
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
LD LOAD --- @LD %LD !LD 153
LD < LOAD LESS THAN 310 --- --- --- 275
LD <$ LOAD STRING LESS 672 --- --- --- 1187
THAN
LD <D LOAD DOUBLE 337 --- --- --- 657
FLOATING LESS
THAN
LD <DT LOAD TIME LESS 343 --- --- --- 281
THAN
LD <F LOAD FLOATING 331 --- --- --- 600
LESS THAN
LD <> LOAD NOT EQUAL 305 --- --- --- 275
LD <>$ LOAD STRING NOT 671 --- --- --- 1187
EQUAL
LD <>D LOAD DOUBLE 336 --- --- --- 657
FLOATING NOT
EQUAL
LD <>DT LOAD TIME NOT 342 --- --- --- 281
EQUAL
LD <>F LOAD FLOATING NOT 330 --- --- --- 600
EQUAL
LD <>L LOAD DOUBLE NOT 306 --- --- --- 275
EQUAL
LD <>S LOAD SIGNED NOT 307 --- --- --- 275
EQUAL
LD <>SL LOAD DOUBLE 308 --- --- --- 275
SIGNED NOT EQUAL
LD <L LOAD DOUBLE LESS 311 --- --- --- 275
THAN
LD <S LOAD SIGNED LESS 312 --- --- --- 275
THAN
LD <SL LOAD DOUBLE 313 --- --- --- 275
SIGNED LESS THAN
LD = LOAD EQUAL 300 --- --- --- 275
LD =$ LOAD STRING 670 --- --- --- 1187
EQUALS
114
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
115
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
M
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
MAX FIND MAXIMUM 182 @MAX --- --- 689
MCMP MULTIPLE COMPARE 019 @MCMP --- --- 299
MCRO MACRO 099 @MCRO --- --- 779
MID$ GET STRING MIDDLE 654 @MID$ --- --- 1168
MILC MULTI-INTERLOCK 519 --- --- --- 205
CLEAR
MILH MULTI-INTERLOCK 517 --- --- --- 205
DIFFERENTIATION
HOLD
MILR MULTI-INTERLOCK 518 --- --- --- 205
DIFFERENTIATION
RELEASE
MIN FIND MINIMUM 183 @MIN --- --- 693
MLPX DATA DECODER 076 @MLPX --- --- 477
MOV MOVE 021 @MOV --- !MOV 315
MOV$ MOVE STRING 664 @MOV$ --- --- 1159
MOVB MOVE BIT 082 @MOVB --- --- 321
MOVBC MOVE BIT 568 @MOVBC --- --- 1211
MOVD MOVE DIGIT 083 @MOVD --- --- 323
MOVL DOUBLE MOVE 498 @MOVL --- --- 318
MOVR MOVE TO REGISTER 560 @MOVR --- --- 340
MOVRW MOVE TIMER/ 561 --- --- --- 342
COUNTER PV TO
REGISTER
MSG DISPLAY MESSAGE 046 @MSG --- --- 1058
MSKR READ INTERRUPT 692 @MSKR --- --- 805
MASK
MSKS SET INTERRUPT 690 @MSKS --- --- 798
MASK
116
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
N
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
NASL SHIFT N-BITS LEFT 580 @NASL --- --- 381
NASR SHIFT N-BITS RIGHT 581 @NASR --- --- 387
NEG 2'S COMPLEMENT 160 @NEG --- --- 472
NEGL DOUBLE 2'S 161 @NEGL --- --- 474
COMPLEMENT
NEXT FOR-NEXT LOOPS 513 --- --- --- 229
NOP NO OPERATION 000 --- --- --- 198
NOT NOT 520 --- --- --- 172
NSFL SHIFT N-BIT DATA 578 @NSFL --- --- 377
LEFT
NSFR SHIFT N-BIT DATA 579 @NSFR --- --- 379
RIGHT
NSLL DOUBLE SHIFT 582 @NSLL --- --- 384
N-BITS LEFT
NSRL DOUBLE SHIFT 583 @NSRL --- --- 389
N-BITS RIGHT
O
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
OR OR --- @OR %OR !OR 161
OR < OR LESS THAN 310 --- --- --- 275
OR <$ OR STRING LESS 672 --- --- --- 1187
THAN
OR <> OR NOT EQUAL 305 --- --- --- 275
OR <>$ OR STRING NOT 671 --- --- --- 1187
EQUAL
OR <>D OR DOUBLE 336 --- --- --- 657
FLOATING NOT
EQUAL
OR <>DT OR TIME NOT EQUAL 342 --- --- --- 281
OR <>F OR FLOATING NOT 330 --- --- --- 600
EQUAL
OR <>L OR DOUBLE NOT 306 --- --- --- 275
EQUAL
OR <>S OR SIGNED NOT 307 --- --- --- 275
EQUAL
OR <>SL OR DOUBLE SIGNED 308 --- --- --- 275
NOT EQUAL
OR <D OR DOUBLE 337 --- --- --- 657
FLOATING LESS
THAN
OR <DT OR TIME LESS THAN 343 --- --- --- 281
OR <F OR FLOATING LESS 331 --- --- --- 600
THAN
OR <L OR DOUBLE LESS 311 --- --- --- 275
THAN
117
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
118
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
P
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
PID PID CONTROL 190 --- --- --- 720
PIDAT PID CONTROL WITH 191 --- --- --- 731
AUTOTUNING
PMCR PROTOCOL MACRO 260 @PMCR --- --- 928
PRV HIGH-SPEED 881 @PRV --- --- 827
COUNTER PV READ
PRV2 COUNTER 883 @PRV2 --- --- 833
FREQUENCY
CONVERT
PULS SET PULSES 886 @PULS --- --- 846
PLS2 PULSE OUTPUT 887 @PLS2 --- --- 849
PUSH PUSH ONTO STACK 632 @PUSH --- --- 669
PWM PULSE WITH 891 @PWM --- --- 865
VARIABLE DUTY
FACTOR
PWR EXPONENTIAL 840 @PWR --- --- 599
POWER
PWRD DOUBLE 860 @PWRD --- --- 655
EXPONENTIAL
POWER
R
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
RAD DEGREES TO 458 @RAD --- --- 597
RADIANS
RADD DOUBLE DEGREES 849 @RADD --- --- 634
TO RADIANS
RECV NETWORK RECEIVE 098 @RECV --- --- 997
RET SUBROUTINE 093 --- --- --- 786
RETURN
RGHT$ GET STRING RIGHT 653 @RGHT$ --- --- 1166
RLNC ROTATE LEFT 574 @RLNC --- --- 367
WITHOUT CARRY
RLNL DOUBLE ROTATE 576 @RLNL --- --- 369
LEFT WITHOUT
CARRY
119
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
S
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
SBN SUBROUTINE ENTRY 092 --- --- --- 783
SBS SUBROUTINE CALL 091 @SBS --- --- 773
SCL SCALING 194 @SCL --- --- 757
SCL2 SCALING 2 486 @SCL2 --- --- 762
SCL3 SCALING 3 487 @SCL3 --- --- 766
SDEC 7-SEGMENT 078 @SDEC --- --- 928
DECODER
SDEL STACK DATA DELETE 642 @SDEL --- --- 716
SEC HOURS TO SECONDS 065 @SEC --- --- 1068
SEND NETWORK SEND 090 @SEND --- --- 991
SET SET --- @SET %SET !SET 187
SETA MULTIPLE BIT SET 530 @SETA --- --- 189
SETB SINGLE BIT SET 532 @SETB --- !SETB 192
SETR SET RECORD 635 @SETR --- --- 681
LOCATION
SFT SHIFT REGISTER 010 --- --- --- 345
SFTR REVERSIBLE SHIFT 084 @SFTR --- --- 346
REGISTER
SIGN 16-BIT TO 32-BIT 600 @SIGN --- --- 476
SIGNED BINARY
SIN SINE 460 @SIN --- --- 581
SIND DOUBLE SINE 851 @SIND --- --- 637
SINS STACK DATA INSERT 641 @SINS --- --- 713
SLD ONE DIGIT SHIFT 074 @SLD --- --- 374
LEFT
SNUM STACK SIZE READ 638 @SNUM --- --- 704
SNXT STEP START 009 --- --- --- 868
SPED SPEED OUTPUT 885 @SPED --- --- 841
SQRT SQUARE ROOT 466 @SQRT --- --- 593
SQRTD DOUBLE SQUARE 857 @SQRTD --- --- 649
ROOT
120
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
T
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
TAN TANGENT 462 @TAN --- --- 585
TAND DOUBLE TANGENT 853 @TAND --- --- 641
TCMP TABLE COMPARE 085 @TCMP --- --- 301
TIM TIMER --- --- --- --- 235
TIMH HIGH-SPEED TIMER 015 --- --- --- 240
TIMHX HIGH-SPEED TIMER 551 --- --- --- 240
TIML LONG TIMER 542 --- --- --- 251
TIMLX LONG TIMER 553 --- --- --- 251
TIMW TIMER WAIT 813 --- --- --- 1144
TIMWX TIMER WAIT 816 --- --- --- 1144
TIMX TIMER 505 --- --- --- 235
TKOF TASK OFF 821 @TKOF --- --- 1196
TKON TASK ON 820 @TKON --- --- 1192
TKY TEN KEY INPUT 211 @TKY --- --- 896
TMHH ONE-MS TIMER 540 --- --- --- 244
TMHHX ONE-MS TIMER 552 --- --- --- 244
TMHW HIGH-SPEED TIMER 815 --- --- --- 1150
WAIT
TMHWX HIGH-SPEED TIMER 817 --- --- --- 1150
WAIT
TOCV CONVERT ADDRESS 285 @TOCV --- --- 1117
TO CV
TPO TIME- 685 --- --- --- 749
PROPORTIONAL
OUTPUT
TRSM TRACE MEMORY 045 --- --- --- 1075
SAMPLING
TTIM ACCUMULATIVE 087 --- --- --- 247
TIMER
TTIMX ACCUMULATIVE 555 --- --- --- 247
TIMER
TXD TRANSMIT 236 @TXD --- --- 937
TXDU TRANSMIT VIA 256 @TXDU --- --- 952
SERIAL
COMMUNICATIONS
UNIT
121
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
U
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
UP CONDITION ON 521 --- --- --- 173
W
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
WAIT NOT ONE CYCLE AND 805 --- --- --- 1140
(operando) WAIT NOT
WAIT ONE CYCLE AND 805 --- --- --- 1140
(condizione di WAIT
ingresso)
WAIT ONE CYCLE AND 805 --- --- --- 1140
(operando) WAIT
WDT EXTEND MAXIMUM 094 @WDT --- --- 1108
CYCLE TIME
WSFT WORD SHIFT 016 @WSFT --- --- 352
X
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
XCGL DOUBLE DATA 562 @XCGL --- --- 334
EXCHANGE
XCHG DATA EXCHANGE 073 @XCHG --- --- 333
XCHG$ EXCHANGE STRING 665 @XCHG$ --- --- 1180
XFER BLOCK TRANSFER 070 @XFER --- --- 328
XFERC BLOCK TRANSFER 565 @XFERC --- --- 1201
XFRB MULTIPLE BIT 062 @XFRB --- --- 326
TRANSFER
XNRL DOUBLE EXCLUSIVE 613 @XNRL --- --- 529
NOR
XNRW EXCLUSIVE NOR 037 @XNRW --- --- 528
XORL DOUBLE EXCLUSIVE 612 @XORL --- --- 526
OR
XORW EXCLUSIVE OR 036 @XORW --- --- 524
Z
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
ZCP AREA RANGE 088 --- --- --- 310
COMPARE
ZCPL DOUBLE AREA 116 --- --- --- 313
RANGE COMPARE
ZONE DEAD ZONE 682 @ZONE --- --- 746
CONTROL
Simboli
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
7SEG 7-SEGMENT DISPLAY 214 --- --- --- 908
OUTPUT
+ SIGNED BINARY ADD 400 @+ --- --- 410
WITHOUT CARRY
+$ CONCATENATE 656 @+$ --- --- 1161
STRING
++ INCREMENT BINARY 590 @++ --- --- 393
++B INCREMENT BCD 594 @++B --- --- 401
122
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
123
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
124
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
125
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
126
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
127
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
128
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
129
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
130
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
131
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
132
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
133
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
134
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
135
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
136
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
137
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
138
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
139
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
140
CAPITOLO 3
Istruzioni
In questo capitolo sono illustrate tutte le istruzioni utili alla programmazione dei PLC della serie CS/CJ. Tali istruzioni sono
raggruppate per funzionalità, in base alla classificazione riportata nel Capitolo 2 Sommario delle istruzioni.
141
3-6-7 COUNTER: CNT/CNTX(546). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
3-6-8 REVERSIBLE COUNTER: CNTR(012)/CNTRX(548) . . . . . . . . . . . . . . . . . . . . . . . . 263
3-6-9 RESET TIMER/COUNTER: CNR(545)/CNRX(547). . . . . . . . . . . . . . . . . . . . . . . . . . 267
3-6-10 Applicazioni di esempio per temporizzatori e contatori. . . . . . . . . . . . . . . . . . . . . . . . . 269
3-6-11 Indirizzamento indiretto dei numeri di temporizzatore/contatore . . . . . . . . . . . . . . . . . 272
3-7 Istruzioni di confronto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
3-7-1 Istruzioni di confronto di ingresso (da 300 a 328) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
3-7-2 Istruzioni di confronto di date e ore (da 341 a 346) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
3-7-3 COMPARE: CMP(020) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
3-7-4 DOUBLE COMPARE: CMPL(060) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
3-7-5 SIGNED BINARY COMPARE: CPS(114) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
3-7-6 DOUBLE SIGNED BINARY COMPARE: CPSL(115) . . . . . . . . . . . . . . . . . . . . . . . . 296
3-7-7 MULTIPLE COMPARE: MCMP(019) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
3-7-8 TABLE COMPARE: TCMP(085) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
3-7-9 BLOCK COMPARE: BCMP(068). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
3-7-10 EXPANDED BLOCK COMPARE: BCMP2(502). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
3-7-11 AREA RANGE COMPARE: ZCP(088). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
3-7-12 DOUBLE AREA RANGE COMPARE: ZCPL(116). . . . . . . . . . . . . . . . . . . . . . . . . . . 313
3-8 Istruzioni di spostamento dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
3-8-1 MOVE: MOV(021). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
3-8-2 MOVE NOT: MVN(022) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
3-8-3 DOUBLE MOVE: MOVL(498) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
3-8-4 DOUBLE MOVE NOT: MVNL(499) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
3-8-5 MOVE BIT: MOVB(082). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
3-8-6 MOVE DIGIT: MOVD(083) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
3-8-7 MULTIPLE BIT TRANSFER: XFRB(062). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
3-8-8 BLOCK TRANSFER: XFER(070) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
3-8-9 BLOCK SET: BSET(071) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
3-8-10 DATA EXCHANGE: XCHG(073) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
3-8-11 DOUBLE DATA EXCHANGE: XCGL(562) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
3-8-12 SINGLE WORD DISTRIBUTE: DIST(080) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
3-8-13 DATA COLLECT: COLL(081) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
3-8-14 MOVE TO REGISTER: MOVR(560) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
3-8-15 MOVE TIMER/COUNTER PV TO REGISTER: MOVRW(561). . . . . . . . . . . . . . . . . 342
3-9 Istruzioni di scorrimento dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
3-9-1 SHIFT REGISTER: SFT(010) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
3-9-2 REVERSIBLE SHIFT REGISTER: SFTR(084) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
3-9-3 ASYNCHRONOUS SHIFT REGISTER: ASFT(017). . . . . . . . . . . . . . . . . . . . . . . . . . 349
3-9-4 WORD SHIFT: WSFT(016). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
3-9-5 ARITHMETIC SHIFT LEFT: ASL(025). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
3-9-6 DOUBLE SHIFT LEFT: ASLL(570). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
3-9-7 ARITHMETIC SHIFT RIGHT: ASR(026) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
3-9-8 DOUBLE SHIFT RIGHT: ASRL(571) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
3-9-9 ROTATE LEFT: ROL(027). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
3-9-10 DOUBLE ROTATE LEFT: ROLL(572) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
3-9-11 ROTATE RIGHT: ROR(028) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
3-9-12 DOUBLE ROTATE RIGHT: RORL(573) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
3-9-13 ROTATE LEFT WITHOUT CARRY: RLNC(574) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
3-9-14 DOUBLE ROTATE LEFT WITHOUT CARRY: RLNL(576). . . . . . . . . . . . . . . . . . . . 369
3-9-15 ROTATE RIGHT WITHOUT CARRY: RRNC(575) . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
3-9-16 DOUBLE ROTATE RIGHT WITHOUT CARRY: RRNL(577) . . . . . . . . . . . . . . . . . . 372
3-9-17 ONE DIGIT SHIFT LEFT: SLD(074) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
3-9-18 ONE DIGIT SHIFT RIGHT: SRD(075). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
3-9-19 SHIFT N-BIT DATA LEFT: NSFL(578) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
3-9-20 SHIFT N-BIT DATA RIGHT: NSFR(579). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
3-9-21 SHIFT N-BITS LEFT: NASL(580) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
3-9-22 DOUBLE SHIFT N-BITS LEFT: NSLL(582) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
142
3-9-23 SHIFT N-BITS RIGHT: NASR(581) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
3-9-24 DOUBLE SHIFT N-BITS RIGHT: NSRL(583) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
3-10 Istruzioni di incremento e decremento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
3-10-1 INCREMENT BINARY: ++(590) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
3-10-2 DOUBLE INCREMENT BINARY: ++L(591) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
3-10-3 DECREMENT BINARY: – –(592). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
3-10-4 DOUBLE DECREMENT BINARY: – –L(593). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
3-10-5 INCREMENT BCD: ++B(594) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
3-10-6 DOUBLE INCREMENT BCD: ++BL(595) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
3-10-7 DECREMENT BCD: – –B(596) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
3-10-8 DOUBLE DECREMENT BCD: – –BL(597). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
3-11 Istruzioni matematiche con simboli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
3-11-1 SIGNED BINARY ADD WITHOUT CARRY: +(400) . . . . . . . . . . . . . . . . . . . . . . . . . 410
3-11-2 DOUBLE SIGNED BINARY ADD WITHOUT CARRY: +L(401) . . . . . . . . . . . . . . . 412
3-11-3 SIGNED BINARY ADD WITH CARRY: +C(402). . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
3-11-4 DOUBLE SIGNED BINARY ADD WITH CARRY: +CL(403) . . . . . . . . . . . . . . . . . . 416
3-11-5 BCD ADD WITHOUT CARRY: +B(404). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
3-11-6 DOUBLE BCD ADD WITHOUT CARRY: +BL(405) . . . . . . . . . . . . . . . . . . . . . . . . . 419
3-11-7 BCD ADD WITH CARRY: +BC(406) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
3-11-8 DOUBLE BCD ADD WITH CARRY: +BCL(407). . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
3-11-9 SIGNED BINARY SUBTRACT WITHOUT CARRY: –(410) . . . . . . . . . . . . . . . . . . . 424
3-11-10 DOUBLE SIGNED BINARY SUBTRACT WITHOUT CARRY: –L(411) . . . . . . . . . 426
3-11-11 SIGNED BINARY SUBTRACT WITH CARRY: –C(412) . . . . . . . . . . . . . . . . . . . . . . 430
3-11-12 DOUBLE SIGNED BINARY SUBTRACT WITH CARRY: –CL(413) . . . . . . . . . . . . 432
3-11-13 BCD SUBTRACT WITHOUT CARRY: –B(414) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
3-11-14 DOUBLE BCD SUBTRACT WITHOUT CARRY: –BL(415) . . . . . . . . . . . . . . . . . . . 436
3-11-15 BCD SUBTRACT WITH CARRY: –BC(416). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
3-11-16 DOUBLE BCD SUBTRACT WITH CARRY: –BCL(417) . . . . . . . . . . . . . . . . . . . . . . 441
3-11-17 SIGNED BINARY MULTIPLY: *(420). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
3-11-18 DOUBLE SIGNED BINARY MULTIPLY: *L(421) . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
3-11-19 UNSIGNED BINARY MULTIPLY: *U(422) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
3-11-20 DOUBLE UNSIGNED BINARY MULTIPLY: *UL(423). . . . . . . . . . . . . . . . . . . . . . . 449
3-11-21 BCD MULTIPLY: *B(424). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
3-11-22 DOUBLE BCD MULTIPLY: *BL(425). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
3-11-23 SIGNED BINARY DIVIDE: /(430) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
3-11-24 DOUBLE SIGNED BINARY DIVIDE: /L(431) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
3-11-25 UNSIGNED BINARY DIVIDE: /U(432) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
3-11-26 DOUBLE UNSIGNED BINARY DIVIDE: /UL(433). . . . . . . . . . . . . . . . . . . . . . . . . . 460
3-11-27 BCD DIVIDE: /B(434). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
3-11-28 DOUBLE BCD DIVIDE: /BL(435) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
3-12 Istruzioni di conversione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
3-12-1 BCD-TO-BINARY: BIN(023) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
3-12-2 DOUBLE BCD-TO-DOUBLE BINARY: BINL(058) . . . . . . . . . . . . . . . . . . . . . . . . . . 467
3-12-3 BINARY-TO-BCD: BCD(024). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
3-12-4 DOUBLE BINARY-TO-DOUBLE BCD: BCDL(059) . . . . . . . . . . . . . . . . . . . . . . . . . 470
3-12-5 2’S COMPLEMENT: NEG(160) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
3-12-6 DOUBLE 2’S COMPLEMENT: NEGL(161) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
3-12-7 16-BIT TO 32-BIT SIGNED BINARY: SIGN(600) . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
3-12-8 DATA DECODER: MLPX(076) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
3-12-9 DATA ENCODER: DMPX(077) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
3-12-10 ASCII CONVERT: ASC(086) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
3-12-11 ASCII TO HEX: HEX(162) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
3-12-12 COLUMN TO LINE: LINE(063). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
3-12-13 LINE TO COLUMN: COLM(064) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
3-12-14 SIGNED BCD-TO-BINARY: BINS(470) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
3-12-15 DOUBLE SIGNED BCD-TO-BINARY: BISL(472) . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
3-12-16 SIGNED BINARY-TO-BCD: BCDS(471). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
143
3-12-17 DOUBLE SIGNED BINARY-TO-BCD: BDSL(473) . . . . . . . . . . . . . . . . . . . . . . . . . . 507
3-12-18 GRAY CODE CONVERT: GRY(474) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
3-13 Istruzioni logiche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
3-13-1 LOGICAL AND: ANDW(034) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
3-13-2 DOUBLE LOGICAL AND: ANDL(610) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
3-13-3 LOGICAL OR: ORW(035) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
3-13-4 DOUBLE LOGICAL OR: ORWL(611). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
3-13-5 EXCLUSIVE OR: XORW(036). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
3-13-6 DOUBLE EXCLUSIVE OR: XORL(612). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
3-13-7 EXCLUSIVE NOR: XNRW(037) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
3-13-8 DOUBLE EXCLUSIVE NOR: XNRL(613) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
3-13-9 COMPLEMENT: COM(029) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
3-13-10 DOUBLE COMPLEMENT: COML(614) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
3-14 Istruzioni matematiche speciali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
3-14-1 BINARY ROOT: ROTB(620). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
3-14-2 BCD SQUARE ROOT: ROOT(072). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
3-14-3 ARITHMETIC PROCESS: APR(069). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
3-14-4 FLOATING POINT DIVIDE: FDIV(079) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
3-14-5 BIT COUNTER: BCNT(067). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
3-15 Istruzioni matematiche a virgola mobile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
3-15-1 FLOATING TO 16-BIT: FIX(450). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
3-15-2 FLOATING TO 32-BIT: FIXL(451) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
3-15-3 16-BIT TO FLOATING: FLT(452) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
3-15-4 32-BIT TO FLOATING: FLTL(453) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
3-15-5 FLOATING-POINT ADD: +F(454). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
3-15-6 FLOATING-POINT SUBTRACT: –F(455) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
3-15-7 FLOATING-POINT MULTIPLY: *F(456) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
3-15-8 FLOATING-POINT DIVIDE: /F(457). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
3-15-9 DEGREES TO RADIANS: RAD(458) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
3-15-10 RADIANS TO DEGREES: DEG(459) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
3-15-11 SINE: SIN(460) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
3-15-12 COSINE: COS(461) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
3-15-13 TANGENT: TAN(462) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
3-15-14 ARC SINE: ASIN(463) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
3-15-15 ARC COSINE: ACOS(464) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
3-15-16 ARC TANGENT: ATAN(465) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
3-15-17 SQUARE ROOT: SQRT(466) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
3-15-18 EXPONENT: EXP(467) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
3-15-19 LOGARITHM: LOG(468) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
3-15-20 EXPONENTIAL POWER: PWR(840) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
3-15-21 Istruzioni di confronto a virgola mobile in singola precisione . . . . . . . . . . . . . . . . . . . . 600
3-15-22 FLOATING-POINT TO ASCII: FSTR(448) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
3-15-23 ASCII TO FLOATING-POINT: FVAL(449) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
3-16 Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) . . . 613
3-16-1 DOUBLE FLOATING TO 16-BIT: FIXD(841). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
3-16-2 DOUBLE FLOATING TO 32-BIT: FIXLD(842) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
3-16-3 16-BIT TO DOUBLE FLOATING: DBL(843) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
3-16-4 32-BIT TO DOUBLE FLOATING: DBLL(844) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
3-16-5 DOUBLE FLOATING-POINT ADD: +D(845) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
3-16-6 DOUBLE FLOATING-POINT SUBTRACT: –D(846) . . . . . . . . . . . . . . . . . . . . . . . . . 628
3-16-7 DOUBLE FLOATING-POINT MULTIPLY: *D(847). . . . . . . . . . . . . . . . . . . . . . . . . . 630
3-16-8 DOUBLE FLOATING-POINT DIVIDE: /D(848) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
3-16-9 DOUBLE DEGREES TO RADIANS: RADD(849) . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
3-16-10 DOUBLE RADIANS TO DEGREES: DEGD(850) . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
3-16-11 DOUBLE SINE: SIND(851) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
3-16-12 DOUBLE COSINE COSD(852) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
3-16-13 DOUBLE TANGENT TAND(853) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
144
3-16-14 DOUBLE ARC SINE: ASIND(854) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
3-16-15 DOUBLE ARC COSINE: ACOSD(855) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
3-16-16 DOUBLE ARC TANGENT: ATAND(856) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
3-16-17 DOUBLE SQUARE ROOT: SQRTD(857) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
3-16-18 DOUBLE EXPONENT: EXPD(858) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
3-16-19 DOUBLE LOGARITHM: LOGD(859) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
3-16-20 DOUBLE EXPONENTIAL POWER: PWRD(860) . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
3-16-21 Istruzioni di ingresso a virgola mobile in doppia precisione . . . . . . . . . . . . . . . . . . . . . 657
3-17 Istruzioni di elaborazione dei dati delle tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
3-17-1 SET STACK: SSET(630) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
3-17-2 PUSH ONTO STACK: PUSH(632) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
3-17-3 FIRST IN FIRST OUT: FIFO(633) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
3-17-4 LAST IN FIRST OUT: LIFO(634) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
3-17-5 DIMENSION RECORD TABLE: DIM(631). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
3-17-6 SET RECORD LOCATION: SETR(635) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
3-17-7 GET RECORD NUMBER: GETR(636) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
3-17-8 DATA SEARCH: SRCH(181) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
3-17-9 SWAP BYTES: SWAP(637). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
3-17-10 FIND MAXIMUM: MAX(182) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
3-17-11 FIND MINIMUM: MIN(183) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
3-17-12 SUM: SUM(184) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
3-17-13 FRAME CHECKSUM: FCS(180) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
3-17-14 STACK SIZE READ: SNUM(638) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
3-17-15 STACK DATA READ: SREAD(639). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
3-17-16 STACK DATA OVERWRITE: SWRIT(640) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
3-17-17 STACK DATA INSERT: SINS(641). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
3-17-18 STACK DATA DELETE: SDEL(642) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
3-18 Istruzioni di controllo dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
3-18-1 PID CONTROL: PID(190) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
3-18-2 PID CONTROL WITH AUTOTUNING: PIDAT(191) . . . . . . . . . . . . . . . . . . . . . . . . . 731
3-18-3 LIMIT CONTROL: LMT(680) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
3-18-4 DEAD BAND CONTROL: BAND(681) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
3-18-5 DEAD ZONE CONTROL: ZONE(682) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
3-18-6 TIME-PROPORTIONAL OUTPUT: TPO(685) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
3-18-7 SCALING: SCL(194). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
3-18-8 SCALING 2: SCL2(486) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
3-18-9 SCALING 3: SCL3(487) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
3-18-10 AVERAGE: AVG(195) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
3-19 Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
3-19-1 SUBROUTINE CALL: SBS(091) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
3-19-2 MACRO: MCRO(099) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
3-19-3 SUBROUTINE ENTRY: SBN(092). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
3-19-4 SUBROUTINE RETURN: RET(093) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
3-19-5 GLOBAL SUBROUTINE CALL: GSBS(750) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
3-19-6 GLOBAL SUBROUTINE ENTRY GSBN(751) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
3-19-7 GLOBAL SUBROUTINE RETURN: GRET(752) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
3-20 Istruzioni di controllo degli interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
3-20-1 SET INTERRUPT MASK: MSKS(690) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
3-20-2 READ INTERRUPT MASK: MSKR(692) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
3-20-3 CLEAR INTERRUPT: CLI(691) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
3-20-4 DISABLE INTERRUPTS: DI(693) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
3-20-5 ENABLE INTERRUPTS: EI(694) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
3-20-6 Riepilogo del controllo degli interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818
3-21 Istruzioni per contatore veloce e uscita a impulsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
3-21-1 MODE CONTROL: INI(880) (solo CJ1M-CPU21/22/23) . . . . . . . . . . . . . . . . . . . . . . 823
3-21-2 HIGH-SPEED COUNTER PV READ: PRV(881) (solo CJ1M-CPU21/22/23) . . . . . . 827
3-21-3 COUNTER FREQUENCY CONVERT: PRV2(883). . . . . . . . . . . . . . . . . . . . . . . . . . . 833
145
3-21-4 REGISTER COMPARISON TABLE: CTBL(882) (solo CJ1M-CPU21/22/23) . . . . . . 837
3-21-5 SPEED OUTPUT: SPED(885) (solo CJ1M-CPU21/22/23) . . . . . . . . . . . . . . . . . . . . . 841
3-21-6 SET PULSES: PULS(886) (solo CJ1M-CPU21/22/23). . . . . . . . . . . . . . . . . . . . . . . . . 846
3-21-7 PULSE OUTPUT: PLS2(887) (solo CPU CJ1M 21/22/23). . . . . . . . . . . . . . . . . . . . . . 849
3-21-8 ACCELERATION CONTROL: ACC(888) (solo CPU CJ1M 21/22/23). . . . . . . . . . . . 855
3-21-9 ORIGIN SEARCH: ORG(889) (solo CPU CJ1M 21/22/23) . . . . . . . . . . . . . . . . . . . . . 862
3-21-10 PULSE WITH VARIABLE DUTY FACTOR: PWM(891) (solo CPU CJ1M 21/22/23) 865
3-22 Istruzioni di step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
3-22-1 STEP DEFINE e STEP START: STEP(008)/SNXT(009) . . . . . . . . . . . . . . . . . . . . . . . 868
3-23 Istruzioni per moduli di I/O di base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
3-23-1 I/O REFRESH: IORF(097). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
3-23-2 7-SEGMENT DECODER SDEC(078) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
3-23-3 DIGITAL SWITCH INPUT – DSW(210) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
3-23-4 TEN KEY INPUT – TKY(211) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
3-23-5 HEXADECIMAL KEY INPUT – HKY(212) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
3-23-6 MATRIX INPUT: MTR(213) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904
3-23-7 7-SEGMENT DISPLAY OUTPUT – 7SEG(214) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
3-23-8 INTELLIGENT I/O READ: IORD(222) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913
3-23-9 INTELLIGENT I/O WRITE: IOWR(223) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917
3-23-10 CPU BUS UNIT I/O REFRESH: DLNK(226) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
3-24 Istruzioni per la comunicazione seriale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
3-24-1 Comunicazione seriale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
3-24-2 PROTOCOL MACRO: PMCR(260) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
3-24-3 TRANSMIT: TXD(236) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937
3-24-4 RECEIVE: RXD(235) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944
3-24-5 TRANSMIT VIA SERIAL COMMUNICATIONS UNIT: TXDU(256). . . . . . . . . . . . 952
3-24-6 RECEIVE VIA SERIAL COMMUNICATIONS UNIT: RXDU(255) . . . . . . . . . . . . . 960
3-24-7 CHANGE SERIAL PORT SETUP: STUP(237) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968
3-25 Istruzioni di rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
3-25-1 Informazioni sulle operazioni con SYSMAC NET Link/SYSMAC LINK . . . . . . . . . . 973
3-25-2 Informazioni sulle istruzioni per messaggi espliciti . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986
3-25-3 NETWORK SEND: SEND(090) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991
3-25-4 NETWORK RECEIVE: RECV(098) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997
3-25-5 DELIVER COMMAND: CMND(490) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
3-25-6 EXPLICIT MESSAGE SEND: EXPLT(720). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
3-25-7 EXPLICIT GET ATTRIBUTE: EGATR(721) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
3-25-8 EXPLICIT SET ATTRIBUTE: ESATR(722). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
3-25-9 EXPLICIT WORD READ: ECHRD(723) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
3-25-10 EXPLICIT WORD WRITE: ECHWR(724) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038
3-26 Istruzioni per la memoria dei file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
3-26-1 Avvertenze per l'utilizzo delle schede di memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
3-26-2 READ DATA FILE: FREAD(700) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045
3-26-3 WRITE DATA FILE: FWRIT(701) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
3-27 Istruzioni di visualizzazione: DISPLAY MESSAGE: MSG(046) . . . . . . . . . . . . . . . . . . . . . . . . 1058
3-28 Istruzioni per l'orologio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
3-28-1 CALENDAR ADD: CADD(730) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
3-28-2 CALENDAR SUBTRACT: CSUB(731) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065
3-28-3 HOURS TO SECONDS: SEC(065) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068
3-28-4 SECONDS TO HOURS: HMS(066) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070
3-28-5 CLOCK ADJUSTMENT: DATE(735). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1073
3-29 Istruzioni di debug. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075
3-29-1 Campionamento Trace Memory: TRSM(045) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075
3-30 Istruzioni di diagnostica per malfunzionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
3-30-1 FAILURE ALARM: FAL(006) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
3-30-2 SEVERE FAILURE ALARM: FALS(007) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087
3-30-3 FAILURE POINT DETECTION: FPD(269) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095
146
3-31 Altre istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
3-31-1 SET CARRY: STC(040) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
3-31-2 CLEAR CARRY: CLC(041) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105
3-31-3 SELECT EM BANK: EMBC(281) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106
3-31-4 EXTEND MAXIMUM CYCLE TIME: WDT(094) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108
3-31-5 SAVE CONDITION FLAGS: CCS(282) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1110
3-31-6 LOAD CONDITION FLAGS: CCL(283) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1112
3-31-7 CONVERT ADDRESS FROM CV: FRMCV(284) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113
3-31-8 CONVERT ADDRESS TO CV: TOCV(285) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117
3-31-9 DISABLE PERIPHERAL SERVICING: IOSP(287) (solo CS1-H, CJ1-H e CJ1M) . . 1121
3-31-10 ENABLE PERIPHERAL SERVICING: IORS(288) (solo CS1-H, CJ1-H e CJ1M) . . . 1123
3-32 Istruzioni di programmazione a blocchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124
3-32-1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124
3-32-2 BLOCK PROGRAM BEGIN/END: BPRG(096)/BEND(801) . . . . . . . . . . . . . . . . . . . 1128
3-32-3 BLOCK PROGRAM PAUSE/RESTART: BPPS(811)/BPRS(812) . . . . . . . . . . . . . . . . 1131
3-32-4 Diramazione: IF(802), ELSE(803) e IEND(804) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133
3-32-5 CONDITIONAL BLOCK EXIT (NOT): EXIT (NOT)(806). . . . . . . . . . . . . . . . . . . . . 1137
3-32-6 ONE CYCLE AND WAIT (NOT): WAIT(805)/WAIT(805) NOT . . . . . . . . . . . . . . . . 1140
3-32-7 TIMER WAIT: TIMW(813) and TIMWX(816). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
3-32-8 COUNTER WAIT: CNTW(814) e CNTWX(818) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147
3-32-9 HIGH-SPEED TIMER WAIT: TMHW(815) e TMHWX(817) . . . . . . . . . . . . . . . . . . . 1150
3-32-10 Loop Control: LOOP(809)/LEND(810)/LEND(810) NOT . . . . . . . . . . . . . . . . . . . . . . 1153
3-33 Istruzioni di elaborazione delle stringhe di testo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158
3-33-1 Panoramica sull'elaborazione delle stringhe di testo . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158
3-33-2 MOV STRING: MOV$(664) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1159
3-33-3 CONCATENATE STRING: +$(656) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161
3-33-4 GET STRING LEFT: LEFT$(652) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164
3-33-5 GET STRING RIGHT: RGHT$(653) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166
3-33-6 GET STRING MIDDLE: MID$(654) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168
3-33-7 FIND IN STRING: FIND$(660) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1171
3-33-8 STRING LENGTH: LEN$(650) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173
3-33-9 REPLACE IN STRING: RPLC$(661) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1175
3-33-10 DELETE STRING: DEL$(658) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178
3-33-11 EXCHANGE STRING: XCHG$(665). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1180
3-33-12 CLEAR STRING: CLR$(666) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1182
3-33-13 INSERT INTO STRING: INS$(657) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184
3-33-14 Istruzioni di confronto di stringhe (da 670 a 675) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1187
3-34 Istruzioni di controllo dei task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192
3-34-1 TASK ON: TKON(820) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192
3-34-2 TASK OFF: TKOF(821). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196
3-35 Istruzioni di conversione del modello (solo CPU versione 3.0 o successiva). . . . . . . . . . . . . . . . 1199
3-35-1 BLOCK TRANSFER: XFERC(565) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1201
3-35-2 SINGLE WORD DISTRIBUTE: DISTC(566) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203
3-35-3 DATA COLLECT: COLLC(567) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206
3-35-4 MOVE BIT: MOVBC(568) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1211
3-35-5 BIT COUNTER: BCNTC(621) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212
3-35-6 GET VARIABLE ID: GETID(286) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214
147
Descrizioni delle istruzioni: notazione e layout Capitolo 3-1
C C: Canale di controllo
D D: Canale di destinazione
Variazioni Variazioni Le variazioni utili per controllare l’esecuzione dell’istruzione in circostanze particolari
sono fornite in forma mnemonica. Ogni variazione non supportata da un’istruzione viene
indicata con “Non supportata”.
• Eseguita a ogni ciclo con condizione ON: l’istruzione viene eseguita se riceve una
condizione di esecuzione ON.
• Eseguita una sola volta per differenziazione sul fronte di salita: l’istruzione viene
eseguita durante il ciclo successivo soltanto quando la condizione di esecuzione è
passata da OFF a ON.
• Eseguita una sola volta per differenziazione sul fronte di discesa: l’istruzione viene
eseguita durante il ciclo successivo soltanto quando la condizione di esecuzione è
passata da ON a OFF.
• Eseguita sempre: l’istruzione non necessita di alcuna condizione di esecuzione e
viene eseguita a ogni ciclo.
• Crea condizione ON....: l’istruzione viene eseguita a ogni ciclo per creare una
condizione di esecuzione per l’istruzione successiva.
Aree di programma applicabili Indicazione delle aree di programma in cui è possibile utilizzare l’istruzione. “OK” indica
le aree in cui è possibile utilizzare l’istruzione.
148
Descrizioni delle istruzioni: notazione e layout Capitolo 3-1
Elemento Descrizione
Operandi Quando è necessario viene indicato il significato dei canali e dei bit utilizzati in
specifici operandi, come i canali di controllo.
15 8 7 0
C m n
Bit di origine: Da 00 a 0F
(da 0 a 15 decimale)
Bit di destinazione: Da 00 a
0F (da 0 a 15 decimale)
Caratteristiche operando Gli indirizzi delle aree di memoria utilizzabili da ciascun operando sono elencati in una
tabella simile alla seguente. Le lettere che compaiono a sinistra nell’intestazione delle
colonne sono identiche a quelle utilizzate nel simbolo programmazione ladder. “---”
indica quando non è possibile che un’area sia specifica per un operando.
Area S C D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit ritentivi Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Descrizione Informazioni sulla funzione dell’istruzione e sugli operandi utilizzati dall’istruzione stessa.
Flag La tabella dei flag indica lo stato dei flag di condizione immediatamente dopo
l’esecuzione dell’istruzione. I flag che non compaiono nell’elenco sono estranei
all’istruzione. “OFF” indica che un flag viene impostato su OFF immediatamente dopo
l’esecuzione dell’istruzione indipendentemente dai risultati dell’esecuzione stessa.
Costanti L'inserimento delle costanti per gli operandi viene indicato nel seguente elenco.
Descrizioni e caratteristiche degli operandi
• Operandi con specifica di stringhe di bit (di norma inserimento in formato
esadecimale):
Per gli operandi con specifica di stringhe di bit viene fornito soltanto il
formato esadecimale, ad esempio come operando S per l’istruzione
MOV(021) viene indicato esclusivamente “Da #0000 a #FFFF”. In CX-
Programmer è comunque possibile inserire stringhe di bit in formato
decimale utilizzando il prefisso &.
• Operandi con specifica di valori numerici (di norma inserimento in formato
decimale, compresi i numeri di salto):
Per gli operandi con specifica di valori numerici vengono indicati sia il
formato decimale che quello esadecimale, ad esempio “Da #0000 a
#FFFF” e “Da &0 a &65535” vengono forniti nel caso dell’operando N per
l’istruzione XFER(070).
149
Descrizioni delle istruzioni: notazione e layout Capitolo 3-1
XFER
&10
D00100
D00200
150
Aggiornamentidelle istruzioni e nuove istruzioni Capitolo 3-2
151
Aggiornamentidelle istruzioni e nuove istruzioni Capitolo 3-2
Nuove istruzioni Le istruzioni che seguono sono state aggiornate per CPU CS1/H e CJ1/H.
Istruzioni matematiche speciali
ARITHMETIC PROCESS, APR(069)
Istruzioni per la diagnostica di funzionamento incorretto
FAILURE ALARM, FAL(006)
SEVERE FAILURE ALARM, FALS(007)
152
Istruzioni di ingresso sequenza Capitolo 3-3
Variazioni
Variazioni Riavvia la logica e crea una condizione di LD
esecuzione con stato ON a ogni ciclo se il bit
operando è impostato su ON
Riavvia la logica e crea una condizione di @LD
esecuzione con stato ON una sola volta per
differenziazione sul fronte di salita
Riavvia la logica e crea una condizione di %LD
esecuzione con stato ON una sola volta per
differenziazione sul fronte di discesa
Aggiornamento immediato (vedere nota) !LD
Variazioni Aggiorna il bit di ingresso, riavvia la logica e !@LD
combinate crea una condizione di esecuzione con stato
ON una sola volta per differenziazione sul
fronte di salita (vedere nota)
Aggiorna il bit di ingresso, riavvia la logica e !%LD
crea una condizione di esecuzione con stato
ON una sola volta per differenziazione sul
fronte di discesa (vedere nota)
Nota L'aggiornamento immediato non è supportato dalle CPU CS1D per sistemi a
due CPU.
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Bit operando LD
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A95915
Area del Da T0000 a T4095
temporizzatore
Area del contatore Da C0000 a C4095
Area dei flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, N, OF, UF, >, =, <, >=, <>, <=, A1, A0
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area TR Da TR0 a TR15
Area DM ---
Area EM senza banco ---
Area EM con banco ---
153
Istruzioni di ingresso sequenza Capitolo 3-3
Descrizione LD viene utilizzato per il primo bit normalmente aperto dalla barra di
distribuzione oppure per il primo bit normalmente aperto di un blocco logico.
In assenza di aggiornamento immediato, viene letto il bit specificato nella
memoria I/O. Nel caso di aggiornamento immediato, viene letto e utilizzato lo
stato del terminal di ingresso del modulo di ingresso di base.
Nelle seguenti circostanze LD è utilizzato come istruzione per indicare un
inizio logico.
• Nel collegamento diretto alla barra di distribuzione.
• Quando i blocchi logici sono collegati da AND LD oppure OR LD, ossia,
all’inizio di un blocco logico.
Le istruzioni AND LOAD e OR LOAD vengono utilizzate per collegare in serie
o in parallelo i blocchi logici che iniziano con LD oppure con LD NOT.
Quando non è possibile collegare le istruzioni relative all’uscita direttamente
alla barra di distribuzione, è necessaria almeno un’istruzione LOAD o LOAD
NOT per la condizione di esecuzione. In assenza di un’istruzione LOAD o
LOAD NOT, si verificherà un errore di programmazione con il controllo del
programma da parte della periferica.
Quando i blocchi logici sono collegati da istruzioni AND LOAD o OR LOAD, il
numero complessivo di istruzioni AND LOAD/OR LOAD deve corrispondere al
numero totale di LOAD/LOAD NOT meno uno. Altrimenti si verificherà un
errore di programmazione. Per informazioni dettagliate, fare riferimento alle
sezioni 3-3-7 AND LOAD: AND LD e 3-3-8 OR LOAD: OR LD.
154
Istruzioni di ingresso sequenza Capitolo 3-3
Esempio
Istruzione Operando
AND LD
LD 000000 OR LD
LD 000001
LD 000002 OR LD
AND 000003
OR LD ---
AND LD ---
LD NOT 000004
AND 000005
OR LD ---
OUT 000100
Variazioni
Variazioni Riavvia la logica e crea una condizione di esecuzione LD NOT
con stato ON a ogni ciclo se il bit operando è impostato
su OFF
Riavvia la logica e crea una condizione di esecuzione @LD NOT
con stato ON una sola volta per differenziazione sul
fronte di salita (vedere nota 1)
Riavvia la logica e crea una condizione di esecuzione %LD NOT
con stato ON una sola volta per differenziazione sul
fronte di discesa (vedere nota 1)
Aggiornamento immediato (vedere nota 2) !LD NOT
Variazioni Aggiorna il bit di ingresso, riavvia la logica e crea una !@LD NOT
combinate condizione di esecuzione con stato ON una sola volta
per differenziazione sul fronte di salita (vedere nota 3)
Aggiorna il bit di ingresso, riavvia la logica e crea una !%LD NOT
condizione di esecuzione con stato ON una sola volta
per differenziazione sul fronte di discesa (vedere nota 3)
Nota 1. Le seguenti variazioni sono supportate soltanto da CPU CS1/H, CJ1/H,
CJ1M e CS1D. @LD NOT, %LD NOT, !@LD NOT e !%LD NOT.
2. L'aggiornamento immediato non è supportato dalle CPU CS1D per sistemi
a due CPU.
3. Variazioni combinate sono supportate da CPU CS1D per sistemi a singola
CPU e CPU CS1/H, CJ1/H e CJ1M.
155
Istruzioni di ingresso sequenza Capitolo 3-3
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Bit operando LD NOT
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A95915
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area dei flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, N, OF, UF, >, =, <, >=, <>, <=, ON, OFF, AER
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area TR ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti in ---
binario
Indirizzi DM/EM indiretti in ---
BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione LD NOT viene utilizzato per il primo bit normalmente chiuso dalla barra di
distribuzione oppure per il primo bit normalmente chiuso di un blocco logico.
In assenza di aggiornamento immediato, viene letto e invertito il bit specificato
nella memoria I/O. Nel caso di aggiornamento immediato, viene letto, invertito
e utilizzato lo stato del terminal di ingresso del modulo di ingresso di base.
Nelle seguenti circostanze LD NOT è utilizzato come istruzione per indicare
un inizio logico.
• Nel collegamento diretto alla barra di distribuzione.
• Quando i blocchi logici sono collegati da AND LD oppure OR LD (utilizzati
all’inizio di un blocco logico).
Le istruzioni AND LOAD e OR LOAD vengono utilizzate per collegare in serie
o in parallelo i blocchi logici che iniziano con LD oppure con LD NOT.
Quando non è possibile collegare le istruzioni relative all’uscita direttamente
alla barra di distribuzione, è necessaria almeno un’istruzione LOAD o LOAD
NOT per la condizione di esecuzione. In assenza di un’istruzione LOAD o
LOAD NOT, si verificherà un errore di programma con il controllo del
programma da parte della periferica.
Quando i blocchi logici sono collegati da istruzioni AND LOAD o OR LOAD, il
numero complessivo di istruzioni AND LOAD/OR LOAD deve corrispondere al
numero totale di LOAD/LOAD NOT meno uno. Altrimenti si verificherà un
errore di programmazione.
156
Istruzioni di ingresso sequenza Capitolo 3-3
Istruzione Operando
AND LD
LD 000000 OR LD
LD 000001
LD 000002 OR LD
AND 000003
OR LD ---
AND LD ---
LD NOT 000004
AND 000005
OR LD ---
OUT 000100
Simbolo programmazione
ladder
Variazioni
Variazioni Crea una condizione di esecuzione con stato ON a ogni AND
ciclo se il risultato della funzione AND è ON
Crea una condizione di esecuzione con stato ON una @AND
sola volta per differenziazione sul fronte di salita
Crea una condizione di esecuzione con stato ON una %AND
sola volta per differenziazione sul fronte di discesa
Aggiornamento immediato (vedere nota) !AND
Variazioni Aggiorna il bit di ingresso e crea una condizione di !@AND
combinate esecuzione con stato ON una sola volta per
differenziazione sul fronte di salita (vedere nota)
Aggiorna il bit di ingresso e crea una condizione di !%AND
esecuzione con stato ON una sola volta per
differenziazione sul fronte di discesa (vedere nota)
Nota L'aggiornamento immediato non è supportato dalle CPU CS1D per sistemi a
due CPU.
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
157
Istruzioni di ingresso sequenza Capitolo 3-3
Caratteristiche operando
Area Bit operando AND
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A95915
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area dei flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, N, OF, UF, >, =, <, >=, <>, <=, ON, OFF, AER
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area TR ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti in ---
binario
Indirizzi DM/EM indiretti in ---
BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione La funzione AND è utilizzata per un bit normalmente aperto collegato in serie.
Non è possibile collegarla direttamente alla barra di distribuzione o utilizzarla
all’inizio di un blocco logico. In assenza di aggiornamento immediato, viene
letto il bit specificato nella memoria I/O. Nel caso di aggiornamento
immediato, viene letto lo stato del terminal di ingresso del modulo di ingresso
di base.
Flag Questa istruzione non influisce su alcun flag.
158
Istruzioni di ingresso sequenza Capitolo 3-3
Esempio
Istruzione Operando
LD 000000
AND 000001
LD 000002
AND 000003
LD 000004
AND NOT 000005
OR LD ---
AND LD ---
OUT 000006
159
Istruzioni di ingresso sequenza Capitolo 3-3
Descrizione La funzione AND NOT è utilizzata per un bit normalmente chiuso collegato in
serie. Non è possibile collegarla direttamente alla barra di distribuzione o
utilizzarla all’inizio di un blocco logico. In assenza di aggiornamento
immediato, viene letto il bit specificato nella memoria I/O. Nel caso di
aggiornamento immediato, viene letto lo stato dei terminal di ingresso del
modulo di ingresso di base.
Flag Questa istruzione non influisce su alcun flag.
Avvertenze Per AND NOT è possibile specificare l’aggiornamento immediato (!).
Un’istruzione con refresh immediato aggiorna lo stato del bit d’ingresso
appena prima dell’esecuzione da moduli di ingresso di base (tranne quelli sui
sistemi slave o per moduli di ingresso C200H multipunto gruppo 2).
Esempio
Istruzione Operando
LD 000000
AND 000001
LD 000002
AND 000003
LD 000004
AND NOT 000005
160
Istruzioni di ingresso sequenza Capitolo 3-3
Istruzione Operando
OR LD ---
AND LD ---
OUT 000006
3-3-5 OR: OR
Scopo Assume un OR logico dello stato ON/OFF del bit operando specificato e la
condizione di esecuzione corrente.
Variazioni
Variazioni Crea una condizione di esecuzione con stato ON a OR
ogni ciclo se il risultato della funzione OR è ON
Crea una condizione di esecuzione con stato ON una @OR
sola volta per differenziazione sul fronte di salita
Crea una condizione di esecuzione con stato ON una %OR
sola volta per differenziazione sul fronte di discesa
Aggiornamento immediato (vedere nota) !OR
Variazioni Aggiorna il bit di ingresso e crea una condizione di !@OR
combinate esecuzione con stato ON una sola volta per
differenziazione sul fronte di salita (vedere nota)
Aggiorna il bit di ingresso e crea una condizione di !%OR
esecuzione con stato ON una sola volta per
differenziazione sul fronte di discesa (vedere nota)
Nota L'aggiornamento immediato non è supportato dalle CPU CS1D per sistemi a
due CPU.
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Bit operando OR
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A95915
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area dei flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, N, OF, UF, >, =, <, >=, <>, <=, ON, OFF, AER
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti in ---
binario
Indirizzi DM/EM indiretti in ---
BCD
Costanti ---
Registri dati ---
161
Istruzioni di ingresso sequenza Capitolo 3-3
Esempio
Istruzione Operando
LD 000000
AND 000001
AND 000002
OR 000003
AND 000004
LD 000005
AND 000006
OR NOT 000007
AND LD ---
OUT 000008
162
Istruzioni di ingresso sequenza Capitolo 3-3
Variazioni
Variazioni Crea una condizione di esecuzione con stato ON a OR NOT
ogni ciclo se il risultato della funzione OR NOT è ON
Crea una condizione di esecuzione con stato ON una @OR NOT
sola volta per differenziazione sul fronte di salita
(vedere nota 1)
Crea una condizione di esecuzione con stato ON una %OR NOT
sola volta per differenziazione sul fronte di discesa
(vedere nota 1)
Aggiornamento immediato (vedere nota 2) !OR NOT
Variazioni Aggiorna il bit di ingresso e crea una condizione di !@OR NOT
combinate esecuzione con stato ON una sola volta per
differenziazione sul fronte di salita (vedere nota 3)
Aggiorna il bit di ingresso e crea una condizione di !%OR NOT
esecuzione con stato ON una sola volta per
differenziazione sul fronte di discesa (vedere nota 3)
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Bit operando OR NOT
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A95915
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area dei flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, N, OF, UF, >, =, <, >=, <>, <=, A1, A0
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area TR ---
Area DM ---
Area EM con banco ---
Indirizzi DM/EM indiretti in binario ---
Indirizzi DM/EM indiretti in BCD ---
Costanti ---
Registri dati ---
163
Istruzioni di ingresso sequenza Capitolo 3-3
Esempio
Istruzione Operando
LD 000000
AND 000001
AND 000002
OR 000003
AND 000004
LD 000005
AND 000006
OR NOT 000007
AND LD ---
OUT 000008
Simbolo programmazione
Blocco logico Blocco logico
ladder
Variazioni
Variazioni Crea una condizione di esecuzione con stato ON a AND LD
ogni ciclo se il risultato della funzione AND è ON
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
164
Istruzioni di ingresso sequenza Capitolo 3-3
Descrizione AND LD collega in serie il blocco logico che si trova immediatamente prima
dell’istruzione a un altro blocco logico.
LD
a Blocco logico A
LD
a Blocco logico B
Avvertenze È possibile collegare tre o più blocchi logici in serie utilizzando questa
istruzione in primo luogo per collegare due blocchi logici, quindi il terzo e in
ordine i successivi. È inoltre possibile ripetere questa istruzione dopo tre o più
blocchi logici e collegarli in serie.
Quando un blocco logico è collegato da istruzioni AND LOAD o OR LOAD, il
numero complessivo di istruzioni AND LOAD/OR LOAD deve corrispondere al
numero totale di istruzioni LOAD/LOAD NOT meno uno. Altrimenti si
verificherà un errore di programma.
Esempio
165
Istruzioni di ingresso sequenza Capitolo 3-3
Istruzione Operando
AND LD ---
. .
. .
OUT 000500
Esempio di codice (2)
Istruzione Operando
LD 000000
OR NOT 000001
LD NOT 000002
OR 000003
LD 000004
OR 000005
. .
. .
AND LD ---
AND LD ---
. .
. .
OUT 000500
L’istruzione AND LOAD può essere usata in modo ripetuto. Nel secondo
metodo di programmazione (2), tuttavia, il numero delle istruzioni AND LOAD
raggiunge il numero delle precedenti istruzioni LOAD e LOAD NOT meno 1.
Con il metodo (2), è opportuno assicurarsi che il numero complessivo di
istruzioni LOAD e LOAD NOT prima di AND LOAD non sia superiore a otto.
Per disporre di un numero superiore di istruzioni, utilizzare il metodo (1). In
presenza di nove o più istruzioni con il metodo (2), si verificherà un errore di
programma durante il controllo del programma da parte della periferica.
Codice
Indirizzo Istruzione Operando
000000 LD 000000
000001 OR 000001
000002 LD 000002
000003 OR NOT 000003
000004 AND LD ---
000005 OUT 000500
Secondo LD: Utilizzato per il primo bit del blocco successivo collegato in serie al blocco precedente.
3-3-8 OR LOAD: OR LD
Scopo Assume un OR logico tra blocchi logici.
Simbolo programmazione
ladder Blocco logico
Blocco logico
Variazioni
Variazioni Crea una condizione di esecuzione con stato ON a OR LD
ogni ciclo se il risultato della funzione AND è ON
Aggiornamento immediato Non supportata
166
Istruzioni di ingresso sequenza Capitolo 3-3
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Descrizione AND LD collega in parallelo il blocco logico appena prima che l’istruzione
venga collegata a un altro blocco logico.
LD
a Blocco logico A
LD
a Blocco logico B
Avvertenze È possibile collegare tre o più blocchi logici in parallelo utilizzando questa
istruzione in primo luogo per collegare due blocchi logici, quindi il terzo e in
ordine i successivi. È inoltre possibile ripetere questa istruzione dopo tre o più
blocchi logici e collegarli in parallelo.
Quando un blocco logico è collegato da istruzioni AND LOAD o OR LOAD, il
numero complessivo di istruzioni AND LOAD/OR LOAD deve corrispondere al
numero totale di LOAD/LOAD NOT meno uno. Altrimenti si verificherà un
errore di programma.
Esempio
167
Istruzioni di ingresso sequenza Capitolo 3-3
Secondo LD: Utilizzato per il primo bit del blocco successivo collegato in serie al blocco precedente.
168
Istruzioni di ingresso sequenza Capitolo 3-3
169
Istruzioni di ingresso sequenza Capitolo 3-3
Input
ricevuto
Input
ricevuto
Input
↑ ricevuto
Input
↓ ricevuto
Input
Input ricevuto
! ricevuto
Input
!↑ ricevuto
Input
!↓ ricevuto
Input ricevuto
Input
! ! ricevuto
Input
↑ ! ricevuto
Input
↓ ! ricevuto
! !
!↑ !
!↓ !
Elaborazione
CPU
3-3-11 Bit TR
I bit TR servono a mantenere temporaneamente lo stato ON/OFF di condi-
zioni di esecuzione in un programma scritto utilizzando codici mnemonici.
Non vengono utilizzati se si programma direttamente in linguaggio ladder per-
ché l’elaborazione è eseguita in modo automatico dal dispositivo periferico.
Nel diagramma seguente è riportata una semplice applicazione che utilizza
due bit TR.
170
Istruzioni di ingresso sequenza Capitolo 3-3
Utilizzo da TR0 a TR15 I bit da TR0 a TR15 vengono utilizzati soltanto con le istruzioni LOAD e
OUTPUT. Non vi sono restrizioni per quanto riguarda l’ordine di utilizzo degli
indirizzi di bit.
Quando è possibile, è più semplice riscrivere un programma in modo tale che
i bit TR non siano più necessari. Nel diagramma seguente è riportato un caso
in cui un bit TR non è necessario e un altro in cui lo è.
(1)
(2)
Da TR0 a TR15: I bit TR sono utilizzati soltanto per mantenere (da OUT TR0 a TR15) e
considerazioni ripristinare (da LD TR0 a TR15) lo stato ON/OFF dei punti di diramazione nei
programmi con numerose diramazioni di uscita. Pertanto sono diversi dagli
altri bit e non possono essere utilizzati con istruzioni AND od OR oppure,
ancora, con istruzioni che includono NOT.
171
Istruzioni di ingresso sequenza Capitolo 3-3
Duplicazione delle uscite Come illustrato nel diagramma seguente, non è possibile ripetere un indirizzo
da TR0 a TR15 di bit TR all’interno di uno stesso blocco in un programma con numerose
diramazioni di uscita. È tuttavia possibile utilizzarlo nuovamente in un altro
blocco.
Simbolo programmazione
NOT(520)
ladder
Variazioni
Variazioni Inverte la condizione di esecuzione a ogni ciclo NOT(520)
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Descrizione Per invertire la condizione di esecuzione, NOT(520) è collocata tra una
condizione di esecuzione e un’altra istruzione.
Flag NOT(520) non influisce su alcun flag.
Avvertenze NOT(520) è un’istruzione intermedia, ossia non è possibile utilizzarla come
istruzione sul lato destro. Dopo NOT(520) assicurarsi di programmare
un’istruzione sul lato destro.
Simboli programmazione
ladder UP(521)
DOWN(522)
Variazioni
Variazioni Crea una condizione di esecuzione con stato ON una UP(521)
sola volta per differenziazione sul fronte di salita
Aggiornamento immediato Non supportata
173
Istruzioni di ingresso sequenza Capitolo 3-3
Tempo di
ciclo
Tempo
di ciclo
S S: canale di origine
N N: numero di bit
TSTN(351)
S S: canale di origine
N N: numero di bit
Variazioni
Variazioni Eseguita a ogni ciclo TST(350)
Aggiornamento immediato Non supportata
174
Istruzioni di ingresso sequenza Capitolo 3-3
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
175
Istruzioni di ingresso sequenza Capitolo 3-3
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF o non modificato (vedere nota)
Flag di = OFF o non modificato (vedere nota)
uguaglianza
Flag negativo N OFF o non modificato (vedere nota)
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1/H, CJ1/H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
&3
&3
&3
&5
176
Istruzioni di uscita sequenza Capitolo 3-4
OR TST(350) e OR TSTN(351)
Nell’esempio che segue, CIO 000001 viene impostato su ON quando
CIO 000000 o il bit 3 di D00010 sono ON.
&3
&3
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON OUT
Eseguita una sola volta per differenziazione sul Non supportata
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato (vedere nota) !OUT
Caratteristiche operando
Area Bit operando OUT
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A44800 ad A95915
Area del ---
temporizzatore
Area del contatore ---
Area TR Da TR0 a TR15
177
Istruzioni di uscita sequenza Capitolo 3-4
Avvertenze Per OUT e OUT NOT è possibile specificare l’aggiornamento immediato (!).
Un’istruzione con refresh immediato aggiorna lo stato del terminal di uscita
subito dopo l’esecuzione dell’istruzione per moduli di uscita di base (tranne
quelli sui sistemi slave o per moduli di ingresso C200H multipunto gruppo 2) e
contemporaneamente scrive lo stato della condizione di esecuzione (flusso
logico di alimentazione) nel bit di uscita specificato nella memoria I/O.
Esempio
Istruzione Operando
LD 000000
OUT 000001
OUT NOT 000002
178
Istruzioni di uscita sequenza Capitolo 3-4
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON OUT NOT
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato (vedere nota) !OUT NOT
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK OK
Caratteristiche operando
Area Bit operando OUT
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A44800 ad A95915
Area del temporizzatore ---
Area del contatore ---
Area TR Da TR0 a TR15
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a ,IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
179
Istruzioni di uscita sequenza Capitolo 3-4
Istruzione Operando
LD 000000
OUT 000001
OUT NOT 000002
R (reset)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON KEEP(011)
Eseguita una sola volta per differenziazione sul Non supportata
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato (vedere nota) !KEEP(011)
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK OK
Caratteristiche operando
Area B
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A44800 ad A95915
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
180
Istruzioni di uscita sequenza Capitolo 3-4
Descrizione Quando S è attivato, il bit specificato passa a ON e mantiene questo stato fino
al reset, indipendentemente dal fatto che S rimanga attivo o venga disattivato.
Quando R viene attivato, il bit specificato passerà allo stato OFF. La relazione
tra le condizioni di esecuzione e lo stato del bit KEEP(011) viene illustrata qui
di seguito.
Impostazione
Reset
ON
Condizione di
esecuzione S OFF
ON
Condizione di
esecuzione R OFF
ON
Stato di C OFF
Impostazione
Reset
Stato di C
Impostazione
Reset
Stato di C
181
Istruzioni di uscita sequenza Capitolo 3-4
Come illustrato qui di seguito, è possibile utilizzare KEEP(011) per creare flip-
flop.
Se un bit di ritentività viene utilizzato per B, lo stato del bit sarà mantenuto
anche durante una caduta di tensione. È quindi possibile utilizzare
KEEP(011) per programmare bit che mantengano il proprio stato al riavvio del
PLC in seguito a una caduta di tensione. Qui di seguito è riportato un
esempio utile per visualizzare un messaggio di avvertimento in seguito a un
arresto di sistema per un’emergenza.
182
Istruzioni di uscita sequenza Capitolo 3-4
Indica una
situazione di
emergenza
Ingresso di reset
Attiva la
visualizzaz
dell'avverti
Nel caso di caduta di tensione è possibile mantenere lo stato dei bit dell’area
di I/O attivando il bit di ritentività IOM e scegliendo l’opzione IOM Hold Bit
Hold nell’impostazione del PLC. In questa ipotesi, i bit dell’area di I/O utilizzati
in KEEP(011) manterranno il proprio stato a un riavvio del PLC in seguito a
una caduta di tensione, esattamente come i bit di ritentività. Dopo avere
apportato le modifiche al PLC assicurarsi di riavviarlo, altrimenti le nuove
impostazioni resteranno inutilizzate.
A S
KEEP
120000
A MAI R
Nei diagrammi ladder e nel codice mnemonico gli operandi per KEEP(011)
vengono immessi in ordine differente.
Ordine del diagramma ladder:Ingresso di impostazione → KEEP(011) →
Ingresso di reset
Ordine del codice mnemonico:Ingresso di impostazione → Ingresso di
reset→ KEEP(011)
Esempio Nell’esempio seguente, quando CIO 000000 è impostato su ON, CIO 00500
viene attivato. CIO 00500 resta impostato su ON fino all’attivazione di
CIO 000001.
Nell’esempio seguente, quando CIO 000002 è impostato su ON e
CIO 000003 su OFF, CIO 00100 viene attivato. CIO 00100 resta impostato su
ON fino all’attivazione di CIO 000004 o di CIO 000005.
183
Istruzioni di uscita sequenza Capitolo 3-4
Codice
Indirizzo Istruzione Operando
000100 LD 000000
000101 LD 000001
000102 KEEP(011) 000500
000103 LD 000002
000104 AND NOT 000003
000105 LD 000004
000106 OR 000005
000107 KEEP(011) 000100
Simboli programmazione
ladder DIFU(013)
B B: bit
DIFD(014)
B B: bit
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON Non supportata
Eseguita una sola volta per differenziazione DIFU(013)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato (vedere nota) !DIFU(013)
Condizione di
esecuzione
Stato di B
1 ciclo
Stato di B
1 ciclo
185
Istruzioni di uscita sequenza Capitolo 3-4
001000
1 ciclo 1 ciclo
Funzionamento di DIFD(014)
Nell’esempio che segue, quando CIO 000000 passa da ON a OFF,
CIO 001000 viene impostato su ON per un solo ciclo.
001000
001000
1 ciclo 1 ciclo
186
Istruzioni di uscita sequenza Capitolo 3-4
B B: bit
RSET
B B: bit
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SET
Eseguita una sola volta per differenziazione @SET
sul fronte di salita
Eseguita una sola volta per differenziazione %SET
sul fronte di discesa
Aggiornamento immediato (vedere nota) !SET
Variazioni Eseguita una sola volta con immediato !@SET
combinate aggiornamento del bit per differenziazione
sul fronte di salita (vedere nota)
Eseguita una sola volta con immediato !%SET
aggiornamento del bit per differenziazione
sul fronte di discesa (vedere nota)
Caratteristiche operando
Area B
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A44800 ad A95915
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
187
Istruzioni di uscita sequenza Capitolo 3-4
Area B
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Stato di B
188
Istruzioni di uscita sequenza Capitolo 3-4
000001
CIO 010000 viene impostato su
ON all'attivazione di CIO 000001
e mantiene lo stato ON fino
all'attivazione di CIO 000002.
000002
D D: canale iniziale
RSTA(531)
D D: canale iniziale
Nota I bit che vengono attivati o disattivati devono appartenere alla stessa area
dati. (L’intervallo di canali si attesta approssimativamente tra D a D+N2÷16.)
a
D: 256 canali max.
Caratteristiche operando
Area D N1 N2
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit ritentivi Da H000 a H511
Area bit ausiliaria Da A448 ad Da A000 ad A959
A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti in Da @D00000 a @D32767
binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti in Da *D00000 a *D32767
BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a Da #0000 a
#000F (in #FFFF (in
formato binario) formato binario)
o da &0 a &15 o da &0 a
&65535
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto con i Da ,IR0 a ,IR15
registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a
,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
190
Istruzioni di uscita sequenza Capitolo 3-4
SETA(530) può essere utilizzata per impostare su ON i bit di aree dati in cui di
norma accedono soltanto i canali, come le aree DM ed EM.
Funzionamento di RSTA(531)
RSTA(531) imposta su OFF gli N2 bit, iniziando da bit N1 di D e proseguendo
a sinistra, ossia verso i bit più significativi. Tutti gli altri bit vengono lasciati
inalterati. (Se N2 è impostato su 0, non viene apportata alcuna modifica).
È possibile attivare i bit impostati su OFF da RSTA(531) utilizzando
SETA(530) o qualsiasi altra istruzione.
RSTA(531) può essere utilizzata per impostare su OFF i bit di aree dati in cui
di norma accedono soltanto i canali, come le aree DM ed EM.
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se N1 non rientra nell’intervallo specificato 0000 - 000F.
OFF in tutti gli altri casi.
N1: Bit 5
&20
N1: Bit 3
&20
191
Istruzioni di uscita sequenza Capitolo 3-4
RSTB(533)
D: indirizzo del canale
D N: numero di bit
N
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SETB(532)
Eseguita una sola volta per differenziazione @SETB(532)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato (vedere nota) !SETB(532)
Variazioni Eseguita una sola volta con immediato !@SETB(532)
combinate aggiornamento del bit per differenziazione
sul fronte di salita (vedere nota)
Eseguita una sola volta con immediato Non supportata
aggiornamento del bit per differenziazione
sul fronte di discesa
192
Istruzioni di uscita sequenza Capitolo 3-4
Caratteristiche operando
Area D N
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959 Da A000 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti in Da @D00000 a @D32767
binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti in Da *D00000 a *D32767
BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a #000F
(in formato binario)
o da &0 a &15
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto con i Da ,IR0 a ,IR15
registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047,
a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Condizione di
ON
esecuzione OFF
193
Istruzioni di uscita sequenza Capitolo 3-4
Funzionamento di RSTB(533)
RSTB(533) imposta su OFF il bit N del canale D quando lo stato della
condizione di esecuzione è ON. Lo stato del bit non subisce modifiche se la
condizione di esecuzione è impostata su OFF. Specificare SETB(532) per
attivare il bit specificato. A differenza di RST, RSTB(533) può disattivare un bit
nell’area DM o in quella EM.
15
Condizione di ON
esecuzione OFF
194
Istruzioni di uscita sequenza Capitolo 3-4
000001
RSTB
Bit 02 di D00000 viene impostato su
D00000
OFF quando CIO 000001 è ON.
&2
OUTB(534)
D: indirizzo del canale
D N: numero di bit
N
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON OUTB(534)
Eseguita una sola volta per differenziazione @OUTB(534)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato (vedere nota) !OUTB(534)
195
Istruzioni di uscita sequenza Capitolo 3-4
Area D N
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a #000F (in formato
binario) o da &0 a &15
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
ON
Bit N del canale D
OFF
Esempio
000000
OUTB
Bit 10 di D00000 viene impostato su
D00000
OFF quando CIO 000000 è OFF.
&10
Simbolo programmazione
ladder END (001)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON END (001)
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita Non consentita Non OK
consentita
197
Istruzioni di controllo sequenza Capitolo 3-5
Task 1 Programma A
Task 2 Programma B
Task n Programma Z
I/O refresh
Simbolo programmazione NOP(000) non prevede alcuna associazione con un simbolo programmazione
ladder ladder.
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON NOP(000)
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Avvertenze È possibile utilizzare NOP(000) soltanto con display mnemonici e non con
programmi ladder.
198
Istruzioni di controllo sequenza Capitolo 3-5
Differenze tra interblocchi Non è possibile nidificare gli interblocchi normali (IL(002) and IL(003)), ma
e interblocchi multipli solo quelli multipli come (MILH(517), MILR(518) e MILC(519)). Come
illustrato nel diagramma qui di seguito, la nidificazione degli interblocchi
multipli consente di semplificare la programmazione ladder.
Interblocchi con MILH e MILC Interblocchi con IL e ILC
a a
MILH IL
0
A1
A1
ILC
b
a b
MILH
IL
1
A2
A2
ILC
c
MILH a b c
2 IL
A3
A3
ILC
MILC
2
MILC
1
MILC
0
Differenze tra MILH(517) e Negli interblocchi creati con MILH(517) e MILR(518), le istruzioni differenziate
MILR(518) (DIFU, DIFD oppure quelle con prefisso @ o %) hanno un funzionamento
diverso.
Il funzionamento delle istruzioni differenziate in un interblocco creato con
MILH(517) è identico al funzionamento in un interblocco creato con IL(002).
199
Istruzioni di controllo sequenza Capitolo 3-5
Avvertenze È opportuno non combinare interblocchi creati con istruzioni di interblocco dif-
ferenti (IL-ILC, MILH-MILC e MILR-MILC). Se differenti metodi di interblocco
vengono utilizzati congiuntamente, è possibile che gli interblocchi non funzio-
nino in modo corretto. Per informazioni dettagliate sulle istruzioni combinate,
fare riferimento alla sezione 3-5-5 MULTI-INTERLOCK DIFFERENTIATION
HOLD, MULTI-INTERLOCK DIFFERENTIATION RELEASE e MULTI-INTER-
LOCK CLEAR: MILH(517), MILR(518) e MILC(519).
Ad esempio, non è possibile inserire un’istruzione MILH(517) tra IL(002) e
IL(003).
IL
ILC
IL
ILC
MILH
MILR
MILC
200
Istruzioni di controllo sequenza Capitolo 3-5
Differenze tra interblocchi Nella tabella seguente sono riportate le differenze tra gli interblocchi (creati
e salti con IL(002)/ILC(003), MILH(517)/MILC(519) o MILR(518)/MILC(519)) e i salti
creati con JMP(004)/JME(005).
Elemento Funzionamento con IL(002)/ILC(003), Funzionamento con
MILH(517)/MILC(519) o MILR(518)/ JMP(004)/JME(005)
MILC(519))
Esecuzione dell'istruzione Ad eccezione di OUT, OUT NOT e Non viene eseguita alcuna istruzione
OUTB(534), tutte le istruzioni, comprese
quelle del temporizzatore, non vengono
eseguite.
Stato dell’uscita nelle Ad eccezione delle uscite in OUT, OUT Tutte le uscite mantengono lo stato
istruzioni NOT, OUTB(534) e nelle istruzioni del precedente.
temporizzatore, tutte le uscite
mantengono lo stato precedente.
Bit in OUT, OUT NOT, OFF Tutte le uscite mantengono lo stato
OUTB(534) precedente.
Stato delle istruzioni del Reset I temporizzatori in funzione (soltanto TIM,
temporizzatore TIMX(550), TIMH(015), TIMHX(551),
(tranne (TTIM(087), TMHH(540) e TMHHX(552)) continuano a
TTIMX(555), MTIM(543) e funzionare poiché i valori attuali (PV) vengono
MTIMX(554)) aggiornati anche quando l’istruzione del
temporizzatore non è in fase di esecuzione.
ILC(003)
Variazioni
VariazioniProcede all’interblocco se impostata su OFF. Non IL(002)
procede all’interblocco se impostata su ON
Aggiornamento immediato Non supportata
201
Istruzioni di controllo sequenza Capitolo 3-5
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = OFF o non modificato (vedere nota)
uguaglianza
Flag negativo N OFF o non modificato (vedere nota)
Nota Nelle CPU CS1 e CJ1 i flag di uguaglianza e i flag negativi sono impostati su
OFF.
202
Istruzioni di controllo sequenza Capitolo 3-5
Nelle CPU CS1/H, CJ1/H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
203
Istruzioni di controllo sequenza Capitolo 3-5
Esempi Nell’esempio che segue quando CIO 000000 è impostato su OFF, tutte le
uscite comprese tra IL(002) e ILC(003) vengono rese interdipendenti.
Nell’esempio che segue quando CIO 000000 è impostato su ON, le istruzioni
comprese tra IL(002) e ILC(003) vengono eseguite normalmente.
OFF
OFF
Esecu- Uscite
zione
normale interbloccate
Reset
Mantenuto
Mantenuto
204
Istruzioni di controllo sequenza Capitolo 3-5
Simboli programmazione
ladder MILH(517)
N N: numero di interbloc
D D: bit di stato interbloc
MILR(518)
N N: numero di interblocco
D D: bit di stato interblocco
MILC(519)
N N: numero di interblocco
205
Istruzioni di controllo sequenza Capitolo 3-5
Area N D
Area EM con banco --- ---
Indirizzi DM/EM indiretti --- ---
in binario
Indirizzi DM/EM indiretti --- ---
in BCD
Costanti Da 0 a 15 ---
Registri dati --- ---
Registri indice --- ---
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a
da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a
IR15
Variazioni
VariazioniProcede all’interblocco se impostata su OFF. Non MILH(517) e
procede all’interblocco se impostata su ON MILR(518)
Aggiornamento immediato Non supportata
Aree di programma Nella tabella seguente sono riportate le aree di programma applicabili per
applicabili MILH(517), MILR(518) e MILC(519)
Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita Non consentita OK OK
206
Istruzioni di controllo sequenza Capitolo 3-5
MILH
Condizione n
di ingresso d
Funziona- Uscite interbloccate
mento (Uscite OFF, reset
Sezione di normale temporizzatori ecc.)
programma Bit di stato Bit di stato
interbloccata interblocco interblocco (d) OFF
(d) ON
MILC
n
Nidificazione
Gli interblocchi vengono nidificati quando una sezione del programma
interbloccata (combinazione di MILH(517)/MILR(518) e MILC(519)) viene
collocata in un’altra sezione interbloccata del programma (combinazione
MILH(517)/MILR(518) e MILC(519)). Gli interblocchi possono essere nidificati
fino a un massimo di 16 livelli.
È possibile utilizzare la nidificazione per i seguenti tipi di applicazioni.
• Esempio 1
Interblocco dell’intero programma con una condizione e interblocco di una
parte del programma con un’altra condizione (livello di nidificazione 1)
Interblocco globale
(arresto di emergenza)
A1 (elaborazione delle periferiche)
Interblocco parziale
(nastro trasportatore
RUN)
A2 (funzionamento del
nastro trasportatore)
207
Istruzioni di controllo sequenza Capitolo 3-5
Interblocco globale
(arresto di emergenza)
MILH Quando l'arresto di emergenza è attivato
(condizione di ingresso OFF), A1 e A2
0 sono interbloccate.
Quando l'arresto di emergenza è
disattivato (condizione di ingresso ON),
A1 viene eseguita regolarmente e A2
A1 (elaborazione delle periferiche) viene controllata dal selettore del nastro
Interblocco parziale
trasportatore RUN, come descritto qui di
(nastro seguito.
trasportatore RUN)
MILH Quando il selettore del nastro
trasportatore RUN è OFF (condizione di
1 ingresso OFF), A2 è interbloccata.
Quando il selettore del nastro
trasportatore RUN è ON (condizione di
ingresso ON), A2 viene eseguita
A2 (funzionamento del
nastro trasportatore) regolarmente.
MILC
1
MILC
0
• Esempio 2
Interblocco dell’intero programma con una condizione e interblocco di due
parti sovrapposte del programma con altre condizioni (livello di nidificazio-
ne 2)
Interblocco globale
(arresto di emergenza)
A1 (elaborazione delle periferiche)
Interblocco parziale
(nastro trasportatore
A2 (funzionamento del
nastro trasportatore)
Interblocco parziale
(braccio RUN)
A3 (funzionamento del braccio)
208
Istruzioni di controllo sequenza Capitolo 3-5
Interblocco globale
(arresto di emergenza)
MILH Quando l'arresto di emergenza è attivato
0 (condizione di ingresso OFF), A1, A2 e A3
sono interbloccate.
Quando l'arresto di emergenza è disattivato
(condizione di ingresso ON), A1 viene eseguita
A1 (elaborazione regolarmente e A2 e A3 sono controllate dai
delle periferiche) selettori del nastro trasportatore RUN e del
Interblocco parziale braccio RUN, come descritto qui di seguito.
(nastro
trasportatore RUN)
MILH Quando il selettore del nastro trasportatore RUN
1 è OFF (condizione di ingresso OFF), A2 e A3
sono interbloccate.
Quando il selettore del nastro trasportatore RUN
è ON (condizione di ingresso ON), A2 viene
A2 (funzionamento del n eseguita regolarmente e A3 viene controllata dal
astro trasportatore) selettore del braccio RUN, come descritto qui di
seguito.
Interblocco parziale
(braccio RUN)
MILH Quando il selettore del braccio RUN è OFF
2 (condizione di ingresso OFF), A3 è
interbloccata.
Quando il selettore del braccio RUN è ON
(condizione di ingresso ON), A3 viene
A3 (funzionamento eseguita regolarmente.
del braccio)
MILC
2
MILC
1
MILC
0
209
Istruzioni di controllo sequenza Capitolo 3-5
1. Quando CIO 000000 è impostato su OFF (inizio interblocco), la condizione di ingresso di CIO 000001 per DIFU è OFF.
2. La condizione di ingresso di CIO 000001 per DIFU passa da OFF a ON mentre lo stato di CIO 000000 è impostato su OFF (DIFU bloccata),
3. Quando CIO 000000 passa da OFF a ON (interblocco cancellato), DIFU viene eseguita se CIO 000001 ha mantenuto lo stato ON.
000001
DIFU
001000
MILC
0
210
Istruzioni di controllo sequenza Capitolo 3-5
Diagramma di funzionamento
Nessun interblocco Interblocco Nessun interblocco
ON
000000
OFF
Stato (OFF) condizione di differenziazione
all'inizio ON assegnata
ON
000001
OFF
OFF Stato (ON) alla cancellazione
Interblocco MILH(517) dell'interblocco
esecuzione di DIFU(013)
ON
001000
OFF
1 ciclo
1. Quando CIO 000000 è impostato su OFF (inizio interblocco), la condizione di ingresso di CIO 000001 per DIFU è OFF.
2. La condizione di ingresso di CIO 000001 per DIFU passa da OFF a ON mentre lo stato di CIO 000000 è impostato su OFF (DIFU bloccata),
3. Quando CIO 000000 passa da OFF a ON (interblocco cancellato), DIFU non viene eseguita anche se CIO 000001 ha mantenuto lo stato ON.
000001
DIFU
001000
MILC
0
211
Istruzioni di controllo sequenza Capitolo 3-5
Diagramma di funzionamento
Nessun interblocco Interblocco Nessun interblocco
ON
000000
OFF
ON
ON
000001
OFF
OFF
Interblocco MILR(518)
ON Nessuna esecuzione di DIFU(013)
001000
OFF
Sezione del
programma Se CIO 010000 è ON per impostazione forzata,
l'interblocco viene rilasciato.
MILC
n
Sezione del
programma controllata Se CIO 010000 è OFF per impostazione forzata,
l'interblocco viene impegnato.
MILC
n
212
Istruzioni di controllo sequenza Capitolo 3-5
a a
A1 MILH
0
b
A2 A1
b
MILH
1
A2
MILC
1
MILC
0
A1
b
MILH
1
010001
A2
MILC
1
A3
MILC
0
213
Istruzioni di controllo sequenza Capitolo 3-5
A1
b
IL
A2
ILC
… questa sezione del
programma non è controllata
A3 dall'interblocco.
ILC
Questa istruzione ILC(003)
viene ignorata quindi ...