Sei sulla pagina 1di 1328

Cat. No.

W340-IT2-11

Variablen: Vor Druckbeginn bitte entfernen!!!

Controllori programmabili

Cat. No. W340-IT2-11


Serie SYSMAC CS
Serie SYSMAC CJ

MANUALE DI RIFERIMENTO

Controllori programmabili
PER LE ISTRUZIONI

MANUALE DI RIFERIMENTO PER LE ISTRUZIONI


Breve panoramica
1 Introduzione
ITALIA SVIZZERA 15 Sommario delle istruzioni
Omron Electronics SpA Nord Ovest Tel: +39 02 326 88 00 Omron Electronics AG
Viale Certosa, 49 - 20149 Milano Milano Tel: +39 02 326 87 77 Sennweidstrasse 44, CH-6312 Steinhausen 141 Istruzioni
Tel: +39 02 32 681 Bologna Tel: +39 051 613 66 11 Tel: +41 (0) 41 748 13 13
Fax: +39 02 32 68 282 Terni Tel: +39 074 45 45 11 Fax: +41 (0) 41 748 13 45
1219 Tempi di esecuzione delle
www.omron.it www.omron.ch istruzioni e numero di step
Romanel Tel: +41 (0) 21 643 75 75

Advanced Industrial Automation

Nota: specifiche soggette a modifica senza preavviso.


Cat. No. W340-IT2-11
Serie SYSMAC CS
CS1G/H-CPU@@-EV1
CS1G/H-CPU@@H
CS1D-CPU@@H
CS1D-CPU@@S
Serie SYSMAC CJ
CJ1G-CPU@@
CJ1G/H-CPU@@H
CJ1G-CPU@@P
CJ1M-CPU@@
Controllori programmabili
Manuale di riferimento per le istruzioni
Revisione: luglio 2004
iv
Avviso
I prodotti OMRON sono destinati all'uso in accordo con le procedure
appropriate da parte di un operatore qualificato e solo per gli scopi descritti in
questo manuale.
In questo manuale vengono utilizzate le seguenti convenzioni per indicare e
classificare le precauzioni. Attenersi sempre alle istruzioni fornite. La mancata
osservanza di tali precauzioni potrebbe causare lesioni a persone o danni a
proprietà.

!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à.

Riferimenti ai prodotti OMRON


L'abbreviazione "Ch", che compare su alcuni display e prodotti OMRON,
spesso corrisponde a "canale", termine che viene in alcuni casi abbreviato
come "Cnl" nella documentazione.
L'abbreviazione "PLC" indica un controllore programmabile. È tuttavia
possibile che in alcuni dispositivi di programmazione venga visualizzata
l'abbreviazione "PC" ad indicare il controllore programmabile.

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

Lotto n. Versione della CPU


Esempio per una
CPU versione 3.0

Lot No. 040715 0000 Ver.3.0

OMRON Corporation MADE IN JAPAN

• Le CPU CS1-H, CJ1-H e CJ1M (eccetto i modelli di base) prodotti entro il


4 novembre del 2003 non riportano alcun numero di versione, ovvero la
posizione della versione della CPU sopra illustrata risulta vuota.
• La versione delle CPU CS1-H, CJ1-H e CJ1M nonché delle CPU CS1D
per sistemi a singola CPU inizia dalla versione 2.0.
• La versione delle CPU CS1D per sistemi a due CPU inizia dalla
versione 1.1.
• Le CPU per le quali non viene fornita una versione sono definite CPU
precedenti alla versione @. CPU @, ad esempio CPU precedenti alla
versione 2.0 e CPU precedenti alla versione 1.1.
Verifica delle versioni È possibile verificare la versione della CPU tramite CX-Programmer versione
delle CPU tramite software 4.0 utilizzando uno dei due metodi riportati di seguito.
di supporto
• Utilizzo della finestra PLC Information (Informazioni sul PLC)
• Utilizzo della finestra Informazioni su produzione unità. Questo metodo
può essere utilizzato anche per i moduli di I/O speciali e le Unità bus
CPU.
Nota Non è possibile verificare le versioni utilizzando CX-Programmer versione 3.3
o precedenti.
Informazioni sul PLC
• Se si conoscono il tipo di dispositivo e il tipo di CPU, selezionarli nella
finestra di dialogo Change PLC (Cambia PLC), connettersi in linea e
selezionare PLC - Edit - Information (PLC - Modifica - Informazioni) dai
menu.
• Se non si conoscono il tipo di dispositivo e il tipo di CPU, ma si è connessi
direttamente alla CPU tramite una linea seriale, selezionare PLC - Auto
Online (PLC - Connessione in linea automatica) per stabilire una
connessione in linea, quindi selezionare PLC - Edit - Information (PLC -
Modifica - Informazioni).
In entrambi i casi, verrà visualizzata la finestra di dialogo PLC Information
(Informazioni sul PLC) riportata di seguito.

vi
Versione della CPU

Utilizzare la finestra sopra illustrata per verificare la versione della CPU.


Informazioni su produzione unità
Nella finestra I/O Table (Tabella di I/O) fare clic con il pulsante destro del
mouse e selezionare Informazioni su produzione unità - Modulo CPU.

Viene visualizzata la finestra di dialogo Informazioni su produzione unità


mostrata di seguito.

vii
Versione della CPU

Utilizzare la finestra sopra illustrata per verificare la versione della CPU


connessa in linea.
Utilizzo delle etichette Con la CPU vengono fornite le etichette delle versioni riportate di seguito.
delle versioni delle CPU

Ver. 3.0 Ver.

Ver. 3.0 Ver.

These Labels can be used


to manage differencies in
the available functions
among the Units.
Place the appropriate label
on the front of the Unit to
show what Unit version is
actually being used.

È 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. @.@)

Lot No. XXXXXX XXXX Lot No. XXXXXX XXXX Ver. @ .@

OMRON Corporation MADE IN JAPAN

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

CPU CS1-V1 CS1@-


CPU@@-V1
Nessuna versione
della CPU

CPU CS1-H CS1@-


CPU@@H
CPU s versione
CPU versione 2.0
CPU precedenti alla versione 2.0 3.0 (N. lotto da
(N. lotto da 031105 in poi)
040622 in poi)

CPU CPU per CS1D-


CS1D sistemi a CPU@@H
due CPU CPU versione 1.1
CPU precedenti alla versione 1.1
(N. lotto da 031120 in poi)

CPU per CS1D-


sistemi a CPU@@S
singola CPU versione 2.0
CPU (N. lotto da 031215 in poi)

Serie CPU CJ1 CJ1G-


CJ CPU@@
CPU precedenti alla
versione 2.0

CPU CJ1-H CJ1@-


CPU@@H
CPU versione 2.0 CPU versione
CPU precedenti alla versione 2.0 (N. lotto da 031105 in poi) 3.0 (N. lotto da
040623 in poi)

CPU CJ1M eccetto CJ1M-


modelli di base CPU@@
CPU versione
CPU versione 2.0
CPU precedenti alla versione 2.0 3.0 (N. lotto da
(N. lotto da 031105 in poi)
040624 in poi)

CPU CJ1M, CJ1M-


modelli di base CPU11/21
CPU versione
CPU versione 2.0
3.0 (N. lotto da
(N. lotto da 031002 in poi)
040629 in poi)

Soft- CX-Programmer WS02-


ware CXPC1-
di sup- EV@ Version
Versione 3.2 Versione 3.3 Versione 4.0
porto e 5.0

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)

CPU CS1D Le CPU versione 3.0 non sono supportate.


CPU CJ1-H/CJ1M (CJ1@-CPU@@H, CJ1G-CPU@@P, CJ1M-CPU@@)
Funzioni Versione della CPU
CPU precedenti alla Versione 3.0
versione 2.0,
versione 2.0
Blocchi funzione --- OK
(supportati da CX-Programmer versione 5.0 o 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 PRV(881) e PRV2(883): aggiunti metodi --- OK
istruzione ad alta frequenza per il calcolo della frequenza di
addizionali impulsi (solo CPU CJ1M).

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.

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
6-1 Direttive applicabili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx
6-2 Principi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi
6-3 Conformità alle direttive dell'Unione Europea . . . . . . . . . . . . . . . . . xxxi
6-4 Metodi di riduzione dei disturbi nelle uscite a relè. . . . . . . . . . . . . . xxxi

xxiii
Destinatari del manuale 1

1 Destinatari del manuale


Questo manuale si rivolge al personale indicato di seguito, che deve avere
anche conoscenze di sistemi elettrici, come un ingegnere elettronico.
• Responsabili dell'installazione di sistemi di automazione industriale.
• Responsabili della progettazione di sistemi di automazione industriale.
• Responsabili della gestione di sistemi di automazione industriale e delle
relative infrastrutture.

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.

3 Precauzioni per la sicurezza


!AVVERTENZA La CPU aggiorna gli I/O anche quando il programma non è in esecuzione,
ovvero anche in modalità PROGRAM. Verificare preliminarmente lo stato
della sicurezza prima di modificare lo stato di qualunque parte della memoria
assegnata ai moduli di I/O, ai moduli di I/O speciali o alle unità bus CPU. Qua-
lunque modifica ai dati della memoria allocati a un modulo può provocare
l'inattesa attivazione dei carichi collegati a tale modulo. Una qualunque delle
seguenti operazioni può determinare la modifica dello stato della memoria.
• Trasferimento di dati della memoria I/O da un dispositivo di programma-
zione alla CPU.
• Modifica dei valori attuali in memoria da un dispositivo di programma-
zione.
• Impostazione/reset forzato di bit da un dispositivo di programmazione.
• Trasferimento di file della memoria I/O da una scheda di memoria o
dall'area di memoria per i file nell'area EM alla CPU.
• Trasferimento di dati della memoria I/O da un computer host o da un altro
PLC collegato in rete.
!AVVERTENZA Non tentare di aprire un modulo in presenza di alimentazione, in quanto ciò
implica il rischio di scosse elettriche.
!AVVERTENZA Non toccare i terminali o le morsettiere quando il sistema è alimentato, in
quanto ciò implica il rischio di scosse elettriche.
xxiv
Precauzioni per la sicurezza 3

!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.

4 Precauzioni relative all'ambiente operativo


!Attenzione Non utilizzare il sistema di controllo nei seguenti luoghi:
• Luoghi esposti alla luce solare diretta.
• Luoghi con temperature o tassi di umidità al di fuori dell'intervallo di valori
riportato nelle specifiche.
• Luoghi soggetti a formazione di condensa a causa di considerevoli escur-
sioni termiche.
• Luoghi esposti a gas corrosivi o infiammabili.
• Luoghi esposti a polvere (in particolare polvere metallica) o agenti salini.
• Luoghi esposti ad acqua, oli o agenti chimici.
• Luoghi soggetti a urti o vibrazioni.
!Attenzione Applicare soluzioni di sicurezza adeguate e sufficienti quando si installano
sistemi nei seguenti luoghi:
• Luoghi soggetti a elettricità statica o altre forme di disturbi.
• Luoghi in cui sono presenti forti campi elettromagnetici.
• Luoghi potenzialmente esposti a radioattività.
• Luoghi in prossimità di fonti di alimentazione.
!Attenzione L'ambiente in cui opera il PLC può avere un grande impatto sulla durata e
sull'affidabilità del sistema. L'utilizzo in ambienti operativi non appropriati può
essere causa di malfunzionamento, guasti e altri problemi non prevedibili.
Accertarsi che l'ambiente operativo rispetti le condizioni richieste per l'installa-
zione e che tali condizioni siano mantenute per l'intera durata di esercizio del
sistema.

5 Precauzioni per le applicazioni


Osservare le seguenti precauzioni nell'uso del PLC.
• Per la programmazione di più task, utilizzare CX-Programmer, il software
di programmazione per Windows. La console di programmazione può
essere utilizzata per programmare un solo task ciclico e task ad interrupt.
È tuttavia possibile utilizzare una console di programmazione per modifi-
care programmi composti da più task creati con CX-Programmer.
!AVVERTENZA Attenersi sempre alle seguenti precauzioni. Il mancato rispetto di tali precau-
zioni può essere causa di lesioni gravi, anche mortali.

xxvi
Precauzioni per le applicazioni 5

• Durante l'installazione dei moduli, effettuare sempre un collegamento a


terra con una resistenza di 100 Ω o inferiore. Il mancato collegamento a
terra a una resistenza di 100 Ω o inferiore potrebbe determinare scosse
elettriche.
• Se si collegano in cortocircuito i terminali di messa a terra della linea (LG)
e di messa a terra (GR) sul modulo di alimentazione, eseguire un collega-
mento a terra con una resistenza di 100 Ω o inferiore.
• Spegnere sempre il PLC e scollegare l'alimentazione prima di eseguire
una delle operazioni riportate di seguito. La mancata interruzione dell'ali-
mentazione comporta il rischio di scosse elettriche o malfunzionamento.
• Montaggio o smontaggio di moduli di alimentazione, moduli di I/O,
CPU, schede interne o altri moduli.
• Assemblaggio di moduli.
• Impostazione di DIP switch o di selettori rotanti.
• Collegamento di cavi o cablaggio del sistema.
• Collegamento e scollegamento di connettori.
!Attenzione Il mancato rispetto delle seguenti precauzioni può causare un malfunziona-
mento del PLC o del sistema o danni al PLC e ai relativi moduli. Seguire sem-
pre tali precauzioni.
• Una copia di backup del programma utente e dei dati dell'area dei para-
metri nelle CPU CS1-H, CS1D, CJ1-H e CJ1M viene salvata nella memo-
ria flash integrata. Durante l'esecuzione del backup, l'indicatore BKUP
posto sulla parte anteriore della CPU si accende. Non spegnere la CPU
quando l'indicatore BKUP è acceso. Se si interrompe l'alimentazione, il
backup dei dati non verrà eseguito.
• Quando si utilizza una CPU CS1 per la prima volta, prima di procedere
alla programmazione installare la batteria CS1W-BAT1 fornita con la CPU
e cancellare tutte le aree di memoria utilizzando un dispositivo di pro-
grammazione. Quando si utilizza l'orologio interno, accendere il sistema
dopo aver installato la batteria e impostare l'orologio tramite un dispositivo
di programmazione o utilizzando l'istruzione DATE(735). L'orologio non
verrà avviato finché non viene impostata l'ora.
• Al momento dell'acquisto, il PLC è configurato in modo tale che la CPU
venga avviata nella modalità operativa impostata tramite il selettore di
modalità della console di programmazione. Se non si collega una console
di programmazione, le CPU CS1 della serie CS verranno avviate in
modalità PROGRAM, mentre le CPU CS1-H, CS1D, CJ1, CJ1-H o CJ1M
verranno avviate in modalità RUN, entrando immediatamente in funzione.
Accertarsi che i moduli non entrino in funzione senza avere prima verifi-
cato le condizioni di sicurezza.
• Quando si crea un file AUTOEXEC.IOM mediante un dispositivo di pro-
grammazione, quale una console di programmazione o il software CX-
Programmer, per il trasferimento automatico dei dati all'avvio, impostare il
primo indirizzo di scrittura su D20000 e verificare che le dimensioni dei
dati non superino la capacità dell'area DM. Quando all'avvio viene letto il
file di dati dalla scheda di memoria, i dati vengono scritti nella CPU a par-
tire dall'indirizzo D20000, anche se al momento della creazione del file
AUTOEXEC.IOM è stato specificato un indirizzo diverso. Inoltre, se si
supera la capacità dell'area DM, e tale possibilità può verificarsi quando si
utilizza CX-Programmer, i dati rimanenti verranno scritti nell'area EM.
• Accendere sempre il PLC prima di accendere il sistema di controllo. Se il
PLC viene acceso dopo il sistema di controllo, potrebbero verificarsi errori
di segnale temporanei a livello del sistema di controllo, in quanto i termi-

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

• Separare il terminale di messa a terra della linea (LG) dal terminale di


messa a terra funzionale (GR) sul modulo di alimentazione prima di ese-
guire test della tensione di resistenza o test della resistenza di isola-
mento. In caso contrario possono verificarsi bruciature.
• Installare i moduli in modo appropriato, seguendo le istruzioni riportate
nei manuali dell'operatore. L'installazione errata dei moduli può compor-
tare un malfunzionamento.
• Con i PLC della serie CS, accertarsi che tutte le viti di montaggio del
modulo e del rack siano serrate rispettando la coppia specificata nei rela-
tivi manuali. Una coppia di serraggio non appropriata può provocare un
malfunzionamento.
• Accertarsi che tutte le viti dei terminali e le viti dei connettori dei cavi
siano serrate rispettando la coppia specificata nei relativi manuali. Una
coppia di serraggio non appropriata può provocare un malfunzionamento.
• Durante il cablaggio, lasciare l'etichetta attaccata al modulo. La rimozione
dell'etichetta può comportare la penetrazione di materiale estraneo nel
modulo e il conseguente malfunzionamento.
• Una volta completato il cablaggio, rimuovere l'etichetta per garantire
un'appropriata dissipazione del calore. Se non si rimuove l'etichetta, il
modulo potrebbe non funzionare correttamente.
• Quando si procede al cablaggio, utilizzare terminali a crimpare. Non colle-
gare direttamente ai terminali fili scoperti. Il collegamento diretto di fili
scoperti può causare bruciature.
• Accertarsi di cablare correttamente tutti i collegamenti.
• Verificare a fondo l'intero cablaggio e le impostazioni degli interruttori
prima di attivare l'alimentazione. Un cablaggio errato può essere causa di
bruciature.
• Installare i moduli solo dopo avere verificato tutte le morsettiere e i con-
nettori.
• Accertarsi che le morsettiere, i moduli di memoria, le prolunghe e altri
componenti dotati di dispositivi di bloccaggio siano correttamente bloccati
in posizione. L'errato bloccaggio di questi componenti può causare un
malfunzionamento.
• Verificare le impostazioni degli interruttori, il contenuto dell'area DM e
ogni altro prerequisito prima di mettere in funzione il sistema. L'avvio in
presenza di impostazioni o dati non corretti può provocare un funziona-
mento imprevisto.
• Verificare la corretta esecuzione del programma utente prima di eseguirlo
sul modulo. La mancata verifica del programma può provocare un funzio-
namento imprevisto.
• Prima di eseguire le operazioni riportate di seguito, accertarsi che non
abbiano effetti negativi sul sistema. Disattendere questa precauzione
potrebbe dare luogo a un funzionamento imprevisto.
• Cambio della modalità operativa del PLC (compresa l’impostazione
della modalità operativa all’avvio).
• Impostazione/reset forzato di qualunque bit in memoria.
• Modifica del valore attuale di qualsiasi canale o valore impostato in
memoria.
• Non tirare o piegare i cavi oltre il limite di resistenza naturale. Ciò
potrebbe provocarne la rottura.
• Non appoggiare alcun oggetto sui cavi. Ciò potrebbe provocarne la rot-
tura.

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.

6 Conformità alle direttive dell'Unione Europea


6-1 Direttive applicabili
• Direttive sulla compatibilità elettromagnetica (EMC)
• Direttiva per le basse tensioni (LVD)

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).

6-3 Conformità alle direttive dell'Unione Europea


I PLC della serie CS/CJ sono conformi alle Direttive dell'Unione Europea. Per
garantire che la macchina o il dispositivo in cui viene utilizzato il PLC della serie
CS/CJ sia conforme alle Direttive dell'Unione Europea, è necessario soddisfare i
seguenti requisiti di installazione del PLC:
1,2,3... 1. Il PLC della serie CS/CJ deve essere installato in un pannello di controllo.
2. È necessario utilizzare un isolamento rinforzato o un doppio isolamento
per gli alimentatori c.c. utilizzati per l'alimentazione dei moduli di comuni-
cazione e di I/O.
3. I PLC della serie CS/CJ conformi alle Direttive dell'Unione Europea sono
altresì conformi agli standard generici sulle emissioni (EN61000-6-4). Le
caratteristiche per le emissioni irradiate possono variare in base alla con-
figurazione del quadro utilizzato, agli altri dispositivi collegati al quadro, al
cablaggio e ad altre condizioni specifiche. È pertanto necessario verificare
che la macchina nel suo complesso o l'apparecchiatura utilizzata sia con-
forme alle Direttive dell'Unione Europea.

6-4 Metodi di riduzione dei disturbi nelle uscite a relè


I PLC della serie CS/CJ sono conformi agli standard generici sulle emissioni
(EN61000-6-4) delle Direttive EMC. Tuttavia, i disturbi generati dalla commuta-
zione delle uscite a relè potrebbero non risultare conformi a questi standard.
Qualora ciò si verifichi, è necessario applicare un filtro antidisturbo dal lato
carico o adottare altre soluzioni equivalenti esterne al PLC.
Le soluzioni da adottare per soddisfare i requisiti posti dagli standard possono
variare a seconda dei dispositivi collegati sul lato carico, del cablaggio, della
configurazione delle macchine e così via. Di seguito sono riportati alcuni esempi
di soluzioni per la riduzione dei disturbi generati.

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

sovracorrente in parallelo con il carico. Se sono variare in base al carico e alle


la tensione di alimentazione è da 100 a caratteristiche del relè. Definire tali valori
Alimenta- sulla base di test, tenendo in considera-
zione 200V, inserire il dispositivo di protezione da
sovracorrente tra i contatti. zione il fatto che il condensatore sopprime
la scarica della scintilla quando i contatti
vengono separati, mentre il resistore limita
il flusso di corrente verso il carico quando il
circuito viene richiuso.
La rigidità dielettrica del condensatore
deve essere di 200-300 V. Se il circuito è
un circuito c.a., utilizzare un condensatore
senza polarità.
Metodo con diodo No Sì L'energia accumulata nella bobina viene La rigidità dielettrica inversa del diodo
trasformata in corrente dal diodo collegato deve essere almeno 10 volte superiore alla
in parallelo al carico, quindi la corrente che tensione del circuito. La corrente diretta del
transita nella bobina viene assorbita e con- diodo deve essere pari o superiore alla
induttivo
Carico

vertita in calore dalla resistenza del carico corrente di carico.


induttivo. La rigidità dielettrica inversa del diodo
Alimenta-
zione Il ritardo tra l'apertura del circuito e il ripri- deve essere da due a tre volte superiore
stino del carico indotto da questo metodo è alla tensione di alimentazione se ai circuiti
più lungo di quello ottenuto con il metodo elettronici con basse tensioni è applicato
CR (condensatore-resistore). un dispositivo di protezione da sovracor-
rente.

Metodo con varistore Sì Sì Il metodo con varistore impedisce l'imposi- ---


zione di tensioni elevate tra i contatti sfrut-
tando la tensione costante caratteristica
del varistore. Si determina un ritardo tra
induttivo

l'apertura del circuito e il ripristino del


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-1 Caratteristiche generali delle istruzioni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2


1-1-1 Capacità del programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1-1-2 Istruzioni differenziate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1-1-3 Variazioni di istruzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1-1-4 Posizione delle istruzioni e condizioni di esecuzione. . . . . . . . . . . . 5
1-1-5 Inserimento di dati negli operandi . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1-1-6 Formati dei dati. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1-2 Controlli dell'esecuzione di istruzioni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1-2-1 Errori che possono verificarsi durante l'esecuzione di un'istruzione 13
1-2-2 Errori irreversibili (errori di programma) . . . . . . . . . . . . . . . . . . . . . 13

1
Caratteristiche generali delle istruzioni Capitolo 1-1

1-1 Caratteristiche generali delle istruzioni


1-1-1 Capacità del programma
La capacità del programma indica le dimensioni dell'area del programma
utente nel modulo CPU e viene espressa come numero di step di un pro-
gramma. Il numero di step necessari nell'area del programma utente per cia-
scuna delle istruzioni della serie CS/CJ varia da 1 a 7 a seconda
dell'istruzione e degli operandi specificati.
Serie CS
Nelle tabelle seguenti è riportato il numero massimo di step programmabili in
ciascun modulo CPU della serie CS.
• CPU CS1-H
Modello Capacità del programma Punti di I/O
CS1H-CPU67H 250.000 step 5.120
CS1H-CPU66H 120.000 step
CS1H-CPU65H 60.000 step
CS1H-CPU64H 30.000 step
CS1H-CPU63H 20.000 step
CS1G-CPU45H 60.000 step
CS1G-CPU44H 30.000 step 1.280
CS1G-CPU43H 20.000 step 960
CJ1G-CPU42H 10.000 step

• 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

• CPU CS1D per sistemi a singola CPU


Modello Capacità del programma Punti di I/O
CS1D-CPU67H 250.000 step 5.120
CS1D-CPU65H 60.000 step

CPU CS1D per sistemi a due CPU


Modello Capacità del programma Punti di I/O
CS1D-CPU42S 10.000 step 960
CS1D-CPU44S 30.000 step 1.280
CS1D-CPU65S 60.000 step 5.120
CS1D-CPU67S 250.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.

1-1-2 Istruzioni differenziate


La maggior parte delle istruzioni nei PLC della serie CS/CJ vengono fornite
con variazioni non differenziate e differenziate sul fronte di salita e alcune
anche con una variazione differenziata sul fronte di discesa.
• Un'istruzione non differenziata viene eseguita ogni volta che viene analiz-
zata.
3
Caratteristiche generali delle istruzioni Capitolo 1-1

• Un'istruzione con differenziazione sul fronte di salita viene eseguita solo


una volta dopo che la condizione di esecuzione è passata dallo stato OFF
allo stato ON.
• Un'istruzione con differenziazione sul fronte di discesa viene eseguita
solo una volta dopo che la condizione di esecuzione è passata dallo stato
ON allo stato OFF.
Variazione Tipo di istruzione Operazione Formato Esempio
Non Istruzioni di uscita L'istruzione viene eseguita Istruzione di uscita
differenziata (istruzioni che neces- ad ogni ciclo quando la eseguita ad ogni ciclo MOV

sitano di una condi- condizione di esecuzione è


zione di esecuzione) vera (ON).
Istruzioni di ingresso L'elaborazione del bit (ad Istruzione di ingresso
(istruzioni utilizzate esempio di lettura, con- eseguita ad ogni ciclo

come condizioni di fronto o test) viene ese-


esecuzione) guita ad ogni ciclo. La
condizione di esecuzione è
vera finché il risultato è ON.
Differenziata Istruzioni di uscita L'istruzione viene eseguita Istruzione eseguita una
sul fronte di solo una volta quando la volta per differenzia- @MOV
zione sul fronte di salita
salita (con condizione di esecuzione Istruzione MOV(021) eseguita
prefisso @) passa dallo stato OFF allo una volta per ogni transizione
da OFF a ON in CIO 000102.
stato ON.
Istruzioni di ingresso L'elaborazione del bit (ad Istruzione di ingresso con
(istruzioni utilizzate esempio di lettura, con- differenziazione sul fronte di salita

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).

1-1-3 Variazioni di istruzione


È possibile aggiungere a un'istruzione un prefisso di variazione (@, % e !) per
creare un'istruzione differenziata o fornire un aggiornamento immediato.
Variazione Prefisso Operazione
Differen- Differenziazione @ Crea un'istruzione con differenziazione sul
ziazione sul fronte di salita fronte di salita.
Differenziata sul % Crea un'istruzione con differenziazione sul
fronte di discesa fronte di discesa.
Aggiornamento immediato ! Quando l'istruzione viene eseguita, ver-
ranno aggiornati i dati dell'operando
dell'istruzione nell'area di I/O.

4
Caratteristiche generali delle istruzioni Capitolo 1-1

! @MOV
Codice mnemonico istruzione
Variazione di differenziazione sul fronte di salita
Variazione di aggiornamento immediato

1-1-4 Posizione delle istruzioni e condizioni di esecuzione


La tabella seguente mostra le posizioni in cui è possibile programmare le
istruzioni e indica inoltre quando un'istruzione necessita o non necessita di
una condizione di esecuzione. Per ulteriori informazioni su istruzioni specifi-
che, consultare la CAPITOLO 2 Sommario delle istruzioni.
Tipo di istruzione Posizione Condizione di Formato Esempi
esecuzione
Ingresso Istruzioni che Sul bus sinistro o Non richiesta Istruzioni LD, LD TST e istru-
avviano con- all'avvio di un zioni di confronto di ingresso,
dizioni logiche blocco di istruzioni come LD >
Istruzioni di Tra un'istruzione di Richiesta Istruzioni AND, OR, AND
collegamento avvio e un'istru- TST, istruzioni di confronto di
zione di uscita ingresso come AND >, UP,
DOWN, NOT
Uscita Sul bus destro Richiesta La maggior parte della istru-
zioni (come OUT e MOV)

Non richiesta Istruzioni come END, JME,


FOR e ILC

Oltre a queste istruzioni, i PLC della serie CS/CJ dispongono di istruzioni di


programmazione a blocchi. Per ulteriori informazioni, fare riferimento alle
descrizioni delle istruzioni di programmazione a blocchi.
Nota Se una condizione di esecuzione non precede un'istruzione che ne richiede
una, si verificherà un errore di programma quando il programma verrà control-
lato da un dispositivo periferico.
1-1-5 Inserimento di dati negli operandi
Gli operandi sono parametri impostati in precedenza con gli indirizzi di memo-
ria I/O o con le costanti da utilizzare quando viene eseguita l'istruzione. Esi-
stono fondamentalmente tre tipi di operandi: operandi di origine, operandi di
destinazione e numeri.

MOV JMP
#0000 S (origine) &3 N (numero)
D00000 D (destinazione)

Operando Codice Descrizione


abituale
Origine Indirizzo contenente i S Operando Dati di origine diversi dai
dati o i dati stessi di origine dati di controllo
C Dati di Dati di controllo con uno o
controllo più bit che controllano
l'esecuzione dell'istruzione
Destina- Indirizzo in cui ver- D ---
zione ranno memorizzati i
dati
Numero Contiene un numero, N ---
ad esempio un
numero di salto o un
numero di subroutine.

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

Specifica degli indirizzi di bit


Descrizione Esempio Esempio di istruzione
Per specificare un indirizzo di bit, specificare 0001 02 0001
direttamente l'indirizzo del canale e l'indirizzo di bit. 02
Bit 02
@@@@ @@
Canale CIO 000
Numero di bit
Indirizzo del canale
Nota Il formato dell'indirizzo del canale + indirizzo
di bit non è usato per i flag di completamento
del temporizza-tore/contatore o per i flag di
esecuzione dei task.

Specifica degli indirizzi di canale


Descrizione Esempio Esempio di istruzione
Per specificare un indirizzo di canale, MOV 0003 D00200
0003
specificare direttamente l'indirizzo del canale.
Canale CIO 000
@@@@ D00200
Indirizzo del canale Canale D00200

Specifica degli indirizzi DM/EM indiretti in modalità binaria


Descrizione Esempio Esempio di istruzione
Quando il prefisso @ viene immesso prima di un --- ---
indirizzo DM o EM, il contenuto di tale canale
specifica un altro canale che verrà usato come
operando. Il contenuto può essere da 0000 a
7FFF (da 0 a 32.767), a seconda dell'indirizzo di
canale desiderato nell'area DM o EM.

@D@@@@@

Contenuto Da 00000 a 32767


(da 0000 a 7FFF)

Quando il contenuto di @D@@@@@ è compreso @D00300 MOV #0001


tra 0000 e 7FFF (da 00000 a 32.767), è specifi- @D00300
cato il canale corrispondente tra D00000 e 0 1 0 0
D32767.
Decimale: 256

Specifica D00256.

Aggiunge il prefisso @.

6
Caratteristiche generali delle istruzioni Capitolo 1-1

Descrizione Esempio Esempio di istruzione


Quando il contenuto di @D@@@@@ è compreso @D00300 ---
tra 8000 e FFFF (da 32.768 a 65.535), è specifi-
cato il canale corrispondente tra E0_00000 e 8 0 0 1
E0_32767 nel banco EM 0.
Decimale: 32.769

Specifica E0_00001.

Quando il contenuto di @En@_@@@@@ è com- @E1_00200 MOV #0001


preso tra 0000 e 7FFF (da 00000 a 32.767), è @E1_00200
specificato il canale corrispondente tra 0 1 0 1
En@_00000 e En@_32767.
Decimale: 257

Specifica E1_00257.

Quando il contenuto di @En@_@@@@@ è com- @E1_00200


preso tra 8000 e 7FFF (da 32.768 a 65.535), è
specificato il canale corrispondente tra E (@+1) 8 0 0 2
_00000 e E (@+1) _32767 (nel banco EM succes-
sivo). Decimale: 32770

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

Indirizzamento dei registri indice


Metodo Descrizione Esempio Esempio di istruzione
Indirizzamento L'istruzione MOVR(560) sposta l'indirizzo di memo- IR0 MOVR 0010 IR0
diretto dei regi- ria del PLC di un canale o un bit in un registro IR2 Memorizza l'indirizzo di memoria
stri indice indice (da IR0 a IR15). del PLC di CIO 0010 in IR0.
(L'istruzione MOVRW(561) sposta l'indirizzo di MOVR 000102 IR2
memoria del PLC di un valore attuale del temporiz- Memorizza l'indirizzo di memoria
zatore o del contatore in un registro indice). del PLC di CIO 00102 in IR0.
Indirizzamento Funziona- Il canale o il bit nell'indirizzo di ,IR0 LD ,IR0
indiretto dei mento di base memoria I/O contenuto in IR@ ,IR1 Carica lo stato del bit all'indirizzo
registri indice (nessun offset) viene utilizzato come operando. di memoria I/O contenuto in IR0.
Inserire una virgola prima del MOV #0001, IR1
registro indice per indicare l'indi- Sposta #0001 nel canale all'indi-
rizzamento indiretto. rizzo di memoria I/O contenuto in
(L'identificazione del bit/canale IR1.
può essere determinata dall'istru-
zione o dall'operando).
Offset con Il valore di offset (da -2.047 a +5 ,IR0 LD +5 ,IR0
costante +2.047) viene aggiunto all'indi- +31 ,IR1 Aggiunge 5 all'indirizzo di memo-
rizzo di memoria I/O contenuto in ria I/O contenuto in IR0, quindi
IR@ e l'indirizzo risultante viene carica lo stato del bit a tale indi-
utilizzato come operando. rizzo.
(L'offset viene convertito in dato MOV #0001 +31 ,IR1
binario durante l'esecuzione Aggiunge 31 all'indirizzo di
dell'istruzione). memoria I/O contenuto in IR1,
quindi sposta #0001 nel canale a
tale indirizzo.
Offset DR Il contenuto binario con segno del DR0 ,IR0 LD DR0 ,IR0
registro dati viene aggiunto DR0 ,IR1 Aggiunge il contenuto di DR0
all'indirizzo di memoria I/O conte- all'indirizzo di memoria I/O conte-
nuto in IR@ e l'indirizzo risultante nuto in IR0, quindi carica lo stato
viene utilizzato come operando. del bit a tale indirizzo.
MOV #0001 DR0 ,IR1
Aggiunge il contenuto di DR0
all'indirizzo di memoria I/O conte-
nuto in IR1, quindi sposta #0001
nel canale a tale indirizzo.
Incremento Dopo la lettura dell'indirizzo di ,IR0 + + LD ,IR0 + +
automatico memoria I/O da IR@, il contenuto ,IR1 + Carica lo stato del bit all'indirizzo
del registro indice viene incre- di memoria I/O contenuto in IR0,
mentato di uno o di due. quindi incrementa il registro di
Incremento di 1: ,R@+ due.
Incremento di 2: ,IR@++ MOV #0001 ,IR1 +
Nota I registri indice verranno Sposta #0001 nel canale all'indi-
incrementati quando viene rizzo di memoria I/O contenuto in
eseguita l'istruzione, per- IR1, quindi incrementa il registro
fino se si verifica un errore e di uno.
se il flag di errore passa allo
stato ON.
Decremento Il contenuto di IR@ viene decre- , – – IR0 LD , – – IR0
automatico mentato di uno o di due e come , – IR1 Decrementa il contenuto di IR0 di
operando viene utilizzato l'indi- due, quindi carica lo stato del bit
rizzo di memoria I/O. all'indirizzo di memoria I/O così
Decremento di 1: ,– IR@ ottenuto.
Decremento di 2: ,– –IR@ MOV #0001 , – IR1
Nota I registri indice verranno Decrementa il contenuto di IR0 di
decrementati quando viene uno, quindi sposta #0001 nel
eseguita l'istruzione, per- canale all'indirizzo di memoria I/O
fino se si verifica un errore e così ottenuto.
se il flag di errore passa allo
stato ON.

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

Specifica di stringhe di testo


Metodo Descrizione Codice Esempi Esempio di istruzione
Stringhe di Il testo viene memorizzato in "ABCDE" MOV$ D00100 D00200
testo ASCII (1 byte/carattere,
"A" "B" D00100 41 42
esclusi i caratteri speciali),
cominciando con il byte infe- "C" "D" D00101 43 44
riore del canale inferiore "E" NUL D00102 45 00
nell'intervallo.
Nel caso in cui vi sia un 41 42
numero dispari di caratteri, il 43 44 D00200 41 42
valore 00 (NULL) viene memo- 45 00 D00201 43 44
rizzato nel byte superiore D00202 45 00
dell'ultimo canale nell'inter- "ABCD"
vallo. "A" "B"
Nel caso in cui vi sia un "C" "D"
numero pari di caratteri, il NUL NUL
valore 0000 (due valori NULL)
viene memorizzato nel canale
41 42
successivo all'ultimo nell'inter-
vallo. 43 44
00 00

9
Caratteristiche generali delle istruzioni Capitolo 1-1

Nel diagramma seguente sono riportati i caratteri che possono essere


espressi in ASCII.

Bit più a sinistra

SP

Bit più a destra

Nota Le istruzioni seguenti vengono eseguite anche quando le condizioni di


ingresso sono OFF. Pertanto, quando gli indirizzi di memoria indiretti vengono
specificati mediante incremento e decremento automatico (,IR+ o ,IR-) in un
operando di una di queste istruzioni, il valore nel registro indice (IR) viene
aggiornato ad ogni ciclo, indipendentemente dalla condizione di ingresso
(incrementato o decrementato di uno ad ogni ciclo). Quando si scrive un pro-
gramma, è necessario tenere presente questo fattore.
Classificazione Istruzioni
Istruzioni di ingresso LD, LD NOT, AND, AND NOT, OR, OR NOT, LD TST(350),
sequenza LD TSTN(351), AND TST(350), AND TSTN(351), OR
TST(350), OR TSTN(351)
Istruzioni di uscita OUT, OUT NOT, DIFU(013), DIFD(014)
sequenza
Istruzioni di controllo JMP(004), FOR(512)
sequenza
Istruzioni di temporiz- TIM/TIMX(550), TIMH(015)/TIMHX(551), TMHH(540)/
zatore e contatore TMHHX(552), TTIM(087)/TTIMX(555), TIML(542)/
TIMLX(553), MTIM(533)/MTIMX(554), CNT/CNTX(546),
CNTR(012)/CNTRX(548)
Istruzioni di confronto Istruzioni di confronto con simboli (LD, AND, OR =,
ecc.(codici di funzione: 300, 305, 310, 320 e 325))
Istruzioni matematiche Confronto di dati a virgola mobile in singola precisione (LD,
a virgola mobile in sin- AND, OR = F, ecc.(codice di funzione: da 329 a 334))
gola precisione
Istruzioni matematiche Confronto di dati a virgola mobile in doppia precisione (LD,
a virgola mobile in dop- AND, OR = D, ecc.(codice di funzione: da 335 a 340))
pia precisione
Istruzioni di program- BPPS(811), BPRS(812), EXIT(806), EXIT(806) NOT,
mazione a blocchi IF(802), IF(802) NOT, WAIT(805), WAIT(805) NOT,
TIMW(813)/TIMWX(816), CNTW(814)/CNTWX(818),
TMHW(815)/TMHWX(817), LEND(810), LEND(810) NOT
Istruzioni di elaborazione STRING COMPARISON (LD, AND, OR = $, ecc. (codice di
delle stringhe di testo funzione: da 670 a 675))

10
Caratteristiche generali delle istruzioni Capitolo 1-1

Gli esempi seguenti sulla programmazione ladder mostrano come vengono


considerati i registri indice.
Esempio 1
Programma ladder:
LD P_Off
OUT, IR0+
Operazione: quando l'indirizzo di memoria del PLC 000013 viene memoriz-
zato in IR0.
La condizione di ingresso è OFF (P_Off è il flag di sempre OFF), di modo che
l'istruzione OUT imposti 000013, indirizzato indirettamente da IR0, su OFF.
L'istruzione OUT viene eseguita e quindi IR0 viene incrementato. Come risul-
tato viene memorizzato l'indirizzo di memoria del PLC 000014, che è stato
incrementato di +1 nel registro indice IR0. Pertanto, nel ciclo seguente l'istru-
zione OUT imposta 000014 nello stato OFF.
Esempio 2
Programma ladder:
LD P_Off
SET, IR0+
Operazione: quando l'indirizzo di memoria del PLC 000013 viene memoriz-
zato in IR0.
La condizione di ingresso è OFF (P_Off è il flag di sempre OFF), quindi l'istru-
zione SET non viene eseguita. Pertanto IR0 non viene incrementato e il
valore memorizzato in IR0 resta l'indirizzo di memoria del PLC 000013.

1-1-6 Formati dei dati


Nella tabella riportata di seguito sono illustrati i formati dei dati che possono
essere utilizzati con i PLC delle serie CS e CJ.
Nome Formato Intervallo Intervallo
decimale esadecimale
Dati binari 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Da 0 a Da 0000 a
senza 65.535 FFFF
segno
Binario 215 214 213 212 211 210 29 28 27 26 25 2 4 23 22 21 20
Decimale 32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1
Esa- 23 22 21 20 23 22 21 20 23 22 21 20 23 22 21 20
decimale

Dati binari 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Da – Da 8000 a


con segno 32.768 a 7FFF
+32.767
Binario 215 214 213 212 211 210 29 28 27 26 25 2 4 23 22 21 20
Decimale -32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1
Esa- 23 22 21 20 23 22 21 20 23 22 21 20 23 22 21 20
decimale
Bit di segno
0: Positivo
1: Negativo

Dati BCD 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Da 0 a Da 0000 a


9.999 9999

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

Nome Formato Intervallo Intervallo


decimale esadecimale
Decimale 31 30 29 23 22 21 20 19 18 17 3 2 1 0 --- ---
a virgola
mobile

Segno Esponente Mantissa


Binario
della
mantissa

Valore = (-1)Segno x 1.[Mantissa] x 2Esponente


Segno (bit 31) 1: negativo o 0: positivo
Mantissa La mantissa include 23 bit, dal bit 00 al bit 22,
e indica la parte del numero dopo la virgola
decimale in 1.@@@..... in formato binario.
Esponente L'esponente include 8 bit, dal bit 23 al bit 30,
e indica N più 127 in 2n in formato binario.
Nota Questo formato dei dati a virgola mobile in singola precisione è conforme agli
standard IEEE754 e viene utilizzato solo con istruzioni che convertono o utilizzano
numeri a virgola mobile. Questo formato può essere utilizzato per eseguire
impostazioni o monitoraggi dalla pagina di modifica e monitoraggio della memoria
I/O di CX-Programmer, ma non è supportato dalle console di programmazione. Gli
utenti non devono necessariamente conoscere i dettagli relativi a questo formato,
eccetto per il fatto che occupa 2 canali.

Decimale 63 62 61 52 51 50 49 48 47 46 3 2 1 0 --- ---


a virgola
mobile in
doppia
precisione
Segno Esponente Mantissa
della Binario
mantissa

Valore = (−1)Segno x 1.[Mantissa] x 2Esponente


Segno (bit 63) 1: negativo o 0: positivo
Mantissa I 52 bit da 00 a 51 contengono la mantissa, cioè la
parte del numero dopo la virgola decimale in 1.
@@@......, in formato binario.
Esponente Gli 11 bit da 52 a 62 contengono l'esponente
espresso in formato binario come 1023 più N in 2n.
Nota Questo formato dei dati a virgola mobile in doppia precisione è conforme agli
standard IEEE754 e viene utilizzato solo con istruzioni che convertono o
utilizzano numeri a virgola mobile. Questo formato può essere utilizzato per
eseguire impostazioni o monitoraggi dalla pagina di modifica e monitoraggio
della memoria I/O di CX-Programmer, ma non è supportato dalle console di
programmazione. Gli utenti non devono necessariamente conoscere i dettagli
relativi a questo formato, eccetto per il fatto che occupa 4 canali.

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

1-2 Controlli dell'esecuzione di istruzioni


1-2-1 Errori che possono verificarsi durante l'esecuzione di
un'istruzione
Quando un'istruzione viene immessa da un dispositivo periferico o quando
viene eseguito un controllo del programma da un dispositivo periferico diverso
da una console di programmazione, vengono controllati gli operandi e la posi-
zione di un'istruzione. Tuttavia, non si tratta di controlli finali. Quando un'istru-
zione viene eseguita, possono verificarsi i quattro errori seguenti.
Errore di elaborazione istruzione (flag ER in stato ON)
Normalmente gli errori di elaborazione delle istruzioni non sono errori irrever-
sibili, ma è possibile configurare il PLC in modo che tali errori vengano consi-
derati fatali. Con questa impostazione, verrà attivato (ON) il flag di errore di
elaborazione istruzione (A29508) e l'esecuzione del programma verrà inter-
rotta quando si verifica un errore nell'elaborazione di un'istruzione.
Errore di accesso (flag AER ON)
Normalmente gli errori di accesso non sono errori irreversibili, ma è possibile
configurare il PLC in modo che tali errori vengano considerati fatali. Con que-
sta impostazione, verranno attivati (ON) il flag di errore di accesso illegale
(A29510) e il flag di errore BCD DM/EM indiretto (A29509) e l'esecuzione del
programma verrà interrotta quando si verifica un errore di accesso.
Errore di istruzione illegale
Verrà attivato (ON) il flag di errore di istruzione illegale (A29514) e l'esecu-
zione del programma verrà interrotta quando si verifica questo errore.
Errore di overflow UM (memoria del programma utente)
Verrà attivato (ON) il flag di errore di overflow UM (A29515) e l'esecuzione del
programma verrà interrotta quando si verifica questo errore.

1-2-2 Errori irreversibili (errori di programma)


L'esecuzione del programma verrà interrotta quando si verifica uno degli
errori di programma riportati di seguito. Quando si è verificato un errore di
programma, il numero di task del task in corso di esecuzione quando si è
interrotta l'esecuzione del programma viene scritto in A294 e l'indirizzo del
programma viene scritto in A298 e A299.
Per individuare ed eventualmente correggere l'errore di programma, utilizzare
il contenuto di questi canali.
Indirizzo Descrizione
A294 In questo canale viene scritto il numero del task in esecuzione al
momento dell'interruzione del programma a causa di un errore di pro-
gramma.
I task ciclici hanno numeri di task compresi tra 0000 e 001F (task
ciclici da 0 a 31). I task ad interrupt hanno numeri di task compresi tra
8000 e 80FF (task di interrupt da 0 a 255).
A298 e A299 In questi canali viene scritto l'indirizzo corrente del programma al
momento dell'interruzione a causa di un errore di programma.
A299 contiene le cifre all'estrema sinistra dell'indirizzo del pro-
gramma, mentre A298 le cifre all'estrema destra dell'indirizzo del pro-
gramma.

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.

2-1 Classificazioni in base alla funzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16


2-2 Istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2-2-1 Istruzioni di ingresso sequenza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2-2-2 Istruzioni di uscita sequenza. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2-2-3 Istruzioni di controllo sequenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2-2-4 Istruzioni di temporizzatore e contatore . . . . . . . . . . . . . . . . . . . . . . 33
2-2-5 Istruzioni di confronto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2-2-6 Istruzioni di spostamento dati. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2-2-7 Istruzioni di scorrimento dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2-2-8 Istruzioni di incremento e decremento . . . . . . . . . . . . . . . . . . . . . . . 48
2-2-9 Istruzioni matematiche con simboli . . . . . . . . . . . . . . . . . . . . . . . . . 49
2-2-10 Istruzioni di conversione. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2-2-11 Istruzioni logiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2-2-12 Istruzioni matematiche speciali . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2-2-13 Istruzioni matematiche a virgola mobile . . . . . . . . . . . . . . . . . . . . . 63
2-2-14 Istruzioni a virgola mobile in doppia precisione . . . . . . . . . . . . . . . 67
2-2-15 Istruzioni di elaborazione dei dati delle tabelle . . . . . . . . . . . . . . . . 71
2-2-16 Istruzioni di controllo dei dati. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2-2-17 Istruzioni di subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2-2-18 Istruzioni di controllo degli interrupt . . . . . . . . . . . . . . . . . . . . . . . . 80
2-2-19 Istruzioni per contatore veloce e uscita a impulsi
(solo CJ1M-CPU21/22/23). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2-2-20 Istruzioni di step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
2-2-21 Istruzioni per moduli di I/O di base . . . . . . . . . . . . . . . . . . . . . . . . . 84
2-2-22 Istruzioni per la comunicazione seriale . . . . . . . . . . . . . . . . . . . . . . 87
2-2-23 Istruzioni di rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2-2-24 Istruzioni per la memoria dei file . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2-2-25 Istruzioni di visualizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
2-2-26 Istruzioni per l'orologio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
2-2-27 Istruzioni di debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2-2-28 Istruzioni di diagnostica per malfunzionamento. . . . . . . . . . . . . . . . 94
2-2-29 Altre istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2-2-30 Istruzioni di programmazione a blocchi . . . . . . . . . . . . . . . . . . . . . . 96
2-2-31 Istruzioni di elaborazione delle stringhe di testo . . . . . . . . . . . . . . . 102
2-2-32 Istruzioni di controllo dei task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
2-2-33 Istruzioni di conversione del modello
(solo CPU versione 3.0 o successiva) . . . . . . . . . . . . . . . . . . . . . . . . 106
2-2-34 Istruzioni speciali per blocchi funzione . . . . . . . . . . . . . . . . . . . . . . 107
2-3 Elenco alfabetico delle istruzioni in base al codice mnemonico. . . . . . . . . . . 108
2-4 Elenco delle istruzioni in base al codice funzione . . . . . . . . . . . . . . . . . . . . . 125

15
Classificazioni in base alla funzione Capitolo 2-1

2-1 Classificazioni in base alla funzione


Nella tabella seguente sono riportate le istruzioni per la serie CS/CJ, elencate
per funzione. Le istruzioni sono descritte in base alla rispettiva funzione nella
Sezione 3, Istruzioni.
*Le istruzioni e i gruppi di istruzioni contrassegnati da un asterisco sono sup-
portati solo dai moduli CPU CS1-H, CJ1-H, CJ1M e CS1D.
**Le istruzioni e i gruppi di istruzioni contrassegnati da due asterischi sono
supportati solo dai moduli CPU CJ1M.
***Le istruzioni e i gruppi di istruzioni contrassegnati da tre asterischi non
sono supportati dai moduli CPU CS1D per sistemi a due CPU.

Nota 1. Solo CPU della serie CS/CJ versione 2.0 o successiva.


2. CPU CJ1M-CPU21/22/23 CPU versione 2.0 o successiva.
3. Solo CPU della serie CS/CJ versione 2.0 o successiva
CPU CJ1M (precedenti alla versione 2.0 o versione 2.0 o successiva)
Classifica- Sottoclasse Codice Istruzione Codice Istruzione Codice Istruzione
zione mnemonico mnemonico mnemonico
Istruzioni Ingresso LD LOAD LD NOT LOAD NOT AND AND
di base
AND NOT AND NOT OR OR OR NOT OR NOT
AND LD AND LOAD OR LD OR LOAD --- ---
Uscita OUT OUTPUT OUT NOT OUTPUT NOT --- ---
Istruzioni di --- NOT NOT UP CONDITION DOWN CONDITION
ingresso ON OFF
sequenza
Test bit LD TST LD BIT TEST LD TSTN LD BIT TEST AND TST AND BIT
NOT TEST NOT
AND TSTN AND BIT OR TST OR BIT TEST OR TSTN OR BIT TEST
TEST NOT NOT
Istruzioni di --- KEEP KEEP DIFU DIFFEREN- DIFD DIFFEREN-
uscita TIATE UP TIATE DOWN
sequenza
OUTB* SINGLE BIT --- --- --- ---
OUTPUT
Impostazione/ SET SET RSET RESET SETA MULTIPLE
Reset BIT SET
RSTA MULTIPLE SETB* SINGLE BIT RSTB* SINGLE BIT
BIT RESET SET RESET
Istruzioni di --- END END NOP NO OPERA- --- ---
controllo TION
sequenza
Interblocco IL INTERLOCK ILC INTERLOCK MILH MULTI-INTER-
CLEAR LOCK DIFFE-
RENTIATION
HOLD
MILR MULTI-INTER- MILC MULTI-INTER- --- ---
(vedere la LOCK DIFFE- (vedere la LOCK CLEAR
nota 1). RENTIATION nota 1).
RELEASE
Salto JMP JUMP JME JUMP END CJP CONDITIO-
NAL JUMP
CJPN CONDITIO- JMP0 MULTIPLE JME0 MULTIPLE
NAL JUMP JUMP JUMP END
Ripetizione FOR FOR-NEXT BREAK BREAK LOOP NEXT FOR-NEXT
LOOPS LOOPS

16
Classificazioni in base alla funzione Capitolo 2-1

Classifica- Sottoclasse Codice Istruzione Codice Istruzione Codice Istruzione


zione mnemonico mnemonico mnemonico
Istruzioni di BCD Temporiz- TIM TIMER TIMH HIGH-SPEED TMHH ONE-MS
temporizza- zatore TIMER TIMER
tore e conta- (con
tore numeri di TTIM ACCUMULA- --- --- --- ---
temporiz- TIVE TIMER
zatore)
Temporiz- TIML LONG TIMER MTIM MULTI- --- ---
zatore OUTPUT
(senza TIMER
numeri di
temporiz-
zatore)
Contatore CNT COUNTER CNTR REVERSIBLE CNR RESET
(con TIMER TIMER/
numeri di COUNTER
contatore)
Bina- Temporiz- TIMX TIMER TIMHX HIGH-SPEED TMHHX ONE-MS
rio* zatore TIMER TIMER
(con
numeri di TTIMX ACCUMULA- --- --- --- ---
temporiz- TIVE TIMER
zatore)
Temporiz- TIMLX LONG TIMER MTIMX MULTI- --- ---
zatore OUTPUT
(senza TIMER
numeri di
temporiz-
zatore)
Contatore CNTX COUNTER CNTRX REVERSIBLE CNRX RESET
(con TIMER TIMER/
numeri di COUNTER
contatore)
Istruzioni di Confronto LD, AND, OR Confronto con LD, AND, OR Confronto con LD, AND, OR Confronto
confronto con simboli + simboli (senza + simboli (dop- + con simboli
=, <>, <, <=, >, segno) =, <>, <, <=, >, pio canale, =, <>, <, <=, >, (con segno)
>= >= + L senza segno) >= +S
LD, AND, OR Confronto con LD, AND, OR Confronto di --- ---
+ simboli (dop- + date e ore
=, <>, <, <=, >, pio canale, = DT, <> DT, <
>= + SL con segno) DT, <= DT, >
DT, >= DT
(vedere la
nota 1).
Confronto CMP UNSIGNED CMPL DOUBLE CPS SIGNED
di dati COMPARE UNSIGNED BINARY
(flag di condizione) COMPARE COMPARE
CPSL DOUBLE ZCP* AREA RANGE ZCPL* DOUBLE
SIGNED COMPARE AREA RANGE
BINARY COMPARE
COMPARE
Confronto MCMP MULTIPLE TCMP TABLE COM- BCMP UNSIGNED
di tabelle COMPARE PARE BLOCK COM-
PARE
BCMP2 EXPANDED --- --- --- ---
(vedere la BLOCK COM-
nota 3). PARE

17
Classificazioni in base alla funzione Capitolo 2-1

Classifica- Sottoclasse Codice Istruzione Codice Istruzione Codice Istruzione


zione mnemonico mnemonico mnemonico
Istruzioni di Singolo/ MOV MOVE MOVL DOUBLE MVN MOVE NOT
sposta- doppio canale MOVE
mento dei
dati MVNL DOUBLE --- --- --- ---
MOVE NOT
Bit/cifra MOVB MOVE BIT MOVD MOVE DIGIT --- ---
Scambio XCHG DATA XCGL DOUBLE --- ---
EXCHANGE DATA
EXCHANGE
Trasferimento XFRB MULTIPLE XFER BLOCK BSET BLOCK SET
blocco/bit BIT TRAN- TRANSFER
SFER
Distribuzione/rac- DIST SINGLE COLL DATA COL- --- ---
colta WORD LECT
DISTRIBUTE
Registro indice MOVR MOVE TO MOVRW MOVE TIMER/ --- ---
REGISTER COUNTER PV
TO REGI-
STER
Istruzioni di Scorrimento di SFT SHIFT REGI- SFTR REVERSIBLE ASLL DOUBLE
scorrimento 1 bit STER SHIFT REGI- SHIFT LEFT
dei dati STER
ASL ARITHMETIC ASR ARITHMETIC ASRL DOUBLE
SHIFT LEFT SHIFT RIGHT SHIFT RIGHT
0000 esadecimale ASFT ASYNCHRO- --- --- --- ---
asincrono NOUS SHIFT
REGISTER
Scorrimento del WSFT WORD SHIFT --- --- --- ---
canale
Rotazione di 1 bit ROL ROTATE LEFT ROLL DOUBLE RLNC ROTATE LEFT
ROTATE LEFT WITHOUT
CARRY
RLNL DOUBLE ROR ROTATE RORL DOUBLE
ROTATE LEFT RIGHT ROTATE
WITHOUT RIGHT
CARRY
RRNC ROTATE RRNL DOUBLE --- ---
RIGHT ROTATE
WITHOUT RIGHT
CARRY WITHOUT
CARRY
Scorrimento di SLD ONE DIGIT SRD ONE DIGIT --- ---
1 cifra SHIFT LEFT SHIFT RIGHT
Scorrimento dati di NSFL SHIFT N-BIT NSFR SHIFT N-BIT --- ---
n bit DATA LEFT DATA RIGHT
Scorrimento di NASL SHIFT N-BITS NSLL DOUBLE NASR SHIFT N-BITS
n bit LEFT SHIFT N-BITS RIGHT
LEFT
NSRL DOUBLE --- --- --- ---
SHIFT N-BITS
RIGHT
Istruzioni di BCD ++B INCREMENT ++BL DOUBLE – –B DECRE-
incremento/ BCD INCREMENT MENT BCD
decremento BCD
– –BL DOUBLE --- --- --- ---
DECRE-
MENT BCD
Binario ++ INCREMENT ++L DOUBLE –– DECRE-
BINARY INCREMENT MENT
BINARY BINARY
– –L DOUBLE --- --- --- ---
DECRE-
MENT
BINARY

18
Classificazioni in base alla funzione Capitolo 2-1

Classifica- Sottoclasse Codice Istruzione Codice Istruzione Codice Istruzione


zione mnemonico mnemonico mnemonico
Istruzioni Addizione binario + SIGNED +L DOUBLE +C SIGNED
matemati- BINARY ADD SIGNED BINARY ADD
che con sim- WITHOUT BINARY ADD WITH CARRY
boli CARRY WITHOUT
CARRY
+CL DOUBLE --- --- --- ---
SIGNED
BINARY ADD
WITH CARRY
Addizione BCD +B BCD ADD +BL DOUBLE BCD +BC BCD ADD
WITHOUT ADD WITH CARRY
CARRY WITHOUT
CARRY
+BCL DOUBLE BCD --- --- --- ---
ADD WITH
CARRY
Sottrazione binario – SIGNED –L DOUBLE –C SIGNED
BINARY SIGNED BINARY
SUBTRACT BINARY SUBTRACT
WITHOUT SUBTRACT WITH CARRY
CARRY WITHOUT
CARRY
–CL DOUBLE --- --- --- ---
SIGNED
BINARY WITH
CARRY
Sottrazione BCD –B BCD –BL DOUBLE BCD –BC BCD
SUBTRACT SUBTRACT SUBTRACT
WITHOUT WITHOUT WITH CARRY
CARRY CARRY
–BCL DOUBLE BCD --- --- --- ---
SUBTRACT
WITH CARRY
Moltiplicazione * SIGNED *L DOUBLE *U UNSIGNED
binario BINARY SIGNED BINARY
MULTIPLY BINARY MULTIPLY
MULTIPLY
*UL DOUBLE --- --- --- ---
UNSIGNED
BINARY
MULTIPLY
Moltiplicazione *B BCD *BL DOUBLE BCD --- ---
BCD MULTIPLY MULTIPLY
Divisione binario / SIGNED /L DOUBLE /U UNSIGNED
BINARY SIGNED BINARY
DIVIDE BINARY DIVIDE
DIVIDE
/UL DOUBLE --- --- --- ---
UNSIGNED
BINARY
DIVIDE
Divisione BCD /B BCD DIVIDE /BL DOUBLE BCD --- ---
DIVIDE

19
Classificazioni in base alla funzione Capitolo 2-1

Classifica- Sottoclasse Codice Istruzione Codice Istruzione Codice Istruzione


zione mnemonico mnemonico mnemonico
Istruzioni di Conversione BIN BCD-TO- BINL DOUBLE BCD BINARY-TO-
conversione BCD/binario BINARY BCD-TO- BCD
DOUBLE
BINARY
BCDL DOUBLE NEG 2'S COMPLE- NEGL DOUBLE 2'S
BINARY-TO- MENT COMPLE-
DOUBLE BCD MENT
SIGN 16-BIT TO --- --- --- ---
32-BIT
SIGNED
BINARY
Decoder/encoder MLPX DATA DECO- DMPX DATA ENCO- --- ---
DER DER
Conversione ASC ASCII CON- HEX ASCII TO HEX --- ---
ASCII/esadecimale VERT
Conversione LINE COLUMN TO COLM LINE TO --- ---
riga/colonna LINE COLUMN
Conversione BCD- BINS SIGNED BCD- BISL DOUBLE BCDS SIGNED
binario con segno TO-BINARY SIGNED BCD- BINARY-TO-
TO-BINARY BCD
BDSL DOUBLE GRY GRAY CODE --- ---
SIGNED (vedere la CONVER-
BINARY-TO- nota 1). SION
BCD
Istruzioni Istruzioni logiche ANDW LOGICAL ANDL DOUBLE ORW LOGICAL OR
logiche AND/OR AND LOGICAL
AND
ORWL DOUBLE XORW EXCLUSIVE XORL DOUBLE
LOGICAL OR OR EXCLUSIVE
OR
XNRW EXCLUSIVE XNRL DOUBLE --- ---
NOR EXCLUSIVE
NOR
Complemento COM COMPLE- COML DOUBLE --- ---
MENT COMPLE-
MENT
Istruzioni --- ROTB BINARY ROOT BCD SQUARE APR ARITHMETIC
matemati- ROOT ROOT PROCESS
che speciali
FDIV FLOATING BCNT BIT COUN- --- ---
POINT TER
DIVIDE
Istruzioni Conversione vir- FIX FLOATING TO FIXL FLOATING TO FLT 16-BIT TO
matemati- gola mobile/binario 16-BIT 32-BIT FLOATING
che a virgola
mobile FLTL 32-BIT TO --- --- --- ---
FLOATING
Istruzioni matema- +F FLOATING- –F FLOATING- /F FLOATING
tiche di base a vir- POINT ADD POINT POINT
gola mobile SUBTRACT DIVIDE
*F FLOATING- --- --- --- ---
POINT
MULTIPLY
Istruzioni trigono- RAD DEGREES TO DEG RADIANS TO SIN SINE
metriche RADIANS DEGREES
a virgola mobile
COS COSINE TAN TANGENT ASIN ARC SINE
ACOS ARC COSINE ATAN ARC TAN- --- ---
GENT
Istruzioni matema- SQRT SQUARE EXP EXPONENT LOG LOGARITHM
tiche a virgola ROOT
mobile
PWR EXPONEN- --- --- --- ---
TIAL POWER
Confronto con sim- LD, AND, OR Confronto con FSTR* FLOATING- FVAL* ASCII TO
boli e conversione* + simboli (vir- POINT TO FLOATING-
=, <>, <, <=, >, gola mobile in ASCII POINT
>= + F singola preci-
sione)

20
Classificazioni in base alla funzione Capitolo 2-1

Classifica- Sottoclasse Codice Istruzione Codice Istruzione Codice Istruzione


zione mnemonico mnemonico mnemonico
Istruzioni a Conversione vir- FIXD DOUBLE FIXLD DOUBLE DBL 16-BIT TO
virgola gola mobile/binario FLOATING TO FLOATING TO DOUBLE
mobile in 16-BIT 32-BIT FLOATING
doppia pre-
cisione* DBLL 32-BIT TO --- --- --- ---
DOUBLE
FLOATING
Istruzioni matema- +D DOUBLE –D DOUBLE /D DOUBLE
tiche di base a vir- FLOATING- FLOATING- FLOATING-
gola mobile POINT ADD POINT POINT
SUBTRACT DIVIDE
*D DOUBLE --- --- --- ---
FLOATING-
POINT
MULTIPLY
Istruzioni trigono- RADD DOUBLE DEGD DOUBLE SIND DOUBLE
metriche DEGREES TO RADIANS TO SINE
a virgola mobile RADIANS DEGREES
COSD DOUBLE TAND DOUBLE ASIND DOUBLE ARC
COSINE TANGENT SINE
ACOSD DOUBLE ARC ATAND DOUBLE ARC --- ---
COSINE TANGENT
Istruzioni matema- SQRTD DOUBLE EXPD DOUBLE LOGD DOUBLE
tiche a virgola SQUARE EXPONENT LOGARITHM
mobile ROOT
PWRD DOUBLE --- --- --- ---
EXPONEN-
TIAL POWER
Confronto con LD, AND, OR Confronto con --- --- --- ---
simboli + simboli (vir-
=, <>, <, <=, >, gola mobile in
>= + D doppia preci-
sione)
Istruzioni di Elaborazione SSET SET STACK PUSH PUSH ONTO LIFO LAST IN
elabora- di stack STACK FIRST OUT
zione dei
dati di FIFO FIRST IN SNUM* STACK SIZE SREAD* STACK DATA
tabelle FIRST OUT READ READ
SWRIT* STACK DATA SINS* STACK DATA SDEL* STACK DATA
OVERWRITE INSERT DELETE
Elaborazione di DIM DIMENSION SETR SET RECORD GETR GET
1 record/più canali RECORD LOCATION RECORD
TABLE NUMBER
Elaborazione SRCH DATA MAX FIND MIN FIND
record-canale SEARCH MAXIMUM MINIMUM
SUM SUM FCS FRAME CHE- --- ---
CKSUM
Elaborazione di SWAP SWAP BYTES --- --- --- ---
byte
Istruzioni di --- PID PID CON- PIDAT* PID CON- LMT LIMIT
controllo TROL TROL WITH CONTROL
dati AUTOTUNING
BAND DEAD BAND ZONE DEAD ZONE TPO TIME-PRO-
CONTROL CONTROL (vedere la PORTIONAL
nota 1). OUTPUT
SCL SCALING SCL2 SCALING 2 SCL3 SCALING 3
AVG AVERAGE --- --- --- ---
Istruzioni di --- SBS SUBROU- MCRO MACRO SBN SUBROU-
subroutine TINE CALL TINE ENTRY
RET SUBROU- GSBS* GLOBAL GSBN* GLOBAL
TINE SUBROU- SUBROU-
RETURN TINE CALL TINE ENTRY
GRET* GLOBAL --- --- --- ---
SUBROU-
TINE
RETURN

21
Classificazioni in base alla funzione Capitolo 2-1

Classifica- Sottoclasse Codice Istruzione Codice Istruzione Codice Istruzione


zione mnemonico mnemonico mnemonico
Istruzioni di --- MSKS*** SET MSKR*** READ INTER- CLI*** CLEAR
controllo INTERRUPT RUPT MASK INTERRUPT
interrupt MASK
DI DISABLE EI ENABLE --- ---
INTERRUPTS INTERRUPTS
Istruzioni --- INI MODE CON- PRV HIGH-SPEED PRV2 COUNTER
per conta- TROL COUNTER PV (vedere la FREQUENCY
tore veloce/ READ nota 2). CONVERT
uscita a
impulsi** CTBL COMPARI- SPED SPEED PULS SET PULSES
SON TABLE OUTPUT
LOAD

PLS2 PULSE ACC ACCELERA- ORG ORIGIN


OUTPUT TION CON- SEARCH
TROL
Istruzioni --- PWM PULSE WITH STEP STEP DEFINE SNXT STEP START
di step VARIABLE
DUTY
FACTOR
Istruzioni --- IORF I/O REFRESH SDEC 7-SEGMENT DSW DIGITAL
per moduli DECODER (vedere la SWITCH
di I/O di nota 1). INPUT
base
TKY TEN KEY HKY HEXADECI- MTR MATRIX
(vedere la INPUT (vedere la MAL KEY (vedere la INPUT
nota 1). nota 1). INPUT nota 1).
7SEG 7-SEGMENT IORD INTELLI- IOWR INTELLI-
(vedere la DISPLAY GENT I/O GENT I/O
nota 1). OUTPUT READ WRITE
DLNK* CPU BUS --- --- --- ---
UNIT I/O
REFRESH
Istruzioni --- PMCR PROTOCOL TXD TRANSMIT RXD RECEIVE
per la comu- MACRO
nicazione
seriale STUP CHANGE --- --- --- ---
SERIAL PORT
SETUP
Istruzioni di --- SEND NETWORK RECV NETWORK CMND DELIVER
rete SEND RECEIVE COMMAND
EXPLT SEND GENE- EGATR EXPLICIT ESATR EXPLICIT
(vedere la RAL EXPICIT (vedere la GET ATTRI- (vedere la SET ATTRI-
nota 1). nota 1). BUTE nota 1). BUTE
ECHRD EXPLICIT ECHWR EXPLICIT --- ---
(vedere la WORD READ (vedere la WORD
nota 1). nota 1). WRITE
Istruzioni di --- MSG DISPLAY --- --- --- ---
visualizza- MESSAGE
zione
Istruzioni di --- FREAD READ DATA FWRIT WRITE DATA --- ---
memoria file FILE FILE
Istruzioni --- CADD CALENDAR CSUB CALENDAR SEC HOURS TO
per ADD SUBTRACT SECONDS
l'orologio
HMS SECONDS TO DATE CLOCK --- ---
HOURS ADJUST-
MENT
Istruzioni di --- TRSM TRACE --- --- --- ---
debug MEMORY
SAMPLING
Istruzioni --- FAL FAILURE FALS SEVERE FPD FAILURE
per la dia- ALARM FAILURE POINT
gnostica ALARM DETECTION
di funziona-
mento incor-
retto

22
Classificazioni in base alla funzione Capitolo 2-1

Classifica- Sottoclasse Codice Istruzione Codice Istruzione Codice Istruzione


zione mnemonico mnemonico mnemonico
Altre --- STC SET CARRY CLC CLEAR EMBC SELECT EM
istruzioni CARRY BANK
WDT EXTEND CCS* SAVE CONDI- CCL* LOAD CONDI-
MAXIMUM TION FLAGS TION FLAGS
CYCLE TIME
FRMCV* CONVERT TOCV* CONVERT IOSP*** DISABLE
ADDRESS ADDRESS TO PERIPHE-
FROM CV CV RAL SERVI-
CING
IORS*** ENABLE --- --- --- ---
PERIPHE-
RAL SERVI-
CING
Istruzioni di Definizione di BPRG BLOCK PRO- BEND BLOCK PRO- --- ---
programma- un'area di program- GRAM BEGIN GRAM END
zione a bloc- mazione a blocchi
chi
Avvio/arresto del BPPS BLOCK BPRS BLOCK --- ---
programma a bloc- PROGRAM PROGRAM
chi PAUSE RESTART
EXIT EXIT END condizio- EXIT NOT END NOT EXIT END condizio-
indirizzo_bit nale indirizzo_bit condizionale condizione_ingr nale
esso
Elaborazione IF CONDITIO- IF NOT CONDITIO- ELSE CONDITIO-
condizionata indirizzo_bit NAL BLOCK indirizzo_bit NAL BLOCK NAL BLOCK
BRANCHING BRANCHING BRANCHING
(NOT) (ELSE)
IEND CONDITIO- --- --- --- ---
NAL BLOCK
BRANCHING
END
WAIT WAIT ONE CYCLE WAIT NOT ONE CYCLE WAIT ONE CYCLE
indirizzo_bit AND WAIT indirizzo_bit AND WAIT condizione_ingr AND WAIT
NOT esso

Tempo- BCD TIMW TIMER WAIT CNTW COUNTER TMHW HIGH-SPEED


rizza- WAIT TIMER WAIT
tore/
conta- Binario* TIMWX TIMER WAIT CNTWX COUNTER TMHWX HIGH-SPEED
tore WAIT TIMER WAIT

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
AND LOAD Blocco logico Blocco logico Assume un AND logico tra blocchi logici. Continua su 164
AND LD rung
LD Richiesta
Blocco logico A
...

LD
Blocco logico B
...

AND LD Collegamento seriale tra


i blocchi logici A e B.

OR LOAD Assume un OR logico tra blocchi logici. Continua su 166


Blocco logico rung
OR LD
LD Richiesta
Blocco logico
Blocco logico A
...

LD
Blocco logico B
...

OR LD Collegamento parallelo tra


i blocchi logici A e B.

NOT --- Inverte la condizione di esecuzione. Continua su 172


NOT rung
520 Richiesta
CONDITION ON UP(521) attiva la condizione di esecuzione per un ciclo quando lo stato Continua su 173
UP UP(521) di quest'ultima passa da OFF a ON. rung
521 Richiesta
CONDITION OFF DOWN(522) attiva la condizione di esecuzione per un ciclo quando lo Continua su 173
DOWN(522) stato di quest'ultima passa da ON a OFF. rung
DOWN
522 Richiesta
BIT TEST LD TST(350), AND TST(350) e OR TST(350) vengono utilizzate nel Continua su 174
LD TST TST(350) programma analogamente a LD, AND e OR. La condizione di esecu- rung
350 zione viene attivata quando il bit specificato nel canale specificato Non richiesta
S viene impostato su ON e disattivata quando il bit viene impostato su
OFF.
N
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
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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
BIT TEST LD TST(350), AND TST(350) e OR TST(350) vengono utilizzate nel Continua su 174
OR TST TST(350) programma analogamente a LD, AND e OR. La condizione di esecu- rung
350 zione viene attivata quando il bit specificato nel canale specificato Richiesta
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
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

2-2-2 Istruzioni di uscita sequenza


*1:
non supportata dalle CPU CS1D per sistemi a due CPU.
Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
OUTPUT Invia in uscita il risultato (condizione di esecuzione) dell'elaborazione Uscita 177
OUT logica al bit specificato. Richiesta
!OUT*1

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

KEEP S (imposta- Funziona come un relè di blocco. Uscita 180


KEEP zione) KEEP(011) Imposta- Richiesta
!KEEP*1 B zione

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DIFFERENTIATE DIFD(014) imposta su ON il bit specificato per un ciclo quando la Uscita 184
DOWN DIFD(014) Richiesta
condizione di esecuzione passa da ON a OFF (fronte di discesa).
DIFD B
!DIFD*1
B: bit Condizione di esecuzione
014

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
SINGLE BIT RSTB(533) imposta su OFF il bit specificato nel canale specificato Uscita 192
RESET (solo RSTB(533) quando lo stato della condizione di esecuzione è ON. Richiesta
CS1-H, CJ1-H, A differenza dell'istruzione RSET, è possibile utilizzare RSTB(533) per
CJ1M o CS1D) D reimpostare un bit in un canale DM o EM.
RSTB N
@RSTB
!RSTB *1 D: indirizzo
!@RSTB*1 del canale
N: numero di bit

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

2-2-3 Istruzioni di controllo sequenza


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
END Indica la fine del programma. Uscita 197
END END(001) Non richiesta
END(001) termina l'esecuzione di un programma in quel ciclo. Le
001 istruzioni inserite dopo END(001) non vengono eseguite. Viene
eseguito il programma con il numero di task successivo. Se numero
di task del programma in esecuzione è il più alto all'interno del
programma, l'istruzione END(001) marca la fine del programma
principale.

Task 1 Programma A

Passaggio al numero
di task successivo

Task 2 Programma B

Passaggio al numero
di task successivo

Task n Programma Z

Fine del programma


principale

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

Sezione del Esecuzione Uscite


programma normale interbloccate
interbloccata

29
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
INTERLOCK Interblocco di tutte le uscite comprese tra le istruzioni IL(002) e Uscita 201
CLEAR ILC(003) ILC(003) quando la condizione di esecuzione per IL(002) è OFF. Non richiesta
ILC IL(002) e ILC(003) vengono di norma utilizzate in coppia.
003
MULTI-INTER- Quando la condizione di esecuzione per MILH(517) è OFF, le uscite di Uscita 205
LOCK DIFFE- MILH(517) tutte le istruzioni comprese tra tale istruzione MILH(517) e l'istruzione Richiesta
RENTIATION MILC(519) successiva vengono interbloccate. Le istruzioni MILH(517)
HOLD N e MILC(519) vengono utilizzate in coppia.
MILH D Gli interblocchi MILH(517)/MILC(519) possono essere nidificati [ad
517 esempio MILH(517)—MILH(517)—MILC(519)—MILC(519)].
N: numero
CPU della serie di interblocco Se tra l'istruzione MILH(517) e l'istruzione MILC(519) corrispondente è
CS/CJ versione 2.0 D: bit di stato presente un'istruzione differenziata (DIFU, DIFD o un'istruzione con
o successiva interblocco prefisso @ o %), tale istruzione verrà eseguita dopo la cancellazione
dell'interblocco se viene soddisfatta la condizione di differenziazione
dell'istruzione.
MULTI-INTER- Quando la condizione di esecuzione per MILR(518) è OFF, le uscite di Uscita 205
LOCK DIFFE- MILR(518) tutte le istruzioni comprese tra tale istruzione MILR(518) e l'istruzione Richiesta
RENTIATION MILC(519) successiva vengono interbloccate. Le istruzioni MILR(518)
RELEASE N e MILC(519) vengono utilizzate in coppia.
MILR D Gli interblocchi MILR(518)/MILC(519) possono essere nidificati [ad
518 esempio MILR(518)—MILR(518)—MILC(519)—MILC(519)].
N: numero Se tra l'istruzione MILR(518) e l'istruzione MILC(519) corrispondente è
CPU della serie di interblocco
CS/CJ versione 2.0 D: bit di stato presente un'istruzione differenziata (DIFU, DIFD o un'istruzione con
o successiva interblocco prefisso @ o %), tale istruzione non verrà eseguita dopo la cancella-
zione dell'interblocco anche se viene soddisfatta la condizione di diffe-
renziazione dell'istruzione.
MULTI-INTER- Cancella l'interblocco avviato da un'istruzione MILH(517) o MILR(518) Uscita 205
LOCK CLEAR MILC(519) con il medesimo numero di interblocco. Non richiesta
MILC N Tutte le uscite comprese tra l'istruzione MILH(517)/MILR(518) e l'istru-
519 zione MILC(519) corrispondente con lo stesso numero di interblocco
N: numero di vengono interbloccate quando la condizione di esecuzione per
CPU della serie
CS/CJ versione 2.0 interblocco MILH(517)/MILR(518) è OFF.
o successiva
JUMP Quando la condizione di esecuzione per JMP(004) è OFF, Uscita 219
JMP JMP(004) l'esecuzione del programma passa direttamente alla prima istruzione Richiesta
004 N JME(05) nel programma avente lo stesso numero di salto. Le
istruzioni JMP(004) e JME(005) vengono utilizzate in coppia.
N: numero di salto Condizione di esecuzione
Istruzioni
saltate
Le istruzioni in questa
sezione non vengono
eseguite e lo stato di
Istruzioni uscita viene mantenuto. Il
eseguite tempo di esecuzione di
tali istruzioni è pertanto
inesistente.

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
CONDITIONAL Il funzionamento di CJP(510) è sostanzialmente opposto a quello di JMP(004). Uscita 223
JUMP CJP(510) Quando la condizione di esecuzione per CJP(510) è ON, l'esecuzione del Richiesta
CJP programma passa direttamente alla prima istruzione JME(05) nel programma
N
510 avente lo stesso numero di salto. Le istruzioni CJP(510) e JME(005) vengono
N: numero di salto utilizzate in coppia.
Condizione di Condizione di
esecuzione OFF esecuzione ON
Istruzioni
saltate

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.

CONDITIONAL Il funzionamento di CJPN(511) è quasi uguale a quello di JMP(004). Uscita 223


JUMP CJPN(511) Quando la condizione di esecuzione per CJP(004) è OFF, l'esecuzione Non richiesta
CJPN del programma passa direttamente alla prima istruzione JME(05) nel
N
511 programma avente lo stesso numero di salto. Le istruzioni CJPN(511) e
N: numero di salto JME(005) vengono utilizzate in coppia.
Condizione di Condizione di
esecuzione ON esecuzione OFF
Istruzioni
saltate

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
FOR-NEXT Le istruzioni comprese tra FOR(512) e NEXT(513) vengono ripetute Uscita 229
LOOPS FOR(512) per il numero di volte specificato. Le istruzioni FOR(512) e Non richiesta
FOR NEXT(513) devono essere utilizzate in coppia.
N
512
N: numero di cicli Ripetuta N volte

Sezione di programma ripetuta

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

2-2-4 Istruzioni di temporizzatore e contatore


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
TIMER Uscita 235
TIM TIM/TIMX(550) aziona un temporizzatore decrementale con unità di
TIM 0,1 s. L'intervallo di impostazione per il valore impostato (SV) è Richiesta
(BCD) N compreso tra 0 e 999,9 s per il formato decimale codificato in binario
e tra 0 e 6.553,5 s per il formato binario (decimale o esadecimale).
TIMX S Ingresso del
(binario) temporizzatore
(solo CS1-H, CJ1- N: numero di
H, CJ1M o CS1D) temporizzatore PV del SV
S: valore impostato temporizzatore

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

HIGH-SPEED TIMH(015)/TIMHX(551) aziona un temporizzatore decrementale con Uscita 240


TIMER TIMH(015) Richiesta
unità di 10 ms. L'intervallo di impostazione per il valore impostato (SV) è
TIMH N compreso tra 0 e 99,99 s per il formato decimale codificato in binario e tra
015 0 e 655,35 s per il formato binario (decimale o esadecimale).
(BCD) S Ingresso del
temporizzatore
N: numero di
TIMHX temporizzatore
PV del SV
551 S: valore impostato
(binario) temporizzatore
(solo CS1-H, CJ1-
H, CJ1M o CS1D) TIMHX(551) Flag di
completamento
N
S
Ingresso del
N: numero di temporizzatore
temporizzatore
S: valore impostato PV del temporizzatore SV

Flag di
completamento

ONE-MS TIMER TMHH(540)/TMHHX(552) aziona un temporizzatore decrementale con Uscita 244


TMHH TMHH(540) unità di 1 ms. L'intervallo di impostazione per il valore impostato (SV) è Richiesta
compreso tra 0 e 9,999 s per il formato BCD e tra 0 e 65,535 s per il
540 N
(BCD) formato binario (decimale o esadecimale).
S I diagrammi di temporizzazione per TMHH(540) e TMHHX(552) sono
uguali a quelli indicati in precedenza per TIMH(015).
TMHHX N: numero di
552 temporizzatore
(BCD) S: valore impostato
(solo CS1-H, CJ1-
H, CJ1M o CS1D)
TMHHX(552)

N
S
N: numero di
temporizzatore
S: valore impostato

33
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
ACCUMULATIVE Ingresso Uscita 247
TIMER TTIM(087)
TTIM(087)/TTIMX(555) aziona un temporizzatore incrementale con
del unità di 0,1 s. L'intervallo di impostazione per il valore impostato (SV) è Richiesta
TTIM temporiz-
N compreso tra 0 e 999,9 s per il formato decimale codificato in binario e
zatore
087 tra 0 e 6.553,5 s per il formato binario (decimale o esadecimale).
(BCD) S
Ingresso del
Ingresso temporizzatore
di reset
TTIMX PV del
555 N: numero di SV
temporizzatore temporizzatore
(binario)
(solo CS1-H, CJ1- S: valore impostato Ripresa
H, CJ1M o CS1D) temporizzazione.
Ingresso
del TTIMX(555) PV mantenuto
temporiz- N
zatore
S Flag di
completa-
Ingresso di mento
reset
N: numero di Ingresso
temporizzatore di reset
S: valore impostato

LONG TIMER Uscita 251


TIML(542) TIML(542)/TIMLX(553) aziona un temporizzatore decrementale con unità
TIML di 0,1 s che può raggiungere un periodo di circa 115 giorni per il formato Richiesta
542 D1 decimale codificato in binario e 49.710 giorni per il formato binario
(BCD) (decimale o esadecimale).
D2 Ingresso del
TIMLX temporizzatore
S
553 SV
(binario) D1: flag di PV del
(solo CS1-H, CJ1- completamento temporizzatore
H, CJ1M o CS1D) D2: canale PV
S: canale SV Flag di
completamento
(bit 00 di D1)
TIMLX(553)

D1
D2
S

D1: flag di
completamento
D2: canale PV
S: canale SV

34
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
MULTI-OUTPUT MTIM(543)/MTIMX(554) aziona un temporizzatore incrementale con unità Uscita 254
TIMER MTIM(543) Richiesta
di 0,1 s che dispone di 8 flag di completamento e valori impostati
MTIM D1 indipendenti. L'intervallo di impostazione per il valore impostato (SV) è
543 compreso tra 0 e 999,9 secondi per valori decimali codificati in binario
(BCD) D2 (BCD) e da 0 a 6.553,5 secondi per valori binari (decimali o esadecimali).
PV del temporizzatore
S
MTIMX
554 D1: flag di
(binario) SV del temporizzatore 0
(solo CS1-H, CJ1- completamento
H, CJ1M o CS1D) D2: canale PV
S: primo canale SV
...
...
MTIMX(554)

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
REVERSIBLE Ingresso Uscita 263
COUNTER di incre- CNTR(012)
CNTR(012)/CNTRX(548) attiva un contatore reversibile.
Richiesta
CNTR mento
Ingres- N
012 so di S Ingresso di incremento
(BCD) decre-
mento
Ingres-
CNTRX so di Ingresso di decremento
548 reset N: numero
(binario) di contatore
(solo CS1-H, CJ1-
H, CJ1M o CS1D) S: valore
impostato
PV del contatore
Ingresso
di incre- CNTRX(548)
mento
Ingresso N SV
di decre-
PV del contatore
mento
S
Ingresso +1
di reset
N: numero di
contatore Flag di completamento
S: valore impostato

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

N1: primo numero


nell'intervallo
N2: ultimo numero
nell'intervallo

36
Istruzioni Capitolo 2-2

2-2-5 Istruzioni di confronto


*1
: non supportata dalle CPU CS1D per sistemi a due CPU.
Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
Confronto con Le istruzioni di confronto dei simboli (senza segno) confrontano LD: non 275
simboli (senza Simbolo e opzioni richiesta
due valori (costanti e/o il contenuto di canali specifici) in formato
segno) binario a 16 bit e creano una condizione di esecuzione ON quando AND, OR:
S1 la condizione di confronto è vera. Esistono tre tipi di istruzioni di richiesta
LD, AND, OR + =,
<>, <, <=, >, >= S2 confronto con simboli, ovvero LD (LOAD), AND e OR.
300 (=) Condizione di esecuzione ON quando
305 (<>) S1: dati di LD il risultato del confronto è vero.
310 (<) confronto 1
315 (<=) S2: dati di <
320 (>) confronto 2
325(>=)

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
Confronto con S1: dati di Le istruzioni di confronto con simboli (doppio canale, con segno) con- LD: non 275
simboli (doppio confronto 1 frontano due valori (costanti e/o il contenuto di dati specifici a doppio richiesta
canale, con S2: dati di canale) in formato binario con segno a 32 bit (esadecimale a 8 cifre) e AND, OR:
segno) creano una condizione di esecuzione ON quando la condizione di con- richiesta
confronto 2 fronto è vera. Esistono tre tipi di istruzioni di confronto con simboli,
LD, AND, OR + =,
<>, <, <=, >, >= ovvero LD (LOAD), AND e OR.
+SL
303 (=)
308 (<>)
313 (<)
318 (<=)
323 (>)
328 (>=)
Confronto di LD (LOAD): Le istruzioni di confronto di date e ore confrontano due valori temporali LD: non 281
date e ore in formato BCD e creano una condizione di esecuzione ON quando la richiesta
LD, AND, OR + = Simbolo condizione di confronto è soddisfatta. AND, OR:
DT, <> DT, < DT, Esistono tre tipi di istruzioni di confronto di date e ore, ovvero LD richiesta
<= DT, > DT, >= C (LOAD), AND e OR. I valori (anno, mese, giorno, ora, minuto e
DT secondo) possono essere mascherati/smascherati nel confronto per
S1 semplificare la creazione di funzioni di temporizzatore calendario.
341 (= DT)
342 (<> DT) S2
343 (< DT)
344 (<= DT)
345 (> DT) AND:
346 (>= DT)
(solo CPU della Simbolo
serie CS/CJ ver- C
sione 2.0 o suc-
cessiva). S1
S2

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
SIGNED BINARY Confronta due valori binari con segno (costanti e/o il contenuto di Uscita 293
COMPARE CPS(114) Richiesta
canali specifici) e invia il risultato ai flag aritmetici dell'area ausiliaria.
CPS S1
!CPS*1
S2 Confronto binario
114 con segno
S1: dati di
confronto 1
S2: dati di Flag aritmetici
confronto 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

TABLE Confronta i dati di origine con il contenuto di 16 canali e, se il Uscita 301


COMPARE TCMP(085) Richiesta
contenuto è uguale, imposta su ON il bit corrispondente nel canale
TCMP S
@TCMP del risultato.
Confronto R
085 T 1: i dati sono
R uguali.
0: i dati non
S: dati di origine sono uguali.
T: primo canale
della tabella
R: canale del
risultato

UNSIGNED Uscita 304


BLOCK BCMP(068) Confronta i dati di origine con 16 intervalli (definiti da 16 limiti inferiori
e 16 limiti superiori) e, se i dati di origine rientrano nell'intervallo, Richiesta
COMPARE
S imposta su ON il bit corrispondente nel canale del risultato.
BCMP
@BCMP T Intervalli
068 1: nell'intervallo
R 0: fuori intervallo
S: dati di origine Limite inferiore Limite superiore R
T: primo canale T ... T+1 0
della tabella
R: canale del T+2 ... T+3 1
risultato Dati di origine
S

T+28 ... T+29 14


T+30 ... T+31 15

39
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
EXPANDED Confronta i dati di origine con intervalli definiti da un limite inferiore e Uscita 306
BLOCK BCMP2(502) superiore, fino a un massimo di 256, e quando i dati di origine rientrano Richiesta
COMPARE
S in un intervallo, imposta su ON il bit corrispondente nel canale del risul-
BCMP2
tato.
@BCMP2 T
502 1: nell'intervallo
(solo CPU CS1-H, R T N n=255 max. 0: fuori intervallo
CJ1-H o CS1D D Bit
S: dati di origine
versione 2.0 o T: primo canale T+1 Intervallo 0 A Intervallo 0 B T+2 0
successiva). del blocco T+3
Dati di origine Intervallo 1 A Intervallo 1 B T+4 1
Solo CPU CJ1M
(precedenti alla R: canale del
S
versione 2.0 o ver- risultato
sione 2.0 o suc- D+15 max.
cessiva) T+2N+1 Intervallo N A Intervallo N B T+2N+2
Note: A può essere
inferiore, uguale o
superiore a B.

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

2-2-6 Istruzioni di spostamento dati


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
MOVE Uscita 315
MOV(021) Trasferisce un canale di dati nel canale specificato.
MOV Richiesta
@MOV S Canale di origine
!MOV
!@MOV D
021
S: origine
D: destinazione Stato del bit
non modificato

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

DOUBLE MOVE Uscita 320


NOT MVNL(499) Trasferisce il complemento di due canali di dati nei canali specificati.
S S+1
Richiesta
MVNL S
@MVNL
499 D
Stato del bit
S: primo canale di invertito
origine
D: primo canale di D D+1
destinazione

MOVE BIT Trasferisce il bit specificato. Uscita 321


MOVB MOVB(082) Richiesta
@MOVB S
082
C
D
S: dati o canale di
origine
C: canale di controllo
D: canale di
destinazione

41
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
MOVE DIGIT Trasferisce la cifra o le cifre specificate (ogni cifra è composta da 4 bit). Uscita 323
MOVD MOVD(083) Richiesta
@MOVD S
083
C
D
S: dati o canale di
origine
C: canale di controllo
D: canale di
destinazione

MULTIPLE BIT Trasferisce il numero di bit consecutivi specificato. Uscita 326


TRANSFER XFRB(062)
Richiesta
XFRB C
@XFRB
062 S
D
C: canale di controllo
S: primo canale di
origine
D: primo canale di
destinazione

BLOCK Uscita 328


TRANSFER XFER(070)
Trasferisce il numero di canali consecutivi specificato.
Richiesta
XFER
@XFER N
070 S N canali
... ...
D D+(N-1)
S+(N-1)
N: numero di
canali
S: primo canale di
origine
D: primo canale di
destinazione
BLOCK SET Copia lo stesso canale in un intervallo di canali consecutivi. Uscita 331
BSET BSET(071) Richiesta
@BSET S Canale di origine Canali di destinazione
071
St St

S: canale di origine
St: canale iniziale
E: canale finale
E

DATA Uscita 333


EXCHANGE XCHG(073) Scambia il contenuto dei due canali specificati.
Richiesta
XCHG E1 E1 E2
@XCHG
073 E2
E1: primo canale
di scambio
E2: secondo
canale di scambio

42
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DOUBLE DATA Scambia il contenuto di una coppia di canali consecutivi con il Uscita 334
EXCHANGE XCGL(562) Richiesta
contenuto di un'altra coppia di canali consecutivi.
XCGL E1
@XCGL E1 E1+1 E2 E2+1
562 E2
E1: primo canale
di scambio
E2: secondo
canale di scambio
SINGLE WORD Trasferisce il canale di origine in un canale di destinazione calcolato Uscita 336
DISTRIBUTE DIST(080) aggiungendo il valore di offset all'indirizzo di base. Richiesta
DIST S
@DIST S Bs Of
080 Bs
Of

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

Bs: indirizzo base Bs+n


di origine
Of: offset
D: canale di
destinazione
MOVE TO Uscita 340
REGISTER MOVR(560)Imposta l'indirizzo di memoria I/O interna del canale, del bit o del flag
di completamento del temporizzatore/contatore specificato nel registro Richiesta
MOVR S indice specificato. Usare l'istruzione MOVRW(561) per impostare
@MOVR
l'indirizzo di memoria I/O interna relativo a un valore attuale del
560 D temporizzatore o del contatore in un registro indice.
S: origine (canale Indirizzo della memoria I/O di S
o bit desiderato)

D: destinazione
(registro indice)

Registro indice

MOVE Uscita 342


TIMER/COUN- MOVRW(561) Imposta l'indirizzo di memoria I/O interna del valore attuale del
temporizzatore/contatore specificato nel registro indice specificato. Richiesta
TER PV TO
REGISTER S Usare l'istruzione MOVR(560) per impostare l'indirizzo di memoria
I/O interna relativo a un canale, a un bit o a un flag di
MOVRW D completamento del temporizzatore/contatore in un registro indice.
@MOVRW
Indirizzo della memoria I/O di S
561 S: origine
(numero TC
desiderato)
D: destinazione Solo valore attuale del
(registro indice) temporizzatore/contatore

Registro indice

43
Istruzioni Capitolo 2-2

2-2-7 Istruzioni di scorrimento dei dati


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
SHIFT REGISTER Ingresso Uscita 345
SFT dati SFT(010) Utilizza un registro di scorrimento. Richiesta
Ingresso E St+1, St+2 St
010 di scor- St
rimento
Ingres- E
so di
reset Stato dell'ingresso dei
Perso
St: canale iniziale dati per ogni ingresso
E: canale finale di scorrimento

REVERSIBLE Uscita 346


SHIFT REGISTER SFTR(084) Crea un registro di scorrimento che fa scorrere i dati a destra o a sinistra.
Richiesta
SFTR C
@SFTR
084 St
E St Ingresso dati
E
C: canale di
controllo Ingresso E St Direzione
St: canale iniziale scorri-
dati mento
E: canale finale
ASYNCHRO- Uscita 349
NOUS SHIFT ASFT(017) Fa scorrere tutti i dati diversi da zero all'interno dell'intervallo di
canali specificato verso St o verso E e sostituisce i dati Richiesta
REGISTER
C esadecimali 0000 nel canale.
ASFT
@ASFT St
017
E St Direzione di
scorrimento
C: canale di Scorrimento
controllo Scorrimento

abilitato
···

St: canale iniziale Cancellazione


E: canale finale Scorrimento

St

Dati uguali a zero



···

Dati diversi da zero


E
WORD SHIFT Fa scorrere i dati tra St ed E, un canale alla volta. Uscita 352
WSFT WSFT(016) Richiesta
@WSFT S E St
016 Perso
St
E
S: canale di origine
St: canale iniziale
E: canale finale

ARITHMETIC Fa scorrere il contenuto del canale Wd di un bit a sinistra. Uscita 354


SHIFT LEFT ASL(025) Richiesta
ASL Wd
@ASL
025 Wd: canale

44
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DOUBLE SHIFT Fa scorrere il contenuto dei canali Wd e Wd+1 di un bit a sinistra. Uscita 355
LEFT ASLL(570) Richiesta
ASLL Wd+1 Wd
@ASLL Wd
570 Wd: canale

ARITHMETIC Fa scorrere il contenuto del canale Wd di un bit a destra. Uscita 357


SHIFT RIGHT ASR(026) Richiesta
ASR
@ASR Wd
026 Wd: canale

DOUBLE SHIFT Uscita 358


RIGHT ASRL(571) Fa scorrere il contenuto dei canali Wd e Wd+1 di un bit a destra.
Richiesta
ASRL Wd Wd+1 Wd
@ASRL
571 Wd: canale

ROTATE LEFT Uscita 360


ROL(027) Fa scorrere tutti i bit del canale Wd di un bit a sinistra,
ROL incluso il flag di riporto (CY). Richiesta
@ROL Wd
027
Wd: canale

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

ROTATE LEFT Uscita 367


WITHOUT RLNC(574) Fa scorrere tutti i bit del canale Wd di un bit a sinistra,
Richiesta
CARRY escluso il flag di riporto (CY).
Wd Wd
RLNC
@RLNC
Wd: canale
574

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

DOUBLE Uscita 365


ROTATE RIGHT RORL(573) Fa scorrere tutti i bit dei canali Wd e Wd +1 di un bit a destra,
incluso il flag di riporto (CY). Richiesta
RORL
@RORL Wd Wd+1 Wd
573 Wd: canale

45
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
ROTATE RIGHT Uscita 371
WITHOUT RRNC(575) Fa scorrere tutti i bit del canale Wd di un bit a destra, escluso il flag di
riporto (CY). Il contenuto del bit più a destra del canale Wd si sposta Richiesta
CARRY
Wd nel bit più a sinistra e nel flag di riporto (CY).
RRNC
@RRNC Wd: canale
575
Wd

DOUBLE Uscita 372


ROTATE RIGHT RRNL(577) Fa scorrere tutti i bit dei canali Wd e Wd +1 di un bit a destra, escluso
il flag di riporto (CY). Il contenuto del bit più a destra del canale Wd+1 Richiesta
WITHOUT
CARRY Wd si sposta nel bit più a sinistra del canale Wd e nel flag di riporto (CY).
RRNL Wd+1 Wd
@RRNL Wd: canale
577

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

St: canale iniziale


E: canale finale

ONE DIGIT SHIFT Uscita 376


RIGHT SRD(075) Fa scorrere i dati di una cifra (4 bit) a destra.
E S Richiesta
SRD St
@SRD Perso
075 E
St: canale iniziale
E: canale finale
SHIFT N-BIT Uscita 377
DATA LEFT NSFL(578) Fa scorrere a sinistra il numero di bit specificato.
Richiesta
NSFL D
@NSFL
578 C
N

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

SHIFT N-BIT Fa scorrere a destra il numero di bit specificato. Uscita 379


DATA RIGHT NSFR(579) Richiesta
NSFR D
@NSFR
579 C
N
D: canale iniziale Fa scorrere un bit a destra
dello scorrimento N-1 bit
C: bit iniziale
N: lunghezza dati
di scorrimento
N-1 bit

46
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
SHIFT N-BITS Uscita 381
LEFT D Fa scorrere i 16 bit specificati dei dati canale a sinistra del
Richiesta
NASL numero di bit specificato.
C
@NASL
580 D: canale di
scorrimento
C: canale di Scorrimento di n bit
controllo

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

2-2-8 Istruzioni di incremento e decremento


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
INCREMENT Incrementa di 1 il contenuto esadecimale a 4 cifre del canale specificato. Uscita 393
BINARY ++(590) Richiesta
++ Wd Wd
Wd
@++
590 Wd: canale

DOUBLE Incrementa di 1 il contenuto esadecimale a 8 cifre dei canali Uscita 395


INCREMENT ++L(591) specificati. Richiesta
BINARY
Wd Wd+1 Wd Wd+1 Wd
++L
@++L
Wd: canale
591
DECREMENT Uscita 397
BINARY - - (592) Decrementa di 1 il contenuto esadecimale a 4 cifre del canale
specificato. Richiesta
–– Wd
@– – Wd Wd
592 Wd: canale

DOUBLE Decrementa di 1 il contenuto esadecimale a 8 cifre dei canali Uscita 399


DECREMENT - - L(593) Richiesta
BINARY specificati.
Wd
– –L Wd+1 Wd Wd+1 Wd
@– –L
Wd: primo canale
593
INCREMENT Incrementa di 1 il contenuto in formato BCD a 4 cifre del Uscita 401
BCD ++B(594) canale specificato. Richiesta
++B Wd Wd Wd
@++B
594 Wd: canale

DOUBLE Incrementa di 1 il contenuto in formato BCD a 8 cifre dei Uscita 403


INCREMENT ++BL(595) Richiesta
BCD canali specificati.
++BL Wd
Wd+1 Wd Wd+1 Wd
@++BL
Wd: primo canale
595
DECREMENT Decrementa di 1 il contenuto in formato BCD a 4 cifre del Uscita 405
BCD - - B(596) canale specificato. Richiesta
– –B Wd
@– –B Wd -1 Wd
596 Wd: canale

DOUBLE Decrementa di 1 il contenuto in formato BCD a 8 cifre dei Uscita 407


DECREMENT - - BL(597)
canali specificati. Richiesta
BCD
Wd
– –BL Wd+1 Wd Wd+1 Wd
@– –BL
Wd: primo canale
597

48
Istruzioni Capitolo 2-2

2-2-9 Istruzioni matematiche con simboli


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
SIGNED BINARY Somma dati e/o costanti esadecimali a 4 cifre (canale singolo). Uscita 410
ADD WITHOUT +(400) Richiesta
CARRY
Au Au Binario con segno
+
@+ Ad
+ Ad Binario con segno
400
R
Il flag CY viene
Au: canale augendo attivato in CY R Binario con segno
Ad: canale addendo presenza di riporto.
R: canale del risultato

DOUBLE Uscita 412


SIGNED BINARY +L(401) Somma dati e/o costanti esadecimali a 8 cifre (doppio canale).
Richiesta
ADD WITHOUT Binario con segno
CARRY Au Au+1 Au
+L Ad
@+L + Ad+1 Ad Binario con segno
401 R
Il flag CY
Au: primo canale viene attivato
augendo CY R+1 R Binario con segno
in presenza di
Ad: primo canale riporto.
addendo
R: primo canale
del risultato
SIGNED BINARY Uscita 414
ADD WITH +C(402) Somma dati e/o costanti esadecimali a 4 cifre (canale singolo),
incluso il flag di riporto (CY). Richiesta
CARRY
Au Binario con segno
+C Au
@+C Ad
402 Ad Binario con segno
R
Au: canale augendo + CY
Ad: canale addendo
R: canale del Il flag CY viene
risultato attivato in presenza CY R Binario con segno
di riporto.
DOUBLE Somma dati e/o costanti esadecimali a 8 cifre (doppio canale), incluso Uscita 416
SIGNED BINARY +CL(403) il flag di riporto (CY). Richiesta
ADD WITH
CARRY Au Au+1 Au Binario con segno
+CL Ad
@+CL Ad+1 Ad Binario con segno
403 R
Au: primo canale + CY
augendo Il flag CY viene
Ad: primo canale attivato in
addendo presenza di CY R+1 R Binario con segno
R: primo canale del riporto.
risultato
BCD ADD Uscita 418
WITHOUT +B(404) Somma dati e/o costanti in formato BCD a 4 cifre
Richiesta
CARRY (canale singolo). (BCD)
Au Au
+B
@+B Ad (BCD)
+ Ad
404
R
Il flag CY viene
Au: canale augendo attivato in CY R (BCD)
Ad: canale addendo presenza di riporto.
R: canale del
risultato

49
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DOUBLE BCD Somma dati e/o costanti in formato BCD a 8 cifre (doppio canale). Uscita 419
ADD WITHOUT +BL(405) Richiesta
CARRY Au+1 Au (BCD)
+BL Au
@+BL Ad+1 Ad (BCD)
405
Ad +
R
Il flag CY viene
attivato in CY R+1 R (BCD)
Au: primo
canale augendo presenza di riporto.
Ad: primo
canale addendo
R: primo canale
del risultato
BCD ADD WITH Somma dati e/o costanti in formato BCD a 4 cifre (canale singolo), Uscita 421
CARRY +BC(406) incluso il flag di riporto (CY). Richiesta
+BC Au (BCD)
@+BC Au
406 Ad Ad (BCD)
R
+ CY
Au: canale augendo Il flag CY viene
Ad: canale augendo attivato in
R:canale del risultato presenza di riporto. CY R (BCD)

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.

SIGNED BINARY Uscita 424


SUBTRACT - (410) Esegue una sottrazione tra dati e/o costanti esadecimali a 4 cifre
Richiesta
WITHOUT (canale singolo).
CARRY Mi Mi Binario con segno
– Su
@– - Su Binario con segno
410 R
Mi: canale Il flag CY viene
minuendo attivato in presenza CY R Binario con segno
Su: canale di prestito.
sottraendo
R: canale del
risultato
DOUBLE Uscita 426
SIGNED BINARY - L(411) Esegue una sottrazione tra dati e/o costanti esadecimali a 8 cifre
Richiesta
SUBTRACT (doppio canale).
WITHOUT Mi Mi+1 Mi Binario con segno
CARRY
Su
–L - Su+1 Su Binario con segno
@–L R
411 Mi: canale Il flag CY
minuendo viene attivato CY R+1 R Binario con segno
Su: canale in presenza
sottraendo di prestito.
R: canale del
risultato

50
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
SIGNED BINARY Esegue una sottrazione tra dati e/o costanti esadecimali a 4 cifre Uscita 430
SUBTRACT - C(412) Richiesta
WITH CARRY (canale singolo), incluso il flag Binario con segno
Mi Mi
–C di riporto (CY).
@–C Su Su Binario con segno
412
R
- CY
Mi: canale
minuendo Il flag CY viene
Su: canale attivato in presenza Binario con segno
sottraendo di prestito. CY R
R: canale del
risultato
DOUBLE Uscita 432
SIGNED BINARY -CL(413) Esegue una sottrazione tra dati e/o costanti esadecimali a 8 cifre
(doppio canale), incluso il flag di riporto (CY). Richiesta
WITH CARRY
–CL Mi
@–CL Mi+1 Mi Binario con segno
Su
413
R Su+1 Su Binario con segno
Mi: canale
minuendo - CY
Su: canale Il flag CY
sottraendo viene attivato
R: canale del in presenza CY R+1 R Binario con segno
risultato di prestito.

BCD SUBTRACT Uscita 435


WITHOUT - B(414) Esegue una sottrazione tra dati e/o costanti in formato
Richiesta
CARRY BCD a 4 cifre (canale singolo). (BCD)
Mi Mi
–B
@–B Su - (BCD)
Su
414
R
Mi: canale Il flag CY viene
attivato in presenza CY R (BCD)
minuendo
Su: canale di riporto.
sottraendo
R: canale del
risultato
DOUBLE BCD Esegue una sottrazione tra dati e/o costanti in formato BCD Uscita 436
SUBTRACT - BL(415) a 8 cifre (doppio canale). Richiesta
WITHOUT (BCD)
CARRY Mi Mi +1 Mi
–BL Su
@–BL - Su+1 Su (BCD)
415 R
Il flag CY viene
Mi: primo canale attivato in
minuendo CY R+1 R (BCD)
presenza di
Su: primo canale prestito.
sottraendo
R: primo canale
del risultato
BCD SUBTRACT Esegue una sottrazione tra dati e/o costanti in formato BCD Uscita 440
WITH CARRY -BC(416) a 4 cifre (canale singolo), incluso il flag di riporto (CY). Richiesta
–BC Mi
@–BC Mi (BCD)
416 Su
Su (BCD)
R
Mi: canale - CY
minuendo
Su: canale Il flag CY viene
sottraendo attivato in presenza CY R (BCD)
R: canale del di prestito.
risultato

51
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DOUBLE BCD Uscita 441
SUBTRACT -BCL(417) Esegue una sottrazione tra dati e/o costanti in formato BCD
a 8 cifre (doppio canale), incluso il flag di riporto (CY). Richiesta
WITH CARRY
Mi (BCD)
–BCL Mi +1 Mi
@–BCL Su
417 Su+1 Su (BCD)
R
Mi: primo canale -
minuendo CY
Su: primo canale
sottraendo Il flag CY viene (BCD)
R: primo canale attivato in presenza CY R+1 R
del risultato di prestito.
SIGNED BINARY Uscita 443
MULTIPLY *(420) Moltiplica dati e/o costanti esadecimali a 4 cifre con segno.
Richiesta
* Md Md Binario con segno
@*
420 Mr
× Mr Binario con segno
R
Md: canale
moltiplicando R +1 R Binario con segno
Mr: canale
moltiplicatore
R: canale del
risultato
DOUBLE Moltiplica dati e/o costanti esadecimali a 8 cifre con segno. Uscita 445
SIGNED BINARY *L(421) Richiesta
MULTIPLY
*L
Md Md + 1 Md Binario con segn
@*L Mr
421 x Mr + 1 Binario con segn
R Mr
Md: primo canale
moltiplicando
Mr: primo canale R+3 R+2 R+1 R Binario con segn
moltiplicatore
R: primo canale
del risultato
UNSIGNED Uscita 447
BINARY *U(422) Moltiplica dati e/o costanti esadecimali a 4 cifre senza segno.
Richiesta
MULTIPLY
Md Md Binario senza segno
*U
@*U Mr
422 Binario senza segno
R x Mr
Md: canale
moltiplicando
Mr: canale R +1 R Binario senza segno
moltiplicatore
R: canale del
risultato
DOUBLE UNSI- Uscita 449
GNED BINARY *UL(423) Moltiplica dati e/o costanti esadecimali a 8 cifre senza segno.
Richiesta
MULTIPLY
*UL
Md Md + 1 Md Binario senza segno
@*UL Mr
423 Binario senza segno
R x Mr + 1 Mr
Md: primo canale
moltiplicando
Mr: primo canale R+3 R+2 R+1 R Binario senza segno
moltiplicatore
R: primo canale
del risultato

52
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
BCD MULTIPLY Moltiplica dati e/o costanti in formato BCD a 4 cifre Uscita 450
*B *B(424) Richiesta
(canale singolo). (BCD)
@*B Md
Md
424
Mr (BCD)
x Mr
R
Md: canale (BCD)
moltiplicando R +1 R
Mr: canale
moltiplicatore
R: canale del
risultato
DOUBLE BCD Moltiplica dati e/o costanti in formato BCD a 8 cifre Uscita 452
MULTIPLY *BL(425) Richiesta
(doppio canale).
*BL Md (BCD)
@*BL Md + 1 Md
425 Mr
x Mr + 1 Mr (BCD)
R
Md: primo canale
moltiplicando
Mr: primo canale R+3 R+2 R+1 R (BCD)
moltiplicatore
R: primo canale
del risultato
SIGNED BINARY Esegue una divisione tra dati e/o costanti esadecimali Uscita 454
DIVIDE /(430) a 4 cifre (canale singolo) con segno. Richiesta
/
@/ Dd Dd Binario con segno
430 Dr
÷ Dr Binario con segno
R
Dd: canale
dividendo
Dr: canale R +1 R Binario con segno
divisore
R: canale del Resto Quoziente
risultato
DOUBLE Esegue una divisione tra dati e/o costanti esadecimali a 8 cifre Uscita 456
SIGNED BINARY /L(431) Richiesta
(doppio canale) con segno.
DIVIDE
Dd Binario con segno
/L Dd + 1 Dd
@/L Dr
431
R ÷ Dr + 1 Dr Binario con segno
Dd: primo canale
dividendo
Dr: primo canale
divisore R+3 R+2 R+1 R Binario con segno
R: primo canale
del risultato Resto Quoziente
UNSIGNED Esegue una divisione tra dati e/o costanti esadecimali a 4 cifre Uscita 458
BINARY DIVIDE /U(432) (canale singolo) senza segno. Richiesta
/U
@/U Dd
Dd Binario senza segno
432 Dr
R ÷ Dr Binario senza segno
Dd: canale
dividendo
Dr: canale divisore R +1 R Binario senza segno
R: canale del
risultato
Resto Quoziente

53
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DOUBLE UNSI- Esegue una divisione tra dati e/o costanti esadecimali a 8 cifre Uscita 460
GNED BINARY /UL(433) (doppio canale) senza segno. Richiesta
DIVIDE
/UL Dd Dd + 1 Dd Binario senza segno
@/UL Dr
433
R ÷ Dr + 1 Dr Binario senza segno
Dd: primo canale
dividendo
Dr: primo canale R+3 R+2 R+1 R
divisore Binario senza segno
R: primo canale
del risultato Resto Quoziente

BCD DIVIDE Uscita 462


/B(434) Esegue una divisione tra dati e/o costanti in formato BCD
/B a 4 cifre (canale singolo). Richiesta
@/B
Dd (BCD)
434 Dd
Dr
R ÷ Dr (BCD)
Dd: canale
dividendo
Dr: canale divisore R +1 R (BCD)
R: canale del
risultato Resto Quoziente
DOUBLE BCD Uscita 464
DIVIDE /BL(435) Esegue una divisione tra dati e/o costanti in formato BCD
a 8 cifre (doppio canale). Richiesta
/BL Dd (BCD)
@/BL Dd + 1 Dd
435 Dr
R ÷ Dr + 1 Dr (BCD)
Dd: primo canale
dividendo
Dr: primo canale
divisore R+3 R+2 R+1 R (BCD)
R: primo canale
del risultato Resto Quoziente

2-2-10 Istruzioni di conversione


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
BCD-TO-BINARY Uscita 466
BIN(023) Converte dati in formato BCD in dati binari.
BIN Richiesta
@BIN S (BCD) (Binario)
R
023
R
S: canale di origine
R: canale del
risultato
DOUBLE BCD- Uscita 467
TO-DOUBLE BINL(058) Converte dati in formato BCD a 8 cifre in dati esadecimali a 8 cifre
(binari a 32 bit). Richiesta
BINARY
BINL
S (BCD) R (Binario)
@BINL R (BCD) R+1 (Binario)
058
S: primo canale
di origine
R: primo canale
del risultato

54
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
BINARY-TO-BCD Converte un canale di dati binari in un canale di Uscita 469
BCD BCD(024) dati in formato BCD. Richiesta
@BCD S (Binario) R (BCD)
024
R
S: canale di origine
R: canale del
risultato

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

2'S Uscita 472


COMPLEMENT Calcola il complemento a 2 di un canale di dati esadecimali.
NEG(160) Richiesta
NEG Complemento a 2
@NEG S (complemento + 1)
160 R (S) (R)
S: canale di origine
R: canale del
risultato
DOUBLE 2'S Calcola il complemento a 2 di due canali di dati esadecimali. Uscita 474
COMPLEMENT NEGL(161) Richiesta
NEGL S Complemento a 2
@NEGL (complemento + 1)
161 R (S+1, S) (R+1, R)
S: primo canale
di origine
R: primo canale
del risultato
16-BIT TO 32-BIT Converte un valore binario con segno a 16 bit Uscita 476
SIGNED BINARY SIGN(600)
nell'equivalente a 32 bit. Richiesta
SIGN S MSB
@SIGN
600 R S

S: canale di MSB = 0: 0000


MSB = 1: esadecimale
origine FFFF
R: primo canale esadecimale
del risultato D+1 D
D = contenuto di S

55
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DATA DECODER Legge il valore numerico nella cifra o nel byte specificato e lo copia nel Uscita 477
MLPX MLPX(076) Richiesta
canale di origine, imposta su ON il bit corrispondente e su OFF tutti gli
@MLPX S altri bit nel canale del risultato o nell'intervallo di 16 canali.
076
C
Conversione da 4 a 16 bit
R C
S: canale di
origine l=1 (converte 2 cifre)
C: canale di
controllo
n=2 (inizia con la
R: primo canale
del risultato seconda cifra)
Decodifica da 4 a 16 bit
(il bit m di R viene impostato su ON)

R
R+1

Conversione da 8 a 256 bit


C
l=1
=1 (converte 2 byte)

n=1 (inizia con il primo byte)

Decodifica da 8 a 256 bit


(il bit m da R a R+15 viene impostato su ON)

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DATA ENCODER Determina la posizione del primo o dell'ultimo bit impostato su ON Uscita 482
DMPX DMPX(077) Richiesta
all'interno del canale di origine o dell'intervallo di 16 canali e scrive
@DMPX S tale valore nella cifra o nel byte specificato nel canale del risultato.
077 Conversione da 16 a 4 bit
R C
Trova il bit più a sinistra
C (indirizzo di bit più alto)
S: primo canale
di origine l=1 (converte
R: canale del 2 canali)
risultato
C: canale di
controllo

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)

Conversione da 256 a 8 bit


C
l=0
=0 (converte un intervallo di 16 canali)

Bit più a sinistra

Trova il bit più a sinistra


(indirizzo di bit più alto)

Decodifica da 256 a 8 bit (in R viene


scritta la posizione del bit più a sinistra
all'interno dell'intervallo di 16 canali [m])
n=1 (inizia con il byte 1)

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
ASCII TO HEX Uscita 490
HEX(162) Converte fino a 4 byte di dati ASCII all'interno del canale di origine
HEX negli equivalenti esadecimali e scrive tali cifre nel canale di Richiesta
@HEX destinazione specificato.
S
162 C: 0021
Di
Di
D Primo byte da convertire
S: primo canale
di origine Sinistra (1) Destra (0)
Di: identificativo
della cifra
D: canale di
destinazione
Numero di cifre (n+1)

Prima cifra da scrivere

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
SIGNED BCD- Converte un canale di dati in formato BCD con segno in un canale di Uscita 499
TO-BINARY BINS(470)
dati binari con segno. Richiesta
BINS C
@BINS
470 S Formato BCD con
D segno specificato in C

C: canale di BCD con segno Binario con segno


controllo
S: canale di origine
D: canale di
destinazione
DOUBLE Converte dati in formato BCD con segno in doppia precisione Uscita 502
SIGNED BCD- BISL(472) in dati binari con segno Richiesta
TO-BINARY in doppia precisione.
BISL C
@BISL Formato BCD con
S segno specificato in C
472
D
BCD con segno Binario con segno
C: canale di
controllo BCD con segno Binario con segno
S: primo canale di
origine
D: primo canale di
destinazione
SIGNED Converte un canale di dati binari con segno in un canale di dati in Uscita 505
BINARY-TO-BCD BCDS(471) Richiesta
formato BCD con segno.
BCDS C
@BCDS
471 S Formato BCD con
segno specificato in C
D
Binario con segno BCD con segno
C: canale di
controllo
S: canale di origine
D: canale di
destinazione
DOUBLE Converte dati binari con segno in doppia precisione in dati in Uscita 507
SIGNED BINARY- BDSL(473) Richiesta
TO-BCD formato BCD con segno in doppia precisione.
C
BDSL
@BDSL S Formato BCD con
473
D segno specificato in C
C: canale di Binario con segno BCD con segno
controllo
S: primo canale di Binario con segno BCD con segno
origine
D: primo canale di
destinazione
GRAY CODE Converte i dati in codice Gray nel canale specificato in dati in formato Uscita 511
CONVERSION GRY (474) binario, BCD o sotto forma di angolo (°) alla risoluzione specificata. Richiesta
GRY C
474
(solo CPU della S
serie CS/CJ ver- D
sione 2.0 o suc-
cessiva, comprese C: canale di
le CPU CS1-H,
CJ1-H e CJ1M controllo
con numero di S: canale di origine
lotto 030201 e D: primo canale di
successivo) destinazione

59
Istruzioni Capitolo 2-2

2-2-11 Istruzioni logiche


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
LOGICAL AND Assume un AND logico tra i bit corrispondenti nei canali singoli di Uscita 517
ANDW ANDW(034) Richiesta
dati canale e/o costanti.
@ANDW
I1
034 I1. I2→ R
I2
I1 I2 R
R
1 1 1
I1: ingresso 1
I2: ingresso 2 1 0 0
R: canale del
0 1 0
risultato
0 0 0
DOUBLE Assume un AND logico tra i bit corrispondenti nei canali doppi di Uscita 519
LOGICAL AND ANDL(610) dati canale e/o costanti. Richiesta
ANDL
@ANDL I1
(I1, I1+1). (I2, I2+1)→ (R, R+1)
610 I2
I1, I1+1 I2, I2+1 R, R+1
R
1 1 1
I1: ingresso 1
I2: ingresso 2 1 0 0
R: canale del
risultato 0 1 0
0 0 0
LOGICAL OR Uscita 520
ORW(035) Assume un OR logico tra i bit corrispondenti nei canali singoli di
ORW dati canale e/o costanti. Richiesta
@ORW I1
035 I1 + I2 → R
I2
I1 I2 R
R
1 1 1
I1: ingresso 1
I2: ingresso 2 1 0 1
R: canale del 0 1 1
risultato
0 0 0
DOUBLE Assume un OR logico tra i bit corrispondenti nei canali doppi di dati Uscita 522
LOGICAL OR ORWL(611) Richiesta
canale e/o costanti.
ORWL
@ORWL I1
(I1, I1+1) + (I2, I2+1) →(R, R+1)
611 I2
I1, I1+1 I2, I2+1 R, R+1
R
I1: ingresso 1 1 1 1
I2: ingresso 2 1 0 1
R: canale del
risultato 0 1 1
0 0 0
EXCLUSIVE OR Uscita 524
XORW XORW(036) Assume un OR logico esclusivo tra i bit corrispondenti nei canali Richiesta
@XORW singoli di dati canale e/o costanti.
I1
036 I1. I2 + I1.I2 → R
I2
I1 I2 R
R
I1: ingresso 1 1 1 0
I2: ingresso 2
R: canale del
1 0 1
risultato 0 1 1
0 0 0

60
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DOUBLE Uscita 526
EXCLUSIVE OR XORL(612) Assume un OR logico esclusivo tra i bit corrispondenti nei canali
doppi di dati canale e/o costanti. Richiesta
XORL I1
@XORL (I1, I1+1). (I2, I2+1) + (I1, I1+1). (I2, I2+1) → (R, R+1)
612 I2
R I1, I1+1 I2, I2+1 R, R+1
I1: ingresso 1 1 1 0
I2: ingresso 2 1 0 1
R: canale del
risultato 0 1 1
0 0 0
EXCLUSIVE NOR Assume un NOR logico esclusivo tra i canali singoli corrispondenti Uscita 528
XNRW XNRW(037) Richiesta
di dati canale e/o costanti.
@XNRW
I1
037 I1. I2 + I1.I2 →R
I2
I1 I2 R
R
I1: ingresso 1 1 1 1
I2: ingresso 2 1 0 0
R: canale del
risultato 0 1 0
0 0 1
DOUBLE Assume un NOR logico esclusivo tra i bit corrispondenti nei Uscita 529
EXCLUSIVE NOR XNRL(613) canali doppi di dati canale e/o costanti. Richiesta
XNRL
@XNRL I1
(I1, I1+1). (I2, I2+1) + (I1, I1+1). (I2, I2+1) → (R, R+1)
613 I2
I1, I1+1 I2, I2+1 R, R+1
R
I1: ingresso 1 1 1 1
I2: ingresso 2 1 0 0
R: primo canale
0 1 0
del risultato
0 0 1
COMPLEMENT Wd→Wd: 1 → 0 e 0 → 1 Uscita 531
COM COM(029) Richiesta
@COM
Wd
029
Wd: canale
DOUBLE Imposta su OFF tutti i bit il cui stato è ON e su ON tutti i bit il cui Uscita 533
COMPLEMENT COML(614) stato è OFF nei canali Wd e Wd+1. Richiesta
COML (Wd+1, Wd) → (Wd+1, Wd)
@COML Wd
614
Wd: canale

61
Istruzioni Capitolo 2-2

2-2-12 Istruzioni matematiche speciali


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
BINARY ROOT Calcola la radice quadrata del contenuto binario a 32 bit dei canali Uscita 534
ROTB ROTB(620) specificati e invia la parte intera del risultato al canale del risultato Richiesta
@ROTB specificato.
S
620
R
S: primo canale S+1 S R
di origine
Dati binari (32 bit) Dati binari (16 bit)
R: canale del
risultato
BCD SQUARE Uscita 536
ROOT ROOT(072) Calcola la radice quadrata di un numero in formato BCD a 8 cifre e Richiesta
ROOT invia la parte intera del risultato al canale del risultato specificato.
@ROOT S
072 R
S+1 S R
S: primo canale
di origine Dati in formato BCD (8 cifre) Dati in formato BCD
R: canale del (4 cifre)
risultato

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

2-2-13 Istruzioni matematiche a virgola mobile


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
FLOATING TO Converte un valore a virgola mobile a 32 bit in dati binari a 16 bit con Uscita 563
16-BIT FIX(450) segno e invia il risultato al canale del risultato specificato. Richiesta
FIX
@FIX S
S+1 S Dati a virgola mobile
450 R (32 bit)
S: primo canale
di origine
R: canale del R Dati binari con
risultato segno (16 bit)

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
FLOATING- Uscita 574
POINT MULTIPLY *F(456) Moltiplica due numeri a virgola mobile a 32 bit e invia il risultato ai
Richiesta
canali del risultato specificati.
*F Md
@*F Md+1 Moltiplicando (dati a
Md
456 Mr virgola mobile a 32 bit)
R × Mr+1 Mr
Moltiplicatore (dati a
virgola mobile a 32 bit)
Md: primo canale
moltiplicando
Mr: primo canale Risultato (dati a
moltiplicatore R+1 R virgola mobile a 32 bit)
R: primo canale
del risultato
FLOATING Esegue la divisione tra due numeri a virgola mobile a 32 bit e invia Uscita 576
POINT DIVIDE /F(457) il risultato ai canali del risultato specificati. Richiesta
/F Dd
@/F Dd+1 Dd Dividendo (dati a
457 Dr virgola mobile a 32 bit)
R
÷ Dr+1 Dr
Divisore (dati a virgola
mobile a 32 bit)
Dd: primo canale
dividendo
Dr: primo canale
divisore Risultato (dati a
R+1 R
R: primo canale virgola mobile a 32 bit)
del risultato
DEGREES TO Converte un numero a virgola mobile a 32 bit da gradi a radianti e Uscita 578
RADIANS RAD(458) Richiesta
invia il risultato ai canali del risultato specificati.
RAD
@RAD S
Origine (gradi, dati a
S+1 S
458 R virgola mobile a 32 bit)
S: primo canale
di origine Risultato (radianti, dati a
R: primo canale R+1 R virgola mobile a 32 bit)
del risultato
RADIANS TO Uscita 579
DEGREES DEG(459) Converte un numero a virgola mobile a 32 bit da radianti a gradi e
invia il risultato ai canali del risultato specificati. Richiesta
DEG
@DEG S
Origine (radianti, dati a
459 R S+1 S
virgola mobile a 32 bit)
S: primo canale
di origine
R: primo canale Risultato (gradi, dati a
R+1 R
del risultato virgola mobile a 32 bit)

SINE Uscita 581


SIN SIN(460) Calcola il seno di un numero a virgola mobile a 32 bit in radianti e Richiesta
@SIN invia il risultato ai canali del risultato specificati.
S
460 Origine (dati
R SIN S+1 S a virgola
S: primo canale mobile a 32 bit)
di origine
R: primo canale Risultato (dati
del risultato R+1 R a virgola
mobile a 32 bit)

COSINE Uscita 583


COS(461) Calcola il coseno di un numero a virgola mobile a 32 bit in radianti e
COS invia il risultato ai canali del risultato specificati. Richiesta
@COS S Origine (dati a
461 COS S+1 S
R virgola mobile
a 32 bit)
S: primo canale
di origine Risultato (dati
R: primo canale R+1 R a virgola
del risultato mobile a 32 bit)

64
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
TANGENT Uscita 585
TAN TAN(462) Calcola la tangente di un numero a virgola mobile a 32 bit in radianti Richiesta
@TAN e invia il risultato ai canali del risultato specificati.
S
462 Origine (dati a
R TAN S+1 S virgola mobile
S: primo canale a 32 bit)
di origine
R: primo canale Risultato (dati
del risultato R+1 R a virgola
mobile a 32 bit)
ARC SINE Uscita 587
ASIN ASIN(463) Calcola l'arcoseno di un numero a virgola mobile a 32 bit e invia il Richiesta
@ASIN risultato ai canali del risultato specificati. La funzione di arcoseno è
S l'inverso della funzione di seno e restituisce l'angolo che produce un
463
R dato valore di seno compreso tra −1 e 1.
S: primo canale Origine (dati a
di origine SIN−1 S+1 S virgola mobile a
R: primo canale 32 bit)
del risultato
Risultato (dati a
R+1 R virgola mobile a
32 bit)

ARC COSINE Uscita 589


ACOS ACOS(464) Calcola l'arcocoseno di un numero a virgola mobile a 32 bit e invia il Richiesta
@ACOS risultato ai canali del risultato specificati. La funzione di arcocoseno è
S l'inverso della funzione di coseno e restituisce l'angolo che produce un
464
R dato valore di coseno compreso tra −1 e 1.
S: primo canale Origine (dati a
di origine COS−1 S+1 S virgola mobile
R: primo canale a 32 bit)
del risultato
Risultato (dati
R+1 R a virgola
mobile a 32 bit)

ARC TANGENT Uscita 591


ATAN ATAN(465) Calcola l'arcotangente di un numero a virgola mobile a 32 bit e invia il Richiesta
@ATAN risultato ai canali del risultato specificati. La funzione di arcotangente
S è l'inverso della funzione di tangente e restituisce l'angolo che
465
R produce un dato valore di tangente.
S: primo canale Origine (dati a
di origine TAN−1 S+1 S virgola mobile
R: primo canale a 32 bit)
del risultato
Risultato (dati
R+1 R a virgola
mobile a 32 bit)

SQUARE ROOT Uscita 593


SQRT(466) Calcola la radice quadrata di un numero a virgola mobile a 32 bit
SQRT e invia il risultato ai canali del risultato specificati. Richiesta
@SQRT S
466 Origine (dati a
R S+1 S
virgola mobile
S: primo canale a 32 bit)
di origine
R: primo canale Risultato (dati
R+1 R a virgola
del risultato
mobile a 32 bit)

65
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
EXPONENT Uscita 595
Calcola il valore esponenziale naturale (in base e) di un numero
EXP EXP(467) Richiesta
a virgola mobile a 32 bit e invia il risultato ai canali del risultato
@EXP specificati.
S
467 Origine (dati a
R S+1 S virgola mobile
a 32 bit)
S: primo canale
di origine
e
R: primo canale
Risultato (dati
del risultato R+1 R a virgola
mobile a 32 bit)

LOGARITHM Uscita 597


LOG LOG(468) Calcola il logaritmo naturale (in base e) di un numero a virgola Richiesta
@LOG mobile a 32 bit e invia il risultato ai canali del risultato specificati.
S
468
R Origine (dati a
loge S+1 S virgola mobile
S: primo canale a 32 bit)
di origine
R: primo canale Risultato (dati
del risultato R+1 R a virgola
mobile a 32 bit)

EXPONENTIAL Uscita 599


POWER PWR(840) Eleva un numero a virgola mobile a 32 bit alla potenza di un altro
numero a virgola mobile a 32 bit. Richiesta
PWR
@PWR B Potenza
840 E E+1 E
R B+1 S R+1 R
B: primo canale
base Base
E: primo canale
esponente
R: primo canale
del risultato
FLOATING SYM- Uso di LD: Confronta i dati in singola precisione (32 bit) oppure le constanti speci- LD: 600
BOL COMPARI- Simbolo,
ficate e crea una condizione di esecuzione ON se il risultato del con- non richiesta
SON (solo CS1- opzione fronto è vero.
H, CJ1-H, CJ1M o S1 Con le istruzioni di confronto con simboli a virgola mobile è possibile AND o OR:
CS1D) S2 utilizzare tre tipi di simboli: LD (LOAD), AND e OR. richiesta
LD, AND o OR
+ Uso di AND:
=F (329), Simbolo,
<>F (330), opzione

<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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
FLOATING- Converte i dati a virgola mobile in singola precisione specificati (for- Uscita richie- 604
POINT TO ASCII FSTR(448) mato decimale o esponenziale a 32 bit) in stringhe di testo (ASCII) e sta
(solo CS1-H, invia il risultato al canale di destinazione.
CJ1-H, CJ1M o S
CS1D)
FSTR C
@FSTR D
448
S: primo canale
di origine
C: canale di
controllo
D: canale di
destinazione
ASCII TO FLOA- Converte la rappresentazione in stringhe di testo specificata (ASCII) Uscita richie- 609
TING-POINT FVAL(449) dei dati a virgola mobile in singola precisione (formato decimale o sta
(solo CS1-H, esponenziale) in dati a virgola mobile in singola precisione a 32 bit e
CJ1-H, CJ1M o S invia il risultato ai canali di destinazione.
CS1D)
FVAL D
@FVAL
S: canale di
449 origine
D: primo canale
di destinazione

2-2-14 Istruzioni a virgola mobile in doppia precisione


Le istruzioni a virgola mobile in doppia precisione sono supportate solo dalle
CPU CS1-H, CJ1-H, CJ1M o CS1D.
Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
DOUBLE FLOA- Converte i dati a virgola mobile in doppia precisione specificati (64 bit) Uscita 620
TING TO 16-BIT FIXD(841) in dati binari a 16 bit con segno e invia il risultato al canale di destina- Richiesta
BINARY zione.
FIXD S
@FIXD
D
841
S: primo canale
di origine
D: canale di
destinazione
DOUBLE FLOA- Converte i dati a virgola mobile in doppia precisione specificati (64 bit) Uscita 621
TING TO 32-BIT FIXLD(842) in dati binari a 32 bit con segno e invia il risultato ai canali di destina- Richiesta
BINARY zione.
FIXLD S
@FIXLD
D
842
S: primo canale
di origine
D: primo canale di
destinazione
16-BIT BINARY Converte i dati binari a 16 bit con segno specificati in dati a virgola Uscita 623
TO DOUBLE DBL(843) mobile in doppia precisione (64 bit) e invia il risultato ai canali di desti- Richiesta
FLOATING nazione.
DBL S
@DBL D
843
S: canale di origine
D: primo canale di
destinazione

67
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
32-BIT BINARY Converte i dati binari a 32 bit con segno specificati in dati a virgola Uscita 624
TO DOUBLE DBLL(844) mobile in doppia precisione (64 bit) e invia il risultato ai canali di desti- Richiesta
FLOATING nazione.
DBLL S
@DBLL
D
844
S: primo canale
di origine
D: primo canale di
destinazione
DOUBLE FLOA- Aggiunge i valori a virgola mobile in doppia precisione specificati Uscita 626
TING-POINT ADD +D(845) (64 bit ciascuno) e invia il risultato ai canali dei risultati. Richiesta
+D
@+D Au
845 Ad
R
Au: primo canale
augendo
Ad: primo canale
addendo
R: primo canale
del risultato
DOUBLE FLOA- Sottrae i valori a virgola mobile in doppia precisione specificati Uscita 628
TING-POINT −D(846) (64 bit ciascuno) e invia il risultato ai canali dei risultati. Richiesta
SUBTRACT
−D Mi
@−D
Su
846
R
Mi: primo canale
minuendo
Su: primo canale
sottraendo
R: primo canale
del risultato
DOUBLE FLOA- Moltiplica i valori a virgola mobile in doppia precisione specificati Uscita 630
TING-POINT *D(847) (64 bit ciascuno) e invia il risultato ai canali dei risultati. Richiesta
MULTIPLY
*D Md
@*D Mr
847
R
Md: primo canale
moltiplicando
Mr: primo canale
moltiplicatore
R: primo canale
del risultato
DOUBLE FLOA- Divide i valori a virgola mobile in doppia precisione specificati Uscita 632
TING-POINT /D(848) (64 bit ciascuno) e invia il risultato ai canali dei risultati. Richiesta
DIVIDE
/D Dd
@/D Dr
848
R
Dd: primo canale
dividendo
Dr: primo canale
divisore
R: primo canale
del risultato

68
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DOUBLE Converte i dati a virgola mobile in doppia precisione specificati (64 bit) Uscita 634
DEGREES TO RADD(849) da gradi in radianti e invia il risultato ai canali dei risultati. Richiesta
RADIANS
S
RADD
@RADD R
849 S: primo canale
di origine
R: primo canale
del risultato
DOUBLE Converte i dati a virgola mobile in doppia precisione specificati (64 bit) Uscita 636
RADIANS TO DEGD(850) da radianti in gradi e invia il risultato ai canali dei risultati. Richiesta
DEGREES
S
DEGD
@DEGD R
850 S: primo canale
di origine
R: primo canale
del risultato
DOUBLE SINE Calcola il seno dell'angolo (in radianti) dei dati a virgola mobile in dop- Uscita 637
SIND SIND(851) pia precisione specificati (64 bit) e invia il risultato ai canali dei risultati. Richiesta
@SIND S
851
R
S: primo canale
di origine
R: primo canale
del risultato
DOUBLE Calcola il coseno dell'angolo (in radianti) dei dati a virgola mobile in Uscita 639
COSINE COSD(852) doppia precisione specificati (64 bit) e invia il risultato ai canali dei Richiesta
COSD risultati.
@COSD S
852 R
S: primo canale
di origine
R: primo canale
del risultato
DOUBLE TAN- Calcola la tangente dell'angolo (in radianti) dei dati a virgola mobile in Uscita 641
GENT TAND(853) doppia precisione specificati (64 bit) e invia il risultato ai canali dei Richiesta
TAND risultati.
@TAND
S
853 R
S: primo canale
di origine
R: primo canale
del risultato
DOUBLE ARC Calcola l'angolo (in radianti) derivandolo dal valore di seno dei dati a Uscita 643
SINE ASIND(854) virgola mobile in doppia precisione specificati (64 bit) e invia il risultato Richiesta
ASIND ai canali dei risultati. La funzione di arcoseno è l'inverso della funzione
@ASIND S di seno e restituisce l'angolo che produce un dato valore di seno com-
preso tra -1 e 1.
854 R
S: primo canale
di origine
R: primo canale
del risultato
DOUBLE ARC Calcola l'angolo (in radianti) derivandolo dal valore di coseno dei dati a Uscita 645
COSINE ACOSD(855) virgola mobile in doppia precisione specificati (64 bit) e invia il risultato Richiesta
ACOSD ai canali dei risultati. La funzione di arcocoseno è l'inverso della fun-
@ACOSD S zione di coseno e restituisce l'angolo che produce un dato valore di
coseno compreso tra -1 e 1.
855 R
S: primo canale
di origine
R: primo canale
del risultato

69
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DOUBLE ARC Calcola l'angolo (in radianti) derivandolo dal valore di tangente dei dati Uscita 647
TANGENT ATAND(856) a virgola mobile in doppia precisione specificati (64 bit) e invia il risul- Richiesta
ATAND tato ai canali dei risultati. La funzione di arcotangente è l'inverso della
@ATAND S funzione di tangente e restituisce l'angolo che produce un dato valore
856 di tangente.
R
S: primo canale
di origine
R: primo canale
del risultato
DOUBLE Calcola la radice quadrata dei dati a virgola mobile in doppia preci- Uscita 649
SQUARE ROOT SQRTD(857) sione specificati (64 bit) e invia il risultato ai canali dei risultati. Richiesta
SQRTD
@SQRTD S
857 R
S: primo canale
di origine
R: primo canale
del risultato
DOUBLE EXPO- Calcola il valore esponenziale naturale (in base e) dei dati a virgola Uscita 651
NENT EXPD(858) mobile in doppia precisione specificati (64 bit) e invia il risultato ai Richiesta
EXPD canali dei risultati.
@EXPD S
858 R
S: primo canale
di origine
R: primo canale
del risultato

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

2-2-15 Istruzioni di elaborazione dei dati delle tabelle


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
SET STACK Definisce uno stack della lunghezza specificata che inizia dal canale Uscita 666
SSET SSET(630) Richiesta
specificato e inizializza i canali in tale area dati impostandoli su zero.
@SSET TB
630 Indirizzo di memoria
N I/O interna
TB: primo TB
m+(N−1)
indirizzo dello TB+1 N canali
stack TB+2 nello
N: numero di Ultimo TB+3
canali canale
nello
stack Puntatore
stack
m+(N−1)

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

FIFO (First-in first-out)

71
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DIMENSION Definisce una tabella di record dichiarando la lunghezza di ciascun Uscita 678
RECORD DIM(631) Richiesta
TABLE record e il numero di record. È possibile definire un numero massimo
DIM
N di 16 tabelle di record.
Numero tabella (N)
@DIM LR
631
NR Record 1
TB
N: numero tabella
LR: lunghezza di Numero di record LR × NR canali
ciascun record
NR: numero di
record
TB: primo canale Record NR
tabella
SET RECORD Uscita 681
LOCATION SETR(635) Scrive la posizione del record specificato (l'indirizzo di memoria I/O
interna relativo all'inizio del record) nel registro indice specificato. Richiesta
SETR N
@SETR Indirizzo di memoria
635 R Numero tabella (N) I/O interna
D SETR(635) scrive l'indirizzo di memoria
I/O interna (m) del primo canale del
N: numero tabella R record R nel registro indice D.
R: numero di
record Numero
D: registro indice record (R)
di destinazione

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
SWAP BYTES Scambia i byte più a sinistra e più a destra in tutti i canali Uscita 687
SWAP SWAP(637) Richiesta
dell'intervallo.
@SWAP N La posizione del byte viene scambiata.
637
R1
N: numero di R1
canali
R1: primo canale N
nell'intervallo

FIND MAXIMUM Trova il valore massimo nell'intervallo. Uscita 689


MAX MAX(182) Richiesta
@MAX Indirizzo di memoria
C I/O interna
182
R1 R1

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

FRAME CHECK- Uscita 700


SUM FCS(180) Calcola il valore FCS (checksum dei frame) ASCII per
l'intervallo specificato. Richiesta
FCS
@FCS C R1
180 R1 C unità
D
C: primo canale Conversione ASCII
di controllo Calcolo
R1: primo canale Valore FCS
nell'intervallo
D: primo canale
di destinazione

73
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
STACK SIZE Conta la quantità di dati di stack (numero di canali) nello stack specifi- Uscita richie- 704
READ (solo SNUM(638) cato. sta
CS1-H, CJ1-H,
CJ1M o CS1D) TB
SNUM D
@SNUM
638 TB: primo indirizzo
dello stack
D: canale di
destinazione
STACK DATA Legge i dati dall'elemento specificato dello stack. Il valore di offset Uscita richie- 707
READ (solo SREAD(639) (numero di elementi prima della posizione corrente del puntatore) indica sta
CS1-H, CJ1-H, la posizione dell'elemento desiderato.
CJ1M o CS1D) TB
SREAD C
@SREAD
639 D
TB: primo indirizzo
dello stack
C: valore di offset
D: canale di
destinazione

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

TB: primo indirizzo


dello stack
C: valore di offset
S: dati di origine
STACK DATA Elimina l'elemento di dati che si trova nella posizione specificata nello Uscita richie- 716
DELETE (solo SDEL(642) stack e fa scorrere verso l'alto i dati rimanenti dello stack. Il valore di off- sta
CS1-H, CJ1-H, set (numero di elementi prima della posizione corrente del puntatore)
CJ1M o CS1D) TB indica la posizione del punto di eliminazione.
SDEL C
@SDEL
642 D

TB: primo indirizzo


dello stack
C: valore di offset
D: canale di
destinazione

74
Istruzioni Capitolo 2-2

2-2-16 Istruzioni di controllo dei dati


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
PID CONTROL Uscita 720
PID(190) Esegue un controllo PID in base ai parametri specificati.
PID Richiesta
190 Parametri (da C a C+8)
S
C
Ingresso valore
D Controllo PID
attuale (S)
S: canale di
ingresso
C: primo canale
parametro Variabile manipolata (D)
D: canale di
uscita
PID CONTROL Esegue un controllo PID in base ai parametri specificati. PIDAT(191) Uscita richie- 731
WITH PIDAT(191) consente di regolare automaticamente le costanti PID. sta
AUTOTUNING
PIDAT
S
191 C
(solo CS1-H, D
CJ1-H o CJ1M)
S: canale di
ingresso
C: primo canale
parametro
D: canale di uscita
LIMIT CONTROL Uscita 741
LMT(680) Controlla i dati di uscita in base all'appartenenza dei dati di ingresso
LMT Richiesta
@LMT all'intervallo delimitato dai limiti superiore e inferiore.
S
680
C
D
Limite superiore
S: canale di
ingresso C+1
C: primo canale
limite
D: canale di
uscita

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DEAD ZONE Aggiunge la polarizzazione specificata ai dati di ingresso Uscita 746
CONTROL ZONE(682) Richiesta
e restituisce il risultato. Uscita
ZONE S
@ZONE
682 C
Polarizzazione positiva (C+1)
D
S: canale di
Ingresso
ingresso
C: primo canale
limite Polarizzazione
D: canale di uscita negativa (C)

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

SCALING Uscita 757


SCL(194) Converte dati binari senza segno in dati in formato BCD senza segno
SCL in base alla funzione lineare specificata. Richiesta
@SCL
S
194 R (BCD senza segno) La funzione di scala viene
P1 eseguita in base alla funzione
lineare definita dai punti A e B.
R
Punto B P (BCD)
S: canale di origine Valore
P1: primo canale P1 + 1 (Binario) convertito
parametro Punto A
P1 + 2 (BCD)
R: canale del Valore
risultato P1 + 3 (Binario) convertito
S (binario senza segno)

76
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
SCALING 2 Converte dati binari con segno in dati in formato BCD con segno in Uscita 762
SCL2 SCL2(486) base alla funzione lineare specificata. È possibile specificare un Richiesta
@SCL2 offset nella definizione della funzione lineare.
S
486
P1 Offset positivo Offset negativo
R R (BCD con segno) R (BCD con segno)

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
SCALING 3 Uscita 766
SCL3(487) Converte dati in formato BCD con segno in dati binari con segno in
SCL3 base alla funzione lineare specificata. È possibile specificare un Richiesta
@SCL3 offset nella definizione della funzione lineare.
S
487
Offset positivo Offset negativo
P1
R R (binario con segno) R (binario con segno)
S: canale di origine Max. conversione
P1: primo canale Max.
parametro
R: canale del conversione
risultato
∆Y ∆Y

∆X ∆X
Offset Offset S (BCD con segno)
Min.
conversione S (BCD con segno)
Min. conversione

Offset di 0000

R (binario con segno)

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

2-2-17 Istruzioni di subroutine


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
SUBROUTINE Richiama la subroutine con il numero di subroutine specificato ed Uscita 773
CALL SBS(091) esegue il programma. Richiesta
SBS N
@SBS Condizione di esecuzione ON
091 N: numero
subroutine

Programma principale

Programma di
subroutine
(tra SBN(092)
e RET(093))

Fine programma

MACRO Chiama la subroutine con il numero specificato ed esegue il Uscita 779


MCRO MCRO(099) Richiesta
programma utilizzando i parametri di ingresso specificati da S a S+3
@MCRO e i parametri di uscita specificati da D a D+3.
N
099
S MCRO(099)

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

La subroutine utilizza i canali da


A600 ad A603 come ingressi e
da A604 ad A607 come uscite.

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

SUBROUTINE Indica la fine del programma di subroutine. Uscita 786


RETURN RET(093) Non richiesta
RET
093

79
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
GLOBAL Richiama la subroutine con il numero di subroutine specificato ed ese- Uscita 786
SUBROUTINE GSBS(750) gue il programma. Non richiesta
CALL
(solo CS1-H, N
CJ1-H, CJ1M
o CS1D) N: numero
GSBS subroutine
750
GLOBAL Indica l'inizio del programma di subroutine con il numero di subroutine Uscita 794
SUBROUTINE GSBN(751) specificato. Non richiesta
ENTRY (solo
CS1-H, CJ1-H, N
CJ1M o CS1D)
GSBN N: numero
subroutine
751
GLOBAL Indica la fine del programma di subroutine. Uscita 797
SUBROUTINE GRET(752) Non richiesta
RETURN (solo
CS1-H, CJ1-H,
CJ1M o CS1D)
GRET
752

2-2-18 Istruzioni di controllo degli interrupt


Istruzione Simbolo/ope- Funzione Posizione Pa-
Codice rando Condizione di gina
mnemonico esecuzione
SET INTERRUPT Imposta l'elaborazione interrupt degli interrupt I/O o programmati. Alla Uscita 798
MASK MSKS(690) Richiesta
prima accensione del PLC, sia i task ad interrupt di I/O che
(non supportata programmati sono mascherati (disabilitati). Per smascherare e
dalle CPU CS1D N
per sistemi a due mascherare gli interrupt di I/O e per impostare gli intervalli di tempo
CPU). S per gli interrupt programmati, è possibile usare l'istruzione MSKS(690).
MSKS N: identificatore Modulo di ingresso ad interrupt da 0 a 3
@MSKS
di interrupt
690 Inter-
S: dati di interrupt rupt di
I/O
Ingressi di interrupt da
0 a 7 mascherati (1) o
smascherati (0).

Interrupt Intervallo di tempo


program-
mato Imposta l'intervallo di
tempo dell'interrupt
programmato.

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

Istruzione Simbolo/ope- Funzione Posizione Pa-


Codice rando Condizione di gina
mnemonico esecuzione
CLEAR Uscita 810
INTERRUPT CLI(691) Cancella o mantiene gli ingressi di interrupt registrati
per gli interrupt di I/O o imposta il tempo del primo interrupt Richiesta
(non supportata
dalle CPU CS1D N per gli interrupt programmati.
per sistemi a due
CPU). S N = da 0 a 3
CLI N: identificatore N.
@CLI di interrupt N. interrupt interrupt
di ingresso di
691 S: dati di interrupt
ingresso
Stato Stato
interno interno
Interrupt registrato Interrupt registrato
cancellato mantenuto
N = da 4 a 5
MSKS(690)
Esecuzione di un task ad
interrupt programmato

Tempo del primo


interrupt
programmato

DISABLE INTER- Uscita 814


RUPTS DI(693) Disabilita l'esecuzione dei task ad interrupt eccetto quello di
Richiesta
DI spegnimento.
@DI
693

Disabilita l'esecuzione dei


task ad interrupt (eccetto
quello di spegnimento).

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

Disabilita l'esecuzione dei


task ad interrupt (eccetto
quello di spegnimento).

Abilita l'esecuzione di
tutti i task ad interrupt
disabilitati.

81
Istruzioni Capitolo 2-2

2-2-19 Istruzioni per contatore veloce e uscita a impulsi


(solo CJ1M-CPU21/22/23)
Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
MODE CONTROL L'istruzione INI(880) viene utilizzata per avviare e interrompere Uscita 823
INI
INI il confronto dei valori di riferimento, modificare il valore attuale Richiesta
@INI P di un contatore veloce, modificare il valore attuale di un inter-
880
C
rupt di ingresso (modalità contatore), modificare il valore
attuale di un'uscita a impulsi o arrestare l'uscita.
NV

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
SET PULSES L'istruzione PULS(886) viene utilizzata per impostare il numero di Uscita 846
PULS impulsi per l'uscita a impulsi.
PULS Richiesta
@PULS P
886
T
N

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

2-2-20 Istruzioni di step


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
STEP DEFINE STEP(008) opera nei due modi indicati di seguito, a seconda della Uscita 868
STEP STEP(008) posizione e della presenza o meno di un bit di controllo specificato. Richiesta
008 (1) Avvia uno step specifico.
B
(2) Termina l'area della programmazione step (ovvero l'esecuzione
B: bit step).

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

2-2-21 Istruzioni per moduli di I/O di base


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
I/O REFRESH Aggiorna i canali di I/O specificati. Uscita 885
IORF IORF(097) Richiesta
Modulo di I/O o
@IORF Area dei bit del modulo di I/O o
St modulo di I/O
097 del modulo di I/O speciale speciale
E
St: canale iniziale
St
E: canale finale Refresh I/O

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DIGITAL SWITCH Legge il valore impostato su un selettore digitale esterno (o selettore Uscita 890
INPUT DSW(210) rotativo) collegato a un modulo di ingresso o di uscita e memorizza i dati Richiesta
DSW I in formato BCD a 4 o 8 cifre nei canali specificati.
210
(solo CPU della O
serie CS/CJ ver- D
sione 2.0 o suc-
cessiva). C1
C2
I: canale di ingresso
dati (da D0 a D3)
O: canale di uscita
D: primo canale
del risultato
C1: numero di
cifre
C2: canale di
sistema
TEN KEY INPUT Legge i dati numerici da un tastierino a dieci tasti collegato a un modulo Uscita 896
TKY TKY(211) di ingresso e memorizza fino a 8 cifre di dati in formato BCD nei canali Richiesta
211 I specificati.
(solo CPU della
serie CS/CJ ver- D1
sione 2.0 o suc-
cessiva). D2

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
7-SEGMENT Converte i dati di origine (a 4 o 8 cifre in formato BCD) nel formato per il Uscita 908
DISPLAY 7SEG(214) display a 7 segmenti, quindi emette tali dati sul canale di uscita specifi- Richiesta
OUTPUT
S cato.
7SEG
214 O
(solo CPU della
serie CS/CJ ver- C
sione 2.0 o suc- D
cessiva).
S: primo canale di
origine
O: canale di uscita
C: dati di controllo
D: canale di
sistema
INTELLIGENT I/O Legge il contenuto dell'area di memoria del modulo di I/O Uscita 913
READ IORD(222) Richiesta
speciale o dell'unità bus CPU (vedere nota).
IORD
@IORD C S
222 S S+1
D Numero modulo del modulo
C: dati di controllo di I/O speciale
S: origine
trasferimento e
numero di canali Lettura
D: destinazione del
numero di
trasferimento e canali
numero di canali specificat

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

2-2-22 Istruzioni per la comunicazione seriale


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
PROTOCOL Richiama ed esegue una sequenza di comunicazione registrata in Uscita 928
MACRO PMCR(260) un modulo di comunicazione seriale o in una scheda di Richiesta
PMCR comunicazione seriale (solo serie CS).
@PMCR C1 CPU Modulo di comunicazione seriale
260 C2 Porta
S
S
R ...
C1: canale di
controllo 1
C2: canale di
controllo 2
S: primo canale
inviato R
Dispositivo
R: primo canale ... esterno
ricevuto

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
RECEIVE VIA Legge il numero di byte di dati specificato dalla porta seriale di un Uscita 960
SERIAL COMMU- RXDU(255) modulo di comunicazione seriale (versione del modulo 1.2 o succes- Richiesta
NICATIONS UNIT siva). I dati vengono letti in modalità senza protocollo con gli eventuali
RXDU D codici di inizio e di fine specificati nell'area di configurazione DM allo-
@RXDU cata.
C
255
N
D: primo canale di
destinazione
C: primo canale di
controllo
N: numero di byte
da 0000 a 0256
BCD

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

2-2-23 Istruzioni di rete


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
NETWORK SEND Trasmette i dati a un nodo nella rete. Uscita 991
SEND SEND(090) Richiesta
@SEND Nodo locale Nodo destinazione
S
090 15 0 15 0
D
S D
C n:
numero n
S: primo canale di
di origine canali
D: primo canale inviati
di destinazione
C: primo canale
di controllo
NETWORK Uscita 997
RECEIVE RECV(098) Richiede la trasmissione di dati da un nodo nella rete e riceve
tali dati. Richiesta
RECV S
@RECV
D Nodo locale Nodo di origine
098
15 0 15 0
C
D S
S: primo canale m n
di origine
D: primo canale
di destinazione
C: primo canale
di controllo

88
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DELIVER Invia comandi FINS e riceve la risposta. Uscita 1003
COMMAND CMND(490) Richiesta
CMND
@CMND S Nodo locale Nodo destinazione
490 D 15 0
S
C Dati del Comando
S: primo canale comando Inter-
di comando (S−1) (n byte) pretazione
D: primo canale + n
di risposta 2
C: primo canale
di controllo

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
EXPLICIT WORD Legge dati sulla CPU locale da una CPU remota collegata in rete (la Uscita 1034
READ ECHRD(723) CPU remota deve supportare i messaggi espliciti). Richiesta
ECHRD
S
723
(solo CPU della D
serie CS/CJ ver-
sione 2.0 o suc- C
cessiva). S: primo canale
di origine nella
CPU remota
D: primo canale di
destinazione
nella CPU locale
C: primo canale
di controllo

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

2-2-24 Istruzioni per la memoria dei file


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
READ DATA FILE Legge la quantità di dati o i dati specificati dal file di dati indicato nella Uscita 1045
FREAD FREAD(700) memoria dei file nell'area dati specificata della CPU. Richiesta
@FREAD
C
700 Indirizzo di inizio
S1 lettura specificato File specificato
S2 in S1+2 e S1+3 in S2 CPU

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

Scheda di memoria o memoria dei file nell'area


EM (specificata nella quarta cifra di C).
WRITE DATA Uscita 1052
FILE FWRIT(701) Sovrascrive o aggiunge i dati specificati ai dati contenuti nel file di
dati indicato nella memoria dei file dall'area dati della CPU. Se il file Richiesta
FWRIT indicato non esiste, viene creato un nuovo file con tale nome.
@FWRIT C
701 D1 CPU Canale di File specificato in D2
inizio
D2 Indirizzo specificato in
di inizio D1+2 e D1+3
S specifi-
Numero di canali
cato specificato in D1
C: canale di in S e D1+1
controllo
D1: primo canale
Sovrascrittura
di destinazione
D2: nome file Scheda di memoria o memoria
S: primo canale di dei file nell'area EM (specificata
origine
nella quarta cifra di C).
CPU
File specificato in D2
Indirizzo Fine del
file Dati
di inizio esistenti
specifi-
Numero di canali
cato specificato in D1
in S e D1+1

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

Scheda di memoria o memoria dei file nell'area


EM (specificata nella quarta cifra di C).

91
Istruzioni Capitolo 2-2

2-2-25 Istruzioni di visualizzazione


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
DISPLAY Legge i sedici canali di codice ASCII esteso specificati e visualizza il Uscita 1058
MESSAGE MSG(046) messaggio su un dispositivo periferico quale una console di program- Richiesta
MSG mazione.
N
@MSG
046 M
N: numero del
messaggio
M: primo canale
messaggio

2-2-26 Istruzioni per l'orologio


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
CALENDAR ADD Aggiunge tempo ai dati del calendario nei canali specificati. Uscita 1061
CADD(730)
CADD Richiesta
@CADD C
730 C Minuti Secondi
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 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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
HOURS TO Converte i dati temporali in formato ore/minuti/secondi in un tempo Uscita 1068
SECONDS SEC(065) equivalente espresso solo in secondi. Richiesta
SEC S
@SEC
065 D
Minuti Secondi
S: primo canale Ore
di origine
D: primo canale
di destinazione

Secondi

SECONDS TO Converte i dati temporali espressi in secondi Uscita 1070


HOURS HMS(066) Richiesta
in un tempo equivalente in formato
HMS S ore/minuti/secondi.
@HMS
066 D
Secondi
S: primo canale di
origine
D: primo canale di
destinazione

Minuti Secondi
Ore

CLOCK Modifica l'impostazione dell'orologio interno in base all'impostazione Uscita 1073


ADJUSTMENT DATE(735) dei canali di origine specificati. Richiesta
DATE S
@DATE CPU
735 S: primo canale
di origine
Orologio interno

Nuova Minuti Secondi


imposta-
zione Giorno Ora
Anno Mese
00 Giorno d. sett.

2-2-27 Istruzioni di debug


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
TRACE Quando viene eseguita l'istruzione TRSM(045), lo stato del bit o del Uscita 1075
MEMORY TRSM(045) canale preselezionato viene campionato e memorizzato nella memoria Non richiesta
SAMPLING di registrazione. È possibile utilizzare TRSM(045) in qualsiasi punto del
TRSM programma e un numero di volte illimitato.
045

93
Istruzioni Capitolo 2-2

2-2-28 Istruzioni di diagnostica per malfunzionamento


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
FAILURE ALARM Genera o cancella errori non fatali definiti dall'utente. Gli errori non fatali non causano Uscita 1079
FAL FAL(006) l'arresto del PLC. Richiesta
@FAL Inoltre genera errori non fatali nel sistema.
N Flag di errore FAL attivato
006 L'esecuzione Flag dei numeri di FAL eseguiti
S di FAL(006) corrispondente attivato
genera un Codice di errore scritto in A400
N: numero FAL errore non Codice di errore e ora scritti nell'area
S: primo canale fatale con del log degli errori
del messaggio o numero di
codice di errore FAL N. L'indicatore ERR lampeggia
da generare
Messaggio
visualizzato sulla
console di
programmazione

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

Blocco dell'analisi diagnostica della logica*

Condizione di esecuzione
dell'analisi diagnostica
della logica C

Uscita diagnostica B

Funzione di analisi diagnostica della logica


Determina quale ingresso in C impedisce
l'attivazione dell'uscita B.

94
Istruzioni Capitolo 2-2

2-2-29 Altre istruzioni


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
SET CARRY Imposta il flag di riporto (CY). Uscita 1104
STC STC(040) Richiesta
@STC
040
CLEAR CARRY Disattiva il flag di riporto (CY). Uscita 1105
CLC CLC(041) Richiesta
@CLC
041
SELECT EM Modifica il banco EM corrente. Uscita 1106
BANK EMBC(281) Richiesta
EMBC
@EMBC N
281
N: numero del
banco EM
EXTEND Estende il tempo di ciclo massimo solo per il ciclo in cui viene eseguita Uscita 1108
MAXIMUM WDT(094) l'istruzione. Richiesta
CYCLE TIME
WDT T
@WDT T: impostazione
094 del temporizzatore
SAVE CONDI- Salva lo stato dei flag di condizione. Uscita 1110
TION FLAGS CCS(282) Richiesta
(solo CS1-H,
CJ1-H, CJ1M
o CS1D)
CCS
@CCS
282
LOAD CONDI- Legge lo stato dei flag di condizione precedentemente salvato. Uscita 1112
TION FLAGS CCL(283) Richiesta
(solo CS1-H,
CJ1-H, CJ1M
o CS1D)
CCL
@CCL
283
CONVERT Converte l'indirizzo di memoria di un PLC della serie CV nell'indirizzo Uscita 1113
ADDRESS FROM FRMCV(284) di memoria equivalente di un PLC della serie CS/CJ. Richiesta
CV (solo CS1-H,
CJ1-H, CJ1M S
o CS1D)
D
FRMCV
@FRMCV S: canale
contenente
284 l'indirizzo di
memoria
della serie CV
D: registro indice
di destinazione

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
DISABLE PERI- Disabilita la gestione delle periferiche durante l'esecuzione del pro- Uscita 1121
PHERAL IOSP(287) gramma in una delle modalità di elaborazione parallela o in modalità di Richiesta
SERVICING (solo gestione prioritaria delle periferiche.
CPU CS1D per
sistemi a singola
CPU, CS1-H,
CJ1-H o CJ1M)
IOSP
@IOSP
287
ENABLE PERI- Abilita la gestione delle periferiche disabilitata tramite l'istruzione Uscita 1123
PHERAL IORS(288) IOSP(287) per l'esecuzione del programma in una delle modalità di Non richiesta
SERVICING (solo elaborazione parallela o in modalità di gestione prioritaria delle periferi-
CPU CS1D per che.
sistemi a singola
CPU, CS1-H,
CJ1-H o CJ1M)
IORS
288

2-2-30 Istruzioni di programmazione a blocchi


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
BLOCK Definisce un'area di programmazione a blocchi. Per ogni istruzione Uscita 1128
PROGRAM BPRG(096)
BPRG(096) deve esistere un'istruzione BEND(801) corrispondente. Richiesta
BEGIN
BPRG N
096 N: numero
programma a
blocchi Programma a blocchi

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
BLOCK (812) Programma a 1131
PROGRAM Mette in pausa e riavvia il programma a blocchi specificato da un blocchi
RESTART N altro programma a blocchi.
Richiesto
BPRS
812 N: numero
programma a
blocchi
...

... Istruzione BPRS(812)


eseguita dal
programma a blocchi n.

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

Raggiunta la fine del blocco


CONDITIONAL EXIT(806)B 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
Bit operando Bit operando
806
OFF ON
(ON per (OFF per EXIT
EXIT NOT) NOT)

A eseguito A eseguito

B eseguito

Raggiunta la fine del blocco


CONDITIONAL EXIT NOT(806) EXIT(806) senza un bit operando esce dal programma se la condi- Programma a 1137
BLOCK EXIT B zione di esecuzione è OFF. blocchi
NOT Richiesto
EXIT NOT B: bit operando
806

97
Istruzioni Capitolo 2-2

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
CONDITIONAL IF (802) Se la condizione di esecuzione è ON, vengono eseguite le istruzioni Programma a 1133
BLOCK BRAN- comprese tra IF(802) ed ELSE(803), mentre se la condizione di blocchi
CHING esecuzione è OFF vengono eseguite le istruzioni tra ELSE(803) e Richiesto
IF IEND(804).
802 Condizione di Condizione
esecuzione di esecuzione
ON?

A eseguito B eseguito
(tra IF ed ELSE) (dopo ELSE)

CONDITIONAL IF (802) Programma a 1133


BLOCK BRAN- Se il bit operando è impostato su ON, vengono eseguite le blocchi
B istruzioni comprese tra IF(802) ed ELSE(803). Se il bit operando è
CHING Richiesto
impostato su OFF, vengono eseguite le istruzioni comprese tra
IF B: bit operando ELSE(803) e IEND(804).
802
Bit
operando
ON?
IF R (IF NOT R)

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
ONE CYCLE AND WAIT(805) Se la condizione di esecuzione è ON per WAIT(805), vengono Programma a 1140
WAIT ignorate le rimanenti istruzioni del programma a blocchi. blocchi
WAIT Richiesto
Condizione di Condizione di Condizione di
805 esecuzione esecuzione esecuzione
OFF OFF ON

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
COUNTER WAIT CNTW(814) Ritarda l'esecuzione delle rimanenti istruzioni del programma a blocchi fino al Programma a 1147
CNTW N completamento del conteggio specificato. L'esecuzione riprende dall'istruzione
blocchi
814 SV dopo CNTW(814)/CNTWX(818) al completamento del conteggio. Richiesto
(BCD) SV: da 0 a 9.999 volte per il formato
BCD e da 0 a 65.535 volte
CNTWX N: numero di per il formato binario
818 contatore
(binario) SV: valore impo-
(solo CS1-H, CJ1- A
stato eseguito
H, CJ1M o CS1D)
I: ingresso conteg-
gio
CNTWX(818)
SV
N preimpo Tempo trascorso
SV
B eseguito

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
LOOP --- Programma a 1153
LOOP(809) specifica l'inizio del programma ciclico. blocchi
LOOP
809 Richiesto
Condizione di Condizione di Condizione di Condizione di
esecuzione esecuzione esecuzione esecuzione
ON OFF OFF OFF

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

Nota Lo stato del bit operando risulta invertito per


LEND(810) NOT.
LEND NOT LEND(810) NOT Le istruzioni LEND(810) e LEND(810) NOT specificano la fine del ciclo. Programma a 1153
LEND NOT Quando viene raggiunta l'istruzione LEND(810) o LEND(810) NOT, blocchi
810 B: bit operando l'esecuzione del programma torna ciclicamente all'istruzione Richiesto
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.

101
Istruzioni Capitolo 2-2

2-2-31 Istruzioni di elaborazione delle stringhe di testo


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
MOV STRING Uscita 1159
MOV$(664) Trasferisce una stringa di testo.
MOV$ Richiesta
@MOV$ S
664
D
S: primo canale di
origine
D: primo canale di
destinazione

CONCATENATE Concatena due stringhe di testo. Uscita 1161


STRING +$(656) Richiesta
+$ → → → →
@+$ S1 +
656 S2
D
S1: stringa di testo 1
S2: stringa di testo 2
D: primo canale di
destinazione

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
FIND IN STRING Cerca la stringa di testo specificata all'interno di un'altra stringa. Uscita 1171
FIND FIND$(660) Richiesta
@FIND$ Dati trovati
S1 → → →
660
S2
D
S1: primo canale
della stringa di
testo di origine
S2: primo canale
stringa di testo di
ricerca
D: primo canale
di destinazione
STRING LENGTH Calcola la lunghezza di una stringa di testo. Uscita 1173
LEN$ LEN$(650) Richiesta
@LEN$ S → 1 2
650 3 4
D 5

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

Istruzione Simbolo/ Funzione Posizione Pa-


Codice operando Condizione di gina
mnemonico esecuzione
EXCHANGE Sostituisce la stringa di testo specificata con un'altra stringa specificata. Uscita 1180
STRING XCHG$(665)
Richiesta
XCHG$ Ex1 Ex1
@XCHG$ Ex1
665 Ex2
Ex1: primo canale Ex2 Ex2
di scambio 1
Ex2: primo canale
di scambio 2
CLEAR STRING Sostituisce il contenuto di una stringa di testo con NUL Uscita 1182
CLR$ CLR$(666) (00 esadecimale). Richiesta
@CLR$ S S→ A B S→
666 C D
NUL NUL
S: primo canale
della stringa di
testo
INSERT INTO Elimina la stringa di testo specificata dall'interno di un'altra stringa. Uscita 1184
STRING INS$(657) Richiesta
INS$ S1 →
@INS$ NUL
657 S2
→ →
S3
D Caratteri
immessi
S1: primo canale
della stringa di
testo di base
S2: primo canale
della stringa di
testo inserito
S3: posizione
iniziale
D: primo canale
di destinazione

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

2-2-32 Istruzioni di controllo dei task


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
TASK ON Uscita 1192
TKON(820) Rende il task specificato eseguibile.
TKON Richiesta
@TKON
N Il numero di task del task Il numero di task del task
820 specificato è superiore a quello specificato è inferiore a quello del
N: numero di task del task locale (m<n). task locale (m>n).

Task m Task m

Diventa
eseguibile
Diventa nel ciclo
eseguibile successivo
nello
stesso
ciclo

Task n Task n

TASK OFF Mette in stato di attesa il task specificato. Uscita 1196


TKOF TKOF(821) Richiesta
@TKOF Il numero di task del task Il numero di task del task
N specificato è superiore a specificato è inferiore a quello
821
N: numero di task quello del task locale (m<n). del task locale (m>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

2-2-33 Istruzioni di conversione del modello (solo CPU versione 3.0 o


successiva)
Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
BLOCK Uscita 1201
TRANSFER Trasferisce il numero di canali consecutivi specificato.
XFERC(565) Richiesta
XFERC
@XFERC N
565 S N canali
... ...
D S+(N-1) D+(N-1)

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

Bs: indirizzo base


di origine Bs+n
Of: offset
D: canale di
destinazione

MOVE BIT Trasferisce il bit specificato. Uscita 1211


MOVBC MOVBC(568) Richiesta
@MOVBC S
568
C
D
S: dati o canale di
origine
C: canale di controllo
D: canale di
destinazione
BIT COUNTER Conta il numero totale di bit impostati su ON presenti nei Uscita 1212
BCNTC BCNTC(621) Richiesta
canali specificati.
@BCNTC
N
621 N canali
S Conta il numero di
... bit impostati su ON.
R
N: numero di S+(N −1) Risultato BCD
canali (BCD)
S: primo canale
di origine R
R: canale del
risultato

106
Istruzioni Capitolo 2-2

2-2-34 Istruzioni speciali per blocchi funzione


Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
GET VARIABLE Invia il codice del tipo di variabile del comando FINS (area dati) e l'indi- Uscita 1214
ID GETID(286) rizzo di canale per la variabile o l'indirizzo specificato. Questa istru- Richiesta
GETID zione viene in genere utilizzata per ottenere l'indirizzo assegnato a una
@GETID
S variabile in un blocco funzione.
286 D1
D2
S: variabile o
indirizzo
D1: codice ID
D2: canale di
destinazione

107
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3

2-3 Elenco alfabetico delle istruzioni in base al codice


mnemonico
A
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
ACC ACCELERATION 888 @ACC --- --- 855
CONTROL
ACOS ARC COSINE 464 @ACOS --- --- 589
ACOSD DOUBLE ARC 855 @ACOSD --- --- 645
COSINE
AND AND --- @AND %AND !AND 157
AND < AND LESS THAN 310 --- --- --- 275
AND <$ AND STRING LESS 672 --- --- --- 1187
THAN
AND <> AND NOT EQUAL 305 --- --- --- 275
AND <>$ AND STRING NOT 671 --- --- --- 1187
EQUAL
AND <>D AND DOUBLE 336 --- --- --- 657
FLOATING NOT
EQUAL
AND <> DT AND TIME NOT 342 --- --- --- 281
EQUAL
AND <>F AND FLOATING NOT 330 --- --- --- 600
EQUAL
AND <>L AND DOUBLE NOT 306 --- --- --- 275
EQUAL
AND <>S AND SIGNED NOT 307 --- --- --- 275
EQUAL
AND <>SL AND DOUBLE 308 --- --- --- 275
SIGNED NOT EQUAL
AND <D AND DOUBLE 337 --- --- --- 657
FLOATING LESS
THAN
AND <DT AND TIME LESS 343 --- --- --- 281
THAN
AND <F AND FLOATING LESS 331 --- --- --- 600
THAN
AND <L AND DOUBLE LESS 311 --- --- --- 275
THAN
AND <S AND SIGNED LESS 312 --- --- --- 275
THAN
AND <SL AND DOUBLE 313 --- --- --- 275
SIGNED LESS THAN
AND = AND EQUAL 300 --- --- --- 275
AND =$ AND STRING EQUALS 670 --- --- --- 1187
AND =D AND DOUBLE 335 --- --- --- 657
FLOATING EQUAL
AND =DT AND TIME EQUAL 341 --- --- --- 281
AND =F AND FLOATING 329 --- --- --- 600
EQUAL
AND =L AND DOUBLE EQUAL 301 --- --- --- 275
AND =S AND SIGNED EQUAL 302 --- --- --- 275
AND =SL AND DOUBLE 303 --- --- --- 275
SIGNED EQUAL
AND > AND GREATER THAN 320 --- --- --- 275
AND >$ AND STRING 674 --- --- --- 1187
GREATER THAN
AND >D AND DOUBLE 339 --- --- --- 657
FLOATING GREATER
THAN

108
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
AND >DT AND TIME GREATER 345 --- --- --- 281
THAN
AND >F AND FLOATING 333 --- --- --- 600
GREATER THAN
AND >L AND DOUBLE 321 --- --- --- 275
GREATER THAN
AND >S AND SIGNED 322 --- --- --- 275
GREATER THAN
AND >SL AND DOUBLE 323 --- --- --- 275
SIGNED GREATER
THAN
AND LD AND LOAD --- --- --- --- 164
AND NOT AND NOT --- --- --- !AND NOT 159
AND TST AND BIT TEST 350 --- --- --- 174
AND TSTN AND BIT TEST 351 --- --- --- 174
AND <= AND LESS THAN OR 315 --- --- --- 275
EQUAL
AND <=$ AND STRING LESS 673 --- --- --- 1187
THAN OR EQUAL
AND <=D AND DOUBLE 338 --- --- --- 657
FLOATING LESS
THAN OR EQUAL
AND <=DT AND TIME LESS 344 --- --- --- 281
THAN OR EQUAL
AND <=F AND FLOATING LESS 332 --- --- --- 600
THAN OR EQUAL
AND <=L AND DOUBLE LESS 316 --- --- --- 275
THAN OR EQUAL
AND <=S AND SIGNED LESS 317 --- --- --- 275
THAN OR EQUAL
AND <=SL AND DOUBLE 318 --- --- --- 275
SIGNED LESS THAN
OR EQUAL
AND >= AND GREATER THAN 325 --- --- --- 275
OR EQUAL
AND >=$ AND STRING 675 --- --- --- 1187
GREATER THAN OR
EQUALS
AND >=D AND DOUBLE 340 --- --- --- 657
FLOATING GREATER
THAN OR EQUAL
AND >=DT AND TIME GREATER 346 --- --- --- 281
THAN OR EQUAL
AND >=F AND FLOATING 334 --- --- --- 600
GREATER THAN OR
EQUAL
AND >=L AND DOUBLE 326 --- --- --- 275
GREATER THAN OR
EQUAL
AND >=S AND SIGNED 327 --- --- --- 275
GREATER THAN OR
EQUAL
AND >=SL AND DOUBLE 328 --- --- --- 275
SIGNED GREATER
THAN OR EQUAL
ANDL DOUBLE LOGICAL 610 @ANDL --- --- 519
AND
ANDW LOGICAL AND 034 @ANDW --- --- 517
APR ARITHMETIC 069 @APR --- --- 540
PROCESS
ASC ASCII CONVERT 086 @ASC --- --- 486
ASFT ASYNCHRONOUS 017 @ASFT --- --- 349
SHIFT REGISTER

109
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
ASIN ARC SINE 463 @ASIN --- --- 587
ASIND DOUBLE ARC SINE 854 @ASIND --- --- 643
ASL ARITHMETIC SHIFT 025 @ASL --- --- 354
LEFT
ASLL DOUBLE SHIFT LEFT 570 @ASLL --- --- 355
ASR ARITHMETIC SHIFT 026 @ASR --- --- 357
RIGHT
ASRL DOUBLE SHIFT 571 @ASRL --- --- 358
RIGHT
ATAN ARC TANGENT 465 @ATAN --- --- 591
ATAND DOUBLE ARC 856 @ATAND --- --- 647
TANGENT
AVG AVERAGE 195 --- --- --- 769

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

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
CJP CONDITIONAL JUMP 510 --- --- --- 223
CJPN CONDITIONAL JUMP 511 --- --- --- 223
CLC CLEAR CARRY 041 @CLC --- --- 1105
CLI CLEAR INTERRUPT 691 @CLI --- --- 810
CLR$ CLEAR STRING 666 @CLR$ --- --- 1182
CMND DELIVER COMMAND 490 @CMND --- --- 1003
CMP COMPARE 020 --- --- !CMP 287
CMPL DOUBLE COMPARE 060 --- --- --- 290
CNR RESET TIMER/ 545 @CNR --- --- 267
COUNTER
CNRX RESET TIMER/ 548 @CNRX --- --- 267
COUNTER
CNT COUNTER --- --- --- --- 260
CNTX COUNTER 546 --- --- --- 260
CNTR REVERSIBLE 012 --- --- --- 263
COUNTER
CNTRX REVERSIBLE 548 --- --- --- 263
COUNTER
CNTW COUNTER WAIT 814 --- --- --- 1147
CNTWX COUNTER WAIT 818 --- --- --- 1147
COLL DATA COLLECT 081 @COLL --- --- 338
COLLC DATA COLLECT 567 @COLLC --- --- 1206
COLM LINE TO COLUMN 064 @COLM --- --- 496
COM COMPLEMENT 029 --- --- --- 531
COML DOUBLE 614 @COML --- --- 533
COMPLEMENT
COS COSINE 461 @COS --- --- 583
COSD DOUBLE COSINE 852 @COSD --- --- 639
CPS SIGNED BINARY 114 --- --- !CPS 293
COMPARE
CPSL DOUBLE SIGNED 115 --- --- --- 296
BINARY COMPARE
CSUB CALENDAR 731 @CSUB --- --- 1065
SUBTRACT
CTBL COMPARISON TABLE 882 @CTBL --- --- 837
LOAD

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

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
DIST SINGLE WORD 080 @DIST --- --- 336
DISTRIBUTE
DISTC SINGLE WORD 566 @DISTC --- --- 1203
DISTRIBUTE
DLNK CPU BUS UNIT I/O 226 @DLNK --- --- 921
REFRESH
DMPX DATA ENCODER 077 @DMPX --- --- 482
DOWN CONDITION OFF 522 --- --- --- 173
DSW DIGITAL SWITCH 210 --- --- --- 890
INPUT

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

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
FOR FOR-NEXT LOOPS 512 --- --- --- 229
FPD FAILURE POINT 269 --- --- --- 1095
DETECTION
FREAD READ DATA FILE 700 @FREAD --- --- 1045
FRMCV CONVERT ADDRESS 284 @FRMCV --- --- 1113
FROM CV
FSTR FLOATING POINT TO 448 @FSTR --- --- 604
ASCII
FWRIT WRITE DATA FILE 701 @FWRIT --- --- 1052
FVAL ASCII TO FLOATING 449 @FVAL --- --- 609
POINT

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

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
IOSP DISABLE 287 @IOSP --- --- 1121
PERIPHERAL
SERVICING
IOWR INTELLIGENT I/O 223 @IOWR --- --- 917
WRITE

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

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
LD =D LOAD DOUBLE 335 --- --- --- 657
FLOATING EQUAL
LD =DT LOAD TIME EQUAL 341 --- --- --- 281
LD =F LOAD FLOATING 329 --- --- --- 600
EQUAL
LD =L LOAD DOUBLE 301 --- --- --- 275
EQUAL
LD =S LOAD SIGNED EQUAL 302 --- --- --- 275
LD =SL LOAD DOUBLE 303 --- --- --- 275
SIGNED EQUAL
LD > LOAD GREATER 320 --- --- --- 275
THAN
LD >$ LOAD STRING 674 --- --- --- 1187
GREATER THAN
LD >D LOAD DOUBLE 339 --- --- --- 657
FLOATING GREATER
THAN
LD >DT LOAD TIME GREATER 345 --- --- --- 281
THAN
LD >F LOAD FLOATING 333 --- --- --- 600
GREATER THAN
LD >L LOAD DOUBLE 321 --- --- --- 275
GREATER THAN
LD >S LOAD SIGNED 322 --- --- --- 275
GREATER THAN
LD >SL LOAD DOUBLE 323 --- --- --- 275
SIGNED GREATER
THAN
LD NOT LOAD NOT --- --- --- !LD NOT 155
LD TST LOAD BIT TEST 350 --- --- --- 174
LD TSTN LOAD BIT TEST 351 --- --- --- 174
LD <= LOAD LESS THAN OR 315 --- --- --- 275
EQUAL
LD <=$ LOAD STRING LESS 673 --- --- --- 1187
THAN OR EQUAL
LD <=D LOAD DOUBLE 338 --- --- --- 657
FLOATING LESS
THAN OR EQUAL
LD <=DT LOAD TIME LESS 344 --- --- --- 281
THAN OR EQUAL
LD <=F LOAD FLOATING 332 --- --- --- 600
LESS THAN OR
EQUAL
LD <=L LOAD DOUBLE LESS 316 --- --- --- 275
THAN OR EQUAL
LD <=S LOAD SIGNED LESS 317 --- --- --- 275
THAN OR EQUAL
LD <=SL LOAD DOUBLE 318 --- --- --- 275
SIGNED LESS THAN
OR EQUAL
LD >= LOAD GREATER 325 --- --- --- 275
THAN OR EQUAL
LD >=$ LOAD STRING 675 --- --- --- 1187
GREATER THAN OR
EQUALS
LD >=D LOAD DOUBLE 340 --- --- --- 657
FLOATING GREATER
THAN OR EQUAL
LD >=DT LOAD TIME GREATER 346 --- --- --- 281
THAN OR EQUAL
LD >=F LOAD FLOATING 334 --- --- --- 600
GREATER THAN OR
EQUAL

115
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
LD >=L LOAD DOUBLE 326 --- --- --- 275
GREATER THAN OR
EQUAL
LD >=S LOAD SIGNED 327 --- --- --- 275
GREATER THAN OR
EQUAL
LD >=SL LOAD DOUBLE 328 --- --- --- 275
SIGNED GREATER
THAN OR EQUAL
LEFT$ GET STRING LEFT 652 @LEFT$ --- --- 1164
LEN$ STRING LENGTH 650 @LEN$ --- --- 1173
LEND NOT LOOP END NOT 810 --- --- --- 1153
(operando)
LEND LOOP END 810 --- --- --- 1153
(condizione di
ingresso)
LEND LOOP END 810 --- --- --- 1153
(operando)
LIFO LAST IN FIRST OUT 634 @LIFO --- --- 675
LINE COLUMN TO LINE 063 @LINE --- --- 494
LMT LIMIT CONTROL 680 @LMT --- --- 741
LOG LOGARITHM 468 @LOG --- --- 597
LOGD DOUBLE LOGARITHM 859 @LOGD --- --- 653
LOOP LOOP 809 --- --- --- 1153

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

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
MTIM MULTI-OUTPUT 543 --- --- --- 254
TIMER
MTIMX MULTI-OUTPUT 554 --- --- --- 254
TIMER
MTR MATRIX INPUT 213 --- --- --- 904
MVN MOVE NOT 022 @MVN --- --- 317
MVNL DOUBLE MOVE NOT 499 @MVNL --- --- 320

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

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
OR <S OR SIGNED LESS 312 --- --- --- 275
THAN
OR <SL OR DOUBLE SIGNED 313 --- --- --- 275
LESS THAN
OR = OR EQUAL 300 --- --- --- 275
OR =$ OR STRING EQUALS 670 --- --- --- 1187
OR =D OR DOUBLE 335 --- --- --- 657
FLOATING EQUAL
OR =DT OR TIME EQUAL 341 --- --- --- 281
OR =F OR FLOATING EQUAL 329 --- --- --- 600
OR =L OR DOUBLE EQUAL 301 --- --- --- 275
OR =S OR SIGNED EQUAL 302 --- --- --- 275
OR =SL OR DOUBLE SIGNED 303 --- --- --- 275
EQUAL
OR > OR GREATER THAN 320 --- --- --- 275
OR >$ OR STRING GREATER 674 --- --- --- 1187
THAN
OR >D OR DOUBLE 339 --- --- --- 657
FLOATING GREATER
THAN
OR >DT OR TIME GREATER 345 --- --- --- 281
THAN
OR >F OR FLOATING 333 --- --- --- 600
GREATER THAN
OR >L OR DOUBLE 321 --- --- --- 275
GREATER THAN
OR >S OR SIGNED 322 --- --- --- 275
GREATER THAN
OR >SL OR DOUBLE SIGNED 323 --- --- --- 275
GREATER THAN
OR LD OR LOAD --- --- --- --- 166
OR NOT OR NOT --- --- --- !OR NOT 163
OR TST OR BIT TEST 350 --- --- --- 174
OR TSTN OR BIT TEST 351 --- --- --- 174
OR <= OR LESS THAN OR 315 --- --- --- 275
EQUAL
OR <=$ OR STRING LESS 673 --- --- --- 1187
THAN OR EQUALS
OR <=D OR DOUBLE 338 --- --- --- 657
FLOATING LESS
THAN OR EQUAL
OR <=DT OR TIME LESS THAN 344 --- --- --- 281
OR EQUAL
OR <=F OR FLOATING LESS 332 --- --- --- 600
THAN OR EQUAL
OR <=L OR DOUBLE LESS 316 --- --- --- 275
THAN OR EQUAL
OR <=S OR SIGNED LESS 317 --- --- --- 275
THAN OR EQUAL
OR <=SL OR DOUBLE SIGNED 318 --- --- --- 275
LESS THAN OR
EQUAL
OR >= OR GREATER THAN 325 --- --- --- 275
OR EQUAL
OR >=$ OR STRING GREATER 675 --- --- --- 1187
THAN OR EQUALS
OR >=D OR DOUBLE 340 --- --- --- 657
FLOATING GREATER
THAN OR EQUAL
OR >=DT OR TIME GREATER 346 --- --- --- 281
THAN OR EQUAL

118
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
OR >=F OR FLOATING 334 --- --- --- 600
GREATER THAN OR
EQUAL
OR >=L OR DOUBLE 326 --- --- --- 275
GREATER THAN OR
EQUAL
OR >=S OR SIGNED 327 --- --- --- 275
GREATER THAN OR
EQUAL
OR >=SL OR DOUBLE SIGNED 328 --- --- --- 275
GREATER THAN OR
EQUAL
ORG ORIGIN SEARCH 889 @ORG --- --- 862
ORW LOGICAL OR 035 @ORW --- --- 520
ORWL DOUBLE LOGICAL OR 611 @ORWL --- --- 522
OUT OUTPUT --- --- --- !OUT 177
OUTB SINGLE BIT OUTPUT 534 @OUTB --- !OUTB 195
OUT NOT OUTPUT NOT --- --- --- !OUT NOT 178

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

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
ROL ROTATE LEFT 027 @ROL --- --- 360
ROLL DOUBLE ROTATE 572 @ROLL --- --- 362
LEFT
ROOT BCD SQUARE ROOT 072 @ROOT --- --- 536
ROR ROTATE RIGHT 028 @ROR --- --- 364
RORL DOUBLE ROTATE 573 @RORL --- --- 365
RIGHT
ROTB BINARY ROOT 620 @ROTB --- --- 534
RPLC$ REPLACE IN STRING 661 @RPLC$ --- --- 1175
RRNC ROTATE RIGHT 575 @RRNC --- --- 371
WITHOUT CARRY
RRNL DOUBLE ROTATE 577 @RRNL --- --- 372
RIGHT WITHOUT
CARRY
RSET RESET --- @RSET %RSET !RSET 187
RSTA MULTIPLE BIT RESET 531 @RSTA --- --- 189
RSTB SINGLE BIT RESET 533 @RSTB --- !RSTB 192
RXD RECEIVE 235 @RXD --- --- 944
RXDU RECEIVE VIA SERIAL 255 @RXDU --- --- 960
COMMUNICATIONS
UNIT

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

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
SRCH DATA SEARCH 181 @SRCH --- --- 685
SRD ONE DIGIT SHIFT 075 @SRD --- --- 376
RIGHT
SREAD STACK DATA READ 639 @SREAD --- --- 707
SSET SET STACK 630 @SSET --- --- 666
STC SET CARRY 040 @STC --- --- 1104
STEP STEP DEFINE 008 --- --- --- 868
STUP CHANGE SERIAL 237 @STUP --- --- 968
PORT SETUP
SUM SUM 184 @SUM --- --- 697
SWAP SWAP BYTES 637 @SWAP --- --- 687
SWRIT STACK DATA WRITE 640 @SWRIT --- --- 710

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

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
++BL DOUBLE 595 @++BL --- --- 403
INCREMENT BCD
++L DOUBLE 591 @++L --- --- 395
INCREMENT BINARY
+B BCD ADD WITHOUT 404 @+B --- --- 418
CARRY
+BC BCD ADD WITH 406 @+BC --- --- 421
CARRY
+BCL DOUBLE BCD ADD 407 @+BCL --- --- 423
WITH CARRY
+BL DOUBLE BCD ADD 405 @+BL --- --- 419
WITHOUT CARRY
+C SIGNED BINARY ADD 402 @+C --- --- 414
WITH CARRY
+CL DOUBLE SIGNED 403 @+CL --- --- 416
BINARY ADD WITH
CARRY
+D DOUBLE FLOATING- 845 @+D --- --- 626
POINT ADD
+F FLOATING-POINT 454 @+F --- --- 570
ADD
+L DOUBLE SIGNED 401 @+L --- --- 412
BINARY ADD
WITHOUT CARRY
– SIGNED BINARY 410 @– --- --- 424
SUBTRACT
WITHOUT CARRY
–– DECREMENT BINARY 592 @– – --- --- 397
– –B DECREMENT BCD 596 @– –B --- --- 405
– –BL DOUBLE 597 @– –BL --- --- 407
DECREMENT BCD
– –L DOUBLE 593 @– –L --- --- 399
DECREMENT BINARY
–B BCD SUBTRACT 414 @–B --- --- 435
WITHOUT CARRY
–BC BCD SUBTRACT 416 @–BC --- --- 440
WITH CARRY
–BCL DOUBLE BCD 417 @–BCL --- --- 441
SUBTRACT WITH
CARRY
–BL DOUBLE BCD 415 @–BL --- --- 436
SUBTRACT
WITHOUT CARRY
–C SIGNED BINARY 412 @–C --- --- 430
SUBTRACT WITH
CARRY
–CL DOUBLE SIGNED 413 @–CL --- --- 432
BINARY SUBTRACT
WITH CARRY
−D DOUBLE FLOATING- 846 @−D --- --- 628
POINT SUBTRACT
–F FLOATING-POINT 455 @–F --- --- 572
SUBTRACT
* SIGNED BINARY 420 @* --- --- 443
MULTIPLY
*B BCD MULTIPLY 424 @*B --- --- 450
*BL DOUBLE BCD 425 @*BL --- --- 452
MULTIPLY
*D DOUBLE FLOATING- 847 @*D --- --- 630
POINT MULTIPLY
*F FLOATING-POINT 456 @*F --- --- 574
MULTIPLY

123
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3

Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina


mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
*L DOUBLE SIGNED 421 @*L --- --- 445
BINARY MULTIPLY
*U UNSIGNED BINARY 422 @*U --- --- 447
MULTIPLY
*UL DOUBLE UNSIGNED 423 @*UL --- --- 449
BINARY MULTIPLY
–L DOUBLE SIGNED 411 @–L --- --- 426
BINARY SUBTRACT
WITHOUT CARRY
/ SIGNED BINARY 430 @/ --- --- 454
DIVIDE
/B BCD DIVIDE 434 @/B --- --- 462
/BL DOUBLE BCD DIVIDE 435 @/BL --- --- 464
/D DOUBLE FLOATING- 848 @/D --- --- 632
POINT DIVIDE
/F FLOATING POINT 457 @/F --- --- 576
DIVIDE
/L DOUBLE SIGNED 431 @/L --- --- 456
BINARY DIVIDE
/U UNSIGNED BINARY 432 @/U --- --- 458
DIVIDE
/UL DOUBLE UNSIGNED 433 @/UL --- --- 460
BINARY DIVIDE

124
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

2-4 Elenco delle istruzioni in base al codice funzione


Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina
funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
--- LD LOAD @LD %LD !LD 153
--- LD NOT LOAD NOT --- --- !LD NOT 155
--- AND AND @AND %AND !AND 157
--- AND NOT AND NOT --- --- !AND NOT 159
--- OR OR @OR %OR !OR 161
--- OR NOT OR NOT --- --- !OR NOT 163
--- AND LD AND LOAD --- --- --- 164
--- OR LD OR LOAD --- --- --- 166
--- OUT OUTPUT --- --- !OUT 177
--- OUT NOT OUTPUT NOT --- --- !OUT NOT 178
--- SET SET @SET %SET !SET 187
--- RSET RESET @RSET %RSET !RSET 187
--- TIM TIMER --- --- --- 235
--- TIMX TIMER --- --- --- 235
--- CNT COUNTER --- --- --- 260
000 NOP NO OPERATION --- --- --- 198
001 END END --- --- --- 197
002 IL INTERLOCK --- --- --- 201
003 ILC INTERLOCK CLEAR --- --- --- 201
004 JMP JUMP --- --- --- 219
005 JME JUMP END --- --- --- 219
006 FAL FAILURE ALARM @FAL --- --- 1079
007 FALS SEVERE FAILURE --- --- --- 1087
ALARM
008 STEP STEP DEFINE --- --- --- 868
009 SNXT STEP START --- --- --- 868
010 SFT SHIFT REGISTER --- --- --- 345
011 KEEP KEEP --- --- !KEEP 180
012 CNTR REVERSIBLE --- --- --- 263
COUNTER
013 DIFU DIFFERENTIATE UP --- --- !DIFU 184
014 DIFD DIFFERENTIATE --- --- !DIFD 184
DOWN
015 TIMH HIGH-SPEED TIMER --- --- --- 240
016 WSFT WORD SHIFT @WSFT --- --- 352
017 ASFT ASYNCHRONOUS @ASFT --- --- 349
SHIFT REGISTER
019 MCMP MULTIPLE COMPARE @MCMP --- --- 299
020 CMP UNSIGNED COMPARE --- --- !CMP 287
021 MOV MOVE @MOV --- !MOV 315
022 MVN MOVE NOT @MVN --- --- 317
023 BIN BCD-TO-BINARY @BIN --- --- 466
024 BCD BINARY-TO-BCD @BCD --- --- 469
025 ASL ARITHMETIC SHIFT @ASL --- --- 354
LEFT
026 ASR ARITHMETIC SHIFT @ASR --- --- 357
RIGHT
027 ROL ROTATE LEFT @ROL --- --- 360
028 ROR ROTATE RIGHT @ROR --- --- 364
029 COM COMPLEMENT @COM --- --- 531
034 ANDW LOGICAL AND @ANDW --- --- 517
035 ORW LOGICAL OR @ORW --- --- 520

125
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
036 XORW EXCLUSIVE OR @XORW --- --- 524
037 XNRW EXCLUSIVE NOR @XNRW --- --- 528
040 STC SET CARRY @STC --- --- 1104
041 CLC CLEAR CARRY @CLC --- --- 1105
045 TRSM TRACE MEMORY --- --- --- 1075
SAMPLING
046 MSG DISPLAY MESSAGE @MSG --- --- 1058
058 BINL DOUBLE BCD-TO- @BINL --- --- 467
DOUBLE BINARY
059 BCDL DOUBLE BINARY-TO- @BCDL --- --- 470
BCD
060 CMPL DOUBLE UNSIGNED --- --- --- 290
COMPARE
062 XFRB MULTIPLE BIT @XFRB --- --- 326
TRANSFER
063 LINE COLUMN TO LINE @LINE --- --- 494
064 COLM LINE TO COLUMN @COLM --- --- 496
065 SEC HOURS TO SECONDS @SEC --- --- 1068
066 HMS SECONDS TO HOURS @HMS --- --- 1070
067 BCNT BIT COUNTER @BCNT --- --- 556
068 BCMP UNSIGNED BLOCK @BCMP --- --- 304
COMPARE
069 APR ARITHMETIC @APR --- --- 540
PROCESS
070 XFER BLOCK TRANSFER @XFER --- --- 328
071 BSET BLOCK SET @BSET --- --- 331
072 ROOT BCD SQUARE ROOT @ROOT --- --- 536
073 XCHG DATA EXCHANGE @XCHG --- --- 333
074 SLD ONE DIGIT SHIFT @SLD --- --- 374
LEFT
075 SRD ONE DIGIT SHIFT @SRD --- --- 376
RIGHT
076 MLPX DATA DECODER @MLPX --- --- 477
077 DMPX DATA ENCODER @DMPX --- --- 482
078 SDEC 7-SEGMENT @SDEC --- --- 928
DECODER
079 FDIV FLOATING POINT @FDIV --- --- 552
DIVIDE
080 DIST SINGLE WORD @DIST --- --- 336
DISTRIBUTE
081 COLL DATA COLLECT @COLL --- --- 338
082 MOVB MOVE BIT @MOVB --- --- 321
083 MOVD MOVE DIGIT @MOVD --- --- 323
084 SFTR REVERSIBLE SHIFT @SFTR --- --- 346
REGISTER
085 TCMP TABLE COMPARE @TCMP --- --- 301
086 ASC ASCII CONVERT @ASC --- --- 486
087 TTIM ACCUMULATIVE --- --- --- 247
TIMER
088 ZCP AREA RANGE --- --- --- 310
COMPARE
090 SEND NETWORK SEND @SEND --- --- 991
091 SBS SUBROUTINE CALL @SBS --- --- 773
092 SBN SUBROUTINE ENTRY --- --- --- 783
093 RET SUBROUTINE --- --- --- 786
RETURN

126
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
094 WDT EXTEND MAXIMUM @WDT --- --- 1108
CYCLE TIME
096 BPRG BLOCK PROGRAM --- --- --- 1128
BEGIN
097 IORF I/O REFRESH @IORF --- --- 885
098 RECV NETWORK RECEIVE @RECV --- --- 997
099 MCRO MACRO @MCRO --- --- 779
114 CPS SIGNED BINARY --- --- !CPS 293
COMPARE
115 CPSL DOUBLE SIGNED --- --- --- 296
BINARY COMPARE
116 ZCPL DOUBLE AREA --- --- --- 313
RANGE COMPARE
160 NEG 2'S COMPLEMENT @NEG --- --- 472
161 NEGL DOUBLE 2'S @NEGL --- --- 474
COMPLEMENT
162 HEX ASCII TO HEX @HEX --- --- 490
180 FCS FRAME CHECKSUM @FCS --- --- 700
181 SRCH DATA SEARCH @SRCH --- --- 685
182 MAX FIND MAXIMUM @MAX --- --- 689
183 MIN FIND MINIMUM @MIN --- --- 693
184 SUM SUM @SUM --- --- 697
190 PID PID CONTROL --- --- --- 720
191 PIDAT PID CONTROL WITH --- --- --- 731
AUTOTUNING
194 SCL SCALING @SCL --- --- 757
195 AVG AVERAGE --- --- --- 769
210 DSW DIGITAL SWITCH --- --- --- 890
INPUT
211 TKY TEN KEY INPUT @TKY --- --- 896
212 HKY HEXADECIMAL KEY --- --- --- 899
INPUT
213 MTR MATRIX INPUT --- --- --- 904
214 7SEG 7-SEGMENT DISPLAY --- --- --- 908
OUTPUT
222 IORD INTELLIGENT I/O @IORD --- --- 913
READ
223 IOWR INTELLIGENT I/O @IOWR --- --- 917
WRITE
226 DLNK CPU BUS UNIT I/O @DLNK --- --- 921
REFRESH
235 RXD RECEIVE @RXD --- --- 944
236 TXD TRANSMIT @TXD --- --- 937
255 RXDU RECEIVE VIA SERIAL @RXDU --- --- 960
COMMUNICATIONS
UNIT
256 TXDU TRANSMIT VIA @TXDU --- --- 952
SERIAL
COMMUNICATIONS
UNIT
237 STUP CHANGE SERIAL @STUP --- --- 968
PORT SETUP
260 PMCR PROTOCOL MACRO @PMCR --- --- 928
269 FPD FAILURE POINT --- --- --- 1095
DETECTION
281 EMBC SELECT EM BANK @EMBC --- --- 1106
282 CCS SAVE CONDITION @CCS --- --- 1110
FLAGS

127
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
283 CCL LOAD CONDITION @CCL --- --- 1112
FLAGS
284 FRMCV CONVERT ADDRESS @FRMCV --- --- 1113
FROM CV
285 TOCV CONVERT ADDRESS @TOCV --- --- 1117
TO CV
286 GETID GET VARIABLE ID @GETID --- --- 1214
287 IOSP DISABLE @IOSP --- --- 1121
PERIPHERAL
SERVICING
288 IORS ENABLE --- --- --- 1123
PERIPHERAL
SERVICING
300 AND = AND EQUAL --- --- --- 275
300 LD = LOAD EQUAL --- --- --- 275
300 OR = OR EQUAL --- --- --- 275
301 AND =L AND DOUBLE EQUAL --- --- --- 275
301 LD =L LOAD DOUBLE --- --- --- 275
EQUAL
301 OR =L OR DOUBLE EQUAL --- --- --- 275
302 AND =S AND SIGNED EQUAL --- --- --- 275
302 LD =S LOAD SIGNED EQUAL --- --- --- 275
302 OR =S OR SIGNED EQUAL --- --- --- 275
303 AND =SL AND DOUBLE --- --- --- 275
SIGNED EQUAL
303 LD =SL LOAD DOUBLE --- --- --- 275
SIGNED EQUAL
303 OR =SL OR DOUBLE SIGNED --- --- --- 275
EQUAL
305 AND <> AND NOT EQUAL --- --- --- 275
305 LD <> LOAD NOT EQUAL --- --- --- 275
305 OR <> OR NOT EQUAL --- --- --- 275
306 AND <>L AND DOUBLE NOT --- --- --- 275
EQUAL
306 LD <>L LOAD DOUBLE NOT --- --- --- 275
EQUAL
306 OR <>L OR DOUBLE NOT --- --- --- 275
EQUAL
307 AND <>S AND SIGNED NOT --- --- --- 275
EQUAL
307 LD <>S LOAD SIGNED NOT --- --- --- 275
EQUAL
307 OR <>S OR SIGNED NOT --- --- --- 275
EQUAL
308 AND <>SL AND DOUBLE --- --- --- 275
SIGNED NOT EQUAL
308 LD <>SL LOAD DOUBLE --- --- --- 275
SIGNED NOT EQUAL
308 OR <>SL OR DOUBLE SIGNED --- --- --- 275
NOT EQUAL
310 AND < AND LESS THAN --- --- --- 275
310 LD < LOAD LESS THAN --- --- --- 275
310 OR < OR LESS THAN --- --- --- 275
311 AND <L AND DOUBLE LESS --- --- --- 275
THAN
311 LD <L LOAD DOUBLE LESS --- --- --- 275
THAN
311 OR <L OR DOUBLE LESS --- --- --- 275
THAN

128
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
312 AND <S AND SIGNED LESS --- --- --- 275
THAN
312 LD <S LOAD SIGNED LESS --- --- --- 275
THAN
312 OR <S OR SIGNED LESS --- --- --- 275
THAN
313 AND <SL AND DOUBLE --- --- --- 275
SIGNED LESS THAN
313 LD <SL LOAD DOUBLE --- --- --- 275
SIGNED LESS THAN
313 OR <SL OR DOUBLE SIGNED --- --- --- 275
LESS THAN
315 AND <= AND LESS THAN OR --- --- --- 275
EQUAL
315 LD <= LOAD LESS THAN OR --- --- --- 275
EQUAL
315 OR <= OR LESS THAN OR --- --- --- 275
EQUAL
316 AND <=L AND DOUBLE LESS --- --- --- 275
THAN OR EQUAL
316 LD <=L LOAD DOUBLE LESS --- --- --- 275
THAN OR EQUAL
316 OR <=L OR DOUBLE LESS --- --- --- 275
THAN OR EQUAL
317 AND <=S AND SIGNED LESS --- --- --- 275
THAN OR EQUAL
317 LD <=S LOAD SIGNED LESS --- --- --- 275
THAN OR EQUAL
317 OR <=S OR SIGNED LESS --- --- --- 275
THAN OR EQUAL
318 AND <=SL AND DOUBLE --- --- --- 275
SIGNED LESS THAN
OR EQUAL
318 LD <=SL LOAD DOUBLE --- --- --- 275
SIGNED LESS THAN
OR EQUAL
318 OR <=SL OR DOUBLE SIGNED --- --- --- 275
LESS THAN OR
EQUAL
320 AND > AND GREATER THAN --- --- --- 275
320 LD > LOAD GREATER --- --- --- 275
THAN
320 OR > OR GREATER THAN --- --- --- 275
321 AND >L AND DOUBLE --- --- --- 275
GREATER THAN
321 LD >L LOAD DOUBLE --- --- --- 275
GREATER THAN
321 OR >L OR DOUBLE --- --- --- 275
GREATER THAN
322 AND >S AND SIGNED --- --- --- 275
GREATER THAN
322 LD >S LOAD SIGNED --- --- --- 275
GREATER THAN
322 OR >S OR SIGNED --- --- --- 275
GREATER THAN
323 AND >SL AND DOUBLE --- --- --- 275
SIGNED GREATER
THAN
323 LD >SL LOAD DOUBLE --- --- --- 275
SIGNED GREATER
THAN
323 OR >SL OR DOUBLE SIGNED --- --- --- 275
GREATER THAN

129
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
325 AND >= AND GREATER THAN --- --- --- 275
OR EQUAL
325 LD >= LOAD GREATER --- --- --- 275
THAN OR EQUAL
325 OR >= OR GREATER THAN --- --- --- 275
OR EQUAL
326 AND >=L AND DOUBLE --- --- --- 275
GREATER THAN OR
EQUAL
326 LD >=L LOAD DOUBLE --- --- --- 275
GREATER THAN OR
EQUAL
326 OR >=L OR DOUBLE --- --- --- 275
GREATER THAN OR
EQUAL
327 AND >=S AND SIGNED --- --- --- 275
GREATER THAN OR
EQUAL
327 LD >=S LOAD SIGNED --- --- --- 275
GREATER THAN OR
EQUAL
327 OR >=S OR SIGNED --- --- --- 275
GREATER THAN OR
EQUAL
328 AND >=SL AND DOUBLE --- --- --- 275
SIGNED GREATER
THAN OR EQUAL
328 LD >=SL LOAD DOUBLE --- --- --- 275
SIGNED GREATER
THAN OR EQUAL
328 OR >=SL OR DOUBLE SIGNED --- --- --- 275
GREATER THAN OR
EQUAL
329 AND =F AND FLOATING --- --- --- 600
EQUAL
329 LD =F LOAD FLOATING --- --- --- 600
EQUAL
329 OR =F OR FLOATING EQUAL --- --- --- 600
330 AND <>F AND FLOATING NOT --- --- --- 600
EQUAL
330 LD <>F LOAD FLOATING NOT --- --- --- 600
EQUAL
330 OR <>F OR FLOATING NOT --- --- --- 600
EQUAL
331 AND <F AND FLOATING LESS --- --- --- 600
THAN
331 LD <F LOAD FLOATING --- --- --- 600
LESS THAN
331 OR <F OR FLOATING LESS --- --- --- 600
THAN
332 AND <=F AND FLOATING LESS --- --- --- 600
THAN OR EQUAL
332 LD <=F LOAD FLOATING --- --- --- 600
LESS THAN OR
EQUAL
332 OR <=F OR FLOATING LESS --- --- --- 600
THAN OR EQUAL
333 AND >F AND FLOATING --- --- --- 600
GREATER THAN
333 LD >F LOAD FLOATING --- --- --- 600
GREATER THAN
333 OR >F OR FLOATING --- --- --- 600
GREATER THAN

130
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
334 AND >=F AND FLOATING --- --- --- 600
GREATER THAN OR
EQUAL
334 LD >=F LOAD FLOATING --- --- --- 600
GREATER THAN OR
EQUAL
334 OR >=F OR FLOATING --- --- --- 600
GREATER THAN OR
EQUAL
335 AND =D AND DOUBLE --- --- --- 657
FLOATING EQUAL
335 LD =D LOAD DOUBLE --- --- --- 657
FLOATING EQUAL
335 OR =D OR DOUBLE --- --- --- 657
FLOATING EQUAL
336 AND <>D AND DOUBLE --- --- --- 657
FLOATING NOT
EQUAL
336 LD <>D LOAD DOUBLE --- --- --- 657
FLOATING NOT
EQUAL
336 OR <>D OR DOUBLE --- --- --- 657
FLOATING NOT
EQUAL
337 AND <D AND DOUBLE --- --- --- 657
FLOATING LESS
THAN
337 LD <D LOAD DOUBLE --- --- --- 657
FLOATING LESS
THAN
337 OR <D OR DOUBLE --- --- --- 657
FLOATING LESS
THAN
338 AND <=D AND DOUBLE --- --- --- 657
FLOATING LESS
THAN OR EQUAL
338 LD <=D LOAD DOUBLE --- --- --- 657
FLOATING LESS
THAN OR EQUAL
338 OR <=D OR DOUBLE --- --- --- 657
FLOATING LESS
THAN OR EQUAL
339 AND >D AND DOUBLE --- --- --- 657
FLOATING GREATER
THAN
339 LD >D LOAD DOUBLE --- --- --- 657
FLOATING GREATER
THAN
339 OR >D OR DOUBLE --- --- --- 657
FLOATING GREATER
THAN
340 AND >=D AND DOUBLE --- --- --- 657
FLOATING GREATER
THAN OR EQUAL
340 LD >=D LOAD DOUBLE --- --- --- 657
FLOATING GREATER
THAN OR EQUAL
340 OR >=D OR DOUBLE --- --- --- 657
FLOATING GREATER
THAN OR EQUAL
341 AND =DT AND TIME EQUAL --- --- --- 281
341 LD =DT LOAD TIME EQUAL --- --- --- 281
341 OR =DT OR TIME EQUAL --- --- --- 281
342 AND <> DT AND TIME NOT --- --- --- 281
EQUAL

131
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
342 LD <> DT LOAD TIME NOT --- --- --- 281
EQUAL
342 OR <> DT OR TIME NOT EQUAL --- --- --- 281
343 AND < DT AND TIME LESS --- --- --- 281
THAN
343 LD < DT LOAD TIME LESS --- --- --- 281
THAN
343 OR < DT OR TIME LESS THAN --- --- --- 281
344 AND <= DT AND TIME LESS --- --- --- 281
THAN OR EQUAL
344 LD <= DT LD TIME LESS THAN --- --- --- 281
OR EQUAL
344 OR <= DT OR TIME LESS THAN --- --- --- 281
OR EQUAL
345 AND > DT AND TIME GREATER --- --- --- 281
THAN
345 LD > DT LOAD TIME GREATER --- --- --- 281
THAN
345 OR > DT OR TIME GREATER --- --- --- 281
THAN
346 AND >= DT AND TIME GREATER --- --- --- 281
THAN OR EQUAL
346 LD >= DT LOAD TIME GREATER --- --- --- 281
THAN OR EQUAL
346 OR >= DT OR TIME GREATER --- --- --- 281
THAN OR EQUAL
350 AND TST AND BIT TEST --- --- --- 174
350 LD TST LOAD BIT TEST --- --- --- 174
350 OR TST OR BIT TEST --- --- --- 174
351 AND TSTN AND BIT TEST NOT --- --- --- 174
351 LD TSTN LOAD BIT TEST NOT --- --- --- 174
351 OR TSTN OR BIT TEST NOT --- --- --- 174
400 + SIGNED BINARY ADD @+ --- --- 410
WITHOUT CARRY
401 +L DOUBLE SIGNED @+L --- --- 412
BINARY ADD
WITHOUT CARRY
402 +C SIGNED BINARY ADD @+C --- --- 414
WITH CARRY
403 +CL DOUBLE SIGNED @+CL --- --- 416
BINARY ADD WITH
CARRY
404 +B BCD ADD WITHOUT @+B --- --- 421
CARRY
405 +BL DOUBLE BCD ADD @+BL --- --- 419
WITHOUT CARRY
406 +BC BCD ADD WITH @+BC --- --- 421
CARRY
407 +BCL DOUBLE BCD ADD @+BCL --- --- 423
WITH CARRY
410 – SIGNED BINARY @– --- --- 424
SUBTRACT
WITHOUT CARRY
411 –L DOUBLE SIGNED @–L --- --- 426
BINARY SUBTRACT
WITHOUT CARRY
412 –C SIGNED BINARY @–C --- --- 430
SUBTRACT WITH
CARRY
413 –CL DOUBLE SIGNED @–CL --- --- 432
BINARY SUBTRACT
WITH CARRY

132
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
414 –B BCD SUBTRACT @–B --- --- 435
WITHOUT CARRY
415 –BL DOUBLE BCD @–BL --- --- 436
SUBTRACT
WITHOUT CARRY
416 –BC BCD SUBTRACT @–BC --- --- 440
WITH CARRY
417 –BCL DOUBLE BCD @–BCL --- --- 441
SUBTRACT WITH
CARRY
420 * SIGNED BINARY @* --- --- 443
MULTIPLY
421 *L DOUBLE SIGNED @*L --- --- 445
BINARY MULTIPLY
422 *U UNSIGNED BINARY @*U --- --- 447
MULTIPLY
423 *UL DOUBLE UNSIGNED @*UL --- --- 449
BINARY MULTIPLY
424 *B BCD MULTIPLY @*B --- --- 450
425 *BL DOUBLE BCD @*BL --- --- 452
MULTIPLY
430 / SIGNED BINARY @/ --- --- 454
DIVIDE
431 /L DOUBLE SIGNED @/L --- --- 456
BINARY DIVIDE
432 /U UNSIGNED BINARY @/U --- --- 458
DIVIDE
433 /UL DOUBLE UNSIGNED @/UL --- --- 460
BINARY DIVIDE
434 /B BCD DIVIDE @/B --- --- 462
435 /BL DOUBLE BCD DIVIDE @/BL --- --- 464
448 FSTR FLOATING POINT TO @FSTR --- --- 604
ASCII
449 FVAL ASCII TO FLOATING @FVAL --- --- 609
POINT
450 FIX FLOATING TO 16-BIT @FIX --- --- 563
451 FIXL FLOATING TO 32-BIT @FIXL --- --- 565
452 FLT 16-BIT TO FLOATING @FLT --- --- 566
453 FLTL 32-BIT TO FLOATING @FLTL --- --- 568
454 +F FLOATING-POINT @+F --- --- 570
ADD
455 –F FLOATING-POINT @–F --- --- 572
SUBTRACT
456 *F FLOATING-POINT @*F --- --- 574
MULTIPLY
457 /F FLOATING POINT @/F --- --- 576
DIVIDE
458 RAD DEGREES TO @RAD --- --- 597
RADIANS
459 DEG RADIANS TO @DEG --- --- 579
DEGREES
460 SIN SINE @SIN --- --- 581
461 COS COSINE @COS --- --- 583
462 TAN TANGENT @TAN --- --- 585
463 ASIN ARC SINE @ASIN --- --- 587
464 ACOS ARC COSINE @ACOS --- --- 589
465 ATAN ARC TANGENT @ATAN --- --- 591
466 SQRT SQUARE ROOT @SQRT --- --- 593
467 EXP EXPONENT @EXP --- --- 595
468 LOG LOGARITHM @LOG --- --- 597

133
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
470 BINS SIGNED BCD-TO- @BINS --- --- 499
BINARY
471 BCDS SIGNED BINARY-TO- @BCDS --- --- 505
BCD
472 BISL DOUBLE SIGNED @BISL --- --- 502
BCD-TO-BINARY
473 BDSL DOUBLE SIGNED @BDSL --- --- 507
BINARY-TO-BCD
474 GRY GRAY CODE @GRY --- --- 511
CONVERSION
486 SCL2 SCALING 2 @SCL2 --- --- 762
487 SCL3 SCALING 3 @SCL3 --- --- 766
490 CMND DELIVER COMMAND @CMND --- --- 1003
498 MOVL DOUBLE MOVE @MOVL --- --- 318
499 MVNL DOUBLE MOVE NOT @MVNL --- --- 320
502 BCMP2 EXPANDED BLOCK @BCMP2 --- --- 306
COMPARE
510 CJP CONDITIONAL JUMP --- --- --- 223
511 CJPN CONDITIONAL JUMP --- --- --- 223
512 FOR FOR-NEXT LOOPS --- --- --- 229
513 NEXT FOR-NEXT LOOPS --- --- --- 229
514 BREAK BREAK LOOP --- --- --- 232
515 JMP0 MULTIPLE JUMP --- --- --- 227
516 JME0 MULTIPLE JUMP END --- --- --- 227
517 MILH MULTI-INTERLOCK --- --- --- 205
DIFFERENTIATION
HOLD
518 MILR MULTI-INTERLOCK --- --- --- 205
DIFFERENTIATION
RELEASE
519 MILC MULTI-INTERLOCK --- --- --- 205
CLEAR
520 NOT NOT --- --- --- 172
521 UP CONDITION ON --- --- --- 173
522 DOWN CONDITION OFF --- --- --- 173
530 SETA MULTIPLE BIT SET @SETA --- --- 189
531 RSTA MULTIPLE BIT RESET @RSTA --- --- 189
532 SETB SINGLE BIT SET @SETB --- !SETB 192
533 RSTB SINGLE BIT RESET @RSTB --- !RSTB 192
534 OUTB SINGLE BIT OUTPUT @OUTB --- !OUTB 195
540 TMHH ONE-MS TIMER --- --- --- 244
542 TIML LONG TIMER --- --- --- 251
543 MTIM MULTI-OUTPUT --- --- --- 254
TIMER
545 CNR RESET TIMER/ @CNR --- --- 267
COUNTER
546 CNTX COUNTER --- --- --- 260
547 CNRX RESET TIMER/ --- --- --- 267
COUNTER
548 CNTRX REVERSIBLE --- --- --- 263
COUNTER
550 TIMX TIMER --- --- --- 235
551 TIMHX HIGH-SPEED TIMER --- --- --- 240
552 TMHHX ONE-MS TIMER --- --- --- 244
553 TIMLX LONG TIMER --- --- --- 251
554 MTIMX MULTI-OUTPUT --- --- --- 254
TIMER

134
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
555 TTIMX ACCUMULATIVE --- --- --- 247
TIMER
560 MOVR MOVE TO REGISTER @MOVR --- --- 340
561 MOVRW MOVE TIMER/ @MOVRW --- --- 342
COUNTER PV TO
REGISTER
562 XCGL DOUBLE DATA @XCGL --- --- 334
EXCHANGE
565 XFERC BLOCK TRANSFER @XFERC --- --- 1201
566 DISTC SINGLE WORD @DISTC --- --- 1203
DISTRIBUTE
567 COLLC DATA COLLECT @COLLC --- --- 1206
568 MOVBC MOVE BIT @MOVBC --- --- 1211
570 ASLL DOUBLE SHIFT LEFT @ASLL --- --- 355
571 ASRL DOUBLE SHIFT @ASRL --- --- 358
RIGHT
572 ROLL DOUBLE ROTATE @ROLL --- --- 362
LEFT
573 RORL DOUBLE ROTATE @RORL --- --- 365
RIGHT
574 RLNC ROTATE LEFT @RLNC --- --- 367
WITHOUT CARRY
575 RRNC ROTATE RIGHT @RRNC --- --- 371
WITHOUT CARRY
576 RLNL DOUBLE ROTATE @RLNL --- --- 369
LEFT WITHOUT
CARRY
577 RRNL DOUBLE ROTATE @RRNL --- --- 372
RIGHT WITHOUT
CARRY
578 NSFL SHIFT N-BIT DATA @NSFL --- --- 377
LEFT
579 NSFR SHIFT N-BIT DATA @NSFR --- --- 379
RIGHT
580 NASL SHIFT N-BITS LEFT @NASL --- --- 381
581 NASR SHIFT N-BITS RIGHT @NASR --- --- 387
582 NSLL DOUBLE SHIFT @NSLL --- --- 384
N-BITS LEFT
583 NSRL DOUBLE SHIFT @NSRL --- --- 389
N-BITS RIGHT
590 ++ INCREMENT BINARY @++ --- --- 393
591 ++L DOUBLE @++L --- --- 395
INCREMENT BINARY
592 –– DECREMENT BINARY @– – --- --- 397
593 – –L DOUBLE @– –L --- --- 399
DECREMENT BINARY
594 ++B INCREMENT BCD @++B --- --- 401
595 ++BL DOUBLE @++BL --- --- 403
INCREMENT BCD
596 – –B DECREMENT BCD @– –B --- --- 405
597 – –BL DOUBLE @– –BL --- --- 407
DECREMENT BCD
600 SIGN 16-BIT TO 32-BIT @SIGN --- --- 476
SIGNED BINARY
610 ANDL DOUBLE LOGICAL @ANDL --- --- 519
AND
611 ORWL DOUBLE LOGICAL OR @ORWL --- --- 522
612 XORL DOUBLE EXCLUSIVE @XORL --- --- 526
OR
613 XNRL DOUBLE EXCLUSIVE @XNRL --- --- 529
NOR

135
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
614 COML DOUBLE @COML --- --- 533
COMPLEMENT
620 ROTB BINARY ROOT @ROTB --- --- 534
621 BCNTC BIT COUNTER @BCNTC --- --- 1212
630 SSET SET STACK @SSET --- --- 666
631 DIM DIMENSION RECORD @DIM --- --- 678
TABLE
632 PUSH PUSH ONTO STACK @PUSH --- --- 669
633 FIFO FIRST IN FIRST OUT @FIFO --- --- 672
634 LIFO LAST IN FIRST OUT @LIFO --- --- 675
635 SETR SET RECORD @SETR --- --- 681
LOCATION
636 GETR GET RECORD @GETR --- --- 683
NUMBER
637 SWAP SWAP BYTES @SWAP --- --- 687
638 SNUM STACK SIZE READ @SNUM --- --- 704
639 SREAD STACK DATA READ @SREAD --- --- 707
640 SWRIT STACK DATA WRITE @SWRIT --- --- 710
641 SINS STACK DATA INSERT @SINS --- --- 713
642 SDEL STACK DATA DELETE @SDEL --- --- 716
650 LEN$ STRING LENGTH @LEN$ --- --- 1173
652 LEFT$ GET STRING LEFT @LEFT$ --- --- 1164
653 RGHT$ GET STRING RIGHT @RGHT$ --- --- 1166
654 MID$ GET STRING MIDDLE @MID$ --- --- 1168
656 +$ CONCATENATE @+$ --- --- 1161
STRING
657 INS$ INS$ @INS$ --- --- 1184
658 DEL$ DELETE STRING @DEL$ --- --- 1178
660 FIND$ FIND IN STRING @FIND$ --- --- 1171
661 RPLC$ REPLACE IN STRING @RPLC$ --- --- 1175
664 MOV$ MOV STRING @MOV$ --- --- 1159
665 XCHG$ EXCHANGE STRING @XCHG$ --- --- 1180
666 CLR$ CLEAR STRING @CLR$ --- --- 1182
670 AND =$ AND STRING EQUALS --- --- --- 1187
670 LD =$ LOAD STRING --- --- --- 1187
EQUALS
670 OR =$ OR STRING EQUALS --- --- --- 1187
671 AND <>$ AND STRING NOT --- --- --- 1187
EQUAL
671 LD <>$ LOAD STRING NOT --- --- --- 1187
EQUAL
671 OR <>$ OR STRING NOT --- --- --- 1187
EQUAL
672 AND <$ AND STRING LESS --- --- --- 1187
THAN
672 LD <$ LOAD STRING LESS --- --- --- 1187
THAN
672 OR <$ OR STRING LESS --- --- --- 1187
THAN
673 AND <=$ AND STRING LESS --- --- --- 1187
THAN OR EQUALS
673 LD <=$ LOAD STRING LESS --- --- --- 1187
THAN OR EQUAL
673 OR <=$ OR STRING LESS --- --- --- 1187
THAN OR EQUALS
674 AND >$ AND STRING --- --- --- 1187
GREATER THAN

136
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
674 LD >$ LOAD STRING --- --- --- 1187
GREATER THAN
674 OR >$ OR STRING GREATER --- --- --- 1187
THAN
675 AND >=$ AND STRING --- --- --- 1187
GREATER THAN OR
EQUALS
675 LD >=$ LOAD STRING --- --- --- 1187
GREATER THAN OR
EQUALS
675 OR >=$ OR STRING GREATER --- --- --- 1187
THAN OR EQUALS
680 LMT LIMIT CONTROL @LMT --- --- 741
681 BAND DEAD BAND @BAND --- --- 743
CONTROL
682 ZONE DEAD ZONE @ZONE --- --- 746
CONTROL
685 TPO TIME- --- --- --- 749
PROPORTIONAL
OUTPUT
690 MSKS SET INTERRUPT @MSKS --- --- 798
MASK
691 CLI CLEAR INTERRUPT @CLI --- --- 810
692 MSKR READ INTERRUPT @MSKR --- --- 805
MASK
693 DI DISABLE @DI --- --- 814
INTERRUPTS
694 EI ENABLE --- --- --- 816
INTERRUPTS
700 FREAD READ DATA FILE @FREAD --- --- 1045
701 FWRIT WRITE DATA FILE @FWRIT --- --- 1052
720 EXPLT EXPLICIT MESSAGE @EXPLT --- --- 1013
SEND
721 EGATR EXPLICIT GET @EGATR --- --- 1021
ATTRIBUTE
722 ESATR EXPLICIT SET @ESATR --- --- 1028
ATTRIBUTE
723 ECHRD EXPLICIT WORD @ECHRD --- --- 1034
READ
724 ECHWR EXPLICIT WORD @ECHWR --- --- 1038
CLEAR
730 CADD CALENDAR ADD @CADD --- --- 1061
731 CSUB CALENDAR @CSUB --- --- 1065
SUBTRACT
735 DATE CLOCK ADJUSTMENT @DATE --- --- 1073
750 GSBS GLOBAL @GSBS --- --- 786
SUBROUTINE CALL
751 GSBN GLOBAL --- --- --- 794
SUBROUTINE ENTRY
752 GRET GLOBAL --- --- --- 797
SUBROUTINE
RETURN
801 BEND BLOCK PROGRAM --- --- --- 1128
END
802 IF CONDITIONAL --- --- --- 1133
BRANCHING BLOCK
802 IF CONDITIONAL --- --- --- 1133
BRANCHING BLOCK
802 IF NOT CONDITIONAL --- --- --- 1133
BRANCHING BLOCK
NOT
803 ELSE ELSE --- --- --- 1133

137
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
804 IEND IF END --- --- --- 1133
805 WAIT ONE CYCLE AND --- --- --- 1140
WAIT
805 WAIT ONE CYCLE AND --- --- --- 1140
WAIT
805 WAIT NOT ONE CYCLE AND --- --- --- 1140
WAIT NOT
806 EXIT CONDITIONAL BLOCK --- --- --- 1137
EXIT
806 EXIT CONDITIONAL BLOCK --- --- --- 1137
EXIT
806 EXIT NOT CONDITIONAL BLOCK --- --- --- 1137
EXIT NOT
809 LOOP LOOP --- --- --- 1153
810 LEND LOOP END --- --- --- 1153
810 LEND LOOP END --- --- --- 1153
810 LEND NOT LOOP END NOT --- --- --- 1153
811 BPPS BLOCK PROGRAM --- --- --- 1131
PAUSE
812 BPRS BLOCK PROGRAM --- --- --- 1131
RESTART
813 TIMW TIMER WAIT --- --- --- 1144
814 CNTW COUNTER WAIT --- --- --- 1147
815 TMHW HIGH-SPEED TIMER --- --- --- 1150
WAIT
816 TIMWX TIMER WAIT --- --- --- 1144
817 TMHWX HIGH-SPEED TIMER --- --- --- 1150
WAIT
818 CNTWX COUNTER WAIT --- --- --- 1147
820 TKON TASK ON @TKON --- --- 1192
821 TKOF TASK OFF @TKOF --- --- 1196
840 PWR EXPONENTIAL @PWR --- --- 599
POWER
841 FIXD DOUBLE FLOATING @FIXD --- --- 620
TO 16-BIT BINARY
842 FIXLD DOUBLE FLOATING @FIXLD --- --- 621
TO 32-BIT BINARY
843 DBL 16-BIT BINARY TO @DBL --- --- 623
DOUBLE FLOATING
844 DBLL 32-BIT BINARY TO @DBLL --- --- 624
DOUBLE FLOATING
845 +D DOUBLE FLOATING- @+D --- --- 626
POINT ADD
846 −D DOUBLE FLOATING- @−D --- --- 628
POINT SUBTRACT
847 *D DOUBLE FLOATING- @*D --- --- 630
POINT MULTIPLY
848 /D DOUBLE FLOATING- @/D --- --- 632
POINT DIVIDE
849 RADD DOUBLE DEGREES @RADD --- --- 634
TO RADIANS
850 DEGD DOUBLE RADIANS TO @RADD --- --- 636
DEGREES
851 SIND DOUBLE SINE @SIND --- --- 637
852 COSD DOUBLE COSINE @COSD --- --- 639
853 TAND DOUBLE TANGENT @TAND --- --- 641
854 ASIND DOUBLE ARC SINE @ASIND --- --- 643
855 ACOSD DOUBLE ARC @ACOSD --- --- 645
COSINE

138
Elenco delle istruzioni in base al codice funzione Capitolo 2-4

Codice Codice Istruzione Differenziazione Differenziazione Aggiornamento Pagina


funzione mnemonico sul fronte di sul fronte di immediato
salita discesa
856 ATAND DOUBLE ARC @ATAND --- --- 647
TANGENT
857 SQRTD DOUBLE SQUARE @SQRTD --- --- 649
ROOT
858 EXPD DOUBLE EXPONENT @EXPD --- --- 651
859 LOGD DOUBLE LOGARITHM @LOGD --- --- 653
860 PWRD DOUBLE @PWRD --- --- 655
EXPONENTIAL
POWER
880 INI MODE CONTROL @INI --- --- 823
881 PRV HIGH-SPEED @PRV --- --- 827
COUNTER PV READ
882 CTBL COMPARISON TABLE @CTBL --- --- 837
LOAD
883 PRV2 COUNTER @PRV2 --- --- 833
FREQUENCY
CONVERT
885 SPED SPEED OUTPUT @SPED --- --- 841
886 PULS SET PULSES @PULS --- --- 846
887 PLS2 PULSE OUTPUT @PLS2 --- --- 849
888 ACC ACCELERATION @ACC --- --- 855
CONTROL
889 ORG ORIGIN SEARCH @ORG --- --- 862
891 PWN PULSE WITH @PWN --- --- 865
VARIABLE DUTY
FACTOR

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.

3-1 Descrizioni delle istruzioni: notazione e layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148


3-2 Aggiornamentidelle istruzioni e nuove istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
3-2-1 Aggiornamenti per CPU della serie CS versione 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
3-2-2 Aggiornamenti per CPU CS1/H e CJ1/H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
3-3 Istruzioni di ingresso sequenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
3-3-1 LOAD: LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
3-3-2 LOAD NOT: LD NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
3-3-3 AND: AND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
3-3-4 AND NOT: AND NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
3-3-5 OR: OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
3-3-6 OR NOT: OR NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
3-3-7 AND LOAD: AND LD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
3-3-8 OR LOAD: OR LD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
3-3-9 Istruzioni di aggiornamento differenziato e immediato . . . . . . . . . . . . . . . . . . . . . . . . . 169
3-3-10 Tempistica operativa delle istruzioni di I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
3-3-11 Bit TR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
3-3-12 NOT: NOT(520) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
3-3-13 CONDITION ON/OFF UP(521) e DOWN(522) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
3-3-14 BIT TEST: TST(350) e TSTN(351) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
3-4 Istruzioni di uscita sequenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
3-4-1 OUTPUT: OUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
3-4-2 OUTPUT NOT: OUT NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
3-4-3 KEEP: KEEP(011) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
3-4-4 DIFFERENTIATE UP/DOWN: DIFU(013) e DIFD(014). . . . . . . . . . . . . . . . . . . . . . . 184
3-4-5 SET e RESET SET e RSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
3-4-6 MULTIPLE BIT SET/RESET: SETA(530)/RSTA(531) . . . . . . . . . . . . . . . . . . . . . . . . 189
3-4-7 SINGLE BIT SET/RESET: SETB(532)/RSTB(533) . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
3-4-8 SINGLE BIT OUTPUT: OUTB(534) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
3-5 Istruzioni di controllo sequenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
3-5-1 END: END(001) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
3-5-2 NO OPERATION: NOP(000). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
3-5-3 Panoramica sulle istruzioni di interblocco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
3-5-4 INTERLOCK e INTERLOCK CLEAR: IL(002) e ILC(003) . . . . . . . . . . . . . . . . . . . . 201
3-5-5 MULTI-INTERLOCK DIFFERENTIATION HOLD,
MULTI-INTERLOCK DIFFERENTIATION RELEASE e
MULTI-INTERLOCK CLEAR: MILH(517), MILR(518) e MILC(519) . . . . . . . . . . . 205
3-5-6 JUMP e JUMP END: JMP(004) e JME(005). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
3-5-7 CONDITIONAL JUMP: CJP(510)/CJPN(511) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
3-5-8 MULTIPLE JUMP e JUMP END: JMP0(515) e JME0(516) . . . . . . . . . . . . . . . . . . . . 227
3-5-9 FOR-NEXT LOOPS: FOR(512)/NEXT(513) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
3-5-10 BREAK LOOP: BREAK(514) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
3-6 Istruzioni di temporizzatore e contatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
3-6-1 TIMER: TIM/TIMX(550) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
3-6-2 HIGH-SPEED TIMER: TIMH(015)/TIMHX(551) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
3-6-3 ONE-MS TIMER: TMHH(540)/TMHHX(552). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
3-6-4 ACCUMULATIVE TIMER: TTIM(087)/TTIMX(555) . . . . . . . . . . . . . . . . . . . . . . . . 247
3-6-5 LONG TIMER: TIML(542)/TIMLX(553). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
3-6-6 MULTI-OUTPUT TIMER: MTIM(543)/MTIMX(554) . . . . . . . . . . . . . . . . . . . . . . . . 254

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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .