Manuale CX-Programmer PDF
Manuale CX-Programmer PDF
W340-IT2-11
Controllori programmabili
MANUALE DI RIFERIMENTO
Controllori programmabili
PER LE ISTRUZIONI
!PERICOLO Indica una situazione di immediato pericolo che, se non evitata, sarà causa di lesioni
gravi o mortali.
!AVVERTENZA Indica una situazione di potenziale pericolo che, se non evitata, può essere causa di
lesioni gravi o mortali.
!Attenzione Indica una situazione di potenziale pericolo che, se non evitata, può essere causa di
lesioni non gravi a persone o danni a proprietà.
Supporti visivi
Nella colonna sinistra del manuale sono riportate le seguenti intestazioni per
facilitare l'individuazione dei diversi tipi di informazioni.
Nota Indica informazioni di particolare rilevanza per un efficiente e vantaggioso
utilizzo del prodotto.
1,2,3... 1. Indica un qualche tipo di elenco, quali procedure, liste di controllo, ecc.
OMRON, 1999
Tutti i diritti riservati. Nessuna parte della presente pubblicazione può essere riprodotta, memorizzata in un sistema, trasmessa
in qualsivoglia formato o mezzo, meccanico, elettronico, tramite fotocopia, registrazione o altro, senza previo consenso
scritto di OMRON.
Non viene assunta alcuna responsabilità palese in relazione all'uso delle informazioni contenute nel presente manuale. Inoltre,
poiché OMRON è alla costante ricerca della migliore qualità per i propri prodotti, le informazioni contenute nel presente
manuale sono soggette a modifiche senza preavviso. Il presente manuale è stato redatto con la massima attenzione e tuttavia
OMRON non assume alcuna responsabilità in relazione ad eventuali errori od omissioni, né assume alcuna responsabilità in
relazione ad eventuali danni derivanti dalle informazioni in esso contenute.
v
Versioni delle CPU della serie CS/CJ
Versioni delle Per gestire le CPU della serie CS/CJ in base alle differenze di funzionalità
presenti negli aggiornamenti, è stato introdotto il concetto di "versione della
CPU CPU". Questo concetto si applica alle CPU CS1-H, CJ1-H, CJ1M e CS1D.
Notazione delle versioni La versione della CPU è riportata a destra del numero di lotto, sulla targhetta
delle CPU sui prodotti dei prodotti per i quali vengono gestite le versioni, come illustrato di seguito.
CPU della serie CS/CJ Targhetta prodotto
CS1H-CPU67H
CPU UNIT
vi
Versione della CPU
vii
Versione della CPU
È possibile apporre queste etichette sulla parte frontale delle CPU precedenti
per distinguerle da quelle di versioni differenti.
viii
Notazione delle Nel presente manuale la versione di una CPU viene fornita come illustrato
versioni delle CPU nella seguente tabella.
Targhetta prodotto CPU su cui non viene fornita alcuna CPU per le quali viene fornita una versione
versione (Ver. @.@)
Significato
Designazione di singole CPU CS1-H precedenti alla versione 2.0 CPU CS1H-CPU67H versione @.@
CPU (ad esempio
CS1H-CPU67H)
Designazione dei gruppi CPU CS1-H precedenti alla versione 2.0 CPU CS1-H versione @.@
delle CPU (ad esempio
le CPU CS1-H)
Designazione di CPU della serie CS precedenti alla versione CPU della serie CS versione @.@
un'intera serie di CPU 2.0
(ad esempio le CPU
della serie CS)
ix
Versioni di CPU e numeri di lotto
Serie Modello Dati di produzione
Prece- Settembre Ottobre Novembre Dicembre Giugno Successiva
dente 2003 2003 2003 2003 2004
Serie CPU CS1 CS1@-
CS CPU@@
Nessuna versione
della CPU
x
Funzioni supportate dalla versione della CPU
CPU CS1-H (CS1@-CPU@@H)
Funzioni Versione della CPU
CPU precedenti alla CPU versione 2.0
versione 2.0
Scaricamento e caricamento di singoli task --- OK
Protezione da lettura migliorata mediante password --- OK
Protezione da scrittura dai comandi FINS inviati alle CPU tramite --- OK
reti
Connessioni di rete in linea senza tabelle degli I/O --- OK
Comunicazioni tramite un massimo di 8 livelli di rete --- OK
Connessione in linea ai PLC tramite PT della serie NS OK a partire dal OK
numero di lotto 030201
Impostazione dei canali del primo slot OK per un massimo di OK per un massimo di
8 gruppi 64 gruppi
Trasferimento automatico all'accensione del sistema senza un file --- OK
dei parametri
Rilevamento automatico del metodo di allocazione degli I/O per il --- ---
trasferimento automatico all'accensione del sistema
Ore di inizio e fine del funzionamento --- OK
Nuove istruzioni MILH, MILR, MILC --- OK
di applicazione =DT, <>DT, <DT, <=DT, >DT, >=DT --- OK
BCMP2 --- OK
GRY OK a partire dal OK
numero di lotto 030201
TPO --- OK
DSW, TKY, HKY, MTR, 7SEG --- OK
EXPLT, EGATR, ESATR, ECHRD, ECHWR --- OK
Lettura/Scrittura da/su Unità bus CPU bus tramite OK a partire dal OK
IORD/IOWR numero di lotto 030418
PRV2 --- ---
xi
CPU CS1D
Funzioni CPU CS1D per sistemi a due CPU CPU CS1D per
(CS1D-CPU@@H) sistemi a
singola CPU
(CS1D-CPU@@S)
CPU precedenti alla CPU versione 1.1 CPU versione 2.0
versione 1.1
Funzione CPU duplex OK OK ---
esclusiva Sostituzione in linea OK OK OK
delle CPU
CS1D Moduli di alimentazione duplex OK OK OK
Due moduli Controller Link OK OK OK
Due moduli Ethernet --- OK OK
Scaricamento e caricamento di singoli task --- --- OK
Protezione da lettura migliorata mediante --- --- OK
password
Protezione da scrittura dai comandi FINS --- --- OK
inviati alle CPU tramite reti
Connessioni di rete in linea senza tabelle --- --- OK
degli I/O
Comunicazioni tramite un massimo di 8 livelli --- --- OK
di rete
Connessione in linea ai PLC tramite PT della --- --- OK
serie NS
Impostazione dei canali del primo slot --- --- OK per un massimo
di 64 gruppi
Trasferimento automatico all'accensione del --- --- OK
sistema senza un file dei parametri
Rilevamento automatico del metodo di --- --- ---
allocazione degli I/O per il trasferimento
automatico all'accensione del sistema
Ore di inizio e fine del funzionamento --- OK OK
Nuove MILH, MILR, MILC --- --- OK
istruzioni di =DT, <>DT, <DT, <=DT, >DT, --- --- OK
applicazione >=DT
BCMP2 --- --- OK
GRY --- --- OK
TPO --- --- OK
DSW, TKY, HKY, MTR, 7SEG --- --- OK
EXPLT, EGATR, ESATR, --- --- OK
ECHRD, ECHWR
Lettura/Scrittura da/su moduli --- --- OK
CPU bus tramite IORD/IOWR
PRV2 --- --- ---
xii
CPU CJ1-H/CJ1M
Funzioni CPU CJ1-H CPU CJ1M, CPU CJ1M,
(CJ1@-CPU@@H) eccetto i modelli di base modelli di base
(CJ1M-CPU@@) (CJ1M-
CPU11/21)
CPU CPU versione CPU CPU versione CPU versione
precedenti alla 2.0 precedenti alla 2.0 2.0
versione 2.0 versione 2.0
Scaricamento e caricamento di --- OK --- OK OK
singoli task
Protezione da lettura migliorata --- OK --- OK OK
mediante password
Protezione da scrittura dai --- OK --- OK OK
comandi FINS inviati alle CPU
tramite reti
Connessioni di rete in linea OK, ma solo se OK OK, ma solo se OK OK
senza tabelle degli I/O all'accensione all'accensione
del sistema è del sistema è
impostata l'allo- impostata l'allo-
cazione delle cazione delle
tabelle degli I/O tabelle degli I/O
Comunicazioni tramite un OK per un mas- OK per un mas- OK per un mas- OK per un mas- OK per un mas-
massimo di 8 livelli di rete simo di 8 gruppi simo di simo di 8 gruppi simo di simo di
64 gruppi 64 gruppi 64 gruppi
Connessione in linea ai PLC OK a partire dal OK OK a partire dal OK OK
tramite PT della serie NS numero di lotto numero di lotto
030201 030201
Impostazione dei canali del --- OK --- OK OK
primo slot
Trasferimento automatico --- OK --- OK OK
all'accensione del sistema
senza un file dei parametri
Rilevamento automatico del --- OK --- OK OK
metodo di allocazione degli I/O
per il trasferimento automatico
all'accensione del sistema
Ore di inizio e fine del --- OK --- OK OK
funzionamento
Nuove MILH, MILR, MILC --- OK --- OK OK
istruzioni =DT, <>DT, <DT, --- OK --- OK OK
di applica- <=DT, >DT, >=DT
zione
BCMP2 --- OK OK OK OK
GRY OK a partire dal OK OK a partire dal OK OK
numero di lotto numero di lotto
030201 030201
TPO --- OK --- OK OK
DSW, TKY, HKY, --- OK --- OK OK
MTR, 7SEG
EXPLT, EGATR, --- OK --- OK OK
ESATR, ECHRD,
ECHWR
Lettura/Scrittura --- OK --- OK OK
da/su Unità bus
CPU bus tramite
IORD/IOWR
PRV2 --- --- --- OK, ma solo per OK, ma solo per
i modelli con I/O i modelli con I/O
integrati integrati
xiii
Funzioni supportate dalle CPU versione 3.0 o successiva
CPU CS1-H (CS1@-CPU@@H)
Funzioni Versione della CPU
CPU precedenti Versione 3.0
alla versione 2.0,
versione 2.0
Blocchi funzione (supportati da CX-Programmer versione 5.0 o --- OK
successiva)
Gateway seriale (conversione dei comandi FINS in comandi --- OK
CompoWay/F a livello di porta seriale integrata)
Memoria dei commenti (nella memoria flash interna) --- OK
Dati di backup semplice espansi --- OK
Nuove istruzioni TXDU(256), RXDU(255) (supporto per la comuni- --- OK
di applicazione cazione senza protocollo tra moduli di comunica-
zione seriale e CPU della versione 1.2 o
successiva)
Istruzioni di conversione del modello: --- OK
XFERC(565), DISTC(566), COLLC(567),
MOVBC(568), BCNTC(621)
Istruzioni speciali per blocchi funzione: --- OK
GETID(286)
Funzioni di Istruzioni TXD(235) e RXD(236) (supporto per la --- OK
istruzione comunicazione senza protocollo tra schede di
addizionali comunicazione seriale e CPU della versione 1.2 o
successiva)
xiv
Versioni delle CPU e dispositivi di programmazione
Per consentire l'utilizzo delle funzioni aggiunte alla CPU versione 2.0, è
necessario utilizzare CX-Programmer versione 4.0 o successiva.
Per consentire l'utilizzo delle funzioni aggiunte ai blocchi funzione per le CPU
versione 3.0, è necessario utilizzare CX-Programmer versione 5.0 o
successiva.
Nelle seguenti tabelle è illustrata la relazione tra le versioni delle CPU e le
versioni di CX-Programmer.
Versioni delle CPU e dispositivi di programmazione
CPU Funzioni CX-Programmer Console di
Ver- Ver- Ver- Versione program-
sione 3.2 sione sione 5.0 o mazione
o prece- 3.3 4.0 succes-
dente siva
CPU CJ1M, Funzioni Con utilizzo delle nuove --- --- OK OK Nessuna
modelli di base, aggiuntive della funzioni restrizione
versione della versione 2.0 Senza utilizzo delle --- OK OK OK
CPU 2.0 nuove funzioni
CPU CS1-H, CJ1- Funzioni Con utilizzo delle nuove --- --- OK OK
H e CJ1M, eccetto aggiuntive della funzioni
modelli di base, versione 2.0 Senza utilizzo delle OK OK OK OK
versione della nuove funzioni
CPU 2.0
CPU CS1D per Funzioni Con utilizzo delle nuove --- --- OK OK
sistemi a singola aggiuntive della funzioni
CPU, versione versione 2.0 Senza utilizzo delle OK
della CPU 2.0 nuove funzioni
CPU CS1D per Funzioni Con utilizzo delle nuove --- --- OK OK
sistemi a due aggiuntive della funzioni
CPU, versione versione 1.1 Senza utilizzo delle OK OK OK OK
della CPU 1. nuove funzioni
CPU della serie Funzioni Con utilizzo dei blocchi --- --- --- OK
CS/CJ versione aggiuntive per funzione
3.0 blocchi funzione Senza utilizzo dei blocchi OK OK OK OK
della versione 3.0 funzione
Nota Come illustrato sopra, se non si utilizzano le funzioni aggiunte alla versione
2.0 o alla versione 1.1, non è necessario eseguire l'aggiornamento a CX-
Programmer versione 4.0.
Impostazione del tipo di La versione della CPU non influisce sull'impostazione effettuata per il tipo di
dispositivo dispositivo in CX-Programmer. Selezionare il tipo di dispositivo come illustrato
nella seguente tabella, indipendentemente dalla versione della CPU.
Serie Gruppo CPU Modello di CPU Impostazione del tipo di dispositivo in
CX-Programmer versione 4.0 o
successiva
Serie CS CPU CS1-H CS1G-CPU@@H CS1G-H
CS1H-CPU@@H CS1H-H
CPU CS1D per sistemi a due CPU CS1D-CPU@@H CS1D-H (o CS1H-H)
CPU CS1D per sistemi a singola CPU CS1D-CPU@@S CS1D-S
Serie CJ CPU CJ1-H CJ1G-CPU@@H CJ1G-H
CJ1H-CPU@@H CJ1H-H
CPU CJ1M CJ1M-CPU@@ CJ1M
xv
Risoluzione dei problemi relativi alle versioni delle CPU in CX-Programmer
Problema Causa Soluzione
Utilizzando CX-Programmer Controllare il programma o
versione 4.0 o successiva, si è cambiare la CPU in cui si
tentato di scaricare un desidera scaricare il
programma che contiene programma con una CPU
istruzioni supportate solo dalle versione 2.0 o successiva.
CPU versione 2.0 o successiva in
una CPU precedente alla
Dopo la visualizzazione del messaggio sopra versione 2.0.
riportato, verrà visualizzato un errore di compilazione
nella scheda Compile (Compila) della finestra di
output.
Utilizzando CX-Programmer Controllare le impostazioni
versione 4.0 o successiva, si è delle impostazioni del PLC o
tentato di scaricare impostazioni cambiare la CPU in cui si
del PLC che contengono desidera scaricare le
impostazioni supportate solo impostazioni con una CPU
dalle CPU versione 2.0 o versione 2.0 o successiva.
successiva, ovvero non impostate
sui valori predefiniti, in una CPU
precedente alla versione 2.0.
“????” viene visualizzato in un programma trasferito Si è utilizzato CX-Programmer Non è possibile caricare le
dal PLC a CX-Programmer. versione 3.3 o precedente per nuove istruzioni utilizzando
caricare un programma che CX-Programmer versione 3.3
contiene istruzioni supportate o precedente. Utilizzare CX-
solo dalle CPU versione 2.0 o Programmer versione 4.0 o
successiva da una CPU versione successiva.
2.0 o successiva.
xvi
SOMMARIO
PRECAUZIONI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
1 Destinatari del manuale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
2 Precauzioni generali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
3 Precauzioni per la sicurezza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
4 Precauzioni relative all'ambiente operativo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
5 Precauzioni per le applicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvi
6 Conformità alle direttive dell'Unione Europea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx
CAPITOLO 1
Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1-1 Caratteristiche generali delle istruzioni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1-2 Controlli dell'esecuzione di istruzioni. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
CAPITOLO 2
Sommario delle istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2-1 Classificazioni in base alla funzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2-2 Istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2-3 Elenco alfabetico delle istruzioni in base al codice mnemonico. . . . . . . . . . . . . . . . . . . . . . 108
2-4 Elenco delle istruzioni in base al codice funzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
CAPITOLO 3
Istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
3-1 Descrizioni delle istruzioni: notazione e layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
3-2 Aggiornamentidelle istruzioni e nuove istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
3-3 Istruzioni di ingresso sequenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
3-4 Istruzioni di uscita sequenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
3-5 Istruzioni di controllo sequenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
3-6 Istruzioni di temporizzatore e contatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
3-7 Istruzioni di confronto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
3-8 Istruzioni di spostamento dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
3-9 Istruzioni di scorrimento dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
3-10 Istruzioni di incremento e decremento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
3-11 Istruzioni matematiche con simboli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
3-12 Istruzioni di conversione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
3-13 Istruzioni logiche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
3-14 Istruzioni matematiche speciali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
3-15 Istruzioni matematiche a virgola mobile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
3-16 Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) 613
3-17 Istruzioni di elaborazione dei dati delle tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
3-18 Istruzioni di controllo dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
3-19 Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
3-20 Istruzioni di controllo degli interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
xvii
SOMMARIO
3-21 Istruzioni per contatore veloce e uscita a impulsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
3-22 Istruzioni di step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
3-23 Istruzioni per moduli di I/O di base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
3-24 Istruzioni per la comunicazione seriale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
3-25 Istruzioni di rete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
3-26 Istruzioni per la memoria dei file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
3-27 Istruzioni di visualizzazione: DISPLAY MESSAGE: MSG(046). . . . . . . . . . . . . . . . . . . . . 1058
3-28 Istruzioni per l'orologio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
3-29 Istruzioni di debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075
3-30 Istruzioni di diagnostica per malfunzionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
3-31 Altre istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
3-32 Istruzioni di programmazione a blocchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124
3-33 Istruzioni di elaborazione delle stringhe di testo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158
3-34 Istruzioni di controllo dei task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192
3-35 Istruzioni di conversione del modello (solo CPU versione 3.0 o successiva) . . . . . . . . . . . . 1199
CAPITOLO 4
Tempi di esecuzione delle istruzioni e numero di step . . . . 1219
4-1 Tempi di esecuzione delle istruzioni e numero di step per la serie CS . . . . . . . . . . . . . . . . . 1221
4-2 Tempi di esecuzione delle istruzioni e numero di step per la serie CJ . . . . . . . . . . . . . . . . . 1250
Appendices
A Tabella dei codici ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1287
Storico delle revisioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295
xviii
Informazioni sul manuale
Nel presente manuale viene fornita una descrizione una descrizione delle istruzioni di
programmazione per i diagrammi ladder dei moduli CPU supportate dai controllori programmabili
(PLC) della serie CS/CJ. I prodotti della serie CS e della serie CJ sono suddivisi come illustrato nella
seguente tabella.
Modulo Serie CS Serie CJ
CPU CPU CS1-H: CS1H-CPU@@H CPU CJ1-H: CJ1H-CPU@@H
CS1G-CPU@@H CJ1G-CPU@@H
CJ1G-CPU@@P
CPU CS1: CS1H-CPU@@-EV1 CPU CJ1: CJ1G-CPU@@-EV1
CS1G-CPU@@-EV1 CPU CJ1M: CJ1M-CPU@@
CPU CS1D:
CPU CS1D per sistemi a due CPU:
CS1D-CPU@@H
CPU CS1D per sistemi a singola CPU:
CS1D-CPU@@S
CPU con processo CS1D:
CS1D-CPU@@P
Moduli di I/O di base Moduli di I/O di base della serie CS Moduli di I/O di base della serie CJ
Moduli di I/O speciali Moduli di I/O speciali della serie CS Moduli di I/O speciali della serie CJ
Unità bus CPU Unità bus CPU della serie CS Unità bus CPU della serie CJ
Moduli di Moduli di alimentazione della serie CS Moduli di alimentazione della serie CJ
alimentazione
Leggere attentamente il presente manuale e tutti i manuali correlati elencati nella tabella riportata nella
pagina seguente e accertarsi di avere ben compreso le informazioni fornite prima di procedere alla
programmazione o all'utilizzo delle CPU della serie CS/CJ in un sistema PLC.
Capitolo 1 introduce i PLC della serie CS/CJ in base alla serie di istruzioni supportate.
Capitolo 2 fornisce vari elenchi di istruzioni che è possibile utilizzare come riferimento.
Capitolo 3 descrive le singole istruzioni della serie di istruzioni per la serie CS/CJ.
Capitolo 4 fornisce i tempi di esecuzione delle istruzioni e il numero di step necessari per ciascuna
istruzione della serie CS/CJ.
xix
Informazioni sul manuale (continua)
Nome N. cat. Descrizione
Serie SYSMAC CS/CJ W340 Fornisce una descrizione delle istruzioni di
CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, programmazione utilizzate nei diagrammi ladder
CS1D-CPU@@H, CS1D-CPU@@S, CJ1G-CPU@@, supportate dai PLC della serie CS/CJ (il presente
CJ1M-CPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H manuale).
Controllori programmabili - Manuale di riferimento delle
istruzioni
Serie SYSMAC CS/CJ W394 Fornisce informazioni sulla programmazione e
CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, altri metodi per l'utilizzo delle funzioni dei PLC
CS1D-CPU@@H, CS1D-CPU@@S, CJ1G-CPU@@, della serie CS/CJ
CJ1M-CPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H
Controllori programmabili - Manuale di programmazione
Serie SYSMAC CS W339 Fornisce informazioni generali sui PLC della serie
CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H CS, ne descrive le caratteristiche di
Manuale dell'operatore dei controllori programmabili progettazione, le procedure di installazione e
manutenzione nonché altre operazioni di base
per l'utilizzo dei PLC.
Serie SYSMAC CJ W393 Fornisce informazioni generali sui PLC della serie
CJ1G-CPU@@, CJ1M-CPU@@, CJ1G-CPU@@P, CJ, ne descrive le caratteristiche di progettazione,
CJ1G/H-CPU@@H le procedure di installazione e manutenzione
Controllori programmabili - Manuale dell'operatore nonché altre operazioni di base per l'utilizzo dei
PLC
CPU CJ1M-CPU21/22/23 della serie CJ con I/O integrati W395 Descrive le funzioni degli I/O integrati delle
Manuale dell'operatore CPU CJ1M
SYSMAC CS Series W405 Fornisce informazioni generali e descrive le
CS1D-CPU@@H CPU Units caratteristiche di progettazione, le procedure di
CS1D-CPU@@S CPU Units installazione e manutenzione nonché altre
CS1D-DPL1 Duplex Unit operazioni di base per un sistema duplex basato
CS1D-PA207R Power Supply Unit sulla CPU CS1D.
Duplex System Operation Manual
SYSMAC CS/CJ Series W341 Fornisce informazioni sui metodi di
CQM1H-PRO01-E, C200H-PRO27-E, CQM1-PRO01-E programmazione e utilizzo dei PLC della serie
Programming Consoles Operation Manual CS/CJ mediante una console di programmazione.
SYSMAC CS/CJ Series W342 Descrive i comandi di comunicazione FINS e dei
CS1G/H-CPU@@-EV1, CS1G/H-CPU@@H, PLC della serie C (Host Link) utilizzati con i PLC
CS1D-CPU@@H, CS1D-CPU@@S, CJ1M-CPU@@, della serie CS/CJ.
CJ1G-CPU@@, CJ1G-CPU@@P, CJ1G/H-CPU@@H,
CS1W-SCB21-V1/41-V1, CS1W-SCU21-V1,
CJ1W-SCU21-V1/41-V1
Communications Commands Reference Manual
SYSMAC WS02-CXP@@-E W414 Fornisce informazioni sull'utilizzo di CX-Program-
CX-Programmer Operation Manual Version 3.@ mer, un dispositivo di programmazione software
SYSMAC WS02-CXP@@-E W425 che supporta i PLC della serie CS/CJ, e del pro-
CX-Programmer Operation Manual Version 4.@ gramma CX-Net incluso in CX-Programmer.
SYSMAC WS02-CXP@@-E W437
CX-Programmer Operation Manual Version 5.@
xx
Nome N. cat. Descrizione
SYSMAC WS02-CXP@@-E W438 Descrive specifiche e metodi operativi relativi ai
CX-Programmer Operation Manual Function Blocks blocchi funzione. Queste informazioni sono rile-
vanti solo se si utilizzano i blocchi funzione con
CX-Programmer versione 5.0 e CPU CJ1-H/
CJ1M versione 3.0. Per informazioni dettagliate
su altre funzionalità di CX-Programmer versione
5.0, fare riferimento al manuale CX-Programmer
Operation Manual Version 5.@ (W437). 5.0.
SYSMAC CS/CJ Series W336 Descrive l'utilizzo dei moduli e delle schede di
CS1W-SCB21-V1/41-V1, CS1W-SCU21-V1, comunicazione seriale per la comunicazione
CJ1W-SCU21-V1/41-V1 seriale con i dispositivi esterni, incluso l'impiego
Serial Communications Boards/Units Operation Manual dei protocolli di sistema standard per i prodotti
OMRON.
SYSMAC WS02-PSTC1-E W344 Fornisce informazioni sull'utilizzo di CX-Protocol
CX-Protocol Operation Manual per la creazione di protocol macro, impiegate
come sequenze di comunicazione nella comuni-
cazione con dispositivi esterni.
!AVVERTENZA La mancata lettura o comprensione delle informazioni fornite in questo manuale può
fare insorgere condizioni di rischio e conseguenti lesioni personali, anche mortali,
danneggiamento o funzionamento non corretto del prodotto. Leggere ogni sezione
per intero e accertarsi di avere compreso le informazioni in essa contenute e quelle
correlate prima di eseguire una delle procedure o operazioni descritte.
xxi
xxii
PRECAUZIONI
In questo capitolo sono riportate le precauzioni generali per l'uso dei controllori programmabili (PLC) della serie CS/CJ e
dei dispositivi collegati.
Le informazioni contenute in questo capitolo sono importanti per garantire un utilizzo sicuro e affidabile dei con-
trollori programmabili. È necessario leggere il capitolo e comprenderne il contenuto prima di configurare o utiliz-
zare un PLC.
xxiii
Destinatari del manuale 1
2 Precauzioni generali
L'utente deve utilizzare il prodotto in base alle specifiche riportate nei manuali
dell'operatore.
Prima di utilizzare il prodotto in condizioni non descritte nel manuale o di appli-
carlo a sistemi di controllo nucleare, sistemi ferroviari, sistemi per l’aviazione,
veicoli, sistemi di combustione, apparecchiature medicali, macchine da luna
park, apparecchiature di sicurezza e qualunque altro sistema, macchina o appa-
recchiatura, il cui utilizzo errato potrebbe avere un serio impatto sull'incolumità di
persone o protezione di cose, rivolgersi al proprio rappresentante OMRON.
Accertarsi che i valori nominali e le specifiche del prodotto siano sufficienti per i
sistemi, le macchine e le apparecchiature che verranno utilizzati e dotare sem-
pre tali sistemi, macchine e apparecchiature di doppi meccanismi di sicurezza.
Nel presente manuale vengono fornite informazioni sulla programmazione e sul
funzionamento del modulo. Si raccomanda di leggere il manuale prima di utiliz-
zare il modulo per la prima volta e tenerlo sempre a portata di mano come riferi-
mento durante le operazioni.
!AVVERTENZA È di fondamentale importanza che il PLC e tutti i relativi moduli vengano utiliz-
zati per lo scopo specificato e nelle condizioni specificate, in particolare in
applicazioni che implicano rischi diretti o indiretti per l'incolumità delle per-
sone. Prima di utilizzare il PLC per tali applicazioni, rivolgersi al proprio rap-
presentante OMRON.
!AVVERTENZA Non tentare di smontare, riparare o modificare alcun modulo. Qualsiasi inter-
vento in tal senso potrebbe provocare malfunzionamento, incendi o scosse
elettriche.
!AVVERTENZA Applicare adeguate misure di sicurezza ai circuiti esterni (cioè, esterni al con-
trollore programmabile), incluse quelle riportate di seguito, per garantire la mas-
sima sicurezza del sistema in caso di anomalie dovute al malfunzionamento del
PLC o ad altri fattori esterni che influiscono sul funzionamento del PLC. Disat-
tendere queste precauzioni potrebbe essere causa di gravi incidenti.
• I circuiti di controllo esterni devono essere dotati di circuiti di arresto di
emergenza, circuiti di interblocco, circuiti di finecorsa e altre misure di
sicurezza analoghe.
• Il PLC disattiva tutte le uscite quando la funzione di autodiagnostica rileva
un errore o viene eseguita un'istruzione FALS (allarme di guasto grave).
Come contromisura in caso di tali errori, il sistema deve essere dotato di
misure di sicurezza esterne.
• Le uscite del PLC potrebbero restare attivate o disattivate in caso di depo-
sizione elettrolitica, bruciatura dei relè di uscita o distruzione dei transistor
di uscita. Come contromisura per questo problema, il sistema deve
essere dotato di misure di sicurezza esterne.
• In presenza di sovraccarico o cortocircuito sull'uscita a 24 Vc.c. (alimen-
tazione di servizio del PLC), si potrebbe verificare un abbassamento di
tensione e una conseguente disattivazione delle uscite. Come contromi-
sura per questo problema, il sistema deve essere dotato di misure di sicu-
rezza esterne.
!Attenzione Verificare lo stato di sicurezza prima di trasferire file di dati memorizzati nella
memoria file (scheda di memoria o area di memoria file nell'area EM) all'area
degli I/O (CIO) della CPU utilizzando un dispositivo periferico. In caso contra-
rio, è possibile che i dispositivi collegati al modulo di uscita non funzionino in
modo corretto, indipendentemente dalla modalità operativa della CPU.
!Attenzione Il cliente è tenuto a implementare meccanismi di sicurezza per guasti ed errori
allo scopo di garantire la sicurezza in caso di segnali errati, mancanti o ano-
mali provocati da guasti a carico delle linee di segnale, cadute di tensione
temporanee o altre cause. Se non vengono adottate misure appropriate, il
funzionamento anomalo del sistema potrebbe essere causa di gravi incidenti.
!Attenzione Eseguire modifiche in linea solo dopo aver verificato che l'estensione del
tempo di ciclo non provoca effetti negativi. In caso contrario, i segnali di
ingresso potrebbe risultare illeggibili.
!Attenzione Le CPU CS1-H, CJ1-H, CJ1M e CS1D eseguono automaticamente il backup
del programma utente e dei dati di parametro nella memoria flash quando tali
dati vengono scritti nella CPU. I dati della memoria I/O (comprese le aree DM,
EM e HR) non vengono tuttavia scritti nella memoria flash. Un'apposita batte-
ria consente di conservare i dati delle aree DM, EM e HR nel caso in cui si
verifichino cadute di tensione. Se si verificano errori relativi alla batteria, i dati
contenuti in queste aree potrebbero risultare non corretti dopo la caduta di
tensione. Se i dati delle aree DM, EM e HR vengono utilizzati per il controllo di
uscite esterne, impedire l'invio di dati non corretti quando il flag di errore della
batteria (A40204) è attivato.
!Attenzione Verificare lo stato di sicurezza sul nodo di destinazione prima di trasferire un
programma o modificare il contenuto dell'area di memoria I/O. La mancata
osservanza di questa precauzione prima di procedere a tali operazioni implica
il rischio di lesioni.
xxv
Precauzioni relative all'ambiente operativo 4
!Attenzione Serrare le viti sulla morsettiera del modulo di alimentazione c.a. applicando la
coppia specificata nel manuale dell'operatore. La presenza di viti allentate
può provocare bruciature o malfunzionamento.
!Attenzione Non toccare il modulo di alimentazione mentre eroga corrente o immediata-
mente dopo lo spegnimento, poiché la temperatura del modulo di alimenta-
zione potrebbe essere tale da provocare ustioni.
!Attenzione Prestare particolare attenzione durante il collegamento di PC o altri dispositivi
periferici a un PLC su cui sia installato un modulo non isolato (CS1W-CLK12/
52(-V1) o CS1W-ETN01) collegato a un alimentatore esterno. Se l'estremità a
24 V dell'alimentatore esterno viene collegata a terra e l'estremità a 0 V della
periferica viene collegata a terra, si creerà un corto circuito. Durante il collega-
mento di una periferica a questo tipo di PLC, eseguire la messa a terra
dell'estremità a 0 V dell'alimentatore esterno oppure non eseguire affatto la
messa a terra dell'alimentatore esterno.
xxvi
Precauzioni per le applicazioni 5
xxvii
Precauzioni per le applicazioni 5
nali di uscita sui moduli di uscita c.c. e altri moduli vengono momentanea-
mente sollecitati all'accensione del PLC.
• Il cliente è tenuto a implementare meccanismi di sicurezza per guasti ed
errori allo scopo di garantire la sicurezza nel caso in cui le uscite dei
moduli di uscita rimangano attivate a seguito di guasti dei circuiti interni a
carico di relè, transistor e altri elementi.
• Il cliente è tenuto a implementare meccanismi di sicurezza per guasti ed
errori allo scopo di garantire la sicurezza in caso di segnali errati, man-
canti o anomali provocati da guasti a carico delle linee di segnale, cadute
di tensione temporanee o altre cause.
• È responsabilità del cliente dotare i circuiti esterni, ovvero esterni al con-
trollore programmabile, di circuiti di interblocco, circuiti di finecorsa e altre
misure di sicurezza analoghe.
• Non spegnere il PLC durante il trasferimento di dati. In particolare, non
spegnere il PLC durante le operazioni di lettura o scrittura su una scheda
di memoria e non rimuovere la scheda di memoria mentre l'indicatore
BUSY è acceso. Per rimuovere una scheda di memoria, premere innanzi-
tutto l'interruttore di alimentazione della scheda di memoria, quindi atten-
dere che l'indicatore BUSY si spenga prima di rimuoverla.
• Se il bit di ritentività IOM è impostato su ON e si passa dalla modalità
operativa RUN o MONITOR alla modalità PROGRAM, le uscite del PLC
non vengono disattivate e mantengono lo stato precedente. Accertarsi
che i carichi esterni non instaurino condizioni pericolose quando ciò
accade. Se il funzionamento viene interrotto a causa di un errore fatale,
inclusi gli errori generati dall'istruzione FALS(007), tutte le uscite del
modulo di uscita vengono disattivate e viene mantenuto solo lo stato delle
uscite interne.
• L'integrità del contenuto delle aree DM, EM e HR della CPU è assicurata
da una batteria di backup. Se la batteria si scarica, i dati potrebbero
andare persi. Adottare contromisure adeguate a livello di programma uti-
lizzando il flag di errore della batteria (A40204) per reinizializzare i dati o
intervenire in altro modo in caso di esaurimento della batteria.
• Quando si fornisce corrente a 200-240 Vc.a. con un PLC della serie CS,
rimuovere sempre il ponticello di metallo dai terminali del selettore di ten-
sione del modulo di alimentazione (tale operazione non è necessaria per
moduli di alimentazione con gamme di tensione più ampie). Se il ponti-
cello di metallo rimane collegato durante l'alimentazione a 200-240 Vc.a.,
il prodotto verrà distrutto.
• Utilizzare sempre le tensioni di alimentazione specificate nei manuali
dell'operatore. Una tensione errata può provocare un malfunzionamento o
bruciature.
• Adottare le misure necessarie per garantire che il sistema sia sempre ali-
mentato nel rispetto delle specifiche di tensione e frequenza nominali. In
particolare, fare molta attenzione in luoghi dove l'alimentazione è insta-
bile. Un'alimentazione non adeguata può comportare un funzionamento
incorretto.
• Installare interruttori esterni o altri dispositivi di sicurezza per evitare cor-
tocircuiti nelle aree di cablaggio esterno. Misure insufficienti di protezione
da cortocircuiti potrebbero causare bruciature.
• Non applicare ai moduli di ingresso tensioni superiori alla tensione di
ingresso nominale. Tensioni eccessivamente alte potrebbero essere
causa di bruciature.
• Non applicare tensioni o collegare carichi ai moduli di uscita superiori alla
corrente di carico massima. Tensioni o carichi eccessivamente elevati
potrebbero essere causa di bruciature.
xxviii
Precauzioni per le applicazioni 5
xxix
Conformità alle direttive dell'Unione Europea 6
• Non utilizzare cavi RS-232C per personal computer di terze parti. Utiliz-
zare sempre i cavi speciali elencati in questo manuale o assemblare i cavi
in conformità alle specifiche indicate. L'impiego di cavi di terze parti
potrebbe causare danni ai dispositivi esterni o alla CPU.
• Non collegare mai il pin 6 (alimentazione a 5 V) della porta RS-232C di
una CPU a un dispositivo diverso da un adattatore NT-AL001 o CJ1W-
CIF11. Il dispositivo esterno o la CPU potrebbe subire danni.
• Quando si sostituiscono componenti, accertarsi sempre che le specifiche
tecniche del nuovo componente siano appropriate. Disattendere questa
precauzione può causare un malfunzionamento o bruciature.
• Prima di toccare un modulo, toccare un oggetto metallico con messa a
terra per scaricare l'elettricità statica accumulata. Disattendere questa
precauzione può causare un malfunzionamento o danneggiare il modulo.
• Quando si trasportano o immagazzinano schede di circuiti stampati,
coprirle sempre con materiale antistatico per proteggerle dall'elettricità
statica e mantenere la temperatura di stoccaggio appropriata.
• Non toccare le schede di circuiti stampati o i componenti montati sulle
schede a mani nude. Sulle schede vi sono contatti appuntiti ed altre parti
che, se toccate incautamente, potrebbero provocare lesioni.
• Non cortocircuitare i terminali della batteria né caricare, smontare, scal-
dare eccessivamente o incenerire la batteria. Non sottoporre la batteria a
forti urti. Ciò potrebbe provocare dispersione, rottura, emissione di calore
o combustione della batteria. Eliminare le batterie che hanno subito forti
urti, ad esempio cadendo sul pavimento, in quanto potrebbero verificarsi
perdite di elettroliti durante l'uso.
• Gli standard UL richiedono che le batterie vengano sostituite solo da tec-
nici esperti. Consentire la sostituzione delle batterie solo da parte di per-
sonale qualificato.
• Nei PLC della serie CJ, i dispositivi scorrevoli posti sulla parte superiore e
inferiore del modulo di alimentazione, della CPU, dei moduli di I/O, dei
moduli di I/O speciale e dei moduli CPU bus devono essere bloccati,
facendoli scorrere finché non scattano in posizione. Se i dispositivi scorre-
voli non vengono bloccati, il modulo non funzionerà in modo corretto.
• Nei PLC della serie CJ, collegare sempre la piastrina di blocco al modulo
sul lato destro del PLC. Senza piastrina di blocco il PLC non funzionerà in
modo corretto.
• L'impostazione di tabelle data link o parametri non corretti può dare luogo
a un funzionamento imprevisto. Anche se le tabelle data link e i parametri
sono stati impostati correttamente, verificare che il sistema controllato
non ne sia influenzato negativamente prima di avviare o interrompere i
data link.
• Quando le tabelle di routing vengono trasferite da un dispositivo di pro-
grammazione alla CPU, i moduli CPU bus vengono riavviati. Il riavvio di
tali unità è necessario per la lettura e l'abilitazione delle nuove tabelle di
routing. Verificare che il sistema non evidenzi problemi prima di consen-
tire la reimpostazione delle unità bus CPU.
xxx
Conformità alle direttive dell'Unione Europea 6
6-2 Principi
Direttive sulla compatibilità elettromagnetica (EMC)
I dispositivi OMRON conformi alle Direttive dell'Unione Europea sono altresì
conformi agli standard EMC, in modo da poter essere facilmente incorporati in
altri dispositivi o macchine complesse. La conformità dei singoli prodotti agli
standard EMC è stata verificata (vedere nota). Tuttavia, la conformità del pro-
dotto agli standard, una volta installato nel sistema del cliente, deve essere veri-
ficata dal cliente stesso.
Le prestazioni relative agli standard EMC dei dispositivi OMRON conformi alle
Direttive dell'Unione Europea variano a seconda della configurazione, cablaggio
e altre condizioni dell'apparecchiatura o pannello di controllo nel quale i disposi-
tivi OMRON sono installati. Pertanto il cliente deve effettuare i controlli finali per
accertarsi che tali dispositivi e la macchina nel suo complesso siano conformi
agli standard EMC.
Nota Gli standard di compatibilità elettromagnetica applicabili sono i seguenti:
EMS (suscettibilità elettromagnetica): EN61131-2 (Serie CS)/
EN61000-6-2 (Serie CJ)
EMI (interferenza elettromagnetica): EN61000-6-4
(Emissione irradiata: norme 10 m)
Direttiva per le basse tensioni (LVD)
Accertarsi sempre che i dispositivi che operano nella gamma di tensioni 50-
1.000 Vc.a. e 75-1.500 Vc.c. soddisfino gli standard di sicurezza per il PLC (EN
61131-2).
xxxi
Conformità alle direttive dell'Unione Europea 6
Contromisure
Per ulteriori informazioni, fare riferimento alla norma EN61000-6-4.
Non è necessaria alcuna contromisura per la riduzione dei disturbi se la fre-
quenza di commutazione del carico per l'intero sistema, incluso il PLC, è infe-
riore a 5 volte al minuto.
È necessario adottare contromisure per la riduzione dei disturbi se la frequenza
di commutazione del carico per l'intero sistema, incluso il PLC, è superiore a
5 volte al minuto.
Esempi di contromisure
Quando si commuta un carico induttivo, collegare un dispositivo di protezione da
sovracorrente, diodi e così via in parallelo con il carico o contatto come mostrato
di seguito.
Circuito Corrente Caratteristiche Requisiti
C.A. C.C.
Metodo CR Sì Sì Se il carico è un relè o solenoide, si deter- La capacità del condensatore deve essere
mina un ritardo tra l'apertura del circuito e di 1-0,5 µF per una corrente di contatto
il ripristino del carico. pari a 1 A e la resistenza del resistore deve
Se la tensione di alimentazione è 24 o 48 essere di 0,5-1 Ω per una tensione di con-
V, collegare il dispositivo di protezione da tatto pari a 1 V. Tuttavia, questi valori pos-
induttivo
Carico
carico.
Alimenta- Se la tensione di alimentazione è 24 o
zione 48 V, collegare il varistore in parallelo con il
carico. Se la tensione di alimentazione è
da 100 a 200 V, inserire il varistore tra i
contatti.
Quando si commuta un carico con una forte corrente di picco, come in una lam-
pada a incandescenza, ridurre la corrente come illustrato di seguito.
Soluzione 1 Soluzione 2
R
Uscita Uscita
R
COM COM
Generando una corrente di Utilizzando un resistore
riposo pari a circa un terzo del per limitare il flusso di
valore nominale della lampada corrente
a incandescenza
xxxii
CAPITOLO 1
Introduzione
In questa sezione sono riportate le informazioni sulle caratteristiche generali delle istruzioni e sugli errori che possono ve-
rificarsi durante l'esecuzione di un'istruzione.
1
Caratteristiche generali delle istruzioni Capitolo 1-1
• CPU CS1
Modello Capacità del programma Punti di I/O
CS1H-CPU67-E 250.000 step 5.120
CS1H-CPU66-E 120.000 step
CS1H-CPU65-E 60.000 step
CS1H-CPU64-E 30.000 step
CS1H-CPU63-E 20.000 step
CS1G-CPU45-E 60.000 step
CS1G-CPU44-E 30.000 step 1.280
CS1G-CPU43-E 20.000 step 960
CS1G-CPU42-E 10.000 step
2
Caratteristiche generali delle istruzioni Capitolo 1-1
Serie CJ
Nelle tabelle seguenti è riportato il numero massimo di step programmabili in
ciascun modulo CPU della serie CJ.
• CPU CJ1-H
Modello Capacità del programma Punti di I/O
CJ1H-CPU67H 250.000 step 2.560
CJ1H-CPU66H 120.000 step
CJ1H-CPU65H 60.000 step
CJ1G-CPU45H 60.000 step 1.280
CJ1G-CPU44H 30.000 step
CJ1G-CPU43H 20.000 step 960
CJ1G-CPU42H 10.000 step
• CPU CJ1
Modello Capacità del programma Punti di I/O
CJ1G-CPU45 60.000 step 1.280
CJ1G-CPU44 30.000 step
• CPU CJ1M
Modello Capacità del programma Punti di I/O
CJ1M-CPU23 20.000 step 640
CJ1M-CPU22 10.000 step 320
CJ1M-CPU21 5.000 step 160
CJ1M-CPU13 20.000 step 640
CJ1M-CPU12 10.000 step 320
CJ1M-CPU11 5.000 step 160
Nota La capacità dei programmi per i PLC della serie CS/CJ viene misurata in step,
mentre la capacità dei programmi per i PLC OMRON precedenti, ad esempio
i PLC delle serie C e CV, veniva misurata in canali. In altre parole, 1 step equi-
vale a 1 canale. Tuttavia, poiché per alcune istruzioni della serie CS/CJ la
quantità di memoria richiesta per l'esecuzione è diversa rispetto ai modelli
precedenti, la conversione per un PLC della serie CJ della capacità di un pro-
gramma utente sviluppato per un altro PLC in base al criterio secondo cui
1 canale equivale a 1 step non produrrà un valore accurato. Per indicazioni
sulla conversione delle capacità di programmi sviluppati per PLC OMRON
precedenti, fare riferimento alle informazioni riportate alla fine della CAPI-
TOLO 4 Tempi di esecuzione delle istruzioni e numero di step.
Il numero di step in un programma non corrisponde al numero di istruzioni. Ad
esempio, le istruzioni LD e OUT richiedono 1 step ciascuna, mentre l'istruzione
MOV(021) richiede 3 step. Altre istruzioni richiedono fino a 7 step ciascuna. Inol-
tre, il numero di step richiesto da un'istruzione viene incrementato di uno step
per ogni operando a doppia lunghezza utilizzato nell'istruzione. Ad esempio,
l'istruzione MOVL(498) richiede normalmente 3 step, ma saranno necessari 4
step se è stata specificata una costante per l'operando del canale di origine, S.
Per informazioni sul numero di step richiesti da ogni istruzione, consultare la
CAPITOLO 4 Tempi di esecuzione delle istruzioni e numero di step.
come condizioni di fronto o test) viene ese- Condizione di esecuzione con stato ON
creata per un solo ciclo per ciascuna
esecuzione) guita ad ogni ciclo. La transizione da OFF a ON in CIO 000103.
condizione di esecuzione è
vera per ogni ciclo quando
il risultato passa dallo stato
OFF allo stato ON.
Differenziata Istruzioni di uscita L'istruzione viene eseguita %Istruzione 0001
sul fronte di solo una volta quando la eseguita una volta 02 %SET
per differenziazione Istruzione SET eseguita una
discesa (con condizione di esecuzione sul fronte di discesa volta per ogni transizione da
prefisso %) passa dallo stato ON allo ON a OFF in CIO 000102.
stato OFF.
Istruzioni di ingresso L'elaborazione del bit (ad Istruzione di ingresso con 0001
(istruzioni utilizzate esempio di lettura, con- differenziazione sul fronte di 03
discesa
come condizioni di fronto o test) viene ese-
esecuzione) guita ad ogni ciclo. La Condizione di esecuzione con
stato ON creata per un solo ciclo
condizione di esecuzione è per ciascuna transizione da ON
vera per ogni ciclo quando a OFF in CIO 000103.
il risultato passa dallo stato
ON allo stato OFF.
Nota L'opzione di differenziazione sul fronte di discesa (%) è disponibile solo per le
istruzioni LD, AND, OR e RSET. Per creare variazioni con differenziazione sul
fronte di discesa di altre istruzioni, è necessario controllare l'esecuzione
dell'istruzione con bit di lavoro controllati con DIFD(014) o DOWN(522).
4
Caratteristiche generali delle istruzioni Capitolo 1-1
! @MOV
Codice mnemonico istruzione
Variazione di differenziazione sul fronte di salita
Variazione di aggiornamento immediato
MOV JMP
#0000 S (origine) &3 N (numero)
D00000 D (destinazione)
5
Caratteristiche generali delle istruzioni Capitolo 1-1
Nota È possibile fare riferimento agli operandi di un'istruzione anche in base alla
relativa posizione nell'istruzione (primo operando, secondo operando, ecc.). I
codici utilizzati per l'operando variano in base alla funzione specifica dell'ope-
rando stesso.
MOV
#0000 Primo operando
D00000 Secondo operando
@D@@@@@
Specifica D00256.
Aggiunge il prefisso @.
6
Caratteristiche generali delle istruzioni Capitolo 1-1
Specifica E0_00001.
Specifica E1_00257.
Specifica E2_00002.
Nota Quando nella configurazione del PLC è selezionata la modalità binaria, l'area
DM e gli indirizzi del banco EM corrente (da banco 0 a C) vengono considerati
come indirizzi di memoria consecutivi. Se un canale DM indirizzato indiretta-
mente contiene un valore maggiore di 32.767, nel banco EM 0 verrà specifi-
cato un canale. Ad esempio, E00000 nel banco 0 specificherà quando il
canale DM indirizzato indirettamente contiene un valore esadecimale di 8000
(32.768).
Se un canale EM indirizzato indirettamente contiene un valore maggiore di
32.767, nel banco EM successivo verrà specificato un canale. Ad esempio,
verrà specificato E3_00000 quando il canale EM indirizzato indirettamente nel
banco 2 contiene un valore esadecimale di 8000 (32.768).
Specifica degli indirizzi DM/EM indiretti in modalità BCD
Metodo Descrizione Esempio Esempio di istruzione
Indirizzamento Quando il prefisso * viene immesso MOV #0001 *D00200
indiretto dell'area *D00200
prima di un indirizzo DM o EM, il
DM/EM
(modalità BCD) contenuto BCD di tale canale specifica 0 1 0 0
un altro canale che verrà usato come
operando. Il contenuto può essere da
0000 a 9999, a seconda dell'indirizzo d Specifica D00100.
canale desiderato nell'area DM o EM.
Aggiunge il prefisso *.
*D @@@@@
Da 0000
Contenuto a 9999
(BCD)
7
Caratteristiche generali delle istruzioni Capitolo 1-1
Nota Accertarsi che nei contenuti dei registri indice siano indicati indirizzi di memo-
ria I/O validi.
8
Caratteristiche generali delle istruzioni Capitolo 1-1
Specifica di costanti
Metodo Operandi appli- Formato Codice Intervallo Esempio
cabili dei dati
Costante Tutti i dati binari Binario # Da #0000 a #FFFF ---
dati a 16 bit e i dati binari senza
inclusi in un segno
intervallo Decimale ± Da –32.768 a +32.767 ---
con segno
Decimale & Da &0 a &66.535 ---
senza
segno
Tutti i dati BCD e BCD # Da #0000 a #9999 ---
i dati BCD
inclusi in un
intervallo
Costante Tutti i dati binari Binario # Da #0000 0000 a ---
dati a 32 bit e i dati binari senza #FFFF FFFF
inclusi in un segno
intervallo Decimale + Da –2.147.483.648 a ---
con segno – +2.147.483.647
Decimale & Da &0 a ---
senza &4.294.967.295
segno
Tutti i dati BCD e BCD # Da #0000 0000 a ---
i dati BCD #9999 9999
inclusi in un
intervallo
9
Caratteristiche generali delle istruzioni Capitolo 1-1
SP
10
Caratteristiche generali delle istruzioni Capitolo 1-1
BCD 23 22 21 20 23 22 21 20 23 22 21 20 23 22 21 20
Decimale Da 0 a 9 Da 0 a 9 Da 0 a 9 Da 0 a 9
11
Caratteristiche generali delle istruzioni Capitolo 1-1
Numeri binari con segno I numeri negativi con segno vengono espressi come complemento a 2 del
valore esadecimale assoluto. Per un valore decimale di –12.345, il valore
assoluto è equivalente al valore 3039 esadecimale. Il complemento a 2 è
10000 – 3039 (entrambi esadecimali) o CFC7.
Per convertire un numero binario con segno negativo (CFC7) in decimale, è
necessario calcolare il complemento a 2 di tale numero (10000 – CFC7 =
3039), convertirlo in decimale (3039 esadecimale = 12.345 decimale), quindi
aggiungere un segno meno (–12.345).
12
Controlli dell'esecuzione di istruzioni Capitolo 1-2
13
Controlli dell'esecuzione di istruzioni Capitolo 1-2
Tutti gli errori che provocano l'attivazione del flag di errore o del flag di errore
di accesso vengono considerati come errori di programma. Nella tabella
seguente sono elencati gli errori di programma. È possibile configurare il PLC
in modo che l'esecuzione del programma venga interrotta quando si verifica
uno di questi errori.
Tipo di errore Descrizione Flag correlati
Istruzione END man- Nel programma è assente l'istruzione END(001). Flag di errore di END man-
cante cante (A29511)
Flag di errore di esecu- Per un errore di esecuzione task esistono tre possibili cause: Flag di errore di esecu-
zione task 1) Non esiste un task ciclico eseguibile. zione task (A29512)
2) Non esiste un programma allocato al task.
3) È stato generato un interrupt ma il task ad interrupt corri-
spondente non esiste.
Errore di elaborazione La CPU ha tentato di eseguire un'istruzione ma i dati forniti Flag di errore (ER),
istruzione* nell'operando dell'istruzione non erano corretti. Flag di errore di elabora-
*Se il PLC è stato configurato in modo da considerare gli zione istruzione (A29508)
errori di istruzione come errori irreversibili (errori di pro-
gramma), verrà attivato il flag di errore di elaborazione istru-
zione (A29508) e l'esecuzione del programma verrà
interrotta.
Errore di accesso* Per un errore di accesso esistono cinque possibili cause: Flag di errore di accesso
1) Lettura e scrittura nell'area dei parametri. (AER)
2) Scrittura in una scheda di memoria non installata. Flag di errore di accesso
3) Lettura/scrittura in un banco EM formattato come memoria illegale (A29510)
per i file EM.
4) Scrittura in un'area di sola lettura.
5) Il contenuto di un canale DM/EM non è in formato BCD,
nonostante il PLC sia impostato per l'indirizzamento indiretto
nel formato BCD.
*Se il PLC è stato configurato in modo da considerare gli
errori di istruzione come errori irreversibili (errori di pro-
gramma), verrà attivato il flag di errore di accesso illegale
(A29510) e l'esecuzione del programma verrà interrotta.
Errore BCD DM/EM indi- Il contenuto di un canale DM/EM non è in formato BCD, nono- Flag di errore di accesso
retto* stante il PLC sia impostato per l'indirizzamento indiretto nel (AER),
formato BCD. Flag di errore BCD DM/EM
*Se il PLC è stato configurato in modo da considerare gli indiretto (A29509)
errori di istruzione come errori irreversibili (errori di pro-
gramma), verrà attivato il flag di errore BCD DM/EM indiretto
(A29509) e l'esecuzione del programma verrà interrotta.
Errore di overflow com- Durante la modifica in linea sono state ripetutamente inserite Flag di errore di overflow
parativo ed eliminate istruzioni differenziate (oltre 31.072 volte). comparativo (A29513)
Errore di overflow UM È stato superato l'ultimo indirizzo nella UM (memoria del pro- Flag di errore di overflow
gramma utente). UM (A29515)
Errore di istruzione ille- Il programma contiene un'istruzione che non è possibile ese- Flag di errore di istruzione
gale guire. illegale (A29514)
14
CAPITOLO 2
Sommario delle istruzioni
In questa sezione viene fornito un sommario delle istruzioni utilizzate con i PLC delle serie CS/CJ.
15
Classificazioni in base alla funzione Capitolo 2-1
16
Classificazioni in base alla funzione Capitolo 2-1
17
Classificazioni in base alla funzione Capitolo 2-1
18
Classificazioni in base alla funzione Capitolo 2-1
19
Classificazioni in base alla funzione Capitolo 2-1
20
Classificazioni in base alla funzione Capitolo 2-1
21
Classificazioni in base alla funzione Capitolo 2-1
22
Classificazioni in base alla funzione Capitolo 2-1
Ripetizione LOOP LOOP BLOCK LEND LOOP BLOCK LEND NOT LOOP BLOCK
indirizzo_bit END indirizzo_bit END NOT
LEND LOOP BLOCK --- --- --- ---
condizione_in END
gresso
Istruzioni di --- MOV$ MOV STRING +$ CONCATE- LEFT$ GET STRING
elabora- NATE LEFT
zione strin- STRING
ghe di testo
RIGHT$ GET STRING MID$ GET STRING FIND$ FIND IN
RIGHT MIDDLE STRING
LEN$ STRING LEN- RPLC$ REPLACE IN DEL$ DELETE
GTH STRING STRING
XCHG$ EXCHANGE CLR$ CLEAR INS$ INSERT INTO
STRING STRING STRING
LD, AND, OR STRING --- --- --- ---
+ COMPARI-
=$, <>$, <$, SON
<=$, >$, >=$
Istruzioni di --- TKON TASK ON TKOF TASK OFF --- ---
controllo dei
task
23
Istruzioni Capitolo 2-2
2-2 Istruzioni
2-2-1 Istruzioni di ingresso sequenza
*1
: non supportata dalle CPU CS1D per sistemi a due CPU.
*2:
supportata solo dalle CPU CS1-H, CJ1-H, CJ1M e CS1D.
*3
: supportata solo dalle CPU CS1-H, CJ1-H e CJ1M.
Istruzione Simbolo/ Funzione Posizione Pa-
Codice operando Condizione di gina
mnemonico esecuzione
LOAD Barra di Indica un inizio logico e crea una condizione di esecuzione ON/OFF Inizio della 153
LD basata sullo stato ON/OFF del bit operando specificato. logica
distribuzione
@LD Non richiesta
%LD
!LD*1
!@LD*1 Punto
!%LD*1 iniziale
del blocco
LOAD NOT Barra di Indica un inizio logico e crea una condizione di esecuzione ON/OFF Inizio della 155
LD NOT distribuzione basata sull'inverso dello stato ON/OFF del bit operando specificato. logica
@LD NOT*2 Non richiesta
%LD NOT*2
!LD NOT*1
!@LD NOT*3 Punto
!%LD NOT*3 iniziale
del blocco
AND Esegue un AND logico dello stato del bit operando specificato e della Continua su 157
AND condizione di esecuzione corrente. rung
@AND Richiesta
%AND
!AND*1
!@AND*1
!%AND*1
AND NOT Inverte lo stato del bit operando specificato ed esegue un AND logico Continua su 159
AND NOT con la condizione di esecuzione corrente. rung
@AND NOT*2 Richiesta
%AND NOT*2
!AND NOT*1
!@AND NOT*3
!%AND NOT*3
OR Barra di Esegue un OR logico dello stato ON/OFF del bit operando specificato Continua su 161
OR e della condizione di esecuzione corrente. rung
distribuzione
@OR Richiesta
%OR
!OR*1
!@OR*1
!%OR*1
OR NOT Barra di Inverte lo stato del bit specificato ed esegue un OR logico con la condi- Continua su 163
OR NOT zione di esecuzione corrente. rung
distribuzione
@OR NOT*2 Richiesta
%OR NOT*2
!OR NOT*1
!@OR NOT*3
!%OR NOT*3
24
Istruzioni Capitolo 2-2
LD
Blocco logico B
...
LD
Blocco logico B
...
BIT TEST LD TSTN(351), AND TSTN(351) e OR TSTN(351) vengono utilizzate Continua su 174
LD TSTN TSTN(351) nel programma analogamente a LD NOT, AND NOT e OR NOT. La rung
351 condizione di esecuzione viene disattivata quando il bit specificato nel Non richiesta
S canale specificato viene impostato su ON e attivata quando il bit viene
impostato su OFF.
N
S: canale di origine
N: numero di bit
BIT TEST LD TST(350), AND TST(350) e OR TST(350) vengono utilizzate nel Continua su 174
AND TST(350) programma analogamente a LD, AND e OR. La condizione di esecu- rung
AND TST
zione viene attivata quando il bit specificato nel canale specificato Richiesta
350 S viene impostato su ON e disattivata quando il bit viene impostato su
N OFF.
S: canale di origine
N: numero di bit
BIT TEST LD TSTN(351), AND TSTN(351) e OR TSTN(351) vengono utilizzate Continua su 174
AND TSTN AND TSTN(351) nel programma analogamente a LD NOT, AND NOT e OR NOT. La rung
condizione di esecuzione viene disattivata quando il bit specificato nel Richiesta
351 S canale specificato viene impostato su ON e attivata quando il bit viene
N impostato su OFF.
S: canale di origine
N: numero di bit
25
Istruzioni Capitolo 2-2
S: canale di origine
N: numero di bit
BIT TEST LD TSTN(351), AND TSTN(351) e OR TSTN(351) vengono utilizzate Continua su 174
OR TSTN TSTN(351) nel programma analogamente a LD NOT, AND NOT e OR NOT. La rung
condizione di esecuzione viene disattivata quando il bit specificato nel Richiesta
351 S canale specificato viene impostato su ON e attivata quando il bit viene
N impostato su OFF.
S: canale di origine
N: numero di bit
OUTPUT NOT Inverte il risultato (condizione di esecuzione) dell'elaborazione logica e Uscita 178
OUT NOT lo invia in uscita al bit specificato. Richiesta
!OUT NOT*1
R (reset)
011
B: bit
Reset
Condizione di
esecuzione S
Condizione di
esecuzione R
Stato di B
DIFFERENTIATE Uscita 184
UP DIFU(013) DIFU(013) imposta su ON il bit specificato per un ciclo
quando la condizione di esecuzione passa da OFF a ON Richiesta
DIFU B (fronte di salita).
!DIFU*1
B: bit Condizione di esecuzione
013
Stato di B
Un ciclo
26
Istruzioni Capitolo 2-2
Stato di B
Un ciclo
SET Uscita 187
SET SET imposta il bit dell'operando su ON quando la condizione di
SET Richiesta
@SET esecuzione è ON.
%SET
B Condizione di
!SET*1 B: bit esecuzione di SET
!@SET*1
!%SET*1 Stato di B
RESET RSET imposta il bit dell'operando su OFF quando la condizione di Uscita 187
RSET RSET esecuzione è ON. Richiesta
@RSET Condizione di
%RSET B
esecuzione di RSET
!RSET*1 B: bit
!@RSET*1
Stato di B
!%RSET*1
MULTIPLE BIT SETA(530) imposta su ON il numero di bit consecutivi specificato. Uscita 189
SET SETA(530) Richiesta
SETA D
@SETA
530 N1 N2 bit vengono
impostati su 1 (ON)
N2
D: canale iniziale
N1: bit iniziale
N2: numero di bit
MULTIPLE BIT RSTA(531) imposta su OFF il numero di bit consecutivi specificato. Uscita 189
RESET RSTA(531) Richiesta
RSTA
@RSTA D
531 N1 N2 bit vengono
reimpostati su 0
N2 (OFF)
D: canale iniziale
N1: bit iniziale
N2: numero di bit
SINGLE BIT SET SETB(532) imposta su ON il bit specificato nel canale specificato Uscita 192
(solo CS1-H, SETB(532) quando lo stato della condizione di esecuzione è ON. Richiesta
CJ1-H, CJ1M o A differenza dell'istruzione SET, è possibile utilizzare SETB(532) per
CS1D) D impostare un bit in un canale DM o EM.
SETB
@SETB N
!SETB*1 D: indirizzo
!@SETB*1 del canale
N: numero di bit
27
Istruzioni Capitolo 2-2
SINGLE BIT OUTB(534) invia in uscita il risultato (condizione di esecuzione) Uscita 195
OUTPUT (solo OUTB(534) dell'elaborazione logica al bit specificato. Richiesta
CS1-H, CJ1-H, A differenza dell'istruzione OUT, è possibile utilizzare OUTB(534) per
CJ1M o CS1D) D controllare un bit di un canale DM o EM.
OUTB N
@OUTB
!OUTB*1 D: indirizzo
del canale
N: numero di bit
28
Istruzioni Capitolo 2-2
Task 1 Programma A
Passaggio al numero
di task successivo
Task 2 Programma B
Passaggio al numero
di task successivo
Task n Programma Z
Refresh I/O
NO OPERATION Istruzione priva di funzione. Per NOP(000) non viene eseguita alcuna Uscita 198
NOP elaborazione. Non richiesta
000
INTERLOCK Determina l'interblocco per tutte le uscite comprese tra IL(002) Uscita 201
IL IL(002) e ILC(003) quando lo stato della condizione di esecuzione per Richiesta
002 IL(002) è OFF. IL(002) e ILC(003) vengono di norma utilizzate
in coppia.
Condizione di Condizione di
Condizione di esecuzione ON esecuzione OFF
esecuzione
29
Istruzioni Capitolo 2-2
JUMP END Indica la fine di un salto il cui inizio è specificato dall'istruzione Uscita 219
JME JME(005) JMP(004) o CJP(510). Non richiesta
005 N
N: numero di salto
30
Istruzioni Capitolo 2-2
Le istruzioni in questa
Istruzioni sezione non vengono
eseguite e lo stato di uscita
eseguite viene mantenuto. Il tempo
di esecuzione di tali
istruzioni è pertanto
inesistente.
Le istruzioni in questa
sezione non vengono
Istruzioni eseguite e lo stato di
eseguite uscita viene mantenuto. Il
tempo di esecuzione di
tali istruzioni è pertanto
inesistente.
MULTIPLE JUMP Quando lo stato della condizione di esecuzione per JMP0(515) è OFF, Uscita 227
JMP0 JMP0(515) tutte le istruzioni del programma comprese tra JMP0(515) e l'istruzione Richiesta
515 JME0(516) successiva vengono elaborate come NOP(000). Utilizzare
JMP0(515) e JME0(516) in coppia. Nel programma è possibile
utilizzare un numero illimitato di istruzioni JMP0(515)/JME0(516) in
coppia. Condizione di Condizione di
esecuzione a ON esecuzione a
Istruzioni
saltate
Istruzioni
eseguite
Le istruzioni saltate
vengono considerate
Condizione di Condizione di come istruzioni
esecuzione b ON esecuzione b OFF NOP(000) e
richiedono lo stesso
tempo di esecuzione.
Istruzioni
eseguite
Istruzioni saltate
MULTIPLE JUMP Quando lo stato della condizione di esecuzione per JMP0(515) è OFF, Uscita 227
END JME0(516) tutte le istruzioni del programma comprese tra JMP0(515) e l'istruzione Non richiesta
JME0 JME0(516) successiva vengono elaborate come NOP(000). Utilizzare
516 JMP0(515) e JME0(516) in coppia. Nel programma è possibile utiliz-
zare un numero illimitato di istruzioni JMP0(515)/JME0(516) in coppia.
31
Istruzioni Capitolo 2-2
BREAK LOOP Viene inserita in un ciclo FOR-NEXT per interrompere l'esecuzione Uscita 232
BREAK BREAK(514) Richiesta
del ciclo quando si verifica una determinata condizione. Le rimanenti
514 istruzioni all'interno del ciclo vengono considerate come istruzioni
NOP(000) Condizione di
N ripetizioni esecuzione a ON
Arresto forzato
delle ripetizioni
Considerate
come istruzioni
NOP(000)
FOR-NEXT Le istruzioni comprese tra FOR(512) e NEXT(513) vengono ripetute Uscita 229
LOOPS NEXT(513) per il numero di volte specificato. Le istruzioni FOR(512) e NEXT(513) Non richiesta
NEXT devono essere utilizzate in coppia.
513
32
Istruzioni Capitolo 2-2
Flag di
TIMX(550) completa-
mento
N
S Ingresso del
temporizzatore
N: numero di
temporizzatore PV del SV
S: valore impostato temporizzatore
Flag di
completa-
mento
Flag di
completamento
N
S
N: numero di
temporizzatore
S: valore impostato
33
Istruzioni Capitolo 2-2
D1
D2
S
D1: flag di
completamento
D2: canale PV
S: canale SV
34
Istruzioni Capitolo 2-2
D1
D2 Ingresso del
S temporizzatore
D1: flag di SV 7
completamento ...
D2: canale PV SV 2
S: primo canale SV PV del SV 1
temporizzatore (D2) SV 0
0
Flag di Bit 7
completamento ...
(D1) Bit 2
Bit 1
Bit 0
COUNTER CNT/CNTX(546) attiva un contatore decrementale. L'intervallo di impostazione Uscita 260
CNT Ingresso CNT Richiesta
per il valore impostato (SV) è compreso tra 0 e 9.999 secondi per valori decimali
(BCD) conteggio N codificati in binario (BCD) e da 0 a 65.535 secondi per valori binari (decimali o
S esadecimali).
CNTX Ingresso Ingresso conteggio
di reset
546
(binario) N: numero di Ingresso di reset
(solo CS1-H, CJ1- contatore
H, CJ1M o CS1D) S: valore
impostato SV
PV del contatore
Ingresso
conteggio CNTX(546)
N
Flag di
S completamento
Ingresso
di reset
N: numero di
contatore
S: valore impostato
35
Istruzioni Capitolo 2-2
SV 1
PV del contatore
Flag di completamento
RESET TIMER/ CNR(545)/CNRX(547) reimposta i temporizzatori o i contatori che rien- Uscita 267
COUNTER CNR(545) trano nell'intervallo dei numeri di temporizzatore o contatore specifi- Richiesta
CNR cato. Imposta il valore impostato su 9999 (valore massimo).
N1
@CNR
545 N2
(BCD)
N1: primo numero
nell'intervallo
CNRX
@CNRX N2: ultimo numero
547 nell'intervallo
(binario)
(solo CS1-H, CJ1-
H, CJ1M o CS1D) CNRX(547)
N1
N2
36
Istruzioni Capitolo 2-2
Condizione di
AND esecuzione ON quando
il risultato del confronto
è vero.
<
OR
<
Condizione di esecuzione ON
quando il risultato del confronto
è vero.
Confronto con S1: dati di Le istruzioni di confronto con simboli (doppio canale, senza segno) LD: non 275
simboli (doppio confronto 1 confrontano due valori (costanti e/o il contenuto di dati specifici a dop- richiesta
canale, senza S2: dati di pio canale) in formato binario a 32 bit senza segno e creano una con- AND, OR:
segno) dizione di esecuzione ON quando la condizione di confronto è vera. richiesta
confronto 2 Esistono tre tipi di istruzioni di confronto con simboli, ovvero LD
LD, AND, OR + =,
<>, <, <=, >, >= + (LOAD), AND e OR.
L
301 (=)
306 (<>)
311 (<)
316 (<=)
321 (>)
326 (>=)
Confronto con S1: dati di Le istruzioni di confronto con simboli (con segno) confrontano due LD: non 275
simboli (con confronto 1 valori (costanti e/o il contenuto di canali specifici) in formato binario a richiesta
segno) S2: dati di 16 bit con segno (esadecimale a 4 cifre) e creano una condizione di AND, OR:
LD, AND, OR + =, esecuzione ON quando la condizione di confronto è vera. Esistono tre richiesta
confronto 2 tipi di istruzioni di confronto con simboli, ovvero LD (LOAD), AND e
<>, <, <=, >, >=
+S OR.
302 (=)
307 (<>)
312 (<)
317 (<=)
322 (>)
327 (>=)
37
Istruzioni Capitolo 2-2
OR:
Simbolo
C
S1
S2
C: canale di
controllo
S1: primo canale
del tempo
attuale
S2: primo canale
del tempo di
confronto
UNSIGNED Confronta due valori binari senza segno (costanti e/o il contenuto di Uscita 287
COMPARE CMP(020)
canali specifici) e invia il risultato ai flag aritmetici dell'area ausiliaria. Richiesta
CMP S1
!CMP*1
S2 Confronto binario
020 senza segno
S1: dati di
confronto 1
S2: dati di Flag aritmetici
confronto 2 (>, >=, =, <=, <, <>)
DOUBLE Confronta due valori binari doppi senza segno (costanti e/o il Uscita 290
UNSIGNED CMPL(060) Richiesta
contenuto di canali specifici) e invia il risultato ai flag aritmetici
COMPARE dell'area ausiliaria.
S1
CMPL
060 S2 Confronto binario
senza segno
S1: dati di S1+1 S2+1
confronto 1
S2: dati di
confronto 2 Flag aritmetici
(>, >=, =, <=, <, <>)
38
Istruzioni Capitolo 2-2
DOUBLE Confronta due valori binari doppi con segno (costanti e/o il Uscita 296
SIGNED BINARY CPSL(115)
contenuto di canali specifici) e invia il risultato ai flag aritmetici Richiesta
COMPARE
S1 dell'area ausiliaria.
CPSL
115 S2 Confronto binario
con segno
S1: dati di S1+1 S2+1
confronto 1
S2: dati di
confronto 2 Flag aritmetici
(>, >=, =, <=, <, <>)
MULTIPLE Confronta 16 canali consecutivi con altri 16 canali consecutivi e, se il Uscita 299
COMPARE MCMP(019)
contenuto di un canale non è uguale, imposta su ON il bit Richiesta
MCMP S1 corrispondente nel canale del risultato.
@MCMP
S2 Confronto R
019
0: i canali
R sono
S1: primo canale uguali.
del gruppo 1 1: i canali
S2: primo canale non sono
del gruppo 2 uguali.
R: canale del
risultato
39
Istruzioni Capitolo 2-2
AREA RANGE Confronta il valore binario a 16 bit senza segno in CD (contenuto del Uscita 310
COMPARE ZCP(088) canale o costante) con l'intervallo definito da LL e UL e invia i risultati Richiesta
ZCP ai flag aritmetici dell'area ausiliaria.
@ZCP CD
088 LL
(solo CS1-H, CJ1-
H, CJ1M o CS1D) UL
CD: dati da
confrontare (1 canale)
LL: limite inferiore
dell'intervallo
UL: limite superiore
dell'intervallo
DOUBLE AREA Confronta il valore binario a 32 bit senza segno in CD e CD+1 (conte- Uscita 313
RANGE ZCPL(116) nuto del canale o costante) con l'intervallo definito da LL e UL e invia i Richiesta
COMPARE risultati ai flag aritmetici dell'area ausiliaria.
CD
ZCPL
@ZCPL LL
116
(solo CS1-H, CJ1- UL
H, CJ1M o CS1D) CD: dati da
confrontare (2 canali)
LL: limite inferiore
dell'intervallo
UL: limite superiore
dell'intervallo
40
Istruzioni Capitolo 2-2
Canale di destinazione
DOUBLE MOVE Trasferisce due canali di dati nei canali specificati. Uscita 318
MOVL(498)
MOVL S S+1 Richiesta
@MOVL S
498
D
S: primo canale di Stato del bit non
origine modificato
D: primo canale di
D D+1
destinazione
MOVE NOT Trasferisce il complemento di un canale di dati nel canale specificato. Uscita 317
MVN MVN(022) Richiesta
@MVN Canale di origine
S
022
D
S: origine
D: destinazione Stato del bit
invertito
Canale di destinazione
41
Istruzioni Capitolo 2-2
S: canale di origine
St: canale iniziale
E: canale finale
E
42
Istruzioni Capitolo 2-2
S: canale di origine
Bs: indirizzo base
di destinazione
Of: offset Bs+n
DATA COLLECT Trasferisce il canale di origine, calcolato aggiungendo un valore di Uscita 338
COLL COLL(081) offset all'indirizzo di base, nel canale di destinazione. Richiesta
@COLL Bs
081 Bs Of
Of
D
D: destinazione
(registro indice)
Registro indice
Registro indice
43
Istruzioni Capitolo 2-2
abilitato
···
St
44
Istruzioni Capitolo 2-2
DOUBLE Fa scorrere tutti i bit dei canali Wd e Wd +1 di un bit a sinistra, Uscita 362
ROTATE LEFT ROLL(572)
incluso il flag di riporto (CY). Richiesta
ROLL Wd
@ROLL Wd+1 Wd
572 Wd: canale
DOUBLE Fa scorrere tutti i bit dei canali Wd e Wd +1 di un bit a sinistra, Uscita 369
ROTATE LEFT RLNL(576) Richiesta
escluso il flag di riporto (CY).
WITHOUT
CARRY Wd Wd+1 Wd
RLNL
@RLNL Wd: canale
576
ROTATE RIGHT Uscita 364
ROR(028) Fa scorrere tutti i bit del canale Wd di un bit a destra,
ROR Richiesta
@ROR incluso il flag di riporto (CY).
Wd Wd+1 Wd
028
Wd: canale
45
Istruzioni Capitolo 2-2
ONE DIGIT SHIFT Fa scorrere i dati di una cifra (4 bit) a sinistra. Uscita 374
LEFT SLD(074)
Richiesta
SLD E S t
St
@SLD
074 E Perso
D: canale iniziale
dello scorrimento Fa scorrere un bit a sinistra
N-1 bit
C: bit iniziale
N: lunghezza dati
di scorrimento
N-1 bit
46
Istruzioni Capitolo 2-2
Scorrimento
del contenuto
Perso di "a" o "0"
N bit
DOUBLE SHIFT Uscita 384
N-BITS LEFT NSLL(582) Fa scorrere i 32 bit specificati dei dati canale a sinistra del numero
di bit specificato. Richiesta
NSLL D
@NSLL
582 C
Scorrimento di n bit
D: canale di
scorrimento
C: canale di Scorriment
controllo o del
contenuto
Perso di "a" o "0"
N bit
SHIFT N-BITS Uscita 387
RIGHT NASR(581) Fa scorrere i 16 bit specificati dei dati canale a destra del Richiesta
NASR numero di bit specificato.
@NASR D
581 C
Scorrimento del
D: canale di contenuto di
scorrimento "a" o "0" Perso
C: canale di
controllo N bit
DOUBLE SHIFT Fa scorrere i 32 bit specificati dei dati canale a destra del Uscita 389
N-BITS RIGHT NSRL(583) Richiesta
numero di bit specificato.
NSRL D
@NSRL
583 C Scorrimento di n bit
D: canale di
scorrimento Scorrimento
C: canale di del
contenuto di Perso
controllo
"a" o "0"
47
Istruzioni Capitolo 2-2
48
Istruzioni Capitolo 2-2
49
Istruzioni Capitolo 2-2
DOUBLE BCD Somma dati e/o costanti in formato BCD a 8 cifre (doppio canale), Uscita 423
ADD WITH +BCL(407) Richiesta
CARRY incluso il flag di riporto (CY).
Au Au+1 Au (BCD)
+BCL
@+BCL Ad
407 Ad+1 Ad (BCD)
R
Au: primo canale + CY
augendo
Ad: primo canale
addendo Il flag CY viene
CY R+1 R (BCD)
R: primo canale del attivato in
risultato presenza di riporto.
50
Istruzioni Capitolo 2-2
51
Istruzioni Capitolo 2-2
52
Istruzioni Capitolo 2-2
53
Istruzioni Capitolo 2-2
54
Istruzioni Capitolo 2-2
DOUBLE Converte dati esadecimali a 8 cifre (binari a 32 bit) in dati in formato Uscita 470
BINARY-TO- BCDL(059)
BCD a 8 cifre. Richiesta
DOUBLE BCD
S (Binario) R (BCD)
BCDL
@BCDL R (Binario) R+1 (BCD)
059
S: primo canale di
origine
R: primo canale
del risultato
55
Istruzioni Capitolo 2-2
R
R+1
R+1
R+14
R+15
R+16
R+17
Vengono usati due
intervalli di 16 canali
quando l specifica 2 byte.
R+30
R+31
56
Istruzioni Capitolo 2-2
Decodifica da 16
Bit più Bit più
a 4 bit (in R viene
scritta la posizione a sinistra a destra
del bit più a
sinistra [m])
n=2 (inizia con la cifra 2)
ASCII CONVERT Converte cifre esadecimali a 4 bit nel canale di origine negli Uscita 486
ASC ASC(086) Richiesta
equivalenti ASCII a 8 bit.
@ASC Di
S
086
Di Prima cifra da convertire
S: canale di
origine
Di: identificativo
della cifra Numero di
D: primo canale cifre (n+1)
di destinazione
Sinistra (1) Destra (0)
57
Istruzioni Capitolo 2-2
COLUMN TO Converte una colonna di bit all'interno di un intervallo di 16 canali Uscita 494
LINE LINE(063) (lo stesso numero di bit in 16 canali consecutivi) nei 16 bit del Richiesta
LINE canale di destinazione
@LINE S N
Bit Bit
063 N 15 00
D S 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 1
S: primo canale S+1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1
di origine S+2 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1
N: numero di bit
D: canale di S+3 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1
destinazione . . . .
. . . .
. . . .
S+15 0 1 1 0 0 0 0 1 1 0 0 0 1 0 1 0
Bit Bit
15 00
D 0 . . . 0 1 1 1
LINE TO Converte i 16 bit del canale di origine in una colonna di bit Uscita 496
COLUMN COLM(064)
all'interno di un intervallo di 16 canali di destinazione (lo stesso Richiesta
COLM S numero di bit in 16 canali consecutivi).
@COLM
064 D Bit Bit
15 00
N
S: canale di S 0 . . . . . . . 0 1 1 1
origine
D: primo canale di
destinazione
N: numero di bit Bit Bi Bit
15 00
D 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1
D+1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1
D+2 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1
D+3 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1
. . . .
. . . .
. . . .
D+15 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0
58
Istruzioni Capitolo 2-2
59
Istruzioni Capitolo 2-2
60
Istruzioni Capitolo 2-2
61
Istruzioni Capitolo 2-2
ARITHMETIC Calcola seno, coseno o un'estrapolazione lineare dei dati di origine. Uscita 540
PROCESS APR(069)
La funzione di estrapolazione lineare consente di approssimare rela- Richiesta
APR C zioni tra X e Y con segmenti di linea.
@APR
069 S
R
C: canale di
controllo
S: dati di origine
R: canale del
risultato
FLOATING Uscita 552
POINT DIVIDE FDIV(079) Divide un numero a virgola mobile a 7 cifre per un altro numero. Richiesta
FDIV I numeri a virgola mobile sono espressi in notazione scientifica
@FDIV Dd (7 cifre di mantissa e 1 cifra di esponente).
079 Dr Quoziente
R R+1 R
Dd: primo canale
dividendo Dr+1 Dr Dd+1 Dd
Dr: primo canale
divisore
R: primo canale
del risultato
BIT COUNTER Conta il numero totale di bit impostati su ON presenti nei Uscita 556
BCNT BCNT(067) canali specificati. Richiesta
@BCNT N canali
N
067 Conta il numero di
S bit impostati su ON.
...
R
S+(N −1) Risultato
N: numero di
canali binario
S: primo canale
di origine R
R: canale del
risultato
62
Istruzioni Capitolo 2-2
FLOATING TO Converte un valore a virgola mobile a 32 bit in dati binari a 32 bit con Uscita 565
32-BIT FIXL(451) segno e invia il risultato ai canali del risultato specificati. Richiesta
FIXL S
@FIXL S+1 S Dati a virgola
451 R mobile (32 bit)
S: primo canale
di origine R+1 R Dati binari con
R: primo canale segno (32 bit)
del risultato
16-BIT TO FLOA- Uscita 566
TING FLT(452) Converte un valore binario a 16 bit con segno in dati a virgola mobile
Richiesta
FLT
a 32 bit e invia il risultato ai canali del risultato specificati.
@FLT S
Dati binari con
452 R S segno (16 bit)
S: canale di
origine Dati a virgola mobile
R: primo canale R+1 R (32 bit)
del risultato
32-BIT TO FLOA- Uscita 568
TING FLTL(453) Converte un valore binario a 32 bit con segno in dati a virgola mobile
a 32 bit e invia il risultato ai canali del risultato specificati. Richiesta
FLTL S
@FLTL Dati binari con
S+1 S
453 R segno (32 bit)
S: primo canale
di origine Dati a virgola
R: primo canale R+1 R mobile (32 bit)
del risultato
FLOATING- Uscita 570
POINT ADD +F(454) Somma due numeri a virgola mobile a 32 bit e invia il risultato ai canali
Richiesta
+F del risultato specificati.
@+F
Au
Augendo (dati a
454 Ad Au+1 Au
virgola mobile a 32 bit)
R Addendo (dati a
Au: primo canale
augendo
+ Ad+1 Ad virgola mobile a 32 bit)
AD: primo canale
addendo Risultato (dati a
R: primo canale R+1 R
del risultato virgola mobile a 32 bit)
FLOATING- Uscita 572
POINT F(455) Esegue la sottrazione tra due numeri a virgola mobile a 32 bit e invia Richiesta
SUBTRACT il risultato ai canali del risultato specificati.
–F Mi
@–F Minuendo (dati a
Su Mi+1 Mi
455 virgola mobile a 32 bit)
R
Mi: primo canale − Su+1 Su
Sottraendo (dati a
virgola mobile a 32 bit)
minuendo
Su: primo canale
sottraendo Risultato (dati a
R: primo canale R+1 R virgola mobile a 32 bit)
del risultato
63
Istruzioni Capitolo 2-2
64
Istruzioni Capitolo 2-2
65
Istruzioni Capitolo 2-2
<F (331), S1
<=F (332), S2
>F (333),
o >=F (334) Uso di OR:
Simbolo,
opzione
S1
S2
S1: dati di confronto 1
S2: dati di confronto 2
66
Istruzioni Capitolo 2-2
67
Istruzioni Capitolo 2-2
68
Istruzioni Capitolo 2-2
69
Istruzioni Capitolo 2-2
DOUBLE LOGA- Calcola il logaritmo naturale (in base e) dei dati a virgola mobile in dop- Uscita 653
RITHM LOGD(859) pia precisione specificati (64 bit) e invia il risultato ai canali dei risultati. Richiesta
LOGD
@LOGD S
859 R
S: primo canale
di origine
R: primo canale
del risultato
DOUBLE EXPO- Eleva un numero a virgola mobile in doppia precisione (64 bit) alla Uscita 655
NENTIAL PWRD(860) potenza di un altro numero a virgola mobile in doppia precisione e Richiesta
POWER invia il risultato ai canali dei risultati.
PWRD B
@PWRD E
860
R
B: primo canale
base
E: primo canale
esponente
R: primo canale
del risultato
DOUBLE SYM- Uso di LD: Confronta i dati in doppia precisione specificati (64 bit) e crea una con- LD: 657
BOL COMPARI- Simbolo,
dizione di esecuzione ON se il risultato del confronto è vero. non richiesta
SON opzione Con le istruzioni di confronto con simboli a virgola mobile è possibile
LD, AND o OR S1 utilizzare tre tipi di simboli: LD (LOAD), AND e OR. AND o OR:
+ S2 richiesta
=D (335),
<>D (336), Uso di AND:
<D (337), Simbolo,
<=D (338), opzione
>D (339), S1
o >=D (340) S2
Uso di OR:
Simbolo,
opzione
S1
S2
S1: dati di confronto 1
S2: dati di confronto 2
70
Istruzioni Capitolo 2-2
PUSH ONTO Scrive un canale di dati nello stack specificato. Uscita 669
STACK PUSH(632)
Richiesta
PUSH Indirizzo di memoria Indirizzo di memoria
TB I/O interna I/O interna
@PUSH
632 S
TB TB
TB: primo TB+1 TB+1
indirizzo dello TB+2 TB+2
stack TB+3 PUSH(632) TB+3
S: canale di
origine
LAST IN FIRST Legge l'ultimo canale dei dati scritti nello stack specificato, ossia i dati Uscita 675
OUT LIFO(634) Richiesta
nello stack più recenti.
LIFO Indirizzo di Indirizzo di
@LIFO TB
Puntatore memoria I/O memoria I/O
634 D stack interna interna
TB: primo TB TB
indirizzo dello TB+1 Dati più TB+1
stack TB+2 recenti TB+2
D: canale di m−1
TB+3 TB+3
destinazione
Puntat
ore
m−1 m−1
A rimane
invariato
Il puntatore
viene LIFO
decrementato.
FIRST IN FIRST Legge il primo canale dei dati scritti nello stack specificato, Uscita 672
OUT FIFO(633) ossia i dati nello stack meno recenti. Richiesta
FIFO Indirizzo di
Indirizzo di memoria I/O
@FIFO TB memoria I/O interna
633 D interna
Punta- TB TB
Dati
TB: primo tore TB+1 meno TB+1
indirizzo dello stack TB+2 recenti TB+2
stack TB+3
m−1
TB+3
D: canale di
destinazione Punta-
tore
stack m−1
71
Istruzioni Capitolo 2-2
GET RECORD Restituisce il numero del record all'indirizzo di memoria I/O interna Uscita 683
NUMBER GETR(636) contenuto nel registro indice specificato. Richiesta
GETR
@GETR N
636 IR Numero tabella (N)
Indirizzo di
D memoria
N: numero tabella GETR(636) scrive nel
IR: registro indice canale D il numero del
IR Numero record record che include
D: canale di
(R) l'indirizzo di memoria
destinazione
I/O (m).
DATA SEARCH Cerca un canale di dati all'interno di un intervallo di canali. Uscita 685
SRCH SRCH(181) Richiesta
@SRCH Indirizzo di memoria
C I/O interna
181
R1
R1 Ricerca
Cd
C Cd
C: primo canale
di controllo
R1: primo canale
nell'intervallo R1+(C-1)
Cd: dati di Corrispondenza
confronto
72
Istruzioni Capitolo 2-2
D C canali
C: primo canale Valore
di controllo massimo
R1: primo canale R1+(W −1)
nell'intervallo
D: canale di
destinazione
FIND MINIMUM Uscita 693
MIN(183) Trova il valore minimo nell'intervallo.
MIN Richiesta
@MIN C Indirizzo di memoria
183 I/O interna
R1 R1
D C canali
C: primo canale
di controllo Valore minimo
R1: primo canale R1+(W-1)
nell'intervallo
D: canale di
destinazione
SUM Uscita 697
SUM(184) Somma i byte o i canali nell'intervallo e invia il risultato a due
SUM Richiesta
@SUM canali.
C
184
R1
D
R1
C: primo canale
di controllo
R1: primo canale
nell'intervallo R1+(W-1)
)
D: primo canale
di destinazione
73
Istruzioni Capitolo 2-2
STACK DATA Scrive i dati di origine nell'elemento specificato dello stack, sovrascri- Uscita richie- 710
OVERWRITE SWRIT(640) vendo i dati già esistenti. Il valore di offset (numero di elementi prima sta
(solo CS1-H, della posizione corrente del puntatore) indica la posizione dell'elemento
CJ1-H, CJ1M o TB desiderato.
CS1D)
C
SWRIT
@SWRIT S
640
TB: primo indirizzo
dello stack
C: valore di offset
S: dati di origine
STACK DATA Inserisce i dati di origine nella posizione specificata nello stack e fa scor- Uscita richie- 713
INSERT (solo SINS(641) rere verso il basso i dati rimanenti dello stack. Il valore di offset indica la sta
CS1-H, CJ1-H, posizione del punto d'inserimento (il numero di elementi di dati che pre-
CJ1M o CS1D) TB cede la posizione corrente del puntatore).
SINS C
@SINS
641 S
74
Istruzioni Capitolo 2-2
Limite inferiore
C
DEAD BAND Controlla i dati di uscita in base all'appartenenza dei dati di Uscita 743
CONTROL BAND(681) Richiesta
ingresso all'intervallo della zona morta.
BAND
@BAND S Uscita
681 C
D
Limite inferiore (C)
S: canale di
ingresso Ingresso
C: primo canale
limite Limite superiore (C+1)
D: canale di uscita
75
Istruzioni Capitolo 2-2
TIME-PROPOR- A partire dal rapporto di funzionamento o da una variabile manipolata Uscita 749
TIONAL OUTPUT TPO(685) contenuta nel canale specificato, converte il rapporto di funzionamento Richiesta
TPO S in un'uscita proporzionale al tempo in base ai parametri specificati ed
685 emette il risultato dall'uscita specificata.
(solo CPU della C
serie CS/CJ ver-
sione 2.0 o suc- R
cessiva). S: canale di
ingresso
C: primo canale
parametro
R: bit di uscita
a impulsi
76
Istruzioni Capitolo 2-2
S: canale di origine
P1: primo canale
parametro ∆Y
R: canale del ∆Y
risultato
Offset ∆X
∆X
S (binario S (binario
con segno) con segno)
Offset
Offset di 0000
P1 Offset (Binario con segno) R (BCD con segno)
P1 + 1 ∆Y (Binario con segno)
P1 + 2 ∆X (BCD con segno)
∆Y
Offset = 0000 esadecimale
∆X
S (binario
con segno)
77
Istruzioni Capitolo 2-2
∆X ∆X
Offset Offset S (BCD con segno)
Min.
conversione S (BCD con segno)
Min. conversione
Offset di 0000
Max.
conversione
∆Y
∆X
S (BCD con segno)
Min. conversione
AVERAGE Calcola il valore medio di un canale di ingresso per il numero di cicli Uscita 769
AVG AVG(195) specificato. Richiesta
195
S S: canale di origine
N
R
S: canale di
origine N: numero di cicli
N: numero di cicli
R: canale del
risultato
R
R+1 Puntatore
Flag di media valida Media
R+2
R+3
N valori
R+N+1
78
Istruzioni Capitolo 2-2
Programma principale
Programma di
subroutine
(tra SBN(092)
e RET(093))
Fine programma
D
N: numero
subroutine
S: primo canale
parametro di Esecuzione della
subroutine tra
ingresso SBN(092) e
RET(093)
D: primo canale
MCRO(099)
parametro di
uscita
SUBROUTINE Indica l'inizio del programma di subroutine con il numero di Uscita 783
ENTRY SBN(092) subroutine specificato. Non richiesta
SBN N
092
N: numero
subroutine o
Area subroutine
79
Istruzioni Capitolo 2-2
READ Legge le impostazioni di elaborazione dell'interrupt correnti definite tra- Uscita 805
INTERRUPT MSKR(692) mite l'istruzione MSKS(690). Richiesta
MASK
(non supportata N
dalle CPU CS1D D
per sistemi a due
CPU). N: identificatore
MSKR di interrupt
@MSKR D: canale di
692 destinazione
80
Istruzioni Capitolo 2-2
ENABLE INTER- Abilita l'esecuzione di tutti i task ad interrupt che erano stati Uscita 816
RUPTS EI(694) disabilitati tramite l'istruzione DI(693). Non richiesta
EI
694
Abilita l'esecuzione di
tutti i task ad interrupt
disabilitati.
81
Istruzioni Capitolo 2-2
P: identificatore
della porta
C: dati di controllo
NV: primo canale
con nuovo valore
attuale
HIGH-SPEED L'istruzione PRV(881) viene utilizzata per leggere il valore Uscita 827
COUNTER PV PRV
attuale di un contatore veloce, di un'uscita a impulsi o di un Richiesta
READ P interrupt di ingresso (modalità contatore).
PRV
@PRV C
881 D
P: identificatore
della porta
C: dati di controllo
D: primo canale di
destinazione
COUNTER FRE- Legge l'ingresso della frequenza a impulsi di un contatore veloce e Uscita 833
QUENCY CON- PRV2 converte la frequenza in velocità di rotazione (numero di rotazioni) Richiesta
VERT C1 oppure converte il valore attuale del contatore nel numero totale di
PRV2 rotazioni. Il risultato viene inviato ai canali di destinazione in formato
883 C2 esadecimale a 8 cifre. Gli impulsi possono essere immessi esclusiva-
mente dal contatore veloce 0.
(Solo CPU CJ1M D
versione 2.0 o
successiva). C1: dati di con-
trollo
C2: impulsi/rota-
zione
D: primo canale di
destinazione
COMPARISON L'istruzione CTBL(882) viene utilizzata per eseguire confronti tra il Uscita 837
TABLE LOAD CTBL valore attuale di un contatore veloce e valori o intervalli di riferimento. Richiesta
CTBL P
@CTBL
C
882
TB
P: identificatore
della porta
C: dati di controllo
TB: primo canale
della tabella di
confronto
SPEED OUTPUT L'istruzione SPED(885) viene utilizzata per specificare la frequenza e Uscita 841
SPED consentire l'emissione degli impulsi senza accelerazione o decelera-
SPED Richiesta
@SPED P zione.
885
M
F
P: identificatore
della porta
M: modalità di
uscita
F: primo canale di
frequenza degli
impulsi
82
Istruzioni Capitolo 2-2
P: identificatore
della porta
T: tipo di impulsi
N: numero di
impulsi
PULSE OUTPUT L'istruzione PLS2(887) viene utilizzata per impostare la frequenza Uscita 849
PLS2 degli impulsi e i valori di accelerazione e decelerazione, nonché con-
PLS2 Richiesta
@PLS2 P sentire l'emissione degli impulsi con accelerazione o decelerazione
(con valori di accelerazione e decelerazione distinti). È previsto solo il
887 M posizionamento.
S
F
P: identificatore
della porta
M: modalità di
uscita
S: primo canale
della tabella impo-
stazioni
F: primo canale
della frequenza
iniziale
ACCELERATION L'istruzione ACC(888) viene utilizzata per impostare la frequenza degli Uscita 855
CONTROL ACC impulsi e i valori di accelerazione e decelerazione, nonché consentire Richiesta
ACC P l'emissione degli impulsi con accelerazione o decelerazione (con valori
@ACC di accelerazione e decelerazione uguali). Sono previsti sia il posiziona-
888 M mento che il controllo della velocità.
S
P: identificatore
della porta
M: modalità di
uscita
S: primo canale
della tabella impo-
stazioni
ORIGIN SEARCH L'istruzione ORG(889) viene utilizzata per eseguire operazioni di Uscita 862
ORG ricerca dell'origine e ritorno all'origine.
ORG Richiesta
@ORG P
889
C
P: identificatore
della porta
C: dati di controllo
PULSE WITH L'istruzione PWM(891) viene utilizzata per l'emissione di impulsi con Uscita 865
VARIABLE DUTY PWM duty-cycle variabile. Richiesta
FACTOR P
PWM
@ F
891 D
P: identificatore
della porta
F: frequenza
D: duty-cycle
83
Istruzioni Capitolo 2-2
STEP START L'istruzione SNXT(009) viene utilizzata nei seguenti modi: Uscita 868
SNXT SNXT(009) (1) Per avviare l'esecuzione della programmazione step. Richiesta
009 B (2) Per passare al bit di controllo dello step successivo.
(3) Per terminare l'esecuzione della programmazione step.
B: bit
7-SEGMENT Converte il contenuto esadecimale delle cifre specificate in codici Uscita 888
DECODER SDEC(078)
display a 7 segmenti e li memorizza negli 8 bit superiori o inferiori Richiesta
SDEC dei canali di destinazione specificati.
@SDEC S
078 Di
D Di
Numero di cifre
S: canale di Prima cifra da convertire
origine
Di: identificativo
della cifra
D: primo canale
di destinazione
8 bit più a destra (0)
7 segmenti
84
Istruzioni Capitolo 2-2
I: canale di
ingresso dati
D1: primo canale
registro
D2: canale di
immissione
HEXADECIMAL Legge i dati numerici da un tastierino esadecimale collegato a un Uscita 899
KEY INPUT HKY(212) modulo di ingresso e a un modulo di uscita e memorizza fino a 8 cifre di Richiesta
HKY dati in formato esadecimale nei canali specificati.
I
212
(solo CPU della O
serie CS/CJ ver-
sione 2.0 o suc- D
cessiva). C
I: canale di
ingresso dati
O: canale di
uscita
D: primo canale
registro
MATRIX INPUT Accetta fino a 64 segnali da una matrice 8 × 8 collegata a un modulo di Uscita 904
MTR MTR(213) ingresso e a un modulo di uscita (utilizzando 8 punti di ingresso e 8 Richiesta
213 I punti di uscita) e memorizza i dati a 64 bit nei 4 canali di destinazione.
(solo CPU della
serie CS/CJ ver- O
sione 2.0 o suc-
cessiva). D
C
I: canale di
ingresso dati
O: canale di
uscita
D: primo canale
di destinazione
C: canale di
sistema
85
Istruzioni Capitolo 2-2
Nota: Solo CPU della serie CS/CJ versione 2.0 o successiva (com-
prese le CPU CS1-H, CJ1-H e CJ1M con numero di lotto 030418
o successivo) possono leggere dalle unità bus CPU.
INTELLIGENT I/O Invia il contenuto dell'area di memoria I/O della CPU al modulo Uscita 917
WRITE IOWR(223) Richiesta
di I/O speciale o all'unità bus CPU (vedere nota).
IOWR
@IOWR C
223 S D
D+1
D
C: dati di controllo Numero modulo del modulo
S: origine di I/O speciale
trasferimento e
numero di canali
D: destinazione
trasferimento e
numero di canali Scrittura
del numero
di canali
specificato
Nota: Solo CPU della serie CS/CJ versione 2.0 o successiva (com-
prese le CPU CS1-H, CJ1-H e CJ1M con numero di lotto 030418
o successivo) possono scrivere nelle unità bus CPU.
CPU BUS UNIT Esegue immediatamente l'aggiornamento degli I/O dell'unità bus CPU Uscita richie- 921
I/O REFRESH DLNK(226) con il numero di unità specificato. sta
(solo CS1-H,
CJ1-H, CJ1M N
o CS1D)
DLNK N: numero modulo
@DLNK
226
86
Istruzioni Capitolo 2-2
TRANSMIT Invia il numero di byte di dati specificato dalla porta RS-232C integrata Uscita 937
TXD TXD(236) nella CPU o dalla porta seriale di una scheda di comunicazione seriale Richiesta
@TXD (versione 1.2 o successiva).
S
236
C
N
S: primo canale di
origine
C: canale di controllo
N: numero di byte
da 0000 a 0100
esadecimale (da 0
a 256 decimale)
RECEIVE Legge il numero di byte di dati specificato dalla porta RS-232C inte- Uscita 944
RXD RXD(235) grata nella CPU o dalla porta seriale di una scheda di comunicazione Richiesta
@RXD seriale (versione 1.2 o successiva).
D
235
C
N
D: primo canale di
destinazione
C: canale di
controllo
N: numero di byte
da memorizzare
da 0000 a 0100
esadecimale (da
0 a 256 decimale)
TRANSMIT VIA Invia il numero di byte di dati specificato dalla porta seriale di un Uscita 952
SERIAL COMMU- TXDU(256) modulo di comunicazione seriale (versione del modulo 1.2 o succes- Richiesta
NICATIONS UNIT siva). I dati vengono inviati in modalità senza protocollo con gli even-
TXDU S tuali codici di inizio e di fine specificati nell'area di configurazione DM
@TXDU allocata.
C
256
N
S: primo canale di
origine
C: primo canale di
controllo
N: numero di byte
da 0000 a 0256
BCD
87
Istruzioni Capitolo 2-2
CHANGE SERIAL Modifica i parametri di comunicazione di una porta seriale sulla CPU, Uscita 968
PORT SETUP STUP(237) sul modulo di comunicazione seriale (unità bus CPU) o sulla scheda di Richiesta
STUP comunicazione seriale. L'istruzione STUP(237) consente pertanto di
@STUP C modificare la modalità di protocollo durante il funzionamento del PLC.
237 S
C: canale di
controllo (porta)
S: primo canale
di origine
88
Istruzioni Capitolo 2-2
15 0
D Dati Risposta
della
risposta Esecuzione
(D−1) (m byte)
+ m
2
EXPLICIT MES- Invia un messaggio esplicito con qualsiasi codice di servizio. Uscita 1013
SAGE SEND EXPLT(720) Richiesta
EXPLT S
720
(solo CPU della D
serie CS/CJ ver- C
sione 2.0 o suc-
cessiva). S: primo canale
del messaggio
di invio
D: primo canale
del messaggio
ricevuto
C: primo canale
di controllo
EXPLICIT GET Legge le informazioni sullo stato con un messaggio esplicito (Get Attri- Uscita 1021
ATTRIBUTE EGATR(721) bute Single, codice di servizio: 0E esadecimale). Richiesta
EGATR S
721
(solo CPU della D
serie CS/CJ ver-
sione 2.0 o suc- C
cessiva). S: primo canale
del messaggio
di invio
D: primo canale
del messaggio
ricevuto
C: primo canale
di controllo del
messaggio
EXPLICIT SET Scrive le informazioni sullo stato con un messaggio esplicito (Set Attri- Uscita 1028
ATTRIBUTE ESATR(722) bute Single, codice di servizio: 0E esadecimale). Richiesta
ESATR S
722
(solo CPU della C
serie CS/CJ ver-
sione 2.0 o suc- S: primo canale
cessiva). del messaggio
di invio
C: primo canale
di controllo
89
Istruzioni Capitolo 2-2
EXPLICIT WORD Scrive dati dalla CPU locale in una CPU remota collegata in rete (la Uscita 1038
WRITE ECHWR(724) CPU remota deve supportare i messaggi espliciti). Richiesta
ECHWR
S
724
(solo CPU della D
serie CS/CJ ver-
sione 2.0 o suc- C
cessiva). S: primo canale
di origine nella
CPU locale
D: primo canale di
destinazione
nella CPU
remota
C: primo canale
di controllo
90
Istruzioni Capitolo 2-2
D
C: canale di Numero di
controllo canali
S1: primo canale specificato in
di origine S1 e S1+1
S2: nome file
D: primo canale di Numero
Scheda di memoria di canali
destinazione
o memoria dei file scritti in
nell'area EM D e D+1.
(specificata nella
quarta cifra di C). File specificato
in S2 CPU
Numero di
canali
Aggiunta
Scheda di memoria o memoria
dei file nell'area EM (specificata
Inizio del nella quarta cifra di C).
file File
CPU Nuovo file creato
specificato
Indirizzo
di inizio
specifi- Numero di canali
cato specificato in D1
e D1+1
in S
91
Istruzioni Capitolo 2-2
C: primo canale
del calendario
T: primo canale
dell'ora T Minuti Secondi
R: primo canale T+1 Ore
del risultato
R Minuti Secondi
R+1 Giorno Ora
R+2 Anno Mese
CALENDAR Sottrae tempo dai dati del calendario nei canali specificati. Uscita 1065
SUBTRACT CSUB(731) Richiesta
CSUB
@CSUB C C Minuti Secondi
731 T C+1 Giorno Ora
R C+2 Anno Mese
C: primo canale −
del calendario
T: primo canale
dell'ora T Minuti Secondi
R: primo canale Ore
del risultato T+1
R Minuti Secondi
R+1 Giorno Ora
R+2 Anno Mese
92
Istruzioni Capitolo 2-2
Secondi
Minuti Secondi
Ore
93
Istruzioni Capitolo 2-2
SEVERE Genera errori fatali definiti dall'utente. Gli errori fatali causano l'arresto Uscita 1087
FAILURE ALARM FALS(007) del PLC. Inoltre genera errori fatali nel sistema. Richiesta
FALS
N Flag di errore FALS attivato
007 L'esecuzion Codice di errore scritto in A400
S e di Codice di errore e data/ora scritti
nell'area del log degli errori
FAL(007)
N: numero di FALS genera un
S: primo canale errore fatale
del messaggio o con numero L'indicatore ERR è acceso
codice di errore di FAL N.
da generare
Messaggio
visualizzato sulla
console di
programmazione
FAILURE POINT Uscita 1095
DETECTION FPD(269) L'istruzione FPD(269) consente di rilevare un errore in un blocco di
istruzioni monitorando il tempo che intercorre tra l'esecuzione Richiesta
FPD dell'istruzione stessa e l'attivazione di un'uscita di diagnostica,
C individuando in tal modo l'ingresso che impedisce l'attivazione di
269 un'uscita.
T
Funzione di monitoraggio del tempo
R Il monitoraggio inizia quando la condizione di
esecuzione diventa ON. Se l'uscita B non
viene attivata entro il tempo di monitoraggio,
C: canale di viene generato un errore non fatale.
controllo
T: tempo di Condizione di
monitoraggio esecuzione A
R: primo canale
registro T Blocco di
elaborazione
R dell'errore
Blocco di istruzioni (opzionale)
successivo
Condizione di esecuzione
dell'analisi diagnostica
della logica C
Uscita diagnostica B
94
Istruzioni Capitolo 2-2
CONVERT Converte l'indirizzo di memoria di un PLC della serie CS/CJ nell'indi- Uscita 1117
ADDRESS TO CV TOCV(285) rizzo di memoria equivalente di un PLC della serie CV. Richiesta
(solo CS1-H,
CJ1-H, CJ1M S
o CS1D) D
TOCV
@TOCV S: registro indice
285 contenente
l'indirizzo di
memoria della
serie CS
D: canale di
destinazione
95
Istruzioni Capitolo 2-2
Eseguito quando la
condizione di esecuzione
è ON.
BLOCK Definisce un'area di programmazione a blocchi. Per ogni istruzione Programma a 1128
PROGRAM END BPRG(096) deve esistere un'istruzione BEND(801) corrispondente. blocchi
BEND Richiesto
801
BLOCK BPPS Mette in pausa e riavvia il programma a blocchi specificato da un Programma a 1131
PROGRAM (811) altro programma a blocchi. blocchi
PAUSE Richiesto
BPPS N
811 N: numero
programma a
blocchi
...
... Istruzione
BPPS(811) eseguita
dal programma a
blocchi n.
Programma a blocchi n.
... Una volta messo in pausa,
questo programma non
verrà eseguito, anche se il
bit a diventasse ON.
96
Istruzioni Capitolo 2-2
Programma a blocchi n.
... Questo programma non verrà
eseguito finché il bit a rimane
impostato su ON.
CONDITIONAL EXIT(806) EXIT(806) senza un bit operando esce dal programma se la Programma a 1137
BLOCK EXIT condizione di esecuzione è ON. blocchi
EXIT B: bit operando Richiesto
806 Condizione di Condizione di
esecuzione esecuzione
OFF ON
A eseguito A eseguito
Condizione di
esecuzione
B eseguito
A eseguito A eseguito
B eseguito
97
Istruzioni Capitolo 2-2
A eseguito B eseguito
(tra IF ed ELSE) (dopo ELSE)
A eseguito B eseguito
(tra IF ed ELSE) (dopo ELSE)
CONDITIONAL IF (802) NOT Le istruzioni comprese tra IF(802) ed ELSE(803) vengono eseguite se Programma a 1133
BLOCK BRAN- B il bit operando è impostato su ON, mentre le istruzioni tra ELSE(803) e blocchi
CHING (NOT) IEND(804) vengono eseguite se il bit operando è impostato su OFF. Richiesto
IF NOT
B: bit operando
802
CONDITIONAL --- Se l'istruzione ELSE(803) viene omessa e il bit operando è impostato Programma a 1133
BLOCK BRAN- su ON, verranno eseguite le istruzioni comprese tra IF(802) e blocchi
CHING (ELSE) IEND(804). Richiesto
ELSE
803
CONDITIONAL --- Se il bit operando è impostato su OFF, verranno eseguite solo le istru- Programma a 1133
BLOCK BRAN- zioni inserite dopo IEND(804). blocchi
CHING END Richiesto
IEND
804
98
Istruzioni Capitolo 2-2
A
eseguito
Condizione di B eseguito
esecuzione
C C C eseguito
eseguito eseguito
Attesa
ONE CYCLE AND WAIT(805) Se il bit operando è impostato su OFF (ON per WAIT(805) NOT), le Programma a 1140
WAIT B istruzioni rimanenti del programma a blocchi verranno ignorate. Nel blocchi
WAIT ciclo successivo non verrà eseguita alcuna istruzione del programma a Richiesto
805 B: bit operando blocchi, ad eccezione della condizione di esecuzione per WAIT(805) o
WAIT(805) NOT. Quando la condizione di esecuzione passa a ON
(OFF per WAIT(805) NOT), verranno eseguite le istruzioni da
WAIT(805) o WAIT(805) NOT fino alla fine del programma.
ONE CYCLE AND WAIT(805) NOT Se il bit operando è impostato su OFF (ON per WAIT(805) NOT), le Programma a 1140
WAIT (NOT) B istruzioni rimanenti del programma a blocchi verranno ignorate. Nel blocchi
WAIT NOT ciclo successivo non verrà eseguita alcuna istruzione del programma a Richiesto
blocchi, ad eccezione della condizione di esecuzione per WAIT(805) o
805 B: bit operando
WAIT(805) NOT. Quando la condizione di esecuzione passa a ON
(OFF per WAIT(805) NOT), verranno eseguite le istruzioni da
WAIT(805) o WAIT(805) NOT fino alla fine del programma.
TIMER WAIT TIMW(813) Ritarda l'esecuzione del programma a blocchi del periodo di tempo Programma a 1144
TIMW N blocchi
specificato. L'esecuzione riprende dall'istruzione dopo
813 SV Richiesto
TIMW(813)/TIMWX(816) al completamento del conteggio.
(BCD) SV: da 0 a 999,9 secondi per il
N: numero del formato BCD e da 0 a 6.
TIMWX temporizzatore 553,5 secondi per il formato binario
816 SV: valore impo-
(binario) stato A eseguito
(solo CS1-H, CJ1-
H, CJ1M o CS1D) TIMWX(816)
N
SV
SV
preimpostato Tempo trascorso
N: numero del
temporizzatore
B eseguito
SV: valore impo-
stato
BEND
C eseguito
C
99
Istruzioni Capitolo 2-2
N: numero di
contatore
SV: valore impo- C C C eseguito
stato C eseguito eseguito
I: ingresso conteg-
gio
HIGH-SPEED TMHW(815) Ritarda l'esecuzione delle rimanenti istruzioni del programma a blocchi Programma a 1150
TIMER WAIT N del periodo di tempo specificato. L'esecuzione riprende dall'istruzione blocchi
TMHW SV dopo TMHW(815)/TMHWX(818) allo scadere del temporizzatore. Richiesto
815 SV: da 0 a 99,99 secondi
(BCD)
N: numero del per il formato BCD e da 0 a 655,
temporizzatore 35 secondi per il formato binario
TMHWX SV: valore impo-
817 stato A
(binario) eseguito
(solo CS1-H, CJ1- TMHWX(817)
H, CJ1M o CS1D) N
SV
SV
preimpost Tempo trascorso
N: numero del
temporizzatore B eseguito
SV: valore impo-
stato
BEND
C eseguito
C
100
Istruzioni Capitolo 2-2
Condizione di esecuzione
Ciclo ripetuto
LEND LEND(810) Le istruzioni LEND(810) e LEND(810) NOT specificano la fine del ciclo. Programma a 1153
LEND Quando viene raggiunta l'istruzione LEND(810) o LEND(810) NOT, blocchi
l'esecuzione del programma torna ciclicamente all'istruzione Richiesto
810
LOOP(809) immediatamente precedente finché il bit operando per
LEND(810) o LEND(810) NOT non passa, rispettivamente, a ON o a
OFF oppure finché lo stato della condizione di esecuzione per
LEND(810) è ON.
LEND LEND(810) Programma a 1153
LEND B blocchi
Se il bit operando è OFF per LEND(810) (o ON per LEND(810) NOT),
810 Richiesto
l'esecuzione del ciclo viene ripetuta a partire dall'istruzione dopo
B: bit operando LOOP(809). Se il bit operando è ON per LEND(810) (o OFF per
LEND(810) NOT), il ciclo viene interrotto e l'esecuzione continua a
partire dall'istruzione dopo LEND(810) o LEND(810) NOT.
Bit Bit Bit Bit
operando operando operando operando
ON OFF OFF OFF
Ciclo ripetuto
101
Istruzioni Capitolo 2-2
GET STRING Legge il numero di caratteri specificato a partire dall'inizio della Uscita 1164
LEFT LEFT$(652) Richiesta
stringa di testo.
LEFT$ S1
@LEFT$
652 S2
D
S1: primo canale
della stringa di testo
S2: numero di
caratteri
D: primo canale di
destinazione
GET STRING Legge il numero di caratteri specificato a partire dalla fine della Uscita 1166
RIGHT RGHT$(653)
stringa di testo. Richiesta
RGHT$ S1
@RGHT$ 00
653 S2
D
S1: primo canale
della stringa di
testo
S2: numero di
caratteri
D: primo canale
di destinazione
GET STRING Legge il numero di caratteri specificato a partire da una determinata Uscita 1168
MIDDLE MID$(654) posizione all'interno della stringa di testo. Richiesta
MID$
@MID$ S1
654 S2
→ →
S3
D
S1: primo canale
della stringa di
testo
S2: numero di
caratteri
S3: posizione
iniziale
D: primo canale
di destinazione
102
Istruzioni Capitolo 2-2
S: primo canale
della stringa di
testo
D: primo canale
di destinazione
REPLACE IN Uscita 1175
STRING RPLC$(654) Sostituisce una stringa di testo con quella specificata a partire da una
determinata posizione. Richiesta
RPLC$
@RPLC$ S1
661 S2
S3 → →
S4
D
S1: primo canale
della stringa di testo
S2: primo canale
della stringa di testo
di sostituzione
S3: numero di
caratteri
S4: posizione iniziale
D: primo canale di
destinazione
DELETE STRING Elimina la stringa di testo specificata dall'interno di un'altra stringa. Uscita 1178
DEL$ DEL$(658) Richiesta
@DEL$ Numero di caratteri da
S1 eliminare (specificato da S2)
658
→ →
S2
S3
G
D
S1: primo canale
della stringa di
testo
S2: numero di
caratteri
S3: posizione
iniziale
D: primo canale
di destinazione
103
Istruzioni Capitolo 2-2
Confronto di Le istruzioni di confronto delle stringhe (=$, <>$, <$, <=$, >$, >=$) 1187
stringhe LD confrontano due stringhe di testo a partire dall'inizio, verificando i valori LD: non
LD, AND, OR + Simbolo dei codici ASCII. Se il risultato del confronto è vero, viene creata una richiesta
=$, <>$, <$, <=$, condizione di esecuzione ON per LOAD, AND o OR. AND, OR:
>$, >=$ S1 richiesta
670 (=$) S2
671 (<>$)
672 (<$)
673 (<=$) AND
674 (>$) Simbolo
675 (>=$)
S1
S2
OR
Simbolo
S1
S2
S1: stringa di testo 1
S2: stringa di testo 2
104
Istruzioni Capitolo 2-2
Task m Task m
Diventa
eseguibile
Diventa nel ciclo
eseguibile successivo
nello
stesso
ciclo
Task n Task n
Task m Task m
Messo Messo in
in stato stato di
di attesa attesa al
nello ciclo
stesso
ciclo
Task n Task n
105
Istruzioni Capitolo 2-2
N: numero di
canali
S: primo canale di
origine
D: primo canale di
destinazione
SINGLE WORD Uscita 1203
DISTRIBUTE DISTC(566) Trasferisce il canale di origine in un canale di destinazione calcolato
aggiungendo il valore di offset all'indirizzo di base. È anche possibile Richiesta
DISTC S scrivere in uno stack (operazione PUSH ONTO STACK).
@DISTC
566 Bs S Bs Of
Of
S: canale di origine
Bs: indirizzo base
di destinazione
Of: offset
Bs+n
DATA COLLECT Uscita 1206
COLLC(567) Trasferisce il canale di origine, calcolato aggiungendo un valore di
COLLC offset all'indirizzo di base, nel canale di destinazione. È anche Richiesta
@COLLC possibile leggere da uno stack in ordine FIFO o LIFO (operazione
Bs STACK DATA READ).
567
Of Bs Of
D
106
Istruzioni Capitolo 2-2
107
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
108
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
109
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
B
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
BAND DEAD BAND 681 @BAND --- --- 743
CONTROL
BCD BINARY-TO-BCD 024 @BCD --- --- 469
BCDL DOUBLE BINARY-TO- 059 @BCDL --- --- 470
BCD
BCDS SIGNED BINARY-TO- 471 @BCDS --- --- 505
BCD
BCMP UNSIGNED BLOCK 068 @BCMP --- --- 304
COMPARE
BCMP2 EXPANDED BLOCK 502 @BCMP2 --- --- 306
COMPARE
BCNT BIT COUNTER 067 @BCNT --- --- 556
BCNTC BIT COUNTER 621 @BCNTC --- --- 1212
BDSL DOUBLE SIGNED 473 @BDSL --- --- 507
BINARY-TO-BCD
BEND BLOCK PROGRAM 801 --- --- --- 1128
END
BIN BCD-TO-BINARY 023 @BIN --- --- 466
BINL DOUBLE BCD-TO- 058 @BINL --- --- 467
DOUBLE BINARY
BINS SIGNED BCD-TO- 470 @BINS --- --- 499
BINARY
BISL DOUBLE SIGNED 472 @BISL --- --- 502
BCD-TO-BINARY
BPPS BLOCK PROGRAM 811 --- --- --- 1131
PAUSE
BPRG BLOCK PROGRAM 096 --- --- --- 1128
BEGIN
BPRS BLOCK PROGRAM 812 --- --- --- 1131
RESTART
BREAK BREAK LOOP 514 --- --- --- 232
BSET BLOCK SET 071 @BSET --- --- 331
C
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
CADD CALENDAR ADD 730 @CADD --- --- 1061
CCL LOAD CONDITION 283 @CCL --- --- 1112
FLAGS
CCS SAVE CONDITION 282 @CCS --- --- 1110
FLAGS
110
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
D
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
DATE CLOCK ADJUSTMENT 735 @DATE --- --- 1073
DBL 16-BIT BINARY TO 843 @DBL --- --- 623
DOUBLE FLOATING
DBLL 32-BIT BINARY TO 844 @DBLL --- --- 624
DOUBLE FLOATING
DEG RADIANS TO 459 @DEG --- --- 579
DEGREES
DEGD DOUBLE RADIANS TO 850 @RADD --- --- 634
DEGREES
DEL$ DELETE STRING 658 @DEL$ --- --- 1178
DI DISABLE 693 @DI --- --- 814
INTERRUPTS
DIFD DIFFERENTIATE 014 --- --- !DIFD 184
DOWN
DIFU DIFFERENTIATE UP 013 --- --- !DIFU 184
DIM DIMENSION RECORD 631 @DIM --- --- 678
TABLE
111
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
E
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
ECHRD EXPLICIT WORD 723 @ECHRD --- --- 1034
READ
ECHWR EXPLICIT WORD 724 @ECHWR --- --- 1038
WRITE
EGATR EXPLICIT GET 721 @EGATR --- --- 1021
ATTRIBUTE
EI ENABLE 694 --- --- --- 816
INTERRUPTS
ELSE ELSE 803 --- --- --- 1133
EMBC SELECT EM BANK 281 @EMBC --- --- 1106
END END 001 --- --- --- 197
ESATR EXPLICIT SET 722 @ESATR --- --- 1028
ATTRIBUTE
EXIT NOT CONDITIONAL BLOCK 806 --- --- --- 1137
(operando) EXIT NOT
EXIT CONDITIONAL BLOCK 806 --- --- --- 1137
(condizione di EXIT
ingresso)
EXIT CONDITIONAL BLOCK 806 --- --- --- 1137
(operando) EXIT
EXP EXPONENT 467 @EXP --- --- 595
EXPD DOUBLE EXPONENT 858 @EXPD --- --- 651
EXPLT EXPLICIT MESSAGE 720 @EXPLT --- --- 1013
SEND
F
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
FAL FAILURE ALARM 006 @FAL --- --- 1079
FALS SEVERE FAILURE 007 --- --- --- 1087
ALARM
FCS FRAME CHECKSUM 180 @FCS --- --- 700
FDIV FLOATING POINT 079 @FDIV --- --- 552
DIVIDE
FIFO FIRST IN FIRST OUT 633 @FIFO --- --- 672
FIND$ FIND IN STRING 660 @FIND$ --- --- 1171
FIX FLOATING TO 16-BIT 450 @FIX --- --- 563
FIXD DOUBLE FLOATING 841 @FIXD --- --- 620
TO 16-BIT BINARY
FIXL FLOATING TO 32-BIT 451 @FIXL --- --- 565
FIXLD DOUBLE FLOATING 842 @FIXLD --- --- 621
TO 32-BIT BINARY
FLT 16-BIT TO FLOATING 452 @FLT --- --- 566
FLTL 32-BIT TO FLOATING 453 @FLTL --- --- 568
112
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
G
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
GETID GET VARIABLE ID 286 @GETID --- --- 1214
GETR GET RECORD 636 @GETR --- --- 683
NUMBER
GRET GLOBAL 752 --- --- --- 797
SUBROUTINE
RETURN
GRY GRAY CODE 474 @GRY --- --- 511
CONVERSION
GSBN GLOBAL 751 --- --- --- 794
SUBROUTINE ENTRY
GSBS GLOBAL 750 @GSBS --- --- 786
SUBROUTINE CALL
H
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
HEX ASCII TO HEX 162 @HEX --- --- 490
HKY HEXADECIMAL KEY 212 --- --- --- 899
INPUT
HMS SECONDS TO HOURS 066 @HMS --- --- 1070
I
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
IEND IF END 804 --- --- --- 1133
IF NOT IF NOT 802 --- --- --- 1133
(operando)
IF (condizione IF 802 --- --- --- 1133
di ingresso)
IF (operando) IF 802 --- --- --- 1133
IL INTERLOCK 002 --- --- --- 201
ILC INTERLOCK CLEAR 003 --- --- --- 201
INI MODE CONTROL 880 @INI --- --- 823
INS$ INS$ 657 @INS$ --- --- 1184
IORD INTELLIGENT I/O 222 @IORD --- --- 913
READ
IORF I/O REFRESH 097 @IORF --- --- 885
IORS ENABLE 288 --- --- --- 1123
PERIPHERAL
SERVICING
113
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
J
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
JME JUMP END 005 --- --- --- 219
JME0 MULTIPLE JUMP END 516 --- --- --- 227
JMP JUMP 004 --- --- --- 219
JMP0 MULTIPLE JUMP 515 --- --- --- 227
K
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
KEEP KEEP 011 --- --- !KEEP 180
L
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
LD LOAD --- @LD %LD !LD 153
LD < LOAD LESS THAN 310 --- --- --- 275
LD <$ LOAD STRING LESS 672 --- --- --- 1187
THAN
LD <D LOAD DOUBLE 337 --- --- --- 657
FLOATING LESS
THAN
LD <DT LOAD TIME LESS 343 --- --- --- 281
THAN
LD <F LOAD FLOATING 331 --- --- --- 600
LESS THAN
LD <> LOAD NOT EQUAL 305 --- --- --- 275
LD <>$ LOAD STRING NOT 671 --- --- --- 1187
EQUAL
LD <>D LOAD DOUBLE 336 --- --- --- 657
FLOATING NOT
EQUAL
LD <>DT LOAD TIME NOT 342 --- --- --- 281
EQUAL
LD <>F LOAD FLOATING NOT 330 --- --- --- 600
EQUAL
LD <>L LOAD DOUBLE NOT 306 --- --- --- 275
EQUAL
LD <>S LOAD SIGNED NOT 307 --- --- --- 275
EQUAL
LD <>SL LOAD DOUBLE 308 --- --- --- 275
SIGNED NOT EQUAL
LD <L LOAD DOUBLE LESS 311 --- --- --- 275
THAN
LD <S LOAD SIGNED LESS 312 --- --- --- 275
THAN
LD <SL LOAD DOUBLE 313 --- --- --- 275
SIGNED LESS THAN
LD = LOAD EQUAL 300 --- --- --- 275
LD =$ LOAD STRING 670 --- --- --- 1187
EQUALS
114
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
115
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
M
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
MAX FIND MAXIMUM 182 @MAX --- --- 689
MCMP MULTIPLE COMPARE 019 @MCMP --- --- 299
MCRO MACRO 099 @MCRO --- --- 779
MID$ GET STRING MIDDLE 654 @MID$ --- --- 1168
MILC MULTI-INTERLOCK 519 --- --- --- 205
CLEAR
MILH MULTI-INTERLOCK 517 --- --- --- 205
DIFFERENTIATION
HOLD
MILR MULTI-INTERLOCK 518 --- --- --- 205
DIFFERENTIATION
RELEASE
MIN FIND MINIMUM 183 @MIN --- --- 693
MLPX DATA DECODER 076 @MLPX --- --- 477
MOV MOVE 021 @MOV --- !MOV 315
MOV$ MOVE STRING 664 @MOV$ --- --- 1159
MOVB MOVE BIT 082 @MOVB --- --- 321
MOVBC MOVE BIT 568 @MOVBC --- --- 1211
MOVD MOVE DIGIT 083 @MOVD --- --- 323
MOVL DOUBLE MOVE 498 @MOVL --- --- 318
MOVR MOVE TO REGISTER 560 @MOVR --- --- 340
MOVRW MOVE TIMER/ 561 --- --- --- 342
COUNTER PV TO
REGISTER
MSG DISPLAY MESSAGE 046 @MSG --- --- 1058
MSKR READ INTERRUPT 692 @MSKR --- --- 805
MASK
MSKS SET INTERRUPT 690 @MSKS --- --- 798
MASK
116
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
N
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
NASL SHIFT N-BITS LEFT 580 @NASL --- --- 381
NASR SHIFT N-BITS RIGHT 581 @NASR --- --- 387
NEG 2'S COMPLEMENT 160 @NEG --- --- 472
NEGL DOUBLE 2'S 161 @NEGL --- --- 474
COMPLEMENT
NEXT FOR-NEXT LOOPS 513 --- --- --- 229
NOP NO OPERATION 000 --- --- --- 198
NOT NOT 520 --- --- --- 172
NSFL SHIFT N-BIT DATA 578 @NSFL --- --- 377
LEFT
NSFR SHIFT N-BIT DATA 579 @NSFR --- --- 379
RIGHT
NSLL DOUBLE SHIFT 582 @NSLL --- --- 384
N-BITS LEFT
NSRL DOUBLE SHIFT 583 @NSRL --- --- 389
N-BITS RIGHT
O
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
OR OR --- @OR %OR !OR 161
OR < OR LESS THAN 310 --- --- --- 275
OR <$ OR STRING LESS 672 --- --- --- 1187
THAN
OR <> OR NOT EQUAL 305 --- --- --- 275
OR <>$ OR STRING NOT 671 --- --- --- 1187
EQUAL
OR <>D OR DOUBLE 336 --- --- --- 657
FLOATING NOT
EQUAL
OR <>DT OR TIME NOT EQUAL 342 --- --- --- 281
OR <>F OR FLOATING NOT 330 --- --- --- 600
EQUAL
OR <>L OR DOUBLE NOT 306 --- --- --- 275
EQUAL
OR <>S OR SIGNED NOT 307 --- --- --- 275
EQUAL
OR <>SL OR DOUBLE SIGNED 308 --- --- --- 275
NOT EQUAL
OR <D OR DOUBLE 337 --- --- --- 657
FLOATING LESS
THAN
OR <DT OR TIME LESS THAN 343 --- --- --- 281
OR <F OR FLOATING LESS 331 --- --- --- 600
THAN
OR <L OR DOUBLE LESS 311 --- --- --- 275
THAN
117
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
118
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
P
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
PID PID CONTROL 190 --- --- --- 720
PIDAT PID CONTROL WITH 191 --- --- --- 731
AUTOTUNING
PMCR PROTOCOL MACRO 260 @PMCR --- --- 928
PRV HIGH-SPEED 881 @PRV --- --- 827
COUNTER PV READ
PRV2 COUNTER 883 @PRV2 --- --- 833
FREQUENCY
CONVERT
PULS SET PULSES 886 @PULS --- --- 846
PLS2 PULSE OUTPUT 887 @PLS2 --- --- 849
PUSH PUSH ONTO STACK 632 @PUSH --- --- 669
PWM PULSE WITH 891 @PWM --- --- 865
VARIABLE DUTY
FACTOR
PWR EXPONENTIAL 840 @PWR --- --- 599
POWER
PWRD DOUBLE 860 @PWRD --- --- 655
EXPONENTIAL
POWER
R
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
RAD DEGREES TO 458 @RAD --- --- 597
RADIANS
RADD DOUBLE DEGREES 849 @RADD --- --- 634
TO RADIANS
RECV NETWORK RECEIVE 098 @RECV --- --- 997
RET SUBROUTINE 093 --- --- --- 786
RETURN
RGHT$ GET STRING RIGHT 653 @RGHT$ --- --- 1166
RLNC ROTATE LEFT 574 @RLNC --- --- 367
WITHOUT CARRY
RLNL DOUBLE ROTATE 576 @RLNL --- --- 369
LEFT WITHOUT
CARRY
119
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
S
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
SBN SUBROUTINE ENTRY 092 --- --- --- 783
SBS SUBROUTINE CALL 091 @SBS --- --- 773
SCL SCALING 194 @SCL --- --- 757
SCL2 SCALING 2 486 @SCL2 --- --- 762
SCL3 SCALING 3 487 @SCL3 --- --- 766
SDEC 7-SEGMENT 078 @SDEC --- --- 928
DECODER
SDEL STACK DATA DELETE 642 @SDEL --- --- 716
SEC HOURS TO SECONDS 065 @SEC --- --- 1068
SEND NETWORK SEND 090 @SEND --- --- 991
SET SET --- @SET %SET !SET 187
SETA MULTIPLE BIT SET 530 @SETA --- --- 189
SETB SINGLE BIT SET 532 @SETB --- !SETB 192
SETR SET RECORD 635 @SETR --- --- 681
LOCATION
SFT SHIFT REGISTER 010 --- --- --- 345
SFTR REVERSIBLE SHIFT 084 @SFTR --- --- 346
REGISTER
SIGN 16-BIT TO 32-BIT 600 @SIGN --- --- 476
SIGNED BINARY
SIN SINE 460 @SIN --- --- 581
SIND DOUBLE SINE 851 @SIND --- --- 637
SINS STACK DATA INSERT 641 @SINS --- --- 713
SLD ONE DIGIT SHIFT 074 @SLD --- --- 374
LEFT
SNUM STACK SIZE READ 638 @SNUM --- --- 704
SNXT STEP START 009 --- --- --- 868
SPED SPEED OUTPUT 885 @SPED --- --- 841
SQRT SQUARE ROOT 466 @SQRT --- --- 593
SQRTD DOUBLE SQUARE 857 @SQRTD --- --- 649
ROOT
120
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
T
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
TAN TANGENT 462 @TAN --- --- 585
TAND DOUBLE TANGENT 853 @TAND --- --- 641
TCMP TABLE COMPARE 085 @TCMP --- --- 301
TIM TIMER --- --- --- --- 235
TIMH HIGH-SPEED TIMER 015 --- --- --- 240
TIMHX HIGH-SPEED TIMER 551 --- --- --- 240
TIML LONG TIMER 542 --- --- --- 251
TIMLX LONG TIMER 553 --- --- --- 251
TIMW TIMER WAIT 813 --- --- --- 1144
TIMWX TIMER WAIT 816 --- --- --- 1144
TIMX TIMER 505 --- --- --- 235
TKOF TASK OFF 821 @TKOF --- --- 1196
TKON TASK ON 820 @TKON --- --- 1192
TKY TEN KEY INPUT 211 @TKY --- --- 896
TMHH ONE-MS TIMER 540 --- --- --- 244
TMHHX ONE-MS TIMER 552 --- --- --- 244
TMHW HIGH-SPEED TIMER 815 --- --- --- 1150
WAIT
TMHWX HIGH-SPEED TIMER 817 --- --- --- 1150
WAIT
TOCV CONVERT ADDRESS 285 @TOCV --- --- 1117
TO CV
TPO TIME- 685 --- --- --- 749
PROPORTIONAL
OUTPUT
TRSM TRACE MEMORY 045 --- --- --- 1075
SAMPLING
TTIM ACCUMULATIVE 087 --- --- --- 247
TIMER
TTIMX ACCUMULATIVE 555 --- --- --- 247
TIMER
TXD TRANSMIT 236 @TXD --- --- 937
TXDU TRANSMIT VIA 256 @TXDU --- --- 952
SERIAL
COMMUNICATIONS
UNIT
121
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
U
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
UP CONDITION ON 521 --- --- --- 173
W
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
WAIT NOT ONE CYCLE AND 805 --- --- --- 1140
(operando) WAIT NOT
WAIT ONE CYCLE AND 805 --- --- --- 1140
(condizione di WAIT
ingresso)
WAIT ONE CYCLE AND 805 --- --- --- 1140
(operando) WAIT
WDT EXTEND MAXIMUM 094 @WDT --- --- 1108
CYCLE TIME
WSFT WORD SHIFT 016 @WSFT --- --- 352
X
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
XCGL DOUBLE DATA 562 @XCGL --- --- 334
EXCHANGE
XCHG DATA EXCHANGE 073 @XCHG --- --- 333
XCHG$ EXCHANGE STRING 665 @XCHG$ --- --- 1180
XFER BLOCK TRANSFER 070 @XFER --- --- 328
XFERC BLOCK TRANSFER 565 @XFERC --- --- 1201
XFRB MULTIPLE BIT 062 @XFRB --- --- 326
TRANSFER
XNRL DOUBLE EXCLUSIVE 613 @XNRL --- --- 529
NOR
XNRW EXCLUSIVE NOR 037 @XNRW --- --- 528
XORL DOUBLE EXCLUSIVE 612 @XORL --- --- 526
OR
XORW EXCLUSIVE OR 036 @XORW --- --- 524
Z
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
ZCP AREA RANGE 088 --- --- --- 310
COMPARE
ZCPL DOUBLE AREA 116 --- --- --- 313
RANGE COMPARE
ZONE DEAD ZONE 682 @ZONE --- --- 746
CONTROL
Simboli
Codice Istruzione Codice Differenziazione Differenziazione Aggiornamento Pagina
mnemonico funzione sul fronte di sul fronte di immediato
salita discesa
7SEG 7-SEGMENT DISPLAY 214 --- --- --- 908
OUTPUT
+ SIGNED BINARY ADD 400 @+ --- --- 410
WITHOUT CARRY
+$ CONCATENATE 656 @+$ --- --- 1161
STRING
++ INCREMENT BINARY 590 @++ --- --- 393
++B INCREMENT BCD 594 @++B --- --- 401
122
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
123
Elenco alfabetico delle istruzioni in base al codice mnemonico Capitolo 2-3
124
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
125
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
126
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
127
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
128
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
129
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
130
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
131
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
132
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
133
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
134
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
135
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
136
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
137
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
138
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
139
Elenco delle istruzioni in base al codice funzione Capitolo 2-4
140
CAPITOLO 3
Istruzioni
In questo capitolo sono illustrate tutte le istruzioni utili alla programmazione dei PLC della serie CS/CJ. Tali istruzioni sono
raggruppate per funzionalità, in base alla classificazione riportata nel Capitolo 2 Sommario delle istruzioni.
141
3-6-7 COUNTER: CNT/CNTX(546). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
3-6-8 REVERSIBLE COUNTER: CNTR(012)/CNTRX(548) . . . . . . . . . . . . . . . . . . . . . . . . 263
3-6-9 RESET TIMER/COUNTER: CNR(545)/CNRX(547). . . . . . . . . . . . . . . . . . . . . . . . . . 267
3-6-10 Applicazioni di esempio per temporizzatori e contatori. . . . . . . . . . . . . . . . . . . . . . . . . 269
3-6-11 Indirizzamento indiretto dei numeri di temporizzatore/contatore . . . . . . . . . . . . . . . . . 272
3-7 Istruzioni di confronto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
3-7-1 Istruzioni di confronto di ingresso (da 300 a 328) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
3-7-2 Istruzioni di confronto di date e ore (da 341 a 346) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
3-7-3 COMPARE: CMP(020) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
3-7-4 DOUBLE COMPARE: CMPL(060) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
3-7-5 SIGNED BINARY COMPARE: CPS(114) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
3-7-6 DOUBLE SIGNED BINARY COMPARE: CPSL(115) . . . . . . . . . . . . . . . . . . . . . . . . 296
3-7-7 MULTIPLE COMPARE: MCMP(019) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
3-7-8 TABLE COMPARE: TCMP(085) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
3-7-9 BLOCK COMPARE: BCMP(068). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
3-7-10 EXPANDED BLOCK COMPARE: BCMP2(502). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
3-7-11 AREA RANGE COMPARE: ZCP(088). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
3-7-12 DOUBLE AREA RANGE COMPARE: ZCPL(116). . . . . . . . . . . . . . . . . . . . . . . . . . . 313
3-8 Istruzioni di spostamento dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
3-8-1 MOVE: MOV(021). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
3-8-2 MOVE NOT: MVN(022) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
3-8-3 DOUBLE MOVE: MOVL(498) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
3-8-4 DOUBLE MOVE NOT: MVNL(499) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
3-8-5 MOVE BIT: MOVB(082). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
3-8-6 MOVE DIGIT: MOVD(083) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
3-8-7 MULTIPLE BIT TRANSFER: XFRB(062). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
3-8-8 BLOCK TRANSFER: XFER(070) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
3-8-9 BLOCK SET: BSET(071) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
3-8-10 DATA EXCHANGE: XCHG(073) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
3-8-11 DOUBLE DATA EXCHANGE: XCGL(562) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
3-8-12 SINGLE WORD DISTRIBUTE: DIST(080) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
3-8-13 DATA COLLECT: COLL(081) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
3-8-14 MOVE TO REGISTER: MOVR(560) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
3-8-15 MOVE TIMER/COUNTER PV TO REGISTER: MOVRW(561). . . . . . . . . . . . . . . . . 342
3-9 Istruzioni di scorrimento dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
3-9-1 SHIFT REGISTER: SFT(010) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
3-9-2 REVERSIBLE SHIFT REGISTER: SFTR(084) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
3-9-3 ASYNCHRONOUS SHIFT REGISTER: ASFT(017). . . . . . . . . . . . . . . . . . . . . . . . . . 349
3-9-4 WORD SHIFT: WSFT(016). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
3-9-5 ARITHMETIC SHIFT LEFT: ASL(025). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
3-9-6 DOUBLE SHIFT LEFT: ASLL(570). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
3-9-7 ARITHMETIC SHIFT RIGHT: ASR(026) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
3-9-8 DOUBLE SHIFT RIGHT: ASRL(571) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
3-9-9 ROTATE LEFT: ROL(027). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
3-9-10 DOUBLE ROTATE LEFT: ROLL(572) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
3-9-11 ROTATE RIGHT: ROR(028) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
3-9-12 DOUBLE ROTATE RIGHT: RORL(573) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
3-9-13 ROTATE LEFT WITHOUT CARRY: RLNC(574) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
3-9-14 DOUBLE ROTATE LEFT WITHOUT CARRY: RLNL(576). . . . . . . . . . . . . . . . . . . . 369
3-9-15 ROTATE RIGHT WITHOUT CARRY: RRNC(575) . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
3-9-16 DOUBLE ROTATE RIGHT WITHOUT CARRY: RRNL(577) . . . . . . . . . . . . . . . . . . 372
3-9-17 ONE DIGIT SHIFT LEFT: SLD(074) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
3-9-18 ONE DIGIT SHIFT RIGHT: SRD(075). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
3-9-19 SHIFT N-BIT DATA LEFT: NSFL(578) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
3-9-20 SHIFT N-BIT DATA RIGHT: NSFR(579). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
3-9-21 SHIFT N-BITS LEFT: NASL(580) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
3-9-22 DOUBLE SHIFT N-BITS LEFT: NSLL(582) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
142
3-9-23 SHIFT N-BITS RIGHT: NASR(581) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
3-9-24 DOUBLE SHIFT N-BITS RIGHT: NSRL(583) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
3-10 Istruzioni di incremento e decremento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
3-10-1 INCREMENT BINARY: ++(590) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
3-10-2 DOUBLE INCREMENT BINARY: ++L(591) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
3-10-3 DECREMENT BINARY: – –(592). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
3-10-4 DOUBLE DECREMENT BINARY: – –L(593). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
3-10-5 INCREMENT BCD: ++B(594) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
3-10-6 DOUBLE INCREMENT BCD: ++BL(595) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
3-10-7 DECREMENT BCD: – –B(596) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
3-10-8 DOUBLE DECREMENT BCD: – –BL(597). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
3-11 Istruzioni matematiche con simboli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
3-11-1 SIGNED BINARY ADD WITHOUT CARRY: +(400) . . . . . . . . . . . . . . . . . . . . . . . . . 410
3-11-2 DOUBLE SIGNED BINARY ADD WITHOUT CARRY: +L(401) . . . . . . . . . . . . . . . 412
3-11-3 SIGNED BINARY ADD WITH CARRY: +C(402). . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
3-11-4 DOUBLE SIGNED BINARY ADD WITH CARRY: +CL(403) . . . . . . . . . . . . . . . . . . 416
3-11-5 BCD ADD WITHOUT CARRY: +B(404). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
3-11-6 DOUBLE BCD ADD WITHOUT CARRY: +BL(405) . . . . . . . . . . . . . . . . . . . . . . . . . 419
3-11-7 BCD ADD WITH CARRY: +BC(406) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
3-11-8 DOUBLE BCD ADD WITH CARRY: +BCL(407). . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
3-11-9 SIGNED BINARY SUBTRACT WITHOUT CARRY: –(410) . . . . . . . . . . . . . . . . . . . 424
3-11-10 DOUBLE SIGNED BINARY SUBTRACT WITHOUT CARRY: –L(411) . . . . . . . . . 426
3-11-11 SIGNED BINARY SUBTRACT WITH CARRY: –C(412) . . . . . . . . . . . . . . . . . . . . . . 430
3-11-12 DOUBLE SIGNED BINARY SUBTRACT WITH CARRY: –CL(413) . . . . . . . . . . . . 432
3-11-13 BCD SUBTRACT WITHOUT CARRY: –B(414) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
3-11-14 DOUBLE BCD SUBTRACT WITHOUT CARRY: –BL(415) . . . . . . . . . . . . . . . . . . . 436
3-11-15 BCD SUBTRACT WITH CARRY: –BC(416). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
3-11-16 DOUBLE BCD SUBTRACT WITH CARRY: –BCL(417) . . . . . . . . . . . . . . . . . . . . . . 441
3-11-17 SIGNED BINARY MULTIPLY: *(420). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
3-11-18 DOUBLE SIGNED BINARY MULTIPLY: *L(421) . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
3-11-19 UNSIGNED BINARY MULTIPLY: *U(422) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
3-11-20 DOUBLE UNSIGNED BINARY MULTIPLY: *UL(423). . . . . . . . . . . . . . . . . . . . . . . 449
3-11-21 BCD MULTIPLY: *B(424). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
3-11-22 DOUBLE BCD MULTIPLY: *BL(425). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
3-11-23 SIGNED BINARY DIVIDE: /(430) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
3-11-24 DOUBLE SIGNED BINARY DIVIDE: /L(431) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
3-11-25 UNSIGNED BINARY DIVIDE: /U(432) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
3-11-26 DOUBLE UNSIGNED BINARY DIVIDE: /UL(433). . . . . . . . . . . . . . . . . . . . . . . . . . 460
3-11-27 BCD DIVIDE: /B(434). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
3-11-28 DOUBLE BCD DIVIDE: /BL(435) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
3-12 Istruzioni di conversione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
3-12-1 BCD-TO-BINARY: BIN(023) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
3-12-2 DOUBLE BCD-TO-DOUBLE BINARY: BINL(058) . . . . . . . . . . . . . . . . . . . . . . . . . . 467
3-12-3 BINARY-TO-BCD: BCD(024). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
3-12-4 DOUBLE BINARY-TO-DOUBLE BCD: BCDL(059) . . . . . . . . . . . . . . . . . . . . . . . . . 470
3-12-5 2’S COMPLEMENT: NEG(160) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
3-12-6 DOUBLE 2’S COMPLEMENT: NEGL(161) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
3-12-7 16-BIT TO 32-BIT SIGNED BINARY: SIGN(600) . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
3-12-8 DATA DECODER: MLPX(076) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
3-12-9 DATA ENCODER: DMPX(077) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
3-12-10 ASCII CONVERT: ASC(086) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
3-12-11 ASCII TO HEX: HEX(162) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
3-12-12 COLUMN TO LINE: LINE(063). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
3-12-13 LINE TO COLUMN: COLM(064) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
3-12-14 SIGNED BCD-TO-BINARY: BINS(470) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
3-12-15 DOUBLE SIGNED BCD-TO-BINARY: BISL(472) . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
3-12-16 SIGNED BINARY-TO-BCD: BCDS(471). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
143
3-12-17 DOUBLE SIGNED BINARY-TO-BCD: BDSL(473) . . . . . . . . . . . . . . . . . . . . . . . . . . 507
3-12-18 GRAY CODE CONVERT: GRY(474) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
3-13 Istruzioni logiche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
3-13-1 LOGICAL AND: ANDW(034) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
3-13-2 DOUBLE LOGICAL AND: ANDL(610) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
3-13-3 LOGICAL OR: ORW(035) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
3-13-4 DOUBLE LOGICAL OR: ORWL(611). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
3-13-5 EXCLUSIVE OR: XORW(036). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
3-13-6 DOUBLE EXCLUSIVE OR: XORL(612). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
3-13-7 EXCLUSIVE NOR: XNRW(037) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
3-13-8 DOUBLE EXCLUSIVE NOR: XNRL(613) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
3-13-9 COMPLEMENT: COM(029) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
3-13-10 DOUBLE COMPLEMENT: COML(614) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
3-14 Istruzioni matematiche speciali. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
3-14-1 BINARY ROOT: ROTB(620). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
3-14-2 BCD SQUARE ROOT: ROOT(072). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
3-14-3 ARITHMETIC PROCESS: APR(069). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
3-14-4 FLOATING POINT DIVIDE: FDIV(079) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
3-14-5 BIT COUNTER: BCNT(067). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
3-15 Istruzioni matematiche a virgola mobile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
3-15-1 FLOATING TO 16-BIT: FIX(450). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
3-15-2 FLOATING TO 32-BIT: FIXL(451) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
3-15-3 16-BIT TO FLOATING: FLT(452) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
3-15-4 32-BIT TO FLOATING: FLTL(453) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
3-15-5 FLOATING-POINT ADD: +F(454). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
3-15-6 FLOATING-POINT SUBTRACT: –F(455) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
3-15-7 FLOATING-POINT MULTIPLY: *F(456) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
3-15-8 FLOATING-POINT DIVIDE: /F(457). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
3-15-9 DEGREES TO RADIANS: RAD(458) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
3-15-10 RADIANS TO DEGREES: DEG(459) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
3-15-11 SINE: SIN(460) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
3-15-12 COSINE: COS(461) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
3-15-13 TANGENT: TAN(462) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
3-15-14 ARC SINE: ASIN(463) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
3-15-15 ARC COSINE: ACOS(464) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
3-15-16 ARC TANGENT: ATAN(465) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
3-15-17 SQUARE ROOT: SQRT(466) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
3-15-18 EXPONENT: EXP(467) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
3-15-19 LOGARITHM: LOG(468) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
3-15-20 EXPONENTIAL POWER: PWR(840) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
3-15-21 Istruzioni di confronto a virgola mobile in singola precisione . . . . . . . . . . . . . . . . . . . . 600
3-15-22 FLOATING-POINT TO ASCII: FSTR(448) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
3-15-23 ASCII TO FLOATING-POINT: FVAL(449) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
3-16 Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) . . . 613
3-16-1 DOUBLE FLOATING TO 16-BIT: FIXD(841). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
3-16-2 DOUBLE FLOATING TO 32-BIT: FIXLD(842) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
3-16-3 16-BIT TO DOUBLE FLOATING: DBL(843) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
3-16-4 32-BIT TO DOUBLE FLOATING: DBLL(844) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
3-16-5 DOUBLE FLOATING-POINT ADD: +D(845) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
3-16-6 DOUBLE FLOATING-POINT SUBTRACT: –D(846) . . . . . . . . . . . . . . . . . . . . . . . . . 628
3-16-7 DOUBLE FLOATING-POINT MULTIPLY: *D(847). . . . . . . . . . . . . . . . . . . . . . . . . . 630
3-16-8 DOUBLE FLOATING-POINT DIVIDE: /D(848) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
3-16-9 DOUBLE DEGREES TO RADIANS: RADD(849) . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
3-16-10 DOUBLE RADIANS TO DEGREES: DEGD(850) . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
3-16-11 DOUBLE SINE: SIND(851) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
3-16-12 DOUBLE COSINE COSD(852) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
3-16-13 DOUBLE TANGENT TAND(853) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
144
3-16-14 DOUBLE ARC SINE: ASIND(854) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
3-16-15 DOUBLE ARC COSINE: ACOSD(855) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
3-16-16 DOUBLE ARC TANGENT: ATAND(856) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
3-16-17 DOUBLE SQUARE ROOT: SQRTD(857) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
3-16-18 DOUBLE EXPONENT: EXPD(858) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
3-16-19 DOUBLE LOGARITHM: LOGD(859) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
3-16-20 DOUBLE EXPONENTIAL POWER: PWRD(860) . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
3-16-21 Istruzioni di ingresso a virgola mobile in doppia precisione . . . . . . . . . . . . . . . . . . . . . 657
3-17 Istruzioni di elaborazione dei dati delle tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
3-17-1 SET STACK: SSET(630) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
3-17-2 PUSH ONTO STACK: PUSH(632) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
3-17-3 FIRST IN FIRST OUT: FIFO(633) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
3-17-4 LAST IN FIRST OUT: LIFO(634) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
3-17-5 DIMENSION RECORD TABLE: DIM(631). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
3-17-6 SET RECORD LOCATION: SETR(635) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
3-17-7 GET RECORD NUMBER: GETR(636) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
3-17-8 DATA SEARCH: SRCH(181) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
3-17-9 SWAP BYTES: SWAP(637). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
3-17-10 FIND MAXIMUM: MAX(182) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
3-17-11 FIND MINIMUM: MIN(183) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
3-17-12 SUM: SUM(184) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
3-17-13 FRAME CHECKSUM: FCS(180) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
3-17-14 STACK SIZE READ: SNUM(638) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
3-17-15 STACK DATA READ: SREAD(639). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
3-17-16 STACK DATA OVERWRITE: SWRIT(640) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
3-17-17 STACK DATA INSERT: SINS(641). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
3-17-18 STACK DATA DELETE: SDEL(642) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
3-18 Istruzioni di controllo dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
3-18-1 PID CONTROL: PID(190) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
3-18-2 PID CONTROL WITH AUTOTUNING: PIDAT(191) . . . . . . . . . . . . . . . . . . . . . . . . . 731
3-18-3 LIMIT CONTROL: LMT(680) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
3-18-4 DEAD BAND CONTROL: BAND(681) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
3-18-5 DEAD ZONE CONTROL: ZONE(682) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
3-18-6 TIME-PROPORTIONAL OUTPUT: TPO(685) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
3-18-7 SCALING: SCL(194). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
3-18-8 SCALING 2: SCL2(486) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
3-18-9 SCALING 3: SCL3(487) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
3-18-10 AVERAGE: AVG(195) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
3-19 Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
3-19-1 SUBROUTINE CALL: SBS(091) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
3-19-2 MACRO: MCRO(099) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
3-19-3 SUBROUTINE ENTRY: SBN(092). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
3-19-4 SUBROUTINE RETURN: RET(093) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
3-19-5 GLOBAL SUBROUTINE CALL: GSBS(750) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
3-19-6 GLOBAL SUBROUTINE ENTRY GSBN(751) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
3-19-7 GLOBAL SUBROUTINE RETURN: GRET(752) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
3-20 Istruzioni di controllo degli interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
3-20-1 SET INTERRUPT MASK: MSKS(690) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
3-20-2 READ INTERRUPT MASK: MSKR(692) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
3-20-3 CLEAR INTERRUPT: CLI(691) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
3-20-4 DISABLE INTERRUPTS: DI(693) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
3-20-5 ENABLE INTERRUPTS: EI(694) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816
3-20-6 Riepilogo del controllo degli interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818
3-21 Istruzioni per contatore veloce e uscita a impulsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823
3-21-1 MODE CONTROL: INI(880) (solo CJ1M-CPU21/22/23) . . . . . . . . . . . . . . . . . . . . . . 823
3-21-2 HIGH-SPEED COUNTER PV READ: PRV(881) (solo CJ1M-CPU21/22/23) . . . . . . 827
3-21-3 COUNTER FREQUENCY CONVERT: PRV2(883). . . . . . . . . . . . . . . . . . . . . . . . . . . 833
145
3-21-4 REGISTER COMPARISON TABLE: CTBL(882) (solo CJ1M-CPU21/22/23) . . . . . . 837
3-21-5 SPEED OUTPUT: SPED(885) (solo CJ1M-CPU21/22/23) . . . . . . . . . . . . . . . . . . . . . 841
3-21-6 SET PULSES: PULS(886) (solo CJ1M-CPU21/22/23). . . . . . . . . . . . . . . . . . . . . . . . . 846
3-21-7 PULSE OUTPUT: PLS2(887) (solo CPU CJ1M 21/22/23). . . . . . . . . . . . . . . . . . . . . . 849
3-21-8 ACCELERATION CONTROL: ACC(888) (solo CPU CJ1M 21/22/23). . . . . . . . . . . . 855
3-21-9 ORIGIN SEARCH: ORG(889) (solo CPU CJ1M 21/22/23) . . . . . . . . . . . . . . . . . . . . . 862
3-21-10 PULSE WITH VARIABLE DUTY FACTOR: PWM(891) (solo CPU CJ1M 21/22/23) 865
3-22 Istruzioni di step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
3-22-1 STEP DEFINE e STEP START: STEP(008)/SNXT(009) . . . . . . . . . . . . . . . . . . . . . . . 868
3-23 Istruzioni per moduli di I/O di base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
3-23-1 I/O REFRESH: IORF(097). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
3-23-2 7-SEGMENT DECODER SDEC(078) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888
3-23-3 DIGITAL SWITCH INPUT – DSW(210) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890
3-23-4 TEN KEY INPUT – TKY(211) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896
3-23-5 HEXADECIMAL KEY INPUT – HKY(212) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 899
3-23-6 MATRIX INPUT: MTR(213) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904
3-23-7 7-SEGMENT DISPLAY OUTPUT – 7SEG(214) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908
3-23-8 INTELLIGENT I/O READ: IORD(222) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913
3-23-9 INTELLIGENT I/O WRITE: IOWR(223) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917
3-23-10 CPU BUS UNIT I/O REFRESH: DLNK(226) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921
3-24 Istruzioni per la comunicazione seriale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
3-24-1 Comunicazione seriale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
3-24-2 PROTOCOL MACRO: PMCR(260) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
3-24-3 TRANSMIT: TXD(236) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937
3-24-4 RECEIVE: RXD(235) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944
3-24-5 TRANSMIT VIA SERIAL COMMUNICATIONS UNIT: TXDU(256). . . . . . . . . . . . 952
3-24-6 RECEIVE VIA SERIAL COMMUNICATIONS UNIT: RXDU(255) . . . . . . . . . . . . . 960
3-24-7 CHANGE SERIAL PORT SETUP: STUP(237) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968
3-25 Istruzioni di rete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973
3-25-1 Informazioni sulle operazioni con SYSMAC NET Link/SYSMAC LINK . . . . . . . . . . 973
3-25-2 Informazioni sulle istruzioni per messaggi espliciti . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986
3-25-3 NETWORK SEND: SEND(090) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991
3-25-4 NETWORK RECEIVE: RECV(098) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997
3-25-5 DELIVER COMMAND: CMND(490) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003
3-25-6 EXPLICIT MESSAGE SEND: EXPLT(720). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013
3-25-7 EXPLICIT GET ATTRIBUTE: EGATR(721) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1021
3-25-8 EXPLICIT SET ATTRIBUTE: ESATR(722). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
3-25-9 EXPLICIT WORD READ: ECHRD(723) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
3-25-10 EXPLICIT WORD WRITE: ECHWR(724) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038
3-26 Istruzioni per la memoria dei file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
3-26-1 Avvertenze per l'utilizzo delle schede di memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1042
3-26-2 READ DATA FILE: FREAD(700) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045
3-26-3 WRITE DATA FILE: FWRIT(701) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052
3-27 Istruzioni di visualizzazione: DISPLAY MESSAGE: MSG(046) . . . . . . . . . . . . . . . . . . . . . . . . 1058
3-28 Istruzioni per l'orologio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
3-28-1 CALENDAR ADD: CADD(730) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061
3-28-2 CALENDAR SUBTRACT: CSUB(731) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065
3-28-3 HOURS TO SECONDS: SEC(065) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068
3-28-4 SECONDS TO HOURS: HMS(066) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1070
3-28-5 CLOCK ADJUSTMENT: DATE(735). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1073
3-29 Istruzioni di debug. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075
3-29-1 Campionamento Trace Memory: TRSM(045) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075
3-30 Istruzioni di diagnostica per malfunzionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
3-30-1 FAILURE ALARM: FAL(006) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
3-30-2 SEVERE FAILURE ALARM: FALS(007) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087
3-30-3 FAILURE POINT DETECTION: FPD(269) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095
146
3-31 Altre istruzioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
3-31-1 SET CARRY: STC(040) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
3-31-2 CLEAR CARRY: CLC(041) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105
3-31-3 SELECT EM BANK: EMBC(281) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106
3-31-4 EXTEND MAXIMUM CYCLE TIME: WDT(094) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108
3-31-5 SAVE CONDITION FLAGS: CCS(282) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1110
3-31-6 LOAD CONDITION FLAGS: CCL(283) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1112
3-31-7 CONVERT ADDRESS FROM CV: FRMCV(284) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113
3-31-8 CONVERT ADDRESS TO CV: TOCV(285) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117
3-31-9 DISABLE PERIPHERAL SERVICING: IOSP(287) (solo CS1-H, CJ1-H e CJ1M) . . 1121
3-31-10 ENABLE PERIPHERAL SERVICING: IORS(288) (solo CS1-H, CJ1-H e CJ1M) . . . 1123
3-32 Istruzioni di programmazione a blocchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124
3-32-1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124
3-32-2 BLOCK PROGRAM BEGIN/END: BPRG(096)/BEND(801) . . . . . . . . . . . . . . . . . . . 1128
3-32-3 BLOCK PROGRAM PAUSE/RESTART: BPPS(811)/BPRS(812) . . . . . . . . . . . . . . . . 1131
3-32-4 Diramazione: IF(802), ELSE(803) e IEND(804) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133
3-32-5 CONDITIONAL BLOCK EXIT (NOT): EXIT (NOT)(806). . . . . . . . . . . . . . . . . . . . . 1137
3-32-6 ONE CYCLE AND WAIT (NOT): WAIT(805)/WAIT(805) NOT . . . . . . . . . . . . . . . . 1140
3-32-7 TIMER WAIT: TIMW(813) and TIMWX(816). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144
3-32-8 COUNTER WAIT: CNTW(814) e CNTWX(818) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147
3-32-9 HIGH-SPEED TIMER WAIT: TMHW(815) e TMHWX(817) . . . . . . . . . . . . . . . . . . . 1150
3-32-10 Loop Control: LOOP(809)/LEND(810)/LEND(810) NOT . . . . . . . . . . . . . . . . . . . . . . 1153
3-33 Istruzioni di elaborazione delle stringhe di testo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158
3-33-1 Panoramica sull'elaborazione delle stringhe di testo . . . . . . . . . . . . . . . . . . . . . . . . . . . 1158
3-33-2 MOV STRING: MOV$(664) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1159
3-33-3 CONCATENATE STRING: +$(656) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161
3-33-4 GET STRING LEFT: LEFT$(652) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164
3-33-5 GET STRING RIGHT: RGHT$(653) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1166
3-33-6 GET STRING MIDDLE: MID$(654) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168
3-33-7 FIND IN STRING: FIND$(660) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1171
3-33-8 STRING LENGTH: LEN$(650) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173
3-33-9 REPLACE IN STRING: RPLC$(661) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1175
3-33-10 DELETE STRING: DEL$(658) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178
3-33-11 EXCHANGE STRING: XCHG$(665). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1180
3-33-12 CLEAR STRING: CLR$(666) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1182
3-33-13 INSERT INTO STRING: INS$(657) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184
3-33-14 Istruzioni di confronto di stringhe (da 670 a 675) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1187
3-34 Istruzioni di controllo dei task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192
3-34-1 TASK ON: TKON(820) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192
3-34-2 TASK OFF: TKOF(821). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196
3-35 Istruzioni di conversione del modello (solo CPU versione 3.0 o successiva). . . . . . . . . . . . . . . . 1199
3-35-1 BLOCK TRANSFER: XFERC(565) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1201
3-35-2 SINGLE WORD DISTRIBUTE: DISTC(566) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203
3-35-3 DATA COLLECT: COLLC(567) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206
3-35-4 MOVE BIT: MOVBC(568) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1211
3-35-5 BIT COUNTER: BCNTC(621) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212
3-35-6 GET VARIABLE ID: GETID(286) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214
147
Descrizioni delle istruzioni: notazione e layout Capitolo 3-1
C C: Canale di controllo
D D: Canale di destinazione
Variazioni Variazioni Le variazioni utili per controllare l’esecuzione dell’istruzione in circostanze particolari
sono fornite in forma mnemonica. Ogni variazione non supportata da un’istruzione viene
indicata con “Non supportata”.
• Eseguita a ogni ciclo con condizione ON: l’istruzione viene eseguita se riceve una
condizione di esecuzione ON.
• Eseguita una sola volta per differenziazione sul fronte di salita: l’istruzione viene
eseguita durante il ciclo successivo soltanto quando la condizione di esecuzione è
passata da OFF a ON.
• Eseguita una sola volta per differenziazione sul fronte di discesa: l’istruzione viene
eseguita durante il ciclo successivo soltanto quando la condizione di esecuzione è
passata da ON a OFF.
• Eseguita sempre: l’istruzione non necessita di alcuna condizione di esecuzione e
viene eseguita a ogni ciclo.
• Crea condizione ON....: l’istruzione viene eseguita a ogni ciclo per creare una
condizione di esecuzione per l’istruzione successiva.
Aree di programma applicabili Indicazione delle aree di programma in cui è possibile utilizzare l’istruzione. “OK” indica
le aree in cui è possibile utilizzare l’istruzione.
148
Descrizioni delle istruzioni: notazione e layout Capitolo 3-1
Elemento Descrizione
Operandi Quando è necessario viene indicato il significato dei canali e dei bit utilizzati in
specifici operandi, come i canali di controllo.
15 8 7 0
C m n
Bit di origine: Da 00 a 0F
(da 0 a 15 decimale)
Bit di destinazione: Da 00 a
0F (da 0 a 15 decimale)
Caratteristiche operando Gli indirizzi delle aree di memoria utilizzabili da ciascun operando sono elencati in una
tabella simile alla seguente. Le lettere che compaiono a sinistra nell’intestazione delle
colonne sono identiche a quelle utilizzate nel simbolo programmazione ladder. “---”
indica quando non è possibile che un’area sia specifica per un operando.
Area S C D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit ritentivi Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Descrizione Informazioni sulla funzione dell’istruzione e sugli operandi utilizzati dall’istruzione stessa.
Flag La tabella dei flag indica lo stato dei flag di condizione immediatamente dopo
l’esecuzione dell’istruzione. I flag che non compaiono nell’elenco sono estranei
all’istruzione. “OFF” indica che un flag viene impostato su OFF immediatamente dopo
l’esecuzione dell’istruzione indipendentemente dai risultati dell’esecuzione stessa.
Costanti L'inserimento delle costanti per gli operandi viene indicato nel seguente elenco.
Descrizioni e caratteristiche degli operandi
• Operandi con specifica di stringhe di bit (di norma inserimento in formato
esadecimale):
Per gli operandi con specifica di stringhe di bit viene fornito soltanto il
formato esadecimale, ad esempio come operando S per l’istruzione
MOV(021) viene indicato esclusivamente “Da #0000 a #FFFF”. In CX-
Programmer è comunque possibile inserire stringhe di bit in formato
decimale utilizzando il prefisso &.
• Operandi con specifica di valori numerici (di norma inserimento in formato
decimale, compresi i numeri di salto):
Per gli operandi con specifica di valori numerici vengono indicati sia il
formato decimale che quello esadecimale, ad esempio “Da #0000 a
#FFFF” e “Da &0 a &65535” vengono forniti nel caso dell’operando N per
l’istruzione XFER(070).
149
Descrizioni delle istruzioni: notazione e layout Capitolo 3-1
XFER
&10
D00100
D00200
150
Aggiornamentidelle istruzioni e nuove istruzioni Capitolo 3-2
151
Aggiornamentidelle istruzioni e nuove istruzioni Capitolo 3-2
Nuove istruzioni Le istruzioni che seguono sono state aggiornate per CPU CS1/H e CJ1/H.
Istruzioni matematiche speciali
ARITHMETIC PROCESS, APR(069)
Istruzioni per la diagnostica di funzionamento incorretto
FAILURE ALARM, FAL(006)
SEVERE FAILURE ALARM, FALS(007)
152
Istruzioni di ingresso sequenza Capitolo 3-3
Variazioni
Variazioni Riavvia la logica e crea una condizione di LD
esecuzione con stato ON a ogni ciclo se il bit
operando è impostato su ON
Riavvia la logica e crea una condizione di @LD
esecuzione con stato ON una sola volta per
differenziazione sul fronte di salita
Riavvia la logica e crea una condizione di %LD
esecuzione con stato ON una sola volta per
differenziazione sul fronte di discesa
Aggiornamento immediato (vedere nota) !LD
Variazioni Aggiorna il bit di ingresso, riavvia la logica e !@LD
combinate crea una condizione di esecuzione con stato
ON una sola volta per differenziazione sul
fronte di salita (vedere nota)
Aggiorna il bit di ingresso, riavvia la logica e !%LD
crea una condizione di esecuzione con stato
ON una sola volta per differenziazione sul
fronte di discesa (vedere nota)
Nota L'aggiornamento immediato non è supportato dalle CPU CS1D per sistemi a
due CPU.
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Bit operando LD
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A95915
Area del Da T0000 a T4095
temporizzatore
Area del contatore Da C0000 a C4095
Area dei flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, N, OF, UF, >, =, <, >=, <>, <=, A1, A0
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area TR Da TR0 a TR15
Area DM ---
Area EM senza banco ---
Area EM con banco ---
153
Istruzioni di ingresso sequenza Capitolo 3-3
Descrizione LD viene utilizzato per il primo bit normalmente aperto dalla barra di
distribuzione oppure per il primo bit normalmente aperto di un blocco logico.
In assenza di aggiornamento immediato, viene letto il bit specificato nella
memoria I/O. Nel caso di aggiornamento immediato, viene letto e utilizzato lo
stato del terminal di ingresso del modulo di ingresso di base.
Nelle seguenti circostanze LD è utilizzato come istruzione per indicare un
inizio logico.
• Nel collegamento diretto alla barra di distribuzione.
• Quando i blocchi logici sono collegati da AND LD oppure OR LD, ossia,
all’inizio di un blocco logico.
Le istruzioni AND LOAD e OR LOAD vengono utilizzate per collegare in serie
o in parallelo i blocchi logici che iniziano con LD oppure con LD NOT.
Quando non è possibile collegare le istruzioni relative all’uscita direttamente
alla barra di distribuzione, è necessaria almeno un’istruzione LOAD o LOAD
NOT per la condizione di esecuzione. In assenza di un’istruzione LOAD o
LOAD NOT, si verificherà un errore di programmazione con il controllo del
programma da parte della periferica.
Quando i blocchi logici sono collegati da istruzioni AND LOAD o OR LOAD, il
numero complessivo di istruzioni AND LOAD/OR LOAD deve corrispondere al
numero totale di LOAD/LOAD NOT meno uno. Altrimenti si verificherà un
errore di programmazione. Per informazioni dettagliate, fare riferimento alle
sezioni 3-3-7 AND LOAD: AND LD e 3-3-8 OR LOAD: OR LD.
154
Istruzioni di ingresso sequenza Capitolo 3-3
Esempio
Istruzione Operando
AND LD
LD 000000 OR LD
LD 000001
LD 000002 OR LD
AND 000003
OR LD ---
AND LD ---
LD NOT 000004
AND 000005
OR LD ---
OUT 000100
Variazioni
Variazioni Riavvia la logica e crea una condizione di esecuzione LD NOT
con stato ON a ogni ciclo se il bit operando è impostato
su OFF
Riavvia la logica e crea una condizione di esecuzione @LD NOT
con stato ON una sola volta per differenziazione sul
fronte di salita (vedere nota 1)
Riavvia la logica e crea una condizione di esecuzione %LD NOT
con stato ON una sola volta per differenziazione sul
fronte di discesa (vedere nota 1)
Aggiornamento immediato (vedere nota 2) !LD NOT
Variazioni Aggiorna il bit di ingresso, riavvia la logica e crea una !@LD NOT
combinate condizione di esecuzione con stato ON una sola volta
per differenziazione sul fronte di salita (vedere nota 3)
Aggiorna il bit di ingresso, riavvia la logica e crea una !%LD NOT
condizione di esecuzione con stato ON una sola volta
per differenziazione sul fronte di discesa (vedere nota 3)
Nota 1. Le seguenti variazioni sono supportate soltanto da CPU CS1/H, CJ1/H,
CJ1M e CS1D. @LD NOT, %LD NOT, !@LD NOT e !%LD NOT.
2. L'aggiornamento immediato non è supportato dalle CPU CS1D per sistemi
a due CPU.
3. Variazioni combinate sono supportate da CPU CS1D per sistemi a singola
CPU e CPU CS1/H, CJ1/H e CJ1M.
155
Istruzioni di ingresso sequenza Capitolo 3-3
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Bit operando LD NOT
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A95915
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area dei flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, N, OF, UF, >, =, <, >=, <>, <=, ON, OFF, AER
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area TR ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti in ---
binario
Indirizzi DM/EM indiretti in ---
BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione LD NOT viene utilizzato per il primo bit normalmente chiuso dalla barra di
distribuzione oppure per il primo bit normalmente chiuso di un blocco logico.
In assenza di aggiornamento immediato, viene letto e invertito il bit specificato
nella memoria I/O. Nel caso di aggiornamento immediato, viene letto, invertito
e utilizzato lo stato del terminal di ingresso del modulo di ingresso di base.
Nelle seguenti circostanze LD NOT è utilizzato come istruzione per indicare
un inizio logico.
• Nel collegamento diretto alla barra di distribuzione.
• Quando i blocchi logici sono collegati da AND LD oppure OR LD (utilizzati
all’inizio di un blocco logico).
Le istruzioni AND LOAD e OR LOAD vengono utilizzate per collegare in serie
o in parallelo i blocchi logici che iniziano con LD oppure con LD NOT.
Quando non è possibile collegare le istruzioni relative all’uscita direttamente
alla barra di distribuzione, è necessaria almeno un’istruzione LOAD o LOAD
NOT per la condizione di esecuzione. In assenza di un’istruzione LOAD o
LOAD NOT, si verificherà un errore di programma con il controllo del
programma da parte della periferica.
Quando i blocchi logici sono collegati da istruzioni AND LOAD o OR LOAD, il
numero complessivo di istruzioni AND LOAD/OR LOAD deve corrispondere al
numero totale di LOAD/LOAD NOT meno uno. Altrimenti si verificherà un
errore di programmazione.
156
Istruzioni di ingresso sequenza Capitolo 3-3
Istruzione Operando
AND LD
LD 000000 OR LD
LD 000001
LD 000002 OR LD
AND 000003
OR LD ---
AND LD ---
LD NOT 000004
AND 000005
OR LD ---
OUT 000100
Simbolo programmazione
ladder
Variazioni
Variazioni Crea una condizione di esecuzione con stato ON a ogni AND
ciclo se il risultato della funzione AND è ON
Crea una condizione di esecuzione con stato ON una @AND
sola volta per differenziazione sul fronte di salita
Crea una condizione di esecuzione con stato ON una %AND
sola volta per differenziazione sul fronte di discesa
Aggiornamento immediato (vedere nota) !AND
Variazioni Aggiorna il bit di ingresso e crea una condizione di !@AND
combinate esecuzione con stato ON una sola volta per
differenziazione sul fronte di salita (vedere nota)
Aggiorna il bit di ingresso e crea una condizione di !%AND
esecuzione con stato ON una sola volta per
differenziazione sul fronte di discesa (vedere nota)
Nota L'aggiornamento immediato non è supportato dalle CPU CS1D per sistemi a
due CPU.
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
157
Istruzioni di ingresso sequenza Capitolo 3-3
Caratteristiche operando
Area Bit operando AND
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A95915
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area dei flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, N, OF, UF, >, =, <, >=, <>, <=, ON, OFF, AER
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area TR ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti in ---
binario
Indirizzi DM/EM indiretti in ---
BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione La funzione AND è utilizzata per un bit normalmente aperto collegato in serie.
Non è possibile collegarla direttamente alla barra di distribuzione o utilizzarla
all’inizio di un blocco logico. In assenza di aggiornamento immediato, viene
letto il bit specificato nella memoria I/O. Nel caso di aggiornamento
immediato, viene letto lo stato del terminal di ingresso del modulo di ingresso
di base.
Flag Questa istruzione non influisce su alcun flag.
158
Istruzioni di ingresso sequenza Capitolo 3-3
Esempio
Istruzione Operando
LD 000000
AND 000001
LD 000002
AND 000003
LD 000004
AND NOT 000005
OR LD ---
AND LD ---
OUT 000006
159
Istruzioni di ingresso sequenza Capitolo 3-3
Descrizione La funzione AND NOT è utilizzata per un bit normalmente chiuso collegato in
serie. Non è possibile collegarla direttamente alla barra di distribuzione o
utilizzarla all’inizio di un blocco logico. In assenza di aggiornamento
immediato, viene letto il bit specificato nella memoria I/O. Nel caso di
aggiornamento immediato, viene letto lo stato dei terminal di ingresso del
modulo di ingresso di base.
Flag Questa istruzione non influisce su alcun flag.
Avvertenze Per AND NOT è possibile specificare l’aggiornamento immediato (!).
Un’istruzione con refresh immediato aggiorna lo stato del bit d’ingresso
appena prima dell’esecuzione da moduli di ingresso di base (tranne quelli sui
sistemi slave o per moduli di ingresso C200H multipunto gruppo 2).
Esempio
Istruzione Operando
LD 000000
AND 000001
LD 000002
AND 000003
LD 000004
AND NOT 000005
160
Istruzioni di ingresso sequenza Capitolo 3-3
Istruzione Operando
OR LD ---
AND LD ---
OUT 000006
3-3-5 OR: OR
Scopo Assume un OR logico dello stato ON/OFF del bit operando specificato e la
condizione di esecuzione corrente.
Variazioni
Variazioni Crea una condizione di esecuzione con stato ON a OR
ogni ciclo se il risultato della funzione OR è ON
Crea una condizione di esecuzione con stato ON una @OR
sola volta per differenziazione sul fronte di salita
Crea una condizione di esecuzione con stato ON una %OR
sola volta per differenziazione sul fronte di discesa
Aggiornamento immediato (vedere nota) !OR
Variazioni Aggiorna il bit di ingresso e crea una condizione di !@OR
combinate esecuzione con stato ON una sola volta per
differenziazione sul fronte di salita (vedere nota)
Aggiorna il bit di ingresso e crea una condizione di !%OR
esecuzione con stato ON una sola volta per
differenziazione sul fronte di discesa (vedere nota)
Nota L'aggiornamento immediato non è supportato dalle CPU CS1D per sistemi a
due CPU.
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Bit operando OR
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A95915
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area dei flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, N, OF, UF, >, =, <, >=, <>, <=, ON, OFF, AER
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti in ---
binario
Indirizzi DM/EM indiretti in ---
BCD
Costanti ---
Registri dati ---
161
Istruzioni di ingresso sequenza Capitolo 3-3
Esempio
Istruzione Operando
LD 000000
AND 000001
AND 000002
OR 000003
AND 000004
LD 000005
AND 000006
OR NOT 000007
AND LD ---
OUT 000008
162
Istruzioni di ingresso sequenza Capitolo 3-3
Variazioni
Variazioni Crea una condizione di esecuzione con stato ON a OR NOT
ogni ciclo se il risultato della funzione OR NOT è ON
Crea una condizione di esecuzione con stato ON una @OR NOT
sola volta per differenziazione sul fronte di salita
(vedere nota 1)
Crea una condizione di esecuzione con stato ON una %OR NOT
sola volta per differenziazione sul fronte di discesa
(vedere nota 1)
Aggiornamento immediato (vedere nota 2) !OR NOT
Variazioni Aggiorna il bit di ingresso e crea una condizione di !@OR NOT
combinate esecuzione con stato ON una sola volta per
differenziazione sul fronte di salita (vedere nota 3)
Aggiorna il bit di ingresso e crea una condizione di !%OR NOT
esecuzione con stato ON una sola volta per
differenziazione sul fronte di discesa (vedere nota 3)
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Bit operando OR NOT
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A95915
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area dei flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, N, OF, UF, >, =, <, >=, <>, <=, A1, A0
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area TR ---
Area DM ---
Area EM con banco ---
Indirizzi DM/EM indiretti in binario ---
Indirizzi DM/EM indiretti in BCD ---
Costanti ---
Registri dati ---
163
Istruzioni di ingresso sequenza Capitolo 3-3
Esempio
Istruzione Operando
LD 000000
AND 000001
AND 000002
OR 000003
AND 000004
LD 000005
AND 000006
OR NOT 000007
AND LD ---
OUT 000008
Simbolo programmazione
Blocco logico Blocco logico
ladder
Variazioni
Variazioni Crea una condizione di esecuzione con stato ON a AND LD
ogni ciclo se il risultato della funzione AND è ON
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
164
Istruzioni di ingresso sequenza Capitolo 3-3
Descrizione AND LD collega in serie il blocco logico che si trova immediatamente prima
dell’istruzione a un altro blocco logico.
LD
a Blocco logico A
LD
a Blocco logico B
Avvertenze È possibile collegare tre o più blocchi logici in serie utilizzando questa
istruzione in primo luogo per collegare due blocchi logici, quindi il terzo e in
ordine i successivi. È inoltre possibile ripetere questa istruzione dopo tre o più
blocchi logici e collegarli in serie.
Quando un blocco logico è collegato da istruzioni AND LOAD o OR LOAD, il
numero complessivo di istruzioni AND LOAD/OR LOAD deve corrispondere al
numero totale di istruzioni LOAD/LOAD NOT meno uno. Altrimenti si
verificherà un errore di programma.
Esempio
165
Istruzioni di ingresso sequenza Capitolo 3-3
Istruzione Operando
AND LD ---
. .
. .
OUT 000500
Esempio di codice (2)
Istruzione Operando
LD 000000
OR NOT 000001
LD NOT 000002
OR 000003
LD 000004
OR 000005
. .
. .
AND LD ---
AND LD ---
. .
. .
OUT 000500
L’istruzione AND LOAD può essere usata in modo ripetuto. Nel secondo
metodo di programmazione (2), tuttavia, il numero delle istruzioni AND LOAD
raggiunge il numero delle precedenti istruzioni LOAD e LOAD NOT meno 1.
Con il metodo (2), è opportuno assicurarsi che il numero complessivo di
istruzioni LOAD e LOAD NOT prima di AND LOAD non sia superiore a otto.
Per disporre di un numero superiore di istruzioni, utilizzare il metodo (1). In
presenza di nove o più istruzioni con il metodo (2), si verificherà un errore di
programma durante il controllo del programma da parte della periferica.
Codice
Indirizzo Istruzione Operando
000000 LD 000000
000001 OR 000001
000002 LD 000002
000003 OR NOT 000003
000004 AND LD ---
000005 OUT 000500
Secondo LD: Utilizzato per il primo bit del blocco successivo collegato in serie al blocco precedente.
3-3-8 OR LOAD: OR LD
Scopo Assume un OR logico tra blocchi logici.
Simbolo programmazione
ladder Blocco logico
Blocco logico
Variazioni
Variazioni Crea una condizione di esecuzione con stato ON a OR LD
ogni ciclo se il risultato della funzione AND è ON
Aggiornamento immediato Non supportata
166
Istruzioni di ingresso sequenza Capitolo 3-3
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Descrizione AND LD collega in parallelo il blocco logico appena prima che l’istruzione
venga collegata a un altro blocco logico.
LD
a Blocco logico A
LD
a Blocco logico B
Avvertenze È possibile collegare tre o più blocchi logici in parallelo utilizzando questa
istruzione in primo luogo per collegare due blocchi logici, quindi il terzo e in
ordine i successivi. È inoltre possibile ripetere questa istruzione dopo tre o più
blocchi logici e collegarli in parallelo.
Quando un blocco logico è collegato da istruzioni AND LOAD o OR LOAD, il
numero complessivo di istruzioni AND LOAD/OR LOAD deve corrispondere al
numero totale di LOAD/LOAD NOT meno uno. Altrimenti si verificherà un
errore di programma.
Esempio
167
Istruzioni di ingresso sequenza Capitolo 3-3
Secondo LD: Utilizzato per il primo bit del blocco successivo collegato in serie al blocco precedente.
168
Istruzioni di ingresso sequenza Capitolo 3-3
169
Istruzioni di ingresso sequenza Capitolo 3-3
Input
ricevuto
Input
ricevuto
Input
↑ ricevuto
Input
↓ ricevuto
Input
Input ricevuto
! ricevuto
Input
!↑ ricevuto
Input
!↓ ricevuto
Input ricevuto
Input
! ! ricevuto
Input
↑ ! ricevuto
Input
↓ ! ricevuto
! !
!↑ !
!↓ !
Elaborazione
CPU
3-3-11 Bit TR
I bit TR servono a mantenere temporaneamente lo stato ON/OFF di condi-
zioni di esecuzione in un programma scritto utilizzando codici mnemonici.
Non vengono utilizzati se si programma direttamente in linguaggio ladder per-
ché l’elaborazione è eseguita in modo automatico dal dispositivo periferico.
Nel diagramma seguente è riportata una semplice applicazione che utilizza
due bit TR.
170
Istruzioni di ingresso sequenza Capitolo 3-3
Utilizzo da TR0 a TR15 I bit da TR0 a TR15 vengono utilizzati soltanto con le istruzioni LOAD e
OUTPUT. Non vi sono restrizioni per quanto riguarda l’ordine di utilizzo degli
indirizzi di bit.
Quando è possibile, è più semplice riscrivere un programma in modo tale che
i bit TR non siano più necessari. Nel diagramma seguente è riportato un caso
in cui un bit TR non è necessario e un altro in cui lo è.
(1)
(2)
Da TR0 a TR15: I bit TR sono utilizzati soltanto per mantenere (da OUT TR0 a TR15) e
considerazioni ripristinare (da LD TR0 a TR15) lo stato ON/OFF dei punti di diramazione nei
programmi con numerose diramazioni di uscita. Pertanto sono diversi dagli
altri bit e non possono essere utilizzati con istruzioni AND od OR oppure,
ancora, con istruzioni che includono NOT.
171
Istruzioni di ingresso sequenza Capitolo 3-3
Duplicazione delle uscite Come illustrato nel diagramma seguente, non è possibile ripetere un indirizzo
da TR0 a TR15 di bit TR all’interno di uno stesso blocco in un programma con numerose
diramazioni di uscita. È tuttavia possibile utilizzarlo nuovamente in un altro
blocco.
Simbolo programmazione
NOT(520)
ladder
Variazioni
Variazioni Inverte la condizione di esecuzione a ogni ciclo NOT(520)
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Descrizione Per invertire la condizione di esecuzione, NOT(520) è collocata tra una
condizione di esecuzione e un’altra istruzione.
Flag NOT(520) non influisce su alcun flag.
Avvertenze NOT(520) è un’istruzione intermedia, ossia non è possibile utilizzarla come
istruzione sul lato destro. Dopo NOT(520) assicurarsi di programmare
un’istruzione sul lato destro.
Simboli programmazione
ladder UP(521)
DOWN(522)
Variazioni
Variazioni Crea una condizione di esecuzione con stato ON una UP(521)
sola volta per differenziazione sul fronte di salita
Aggiornamento immediato Non supportata
173
Istruzioni di ingresso sequenza Capitolo 3-3
Tempo di
ciclo
Tempo
di ciclo
S S: canale di origine
N N: numero di bit
TSTN(351)
S S: canale di origine
N N: numero di bit
Variazioni
Variazioni Eseguita a ogni ciclo TST(350)
Aggiornamento immediato Non supportata
174
Istruzioni di ingresso sequenza Capitolo 3-3
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
175
Istruzioni di ingresso sequenza Capitolo 3-3
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF o non modificato (vedere nota)
Flag di = OFF o non modificato (vedere nota)
uguaglianza
Flag negativo N OFF o non modificato (vedere nota)
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1/H, CJ1/H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
&3
&3
&3
&5
176
Istruzioni di uscita sequenza Capitolo 3-4
OR TST(350) e OR TSTN(351)
Nell’esempio che segue, CIO 000001 viene impostato su ON quando
CIO 000000 o il bit 3 di D00010 sono ON.
&3
&3
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON OUT
Eseguita una sola volta per differenziazione sul Non supportata
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato (vedere nota) !OUT
Caratteristiche operando
Area Bit operando OUT
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A44800 ad A95915
Area del ---
temporizzatore
Area del contatore ---
Area TR Da TR0 a TR15
177
Istruzioni di uscita sequenza Capitolo 3-4
Avvertenze Per OUT e OUT NOT è possibile specificare l’aggiornamento immediato (!).
Un’istruzione con refresh immediato aggiorna lo stato del terminal di uscita
subito dopo l’esecuzione dell’istruzione per moduli di uscita di base (tranne
quelli sui sistemi slave o per moduli di ingresso C200H multipunto gruppo 2) e
contemporaneamente scrive lo stato della condizione di esecuzione (flusso
logico di alimentazione) nel bit di uscita specificato nella memoria I/O.
Esempio
Istruzione Operando
LD 000000
OUT 000001
OUT NOT 000002
178
Istruzioni di uscita sequenza Capitolo 3-4
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON OUT NOT
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato (vedere nota) !OUT NOT
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK OK
Caratteristiche operando
Area Bit operando OUT
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A44800 ad A95915
Area del temporizzatore ---
Area del contatore ---
Area TR Da TR0 a TR15
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a ,IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
179
Istruzioni di uscita sequenza Capitolo 3-4
Istruzione Operando
LD 000000
OUT 000001
OUT NOT 000002
R (reset)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON KEEP(011)
Eseguita una sola volta per differenziazione sul Non supportata
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato (vedere nota) !KEEP(011)
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK OK
Caratteristiche operando
Area B
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A44800 ad A95915
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
180
Istruzioni di uscita sequenza Capitolo 3-4
Descrizione Quando S è attivato, il bit specificato passa a ON e mantiene questo stato fino
al reset, indipendentemente dal fatto che S rimanga attivo o venga disattivato.
Quando R viene attivato, il bit specificato passerà allo stato OFF. La relazione
tra le condizioni di esecuzione e lo stato del bit KEEP(011) viene illustrata qui
di seguito.
Impostazione
Reset
ON
Condizione di
esecuzione S OFF
ON
Condizione di
esecuzione R OFF
ON
Stato di C OFF
Impostazione
Reset
Stato di C
Impostazione
Reset
Stato di C
181
Istruzioni di uscita sequenza Capitolo 3-4
Come illustrato qui di seguito, è possibile utilizzare KEEP(011) per creare flip-
flop.
Se un bit di ritentività viene utilizzato per B, lo stato del bit sarà mantenuto
anche durante una caduta di tensione. È quindi possibile utilizzare
KEEP(011) per programmare bit che mantengano il proprio stato al riavvio del
PLC in seguito a una caduta di tensione. Qui di seguito è riportato un
esempio utile per visualizzare un messaggio di avvertimento in seguito a un
arresto di sistema per un’emergenza.
182
Istruzioni di uscita sequenza Capitolo 3-4
Indica una
situazione di
emergenza
Ingresso di reset
Attiva la
visualizzaz
dell'avverti
Nel caso di caduta di tensione è possibile mantenere lo stato dei bit dell’area
di I/O attivando il bit di ritentività IOM e scegliendo l’opzione IOM Hold Bit
Hold nell’impostazione del PLC. In questa ipotesi, i bit dell’area di I/O utilizzati
in KEEP(011) manterranno il proprio stato a un riavvio del PLC in seguito a
una caduta di tensione, esattamente come i bit di ritentività. Dopo avere
apportato le modifiche al PLC assicurarsi di riavviarlo, altrimenti le nuove
impostazioni resteranno inutilizzate.
A S
KEEP
120000
A MAI R
Nei diagrammi ladder e nel codice mnemonico gli operandi per KEEP(011)
vengono immessi in ordine differente.
Ordine del diagramma ladder:Ingresso di impostazione → KEEP(011) →
Ingresso di reset
Ordine del codice mnemonico:Ingresso di impostazione → Ingresso di
reset→ KEEP(011)
Esempio Nell’esempio seguente, quando CIO 000000 è impostato su ON, CIO 00500
viene attivato. CIO 00500 resta impostato su ON fino all’attivazione di
CIO 000001.
Nell’esempio seguente, quando CIO 000002 è impostato su ON e
CIO 000003 su OFF, CIO 00100 viene attivato. CIO 00100 resta impostato su
ON fino all’attivazione di CIO 000004 o di CIO 000005.
183
Istruzioni di uscita sequenza Capitolo 3-4
Codice
Indirizzo Istruzione Operando
000100 LD 000000
000101 LD 000001
000102 KEEP(011) 000500
000103 LD 000002
000104 AND NOT 000003
000105 LD 000004
000106 OR 000005
000107 KEEP(011) 000100
Simboli programmazione
ladder DIFU(013)
B B: bit
DIFD(014)
B B: bit
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON Non supportata
Eseguita una sola volta per differenziazione DIFU(013)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato (vedere nota) !DIFU(013)
Condizione di
esecuzione
Stato di B
1 ciclo
Stato di B
1 ciclo
185
Istruzioni di uscita sequenza Capitolo 3-4
001000
1 ciclo 1 ciclo
Funzionamento di DIFD(014)
Nell’esempio che segue, quando CIO 000000 passa da ON a OFF,
CIO 001000 viene impostato su ON per un solo ciclo.
001000
001000
1 ciclo 1 ciclo
186
Istruzioni di uscita sequenza Capitolo 3-4
B B: bit
RSET
B B: bit
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SET
Eseguita una sola volta per differenziazione @SET
sul fronte di salita
Eseguita una sola volta per differenziazione %SET
sul fronte di discesa
Aggiornamento immediato (vedere nota) !SET
Variazioni Eseguita una sola volta con immediato !@SET
combinate aggiornamento del bit per differenziazione
sul fronte di salita (vedere nota)
Eseguita una sola volta con immediato !%SET
aggiornamento del bit per differenziazione
sul fronte di discesa (vedere nota)
Caratteristiche operando
Area B
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit ritentivi Da H00000 a H51115
Area bit ausiliaria Da A44800 ad A95915
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
187
Istruzioni di uscita sequenza Capitolo 3-4
Area B
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Stato di B
188
Istruzioni di uscita sequenza Capitolo 3-4
000001
CIO 010000 viene impostato su
ON all'attivazione di CIO 000001
e mantiene lo stato ON fino
all'attivazione di CIO 000002.
000002
D D: canale iniziale
RSTA(531)
D D: canale iniziale
Nota I bit che vengono attivati o disattivati devono appartenere alla stessa area
dati. (L’intervallo di canali si attesta approssimativamente tra D a D+N2÷16.)
a
D: 256 canali max.
Caratteristiche operando
Area D N1 N2
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit ritentivi Da H000 a H511
Area bit ausiliaria Da A448 ad Da A000 ad A959
A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti in Da @D00000 a @D32767
binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti in Da *D00000 a *D32767
BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a Da #0000 a
#000F (in #FFFF (in
formato binario) formato binario)
o da &0 a &15 o da &0 a
&65535
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto con i Da ,IR0 a ,IR15
registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a
,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
190
Istruzioni di uscita sequenza Capitolo 3-4
SETA(530) può essere utilizzata per impostare su ON i bit di aree dati in cui di
norma accedono soltanto i canali, come le aree DM ed EM.
Funzionamento di RSTA(531)
RSTA(531) imposta su OFF gli N2 bit, iniziando da bit N1 di D e proseguendo
a sinistra, ossia verso i bit più significativi. Tutti gli altri bit vengono lasciati
inalterati. (Se N2 è impostato su 0, non viene apportata alcuna modifica).
È possibile attivare i bit impostati su OFF da RSTA(531) utilizzando
SETA(530) o qualsiasi altra istruzione.
RSTA(531) può essere utilizzata per impostare su OFF i bit di aree dati in cui
di norma accedono soltanto i canali, come le aree DM ed EM.
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se N1 non rientra nell’intervallo specificato 0000 - 000F.
OFF in tutti gli altri casi.
N1: Bit 5
&20
N1: Bit 3
&20
191
Istruzioni di uscita sequenza Capitolo 3-4
RSTB(533)
D: indirizzo del canale
D N: numero di bit
N
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SETB(532)
Eseguita una sola volta per differenziazione @SETB(532)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato (vedere nota) !SETB(532)
Variazioni Eseguita una sola volta con immediato !@SETB(532)
combinate aggiornamento del bit per differenziazione
sul fronte di salita (vedere nota)
Eseguita una sola volta con immediato Non supportata
aggiornamento del bit per differenziazione
sul fronte di discesa
192
Istruzioni di uscita sequenza Capitolo 3-4
Caratteristiche operando
Area D N
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959 Da A000 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti in Da @D00000 a @D32767
binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti in Da *D00000 a *D32767
BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a #000F
(in formato binario)
o da &0 a &15
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto con i Da ,IR0 a ,IR15
registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047,
a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Condizione di
ON
esecuzione OFF
193
Istruzioni di uscita sequenza Capitolo 3-4
Funzionamento di RSTB(533)
RSTB(533) imposta su OFF il bit N del canale D quando lo stato della
condizione di esecuzione è ON. Lo stato del bit non subisce modifiche se la
condizione di esecuzione è impostata su OFF. Specificare SETB(532) per
attivare il bit specificato. A differenza di RST, RSTB(533) può disattivare un bit
nell’area DM o in quella EM.
15
Condizione di ON
esecuzione OFF
194
Istruzioni di uscita sequenza Capitolo 3-4
000001
RSTB
Bit 02 di D00000 viene impostato su
D00000
OFF quando CIO 000001 è ON.
&2
OUTB(534)
D: indirizzo del canale
D N: numero di bit
N
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON OUTB(534)
Eseguita una sola volta per differenziazione @OUTB(534)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato (vedere nota) !OUTB(534)
195
Istruzioni di uscita sequenza Capitolo 3-4
Area D N
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a #000F (in formato
binario) o da &0 a &15
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
ON
Bit N del canale D
OFF
Esempio
000000
OUTB
Bit 10 di D00000 viene impostato su
D00000
OFF quando CIO 000000 è OFF.
&10
Simbolo programmazione
ladder END (001)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON END (001)
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita Non consentita Non OK
consentita
197
Istruzioni di controllo sequenza Capitolo 3-5
Task 1 Programma A
Task 2 Programma B
Task n Programma Z
I/O refresh
Simbolo programmazione NOP(000) non prevede alcuna associazione con un simbolo programmazione
ladder ladder.
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON NOP(000)
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Avvertenze È possibile utilizzare NOP(000) soltanto con display mnemonici e non con
programmi ladder.
198
Istruzioni di controllo sequenza Capitolo 3-5
Differenze tra interblocchi Non è possibile nidificare gli interblocchi normali (IL(002) and IL(003)), ma
e interblocchi multipli solo quelli multipli come (MILH(517), MILR(518) e MILC(519)). Come
illustrato nel diagramma qui di seguito, la nidificazione degli interblocchi
multipli consente di semplificare la programmazione ladder.
Interblocchi con MILH e MILC Interblocchi con IL e ILC
a a
MILH IL
0
A1
A1
ILC
b
a b
MILH
IL
1
A2
A2
ILC
c
MILH a b c
2 IL
A3
A3
ILC
MILC
2
MILC
1
MILC
0
Differenze tra MILH(517) e Negli interblocchi creati con MILH(517) e MILR(518), le istruzioni differenziate
MILR(518) (DIFU, DIFD oppure quelle con prefisso @ o %) hanno un funzionamento
diverso.
Il funzionamento delle istruzioni differenziate in un interblocco creato con
MILH(517) è identico al funzionamento in un interblocco creato con IL(002).
199
Istruzioni di controllo sequenza Capitolo 3-5
Avvertenze È opportuno non combinare interblocchi creati con istruzioni di interblocco dif-
ferenti (IL-ILC, MILH-MILC e MILR-MILC). Se differenti metodi di interblocco
vengono utilizzati congiuntamente, è possibile che gli interblocchi non funzio-
nino in modo corretto. Per informazioni dettagliate sulle istruzioni combinate,
fare riferimento alla sezione 3-5-5 MULTI-INTERLOCK DIFFERENTIATION
HOLD, MULTI-INTERLOCK DIFFERENTIATION RELEASE e MULTI-INTER-
LOCK CLEAR: MILH(517), MILR(518) e MILC(519).
Ad esempio, non è possibile inserire un’istruzione MILH(517) tra IL(002) e
IL(003).
IL
ILC
IL
ILC
MILH
MILR
MILC
200
Istruzioni di controllo sequenza Capitolo 3-5
Differenze tra interblocchi Nella tabella seguente sono riportate le differenze tra gli interblocchi (creati
e salti con IL(002)/ILC(003), MILH(517)/MILC(519) o MILR(518)/MILC(519)) e i salti
creati con JMP(004)/JME(005).
Elemento Funzionamento con IL(002)/ILC(003), Funzionamento con
MILH(517)/MILC(519) o MILR(518)/ JMP(004)/JME(005)
MILC(519))
Esecuzione dell'istruzione Ad eccezione di OUT, OUT NOT e Non viene eseguita alcuna istruzione
OUTB(534), tutte le istruzioni, comprese
quelle del temporizzatore, non vengono
eseguite.
Stato dell’uscita nelle Ad eccezione delle uscite in OUT, OUT Tutte le uscite mantengono lo stato
istruzioni NOT, OUTB(534) e nelle istruzioni del precedente.
temporizzatore, tutte le uscite
mantengono lo stato precedente.
Bit in OUT, OUT NOT, OFF Tutte le uscite mantengono lo stato
OUTB(534) precedente.
Stato delle istruzioni del Reset I temporizzatori in funzione (soltanto TIM,
temporizzatore TIMX(550), TIMH(015), TIMHX(551),
(tranne (TTIM(087), TMHH(540) e TMHHX(552)) continuano a
TTIMX(555), MTIM(543) e funzionare poiché i valori attuali (PV) vengono
MTIMX(554)) aggiornati anche quando l’istruzione del
temporizzatore non è in fase di esecuzione.
ILC(003)
Variazioni
VariazioniProcede all’interblocco se impostata su OFF. Non IL(002)
procede all’interblocco se impostata su ON
Aggiornamento immediato Non supportata
201
Istruzioni di controllo sequenza Capitolo 3-5
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = OFF o non modificato (vedere nota)
uguaglianza
Flag negativo N OFF o non modificato (vedere nota)
Nota Nelle CPU CS1 e CJ1 i flag di uguaglianza e i flag negativi sono impostati su
OFF.
202
Istruzioni di controllo sequenza Capitolo 3-5
Nelle CPU CS1/H, CJ1/H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
203
Istruzioni di controllo sequenza Capitolo 3-5
Esempi Nell’esempio che segue quando CIO 000000 è impostato su OFF, tutte le
uscite comprese tra IL(002) e ILC(003) vengono rese interdipendenti.
Nell’esempio che segue quando CIO 000000 è impostato su ON, le istruzioni
comprese tra IL(002) e ILC(003) vengono eseguite normalmente.
OFF
OFF
Esecu- Uscite
zione
normale interbloccate
Reset
Mantenuto
Mantenuto
204
Istruzioni di controllo sequenza Capitolo 3-5
Simboli programmazione
ladder MILH(517)
N N: numero di interbloc
D D: bit di stato interbloc
MILR(518)
N N: numero di interblocco
D D: bit di stato interblocco
MILC(519)
N N: numero di interblocco
205
Istruzioni di controllo sequenza Capitolo 3-5
Area N D
Area EM con banco --- ---
Indirizzi DM/EM indiretti --- ---
in binario
Indirizzi DM/EM indiretti --- ---
in BCD
Costanti Da 0 a 15 ---
Registri dati --- ---
Registri indice --- ---
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a
da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a
IR15
Variazioni
VariazioniProcede all’interblocco se impostata su OFF. Non MILH(517) e
procede all’interblocco se impostata su ON MILR(518)
Aggiornamento immediato Non supportata
Aree di programma Nella tabella seguente sono riportate le aree di programma applicabili per
applicabili MILH(517), MILR(518) e MILC(519)
Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita Non consentita OK OK
206
Istruzioni di controllo sequenza Capitolo 3-5
MILH
Condizione n
di ingresso d
Funziona- Uscite interbloccate
mento (Uscite OFF, reset
Sezione di normale temporizzatori ecc.)
programma Bit di stato Bit di stato
interbloccata interblocco interblocco (d) OFF
(d) ON
MILC
n
Nidificazione
Gli interblocchi vengono nidificati quando una sezione del programma
interbloccata (combinazione di MILH(517)/MILR(518) e MILC(519)) viene
collocata in un’altra sezione interbloccata del programma (combinazione
MILH(517)/MILR(518) e MILC(519)). Gli interblocchi possono essere nidificati
fino a un massimo di 16 livelli.
È possibile utilizzare la nidificazione per i seguenti tipi di applicazioni.
• Esempio 1
Interblocco dell’intero programma con una condizione e interblocco di una
parte del programma con un’altra condizione (livello di nidificazione 1)
Interblocco globale
(arresto di emergenza)
A1 (elaborazione delle periferiche)
Interblocco parziale
(nastro trasportatore
RUN)
A2 (funzionamento del
nastro trasportatore)
207
Istruzioni di controllo sequenza Capitolo 3-5
Interblocco globale
(arresto di emergenza)
MILH Quando l'arresto di emergenza è attivato
(condizione di ingresso OFF), A1 e A2
0 sono interbloccate.
Quando l'arresto di emergenza è
disattivato (condizione di ingresso ON),
A1 viene eseguita regolarmente e A2
A1 (elaborazione delle periferiche) viene controllata dal selettore del nastro
Interblocco parziale
trasportatore RUN, come descritto qui di
(nastro seguito.
trasportatore RUN)
MILH Quando il selettore del nastro
trasportatore RUN è OFF (condizione di
1 ingresso OFF), A2 è interbloccata.
Quando il selettore del nastro
trasportatore RUN è ON (condizione di
ingresso ON), A2 viene eseguita
A2 (funzionamento del
nastro trasportatore) regolarmente.
MILC
1
MILC
0
• Esempio 2
Interblocco dell’intero programma con una condizione e interblocco di due
parti sovrapposte del programma con altre condizioni (livello di nidificazio-
ne 2)
Interblocco globale
(arresto di emergenza)
A1 (elaborazione delle periferiche)
Interblocco parziale
(nastro trasportatore
A2 (funzionamento del
nastro trasportatore)
Interblocco parziale
(braccio RUN)
A3 (funzionamento del braccio)
208
Istruzioni di controllo sequenza Capitolo 3-5
Interblocco globale
(arresto di emergenza)
MILH Quando l'arresto di emergenza è attivato
0 (condizione di ingresso OFF), A1, A2 e A3
sono interbloccate.
Quando l'arresto di emergenza è disattivato
(condizione di ingresso ON), A1 viene eseguita
A1 (elaborazione regolarmente e A2 e A3 sono controllate dai
delle periferiche) selettori del nastro trasportatore RUN e del
Interblocco parziale braccio RUN, come descritto qui di seguito.
(nastro
trasportatore RUN)
MILH Quando il selettore del nastro trasportatore RUN
1 è OFF (condizione di ingresso OFF), A2 e A3
sono interbloccate.
Quando il selettore del nastro trasportatore RUN
è ON (condizione di ingresso ON), A2 viene
A2 (funzionamento del n eseguita regolarmente e A3 viene controllata dal
astro trasportatore) selettore del braccio RUN, come descritto qui di
seguito.
Interblocco parziale
(braccio RUN)
MILH Quando il selettore del braccio RUN è OFF
2 (condizione di ingresso OFF), A3 è
interbloccata.
Quando il selettore del braccio RUN è ON
(condizione di ingresso ON), A3 viene
A3 (funzionamento eseguita regolarmente.
del braccio)
MILC
2
MILC
1
MILC
0
209
Istruzioni di controllo sequenza Capitolo 3-5
1. Quando CIO 000000 è impostato su OFF (inizio interblocco), la condizione di ingresso di CIO 000001 per DIFU è OFF.
2. La condizione di ingresso di CIO 000001 per DIFU passa da OFF a ON mentre lo stato di CIO 000000 è impostato su OFF (DIFU bloccata),
3. Quando CIO 000000 passa da OFF a ON (interblocco cancellato), DIFU viene eseguita se CIO 000001 ha mantenuto lo stato ON.
000001
DIFU
001000
MILC
0
210
Istruzioni di controllo sequenza Capitolo 3-5
Diagramma di funzionamento
Nessun interblocco Interblocco Nessun interblocco
ON
000000
OFF
Stato (OFF) condizione di differenziazione
all'inizio ON assegnata
ON
000001
OFF
OFF Stato (ON) alla cancellazione
Interblocco MILH(517) dell'interblocco
esecuzione di DIFU(013)
ON
001000
OFF
1 ciclo
1. Quando CIO 000000 è impostato su OFF (inizio interblocco), la condizione di ingresso di CIO 000001 per DIFU è OFF.
2. La condizione di ingresso di CIO 000001 per DIFU passa da OFF a ON mentre lo stato di CIO 000000 è impostato su OFF (DIFU bloccata),
3. Quando CIO 000000 passa da OFF a ON (interblocco cancellato), DIFU non viene eseguita anche se CIO 000001 ha mantenuto lo stato ON.
000001
DIFU
001000
MILC
0
211
Istruzioni di controllo sequenza Capitolo 3-5
Diagramma di funzionamento
Nessun interblocco Interblocco Nessun interblocco
ON
000000
OFF
ON
ON
000001
OFF
OFF
Interblocco MILR(518)
ON Nessuna esecuzione di DIFU(013)
001000
OFF
Sezione del
programma Se CIO 010000 è ON per impostazione forzata,
l'interblocco viene rilasciato.
MILC
n
Sezione del
programma controllata Se CIO 010000 è OFF per impostazione forzata,
l'interblocco viene impegnato.
MILC
n
212
Istruzioni di controllo sequenza Capitolo 3-5
a a
A1 MILH
0
b
A2 A1
b
MILH
1
A2
MILC
1
MILC
0
A1
b
MILH
1
010001
A2
MILC
1
A3
MILC
0
213
Istruzioni di controllo sequenza Capitolo 3-5
A1
b
IL
A2
ILC
… questa sezione del
programma non è controllata
A3 dall'interblocco.
ILC
Questa istruzione ILC(003)
viene ignorata quindi ...
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
214
Istruzioni di controllo sequenza Capitolo 3-5
A1
b
MILH
1
A2
MILC
0
215
Istruzioni di controllo sequenza Capitolo 3-5
A1
b
MILH
1
010001
A2
MILC
1
Tra due istruzioni MILC(519) è possibile
inserire altre istruzioni. In tal caso le sezioni
A3 A1 e A3 funzionano congiuntamente.
(A prescindere dallo stato ON/OFF di "b",
sono interbloccate quando "a" è OFF).
MILC
0
A1
216
Istruzioni di controllo sequenza Capitolo 3-5
A1
A2
MILC
0
A1
b
MILH Quando la condizione di ingresso "a" è
ON e "b" OFF, viene interbloccata
0
soltanto la sezione A2 del programma.
A2
MILC
0
217
Istruzioni di controllo sequenza Capitolo 3-5
a
MILH Quando la condizione di ingresso "a" è
OFF, vengono interbloccate entrambe le
0 sezioni A1 e A2 del programma.
A1
A2
MILC
0
b
Se la sezione del programma non è
MILH interbloccata da IL(002) e "b" è OFF, la
0 sezione A2 del programma viene
interbloccata.
A2
ILC
A2
ILC
218
Istruzioni di controllo sequenza Capitolo 3-5
W00001
MILH
1 OFF
010001
000002 H0000
Eseguita
regolarmente.
Uscite
interbloccate
SET Ritenuto Uscite
interbloccate
000003
MILC
1
CNT
1 Eseguita
Ritenuto regolarmente.
#0010
MILC
0
N N: numero di salto
JME(005)
N N: numero di salto
Variazioni
Variazioni Procede al salto se impostata su OFF. Non JMP(004)
procede al salto se impostata su ON
Aggiornamento immediato Non supportata
219
Istruzioni di controllo sequenza Capitolo 3-5
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK Non consentita OK OK
Operandi N: numero di salto
Il numero di salto deve essere compreso tra 0000 e 03FF o da &0 a &1.023
decimale.
Nota Per CPU CJ1M-CPU11 e CJ1M-CPU21, il numero di salto deve essere
compreso tra 0000 e 00FF esadecimale o tra &0 e &255 decimale.
Caratteristiche operando
Area N
JMP(004) JME(005)
Area CIO Da CIO 0000 a CIO 6143 ---
Area di lavoro Da W000 a W511 ---
Area bit di ritentività Da H000 a H511 ---
Area bit ausiliaria Da A000 ad A959 ---
Area del temporizzatore Da T0000 a T4095 ---
Area del contatore Da C0000 a C4095 ---
Area DM Da D00000 a D32767 ---
Area EM senza banco Da E00000 a E32767 ---
Area EM con banco Da En_00000 a En_32767 ---
(n = da 0 a C)
Indirizzi DM/EM indiretti in Da @D00000 a @D32767 ---
binario Da @ E00000 a @ E32767
Da @ En_00000 a
@ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti in Da *D00000 a *D32767 ---
BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #03FF (in Da #0000 a #03FF (in
formato binario) o da &0 a formato binario) o da &0 a
&1023 (vedere nota) &1023 (vedere nota)
Registri dati Da DR0 a DR15 ---
Registri indice --- ---
Indirizzamento indiretto Da ,IR0 a ,IR15 ---
con i registri indice Da –2048 a +2047, da ,IR0
a
da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a
IR15
Descrizione Quando la condizione di esecuzione per JMP(004) è ON, non avviene alcun
salto e il programma viene eseguito come è stato scritto senza interruzioni.
Quando la condizione di esecuzione per JMP(004) è OFF, l'esecuzione del
programma passa direttamente alla prima istruzione JME(005) nel pro-
gramma che presenta lo stesso numero di salto. Le istruzioni comprese tra
JMP(004) e JME(005) non sono eseguite e quindi viene mantenuto lo stato
220
Istruzioni di controllo sequenza Capitolo 3-5
Flag (JMP)
Nome Etichetta Funzionamento
Flag di errore ER ON se N non rientra nell’intervallo specificato 0000 - 03FF
(vedere nota).
ON se nel programma esiste una JMP(004) ma non una
JME(005) con lo stesso numero di salto.
ON se nel task esiste una JMP(004) ma non una
JME(005) con lo stesso numero di salto.
OFF in tutti gli altri casi.
221
Istruzioni di controllo sequenza Capitolo 3-5
Sezione di
programma
a blocchi
da JMP &1
a
JME &1
La coppia JMP(004) - JME(005) deve trovarsi nello stesso task poiché non
sono consentiti salti tra task. Se un’istruzione JME(005) non è programmata
nello stesso task della corrispondente istruzione JMP(004), si verifica un
errore.
Quando DIFU(013), DIFD(014) e le istruzioni differenziate vengono
programmate tra JMP(004) e JME(005), il loro funzionamento di non dipende
soltanto dallo stato della condizione di esecuzione. Quando DIFU(013),
DIFD(014) o un’istruzione differenziata vengono eseguite in una sezione
saltata subito dopo l’attivazione della condizione di esecuzione per JMP(004),
la condizione di esecuzione per DIFU(013), DIFD(014) o per l’istruzione
differenziata verrà confrontata con la condizione di esecuzione esistente
prima che il salto diventasse effettivo, ossia prima che venisse disattivata la
condizione di esecuzione per JMP(004).
Esempi Funzionamento di base
Nell’esempio che segue quando CIO 000000 è impostato su OFF, le istruzioni
comprese tra JMP(004) e JME(005) non vengono eseguite e le uscite man-
tengono lo stato precedente. Nell’esempio che segue quando CIO 000000 è
impostato su ON, le istruzioni comprese tra JMP(004) e JME(005) vengono
eseguite regolarmente.
222
Istruzioni di controllo sequenza Capitolo 3-5
&1
N N: numero di salto
CJPN(511)
N N: numero di salto
Variazioni
Variazioni Procede al salto se impostata su ON. Non CJP(510)
procede al salto se impostata su OFF
Aggiornamento immediato Non supportata
223
Istruzioni di controllo sequenza Capitolo 3-5
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK Non consentita OK OK
224
Istruzioni di controllo sequenza Capitolo 3-5
Funzionamento di CJPN(511)
Quando la condizione di esecuzione per CJPN(511) è ON, non avviene alcun
salto e il programma viene eseguito come è stato scritto senza interruzioni.
Quando la condizione di esecuzione per CJPN(511) è OFF, l'esecuzione del
programma passa direttamente alla prima istruzione JME(005) nel
programma avente lo stesso numero di salto.
Condizione di Condizione di
esecuzione ON esecuzione OFF
Istruzioni
saltate
Flag Nella tabella seguente sono riportati i flag su cui influiscono CJP(510) e
CJPN(511).
Nome Etichetta Funzionamento
Flag di ER ON in assenza di un’istruzione JME(005) con lo stesso
errore numero di salto di CJP(510) o di CJPN(511) (vedere nota).
ON se N non rientra nell’intervallo specificato 0000 - 03FF
ON in presenza di un’istruzione CJP(510) o CJPN(511) in
un task senza che vi sia una JME(005) con lo stesso
numero di salto.
OFF in tutti gli altri casi.
Avvertenze Tutte le uscite (bit e canali) nelle istruzioni saltate mantengono lo stato prece-
dente. I temporizzatori in funzione (TIM, TIMX(550), TIMH(015), TIMHX(551),
225
Istruzioni di controllo sequenza Capitolo 3-5
Esempio Nell’esempio che segue quando CIO 000000 è impostato su ON, le istruzioni
comprese tra CJP(510) e JME(005) non vengono eseguite e le uscite man-
tengono lo stato precedente. Nell’esempio che segue quando CIO 000000 è
impostato su OFF, le istruzioni comprese tra CJP(510) e JME(005) vengono
eseguite regolarmente.
226
Istruzioni di controllo sequenza Capitolo 3-5
Istruzioni
non Esecuzione
eseguite normale
(uscite
inalterate)
&1
Simboli programmazione
ladder JMP0(515)
JME0(516)
Variazioni
Variazioni Procede al salto se impostata su OFF. Non JMP0(515)
procede al salto se impostata su ON
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita Non consentita OK OK
227
Istruzioni di controllo sequenza Capitolo 3-5
Descrizione Quando la condizione di esecuzione per JMP0(515) è ON, non avviene alcun
salto e il programma viene eseguito come è stato scritto senza interruzioni.
Quando la condizione di esecuzione per JMP0(515) è impostata su OFF, tutte
le istruzioni del programma comprese tra JMP0(515) e l'istruzione JME0(516)
successiva vengono elaborate come NOP(000). A differenza di JMP(004),
CJP(510) e CJPN(511), JMP0(515) non utilizza numeri di salto, per cui
queste istruzioni possono essere collocate in qualsiasi punto del programma.
Condizione di Condizione di
esecuzione a ON esecuzione a OFF
Istruzioni
saltate
Istruzioni
eseguite
Istruzioni
eseguite
Istruzioni saltate
Esempio Nell’esempio che segue quando CIO 000000 è impostato su OFF, le istruzioni
comprese tra JMP0(515) e JME0(516) vengono processate come istruzioni
NOP(000) e le uscite mantengono lo stato precedente. Nell’esempio che
segue quando CIO 000000 è impostato su ON, le istruzioni comprese tra
JMP0(515) e JME0(516) vengono eseguite regolarmente.
228
Istruzioni di controllo sequenza Capitolo 3-5
Esecuzione Elaborate
normale come
istruzioni
NOP(000)
(uscite
inalterate)
N N: numero di cicli
NEXT(513)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FOR(512)
Eseguita a ogni ciclo con condizione ON NEXT(513)
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK OK
229
Istruzioni di controllo sequenza Capitolo 3-5
Caratteristiche operando
Area N
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF (in formato binario) o da &0 a &65.535
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Ripetuta N volte
Sezione di
programma ripetuta
230
Istruzioni di controllo sequenza Capitolo 3-5
&3
&2
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i cicli nidificati sono più di 15.
OFF in tutti gli altri casi.
Flag di = OFF
uguaglianza
Flag negativo N OFF
Avvertenze Programmare FOR(512) e NEXT(513) nello stesso task. Se queste istruzioni
non sono nello stesso task, l’esecuzione non verrà ripetuta.
È possibile che un’istruzione come JMP(004) venga eseguita all’interno di un
ciclo FOR-NEXT, ma non potrebbe passare oltre.
All’interno dei cicli FOR-NEXT non è possibile utilizzare le seguenti istruzioni:
• Istruzioni di programmazione a blocchi
• MULTIPLE JUMP e JUMP END: JMP(515) e JME(516)
• STEP DEFINE e STEP START: STEP(008) e SNXT(009)
Nota Se un loop si ripete in un ciclo e un bit differenziato viene utilizzato nel ciclo
FOR-NEXT, tale bit sarà sempre impostato su ON o sempre su OFF
all’interno di quel ciclo.
D00100
@D00200
D00200
#0000
Simbolo programmazione
ladder BREAK(514)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BREAK(514)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
232
Istruzioni di temporizzatore e contatore Capitolo 3-6
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK OK
Arresto forzato
delle ripetizioni
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = OFF
uguaglianza
Flag negativo N OFF
Avvertenze Un’istruzione BREAK(514) interrompe un solo ciclo e quindi per uscire da cicli
nidificati è necessario un numero di istruzioni BREAK(514) pari a quello dei
livelli nidificati.
BREAK(514) può essere utilizzata esclusivamente in un ciclo FOR-NEXT.
233
Istruzioni di temporizzatore e contatore Capitolo 3-6
234
Istruzioni di temporizzatore e contatore Capitolo 3-6
235
Istruzioni di temporizzatore e contatore Capitolo 3-6
Simbolo programmazione
ladder
Metodo di Simbolo Operandi
aggiorna-
mento PV
BCD N: da 0000 a 4095
TIM (decimale)
N: numero di S: da #0000 a #9999
N temporizzatore (BCD)
S S: valore
impostato
Binario N: da 00000 a 4095
TIMX(550) (decimale)
N: numero di S: da &0 a &65535
N temporizzatore (decimale)
S: valore da #0000 a #FFFF
S (esadecimale)
impostato
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TIM/TIMX(550)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
236
Istruzioni di temporizzatore e contatore Capitolo 3-6
Area N S
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_032767
(n = da 0 a C)
Costanti --- BCD:
Da #0000 a 9999 (BCD)
Impossibile utilizzare “&”
Binario:
da &0 a &65535 (decimale)
da #0000 a #FFFF (esadecimale)
Registri dati --- Da DR0 a DR15
Registri indice --- ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Flag di
completamento
PV del SV
temporizzatore
Flag di
completamento
del temporizzatore
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se N è indirizzato indirettamente tramite un registro
indice; l’indirizzo nel registro indice, tuttavia, non
corrisponde all’indirizzo PV di un temporizzatore.
ON se in modalità BCD e se S non contiene dati BCD.
OFF in tutti gli altri casi.
Flag di = OFF o non modificato (vedere nota)
uguaglianza
Flag negativo N OFF o non modificato (vedere nota)
237
Istruzioni di temporizzatore e contatore Capitolo 3-6
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1/H, CJ1/H, CJ1M e CS1D questi flag vengono lasciati inalterati.
Avvertenze I numeri di temporizzatore vengono condivisi dalle istruzioni TIM, TIMX(550),
TIMH(015), TIMHX(551), TMHH(540), TMHHX(552), TTIM(087),
TTIMX(555), TIMW(813), TIMWX(816), TMHW(815) e TMHWX(817). Se due
temporizzatori condividono lo stesso numero di temporizzatore, ma non sono
utilizzati contemporaneamente, viene generato un errore di duplicazione
durante il controllo del programma; il funzionamento dei temporizzatori sarà
comunque regolare. I temporizzatori che condividono lo stesso numero di
temporizzatore non funzionano in modo corretto se vengono utilizzati
contemporaneamente.
I temporizzatori creati con numeri di temporizzatore compresi tra 2048 e 4095
non funzionano in modo regolare quando il tempo di ciclo della CPU supera
80 ms. In tal caso è opportuno utilizzare numeri di temporizzatore compresi
tra 0000 e 2047.
Anche quando il temporizzatore è in stato di attesa, il valore attuale dei
temporizzatori programmati con numeri di temporizzatore da 0000 a 2047
viene aggiornato. Quando il temporizzatore è in stato di attesa, il valore
attuale dei temporizzatori programmati con numeri di temporizzatore da 2048
a 4095 viene mantenuto.
I temporizzatori vengono reimpostati o messi in pausa nei casi indicati nella
tabella qui di seguito. Quando un temporizzatore è reimpostato il valore
attuale corrispondente viene a sua volta ripristinato in base al valore
impostato e il flag di completamento passa a OFF.
Condizione PV Flag di
completamento
Modifica della modalità operativa da RUN o 0000 OFF
MONITOR a PROGRAM o viceversa.1
Interruzione e reset dell’alimentazione2 0000 OFF
Esecuzione di CNR(545)/CNRX(547), le BCD: 9999 OFF
istruzioni di reimpostazione RESET TIMER/ Binario: FFFF
COUNTER3
Funzionamento in una sezione del Reset su SV OFF
programma interbloccata
(IL(002)-ILC(003))
Funzionamento in una sezione del PV continua a Mantiene lo stato
programma saltata (JMP(004)-JME(005)) essere precedente
decrementato
Nota 1. Se il bit di ritentività IOM (A50012) è stato impostato su ON, lo stato dei
flag di completamento e i valori attuali del temporizzatore vengono
mantenuti alla modifica della modalità operativa.
2. Se il bit di ritentività IOM (A50012) è stato impostato su ON e lo stato dello
stesso bit è protetto nella configurazione del PLC, lo stato dei flag di
completamento e i valori attuali del temporizzatore vengono mantenuti
anche quando l'alimentazione è interrotta.
3. Quando TIM/TIMX(550) viene eseguita, il valore attuale (PV) è impostato
in base al valore impostato (SV).
Quando TIM/TIMX(550) si trova in una sezione del programma compresa tra
IL(002) e ILC(003) e tale sezione è interbloccata, il valore attuale (PV) viene
ripristinato in base al valore impostato (SV) e il flag di completamento passa a
OFF.
Quando un temporizzatore in funzione per TIM/TIMX(550) è stato creato con
un numero di temporizzatore compreso tra 0000 e 2047 e si trova in una
sezione di programma saltata (JMP(004), CJMP(510), CJPN(511),
JME(005)), il valore attuale (PV) del temporizzatore continua a funzionare
(vedere nota). L’istruzione saltata TIM/TIMX(550) non viene eseguita, ma il
valore attuale (PV) è aggiornato a ogni ciclo al termine dell’esecuzione di tutti
i task.
Nota Nelle CPU CS1D il valore attuale (PV) non viene in questo caso aggiornato.
238
Istruzioni di temporizzatore e contatore Capitolo 3-6
Ingresso di reset
Esempio Nell’esempio che segue, quando lo stato di CIO 000000 dell’ingresso del
temporizzatore passa da OFF a ON, il valore attuale (PV) del temporizzatore
comincia a diminuire partendo dal valore impostato (SV). Quando il valore
attuale (PV) raggiunge 0000, il flag di completamento T0000 del
temporizzatore viene impostato su ON.
Quando CIO 000000 passa a OFF, il valore attuale (PV) del temporizzatore è
ripristinato in base al valore impostato (SV) e il flag di completamento viene
impostato su OFF.
239
Istruzioni di temporizzatore e contatore Capitolo 3-6
Ingresso del
temporizzatore
CIO 000000
PV del
temporizzatore
T0000
Flag
di completamento
del temporizzatore
T0000
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TIMH(015)/
TIMHX(551)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
Operandi N: numero del temporizzatore
Il numero del temporizzatore deve essere compreso tra 0000 e 4095
(decimale).
S: valore impostato
In modalità BCD il valore impostato deve essere compreso tra #0000 e 9999.
240
Istruzioni di temporizzatore e contatore Capitolo 3-6
Caratteristiche operando
Area N S
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A000 ad A959
Area del Da 0000 a 4095 Da T0000 a T4095
temporizzatore (decimale)
Area del contatore --- Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @D00000 a @D32767
in binario @ Da E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- BCD:
Da #0000 a 9999 (BCD)
Impossibile utilizzare “&”
Binario:
da &0 a &65535 (decimale)
da #0000 a #FFFF (esadecimale)
Registri dati --- Da DR0 a DR15
Registri indice --- ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Ingresso del
temporizzatore
PV del SV
temporizzatore
Flag di
completamento
241
Istruzioni di temporizzatore e contatore Capitolo 3-6
Ingresso del
temporizzatore
PV del SV
temporizzatore
Flag di
completamento
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se N è indirizzato indirettamente tramite un registro
indice; l’indirizzo nel registro indice, tuttavia, non
corrisponde all’indirizzo PV di un temporizzatore.
ON se in modalità BCD e se S non contiene dati BCD.
OFF in tutti gli altri casi.
Flag di = OFF o non modificato (vedere nota)
uguaglianza
Flag negativo N OFF o non modificato (vedere nota)
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1/H, CJ1/H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
Avvertenze I numeri di temporizzatore vengono condivisi dalle istruzioni TIM, TIMX(550),
TIMH(015), TIMHX(551), TMHH(540), TMHHX(552), TTIM(087),
TTIMX(555), TIMW(813), TIMWX(816), TMHW(815) e TMHWX(817). Se due
temporizzatori condividono lo stesso numero di temporizzatore, ma non sono
utilizzati contemporaneamente, viene generato un errore di duplicazione
durante il controllo del programma; il funzionamento dei temporizzatori sarà
comunque regolare. I temporizzatori che condividono lo stesso numero di
temporizzatore non funzionano in modo corretto se vengono utilizzati contem-
poraneamente.
I temporizzatori creati con numeri di temporizzatore compresi tra 2048 e 4095
non funzionano in modo regolare quando il tempo di ciclo della CPU supera
80 ms. In tal caso è opportuno utilizzare numeri di temporizzatore compresi
tra 0000 e 2047.
I temporizzatori per TIMH(015)/TIMHX(551) creati con numeri di
temporizzatore compresi tra 0000 e 0255 vengono aggiornati ogni 10 ms.
Utilizzare tali numeri quando il programma utente fa riferimento al valore
attuale (PV).
Anche quando il temporizzatore è in stato di attesa, il valore attuale dei
temporizzatori programmati con numeri di temporizzatore da 0000 a 2047
viene aggiornato. Quando il temporizzatore è in stato di attesa, il valore
attuale dei temporizzatori programmati con numeri di temporizzatore da 2048
a 4095 viene mantenuto.
Il funzionamento dei flag = ed N dipende dal modello della CPU. Per ulteriori
informazioni, fare riferimento a Flag poco sopra.
All’esecuzione dell’istruzione vengono aggiornati i flag di completamento per i
temporizzatori per TIMH(015)/TIMHX(551), a differenza di quanto avviene per
i PLC CVM1 e della serie CV.
I temporizzatori vengono reimpostati o messi in pausa nei casi indicati nella
tabella qui di seguito. Quando un temporizzatore è reimpostato il valore
attuale corrispondente viene a sua volta ripristinato in base al valore
impostato e il flag di completamento passa a OFF.
Condizione PV Flag di completamento
Modifica della modalità operativa da RUN 0000 OFF
o MONITOR a PROGRAM o viceversa.1
Interruzione e reset dell’alimentazione2 0000 OFF
Esecuzione di CNR(545)/CNRX(547), le BCD: 9999 OFF
istruzioni di reimpostazione RESET Binario: FFFF
TIMER/COUNTER3
242
Istruzioni di temporizzatore e contatore Capitolo 3-6
Nota 1. Se il bit di ritentività IOM (A50012) è stato impostato su ON, lo stato dei
flag di completamento e i valori attuali del temporizzatore vengono
mantenuti alla modifica della modalità operativa.
2. Se il bit di ritentività IOM (A50012) è stato impostato su ON e lo stato dello
stesso bit è protetto nella configurazione del PLC, lo stato dei flag di
completamento e i valori attuali del temporizzatore vengono mantenuti
anche quando l'alimentazione è interrotta.
3. Quando TIMH(015)/TIMHX(551) viene eseguita, il valore attuale (PV) è
impostato in base al valore impostato (SV).
Quando un temporizzatore in funzione per TIMH(015)/TIMHX(551) è stato
creato con un numero di temporizzatore compreso tra 0000 e 2047 e si trova
in una sezione di programma saltata (JMP(004), CJMP(510), CJPN(511),
JME(005)), il valore attuale (PV) del temporizzatore continua a funzionare
(vedere nota). L’istruzione saltata TIMH(015)/TIMHX(551) non viene eseguita,
ma il valore attuale (PV) è aggiornato ogni 10 ms a ciascun ciclo al termine
dell’esecuzione di tutti i task.
Nota Nelle CPU CS1D il valore attuale (PV) non viene in questo caso aggiornato.
Quando TIMH(015)/TIMHX(551) si trova in una sezione del programma
compresa tra IL(002) e ILC(003) e tale sezione è interbloccata, il valore
attuale (PV) viene reimpostato in base al valore impostato (SV) e il flag di
completamento passa a OFF.
Quando un temporizzatore per TIMH(015)/TIMHX(551) è caratterizzato da
impostazione forzata, il flag di completamento corrispondente viene
impostato su ON e il valore attuale (PV) su 0000. Quando tale temporizzatore
è caratterizzato da ripristino forzato, il flag di completamento corrispondente
viene impostato su OFF e il valore attuale (PV) viene reimpostato in base al
valore impostato (SV).
Il funzionamento dei flag = ed N dipende dal modello di CPU. Per ulteriori
informazioni, fare riferimento a Flag.
Il flag di completamento del temporizzatore viene aggiornato soltanto
all’esecuzione di TIMH(015)/TIMHX(551); allo scadere del temporizzatore,
quindi, può rendersi necessario un ritardo di un intero ciclo per consentire
l’attivazione del flag di completamento.
Se si utilizza la modifica in linea per convertire un temporizzatore in un altro
tipo di temporizzatore dotato dello stesso numero di temporizzatore (ad
esempio TIMH(015)/TIMHX(551) ↔ TIM/TIMX(550) oppure TIMH(015)/
TIMHX(551) ↔ TMHH(540)/TMHHX(552)), assicurarsi di reimpostare il flag di
completamento. Se tale reset non viene eseguito, il temporizzatore non
funzionerà in modo corretto.
In base al numero di temporizzatore utilizzato, è possibile aggiornare il valore
attuale (PV) e il flag di completamento di un’istruzione TIMH(015)/
TIMHX(551) come indicato nelle tabelle seguenti.
Temporizzatori creati con numero di temporizzatore compreso tra 0000 e
0255
Esecuzione di Se il PV è 0000, il flag di completamento viene impostato su ON.
TIMH(015)/ Se il PV non è 0000, il flag di completamento viene impostato su
TIMHX(551) OFF.
Aggiornamento Il PV del temporizzatore viene aggiornato ogni 10 ms.
ogni 10 ms
243
Istruzioni di temporizzatore e contatore Capitolo 3-6
Binario N: da 00000 a 15
TMHHX(552) (decimale)
N: numero di S: da &0 a &65535
N temporizzatore (decimale)
S: valore da #0000 a #FFFF
S impostato (esadecimale)
244
Istruzioni di temporizzatore e contatore Capitolo 3-6
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TMHH(540)/
TMHHX(552)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
245
Istruzioni di temporizzatore e contatore Capitolo 3-6
247
Istruzioni di temporizzatore e contatore Capitolo 3-6
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TTIM(087)/
TTIMX(555)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
Operandi N: numero del temporizzatore
Il numero del temporizzatore deve essere compreso tra 0000 e 4095 (decimale).
S: valore impostato
Il valore impostato deve essere compreso tra #0000 e 9999 (BCD).
Caratteristiche operando
Area N S
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A000 ad A959
Area del Da 0000 a 4095 Da T0000 a T4095
temporizzatore (decimale)
Area del contatore --- Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- BCD:
Da #0000 a 9999 (BCD)
Impossibile utilizzare “&”
Binario:
da &0 a &65535 (decimale)
da #0000 a #FFFF (esadecimale)
Registri dati --- Da DR0 a DR15
Registri indice --- ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
248
Istruzioni di temporizzatore e contatore Capitolo 3-6
Flag di
completa-
mento
Ingresso
di reset
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se N è indirizzato indirettamente tramite un registro
indice; l’indirizzo nel registro indice, tuttavia, non
corrisponde all’indirizzo PV di un temporizzatore.
ON se in modalità BCD e se S non contiene dati BCD.
OFF in tutti gli altri casi.
Avvertenze I numeri di temporizzatore vengono condivisi dalle istruzioni TIM, TIMX(550),
TIMH(015), TIMHX(551), TMHH(540), TMHHX(552), TTIM(087),
TTIMX(555), TIMW(813), TIMWX(816), TMHW(815) e TMHWX(817). Se due
temporizzatori condividono lo stesso numero di temporizzatore, ma non sono
utilizzati contemporaneamente, viene generato un errore di duplicazione
durante il controllo del programma; il funzionamento dei temporizzatori sarà
comunque regolare. I temporizzatori che condividono lo stesso numero di
temporizzatore non funzionano in modo corretto se vengono utilizzati
contemporaneamente.
I temporizzatori vengono reimpostati o messi in pausa nei casi indicati nella
tabella qui di seguito. Quando si reimposta un temporizzatore per TTIM(087)/
TTIMX(555), il valore attuale corrispondente viene a sua volta reimpostato su
0000 e il flag di completamento passa a OFF.
Condizione PV Flag di completamento
Modifica della modalità operativa da RUN 0000 OFF
o MONITOR a PROGRAM o viceversa.1
Interruzione e reset dell’alimentazione2 0000 OFF
Esecuzione di CNR(545)/CNRX(547), BCD: 9999 OFF
le istruzioni di reimpostazione RESET Binario: FFFF
TIMER/COUNTER3
Funzionamento in una sezione del Mantiene lo Mantiene lo stato
programma interbloccata stato precedente
(IL(002)-ILC(003)) precedente
Funzionamento in una sezione del Mantiene lo Mantiene lo stato
programma saltata stato precedente
(JMP(004)-JME(005)) precedente
Nota 1. Se il bit di ritentività IOM (A50012) è stato impostato su ON, lo stato dei
flag di completamento e i valori attuali del temporizzatore vengono
mantenuti alla modifica della modalità operativa.
2. Se il bit di ritentività IOM (A50012) è stato impostato su ON e lo stato dello
stesso bit è protetto nella configurazione del PLC, lo stato dei flag di
completamento e i valori attuali del temporizzatore vengono mantenuti
anche quando l'alimentazione è interrotta.
3. Quando TTIM(087)/TTIMX(555) viene eseguita, il valore attuale (PV) è
impostato in base al valore impostato (SV).
Quando TTIM(087)/TTIMX(555) si trova in una sezione del programma
compresa tra IL(002) e ILC(003) e tale sezione è interbloccata, il valore
249
Istruzioni di temporizzatore e contatore Capitolo 3-6
Ingresso del
temporizzatore
CIO 000000
PV del temporizzatore
T0001 # #
Ripresa temporizzazione
.
PV mantenuto
Flag di completamento
del temporizzatore
T0001
Ingresso di reset
CIO 000001
250
Istruzioni di temporizzatore e contatore Capitolo 3-6
D2 D2: canale PV
S S: canale SV
Binario
TIMLX(543)
D2 D2: canale PV
S S: canale SV
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TIML(542)/
TIMLX(553)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
Operandi D1: Flag di completamento
Il bit 0 di D1 funge da flag di completamento per TIML(542)/TIMLX(553).
15 0
D1
S: canale SV
S+1 e S contengono il valore impostato SV binario a 8 cifre o BCD. S e S+1
devono trovarsi nella stessa area dati. Il valore impostato (SV) deve essere
compreso tra #00000000 e #99999999 per TIML(542) e tra &00000000 e
&4294967294 (decimale) oppure tra #00000000 e #FFFFFFFF (esadecimale)
per TIMLX(553).
251
Istruzioni di temporizzatore e contatore Capitolo 3-6
S S+1 S
Caratteristiche operando
Area D1 D2 S
Area CIO Da CIO 0000 a Da CIO 0000 a CIO 6142
CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A448 ad A959 Da A448 ad A958 Da A000 ad A958
Area del temporizzatore --- --- Da T0000 a
T4094
Area del contatore --- --- Da C0000 a
C4094
Area DM Da D00000 a Da D00000 a D32766
D32767
Area EM senza banco Da E00000 a Da E00000 a E32766
E32767
Area EM con banco Da En_00000 a En_00000 ... En_32766
En_32767 (n = da 0 a C)
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- BCD:
Da #00000000 a
99999999 (BCD)
Impossibile
utilizzare “&”.
Binario:
Da &00000000 a
&4294967294
(decimale) o da
#00000000 a
#FFFFFFFF
(esadecimale)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
252
Istruzioni di temporizzatore e contatore Capitolo 3-6
Ingresso del
temporizzatore
SV
PV del temporizzatore
Flag di completamento
(bit 00 di D1)
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se il PV contenuto in D2+1 e D2 non è BCD.
ON se l’SV contenuto in S+1 ed S non è BCD.
OFF in tutti gli altri casi.
253
Istruzioni di temporizzatore e contatore Capitolo 3-6
Ingresso del
temporizzatore
CIO 000000
PV del temporizzatore
(D00101 e D00100)
SV del temporizzatore:
(D00201 e D00200)
Flag di
completamento
(CIO 020000)
D1: 00200
Flag di
completamento del
(CIO 020000)
D2 D2: canale PV
S S: primo canale SV
Binario
MTIMX(554)
D2 D2: canale PV
S S: primo canale SV
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MTIM(543)/
MTIMX(554)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
254
Istruzioni di temporizzatore e contatore Capitolo 3-6
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
Operandi D1: Flag di completamento
D1 contiene gli otto flag di completamento nonché i bit di pausa e di reset.
15 9 87 65 4 3 2 1 0
D1
Non
utilizzare Flag di completamento
Bit di reset
Bit di pausa
D2: canale PV
D2 contiene il valore attuale PV binario a 4 cifre o BCD.
Dati Intervallo
BCD Da #0000 a #9999
Binario Da &0 a &65535 (decimale)
da #0000 a #FFFF (esadecimale)
S: primo canale SV
Otto SV indipendenti da S a S+7.
Ogni SV deve presentarsi nel modo seguente:
Dati Intervallo
BCD Da #0000 a #9999
Binario Da &0 a &65535 (decimale)
da #0000 a #FFFF (esadecimale)
Dati Intervallo
BCD Un canale per ciascuno degli otto SV del temporizzatore:
Da #0000 a #9999
Binario Un canale per ciascuno degli otto SV del temporizzatore:
Da &0 a &65535 (decimale)
da #0000 a #FFFF (esadecimale)
Nota I canali compresi tra S ed S+7 devono trovarsi nella stessa area dati.
Caratteristiche operando
Area D1 D2 S
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6136
Area di lavoro Da W000 a W511 Da W000 a W504
Area bit di ritentività Da H000 a H511 Da H000 a H504
Area bit ausiliaria Da A448 ad A959 Da A000 ad A952
Area del Da T0000 a T4095 Da T0000 a T4088
temporizzatore
Area del contatore Da C0000 a C4095 Da C0000 a C4088
Area DM Da D00000 a D32767 Da D00000 a D32760
255
Istruzioni di temporizzatore e contatore Capitolo 3-6
Area D1 D2 S
Area EM senza banco Da E00000 a E32767 Da E00000 a E32760
Area EM con banco Da En_00000 a En_32767 En_00000 ... En_32760
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM Da @D00000 a @D32767
indiretti in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM Da *D00000 a *D32767
indiretti in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati --- Da DR0 a DR15 ---
Registri indice ---
Indirizzamento Da ,IR0 a ,IR15
indiretto con i registri Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
indice
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione Quando la condizione di esecuzione per MTIM(543)/MTIMX(554) è impostata
su ON e i bit di reset e di temporizzazione sono entrambi disattivati,
MTIM(543)/MTIMX(554) incrementa il valore attuale (PV) in D2. Se il bit di
pausa è impostato su ON, il temporizzatore interrompe l’incremento del
valore attuale (PV), che comunque mantiene il proprio valore. Quando il bit di
pausa passa nuovamente a OFF, MTIM(543)/MTIMX(554) riprende la
temporizzazione.
A ogni esecuzione di MTIM(543)/MTIMX(554) il valore attuale (contenuto in
D2) viene messo a confronto con gli otto valori di SV tra S e S+7; se un SV
qualsiasi è inferiore o uguale al valore attuale (PV), il flag di completamento
corrispondente (bit di D1 tra 00 e 07) viene impostato su ON.
Quando raggiunge 9999, il valore attuale (PV) viene reimpostato su 0000 e
tutti i flag di completamento saranno disattivati. Se il bit di reset passa a ON
mentre il temporizzatore è in funzione o in pausa, il valore attuale (PV) viene
reimpostato su 0000 e tutti i flag di completamento saranno disattivati.
256
Istruzioni di temporizzatore e contatore Capitolo 3-6
PV del temporizzatore
SV del temporizzatore
0
a a
Ingresso del
temporizzatore
SV 7
SV 2
PV del SV 1
temporizzatore SV 0
(D2) 0
Bit 7
Flag di Bit 2
completamento
(D1)
Bit 1
Bit 0
257
Istruzioni di temporizzatore e contatore Capitolo 3-6
Quando non sono richiesti più di otto valori impostati (SV), è opportuno che il
canale successivo all’ultimo SV sia impostato su 0000. MTIM(543)/
MTIMX(554) ignora l’SV impostato su 0000 nonché tutti i restanti SV.
a a
Questi SV
vengono
ignorati
258
Istruzioni di temporizzatore e contatore Capitolo 3-6
D1: 0100CH
Flag di completamento
Bit di reset
Bit di pausa
Ingresso del
temporizzatore
CIO 000000 Quando il temporizzatore è
in funzione, l'ingresso deve
restare impostato su ON.
Bit di reset
CIO 010008
Bit di pausa
CIO 010009
SV del temporizzatore
SV 7
SV 1
PV mantenuto
SV 0
Flag di
completamento
259
Istruzioni di temporizzatore e contatore Capitolo 3-6
N N: numero di contatore
S S: valore impostato
Ingresso
di reset
Binario
Ingresso
conteggio CNTX(546)
N N: numero di contatore
S S: valore impostato
Ingresso
di reset
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CNT/
CNTX(546)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK OK
Caratteristiche operando
Area N S
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A000 ad A959
Area del --- Da T0000 a T4095
temporizzatore
Area del contatore Da 0000 a 4095 (decimale) Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza --- Da E00000 a E32767
banco
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
260
Istruzioni di temporizzatore e contatore Capitolo 3-6
Area N S
Indirizzi DM/EM --- Da @D00000 a @D32767
indiretti in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM --- Da *D00000 a *D32767
indiretti in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- BCD:
Da #0000 a 9999 (BCD)
Impossibile utilizzare “&”
Binario:
da &0 a &65535 (decimale)
da #0000 a #FFFF
(esadecimale)
Registri dati --- Da DR0 a DR15
Registri indice --- ---
Indirizzamento Da ,IR0 a ,IR15
indiretto con i Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
registri indice
Da DR0 a DR15, da IR0 a IR15
Descrizione Il valore attuale (PV) del contatore viene decrementato di 1 ogni volta che
l’ingresso conteggio passa da OFF a ON. Quando il valore attuale PV
raggiunge 0, il flag di completamento viene impostato su ON.
Una volta attivato il flag di completamento, reimpostare il contatore attivando
l’ingresso di reset o utilizzando l’istruzione CNR(545)/CNRX(547). Altrimenti
non è possibile riavviare il contatore.
Quando l’ingresso di reset è ON, il contatore è reimpostato e l’ingresso
conteggio viene ignorato Quando un contatore è reimpostato, il valore attuale
corrispondente viene a sua volta reimpostato in base al valore impostato e il
flag di completamento passa a OFF.
Ingresso
conteggio
Ingresso
di reset
PV del
SV
contatore
Flag di
completa-
mento
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se N è indirizzato indirettamente tramite un registro
indice; l’indirizzo nel registro indice, tuttavia, non
corrisponde all’indirizzo PV di un contatore.
ON se in modalità BCD e se S non contiene dati BCD.
OFF in tutti gli altri casi.
Flag di = OFF o non modificato (vedere nota)
uguaglianza
Flag negativo N OFF o non modificato (vedere nota)
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1/H, CJ1/H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
261
Istruzioni di temporizzatore e contatore Capitolo 3-6
Ingresso
conteggio
SV
PV del contatore
Flag di
completa-
mento
Pronto per iniziare il conteggio
Ingresso
di reset
Ingresso
conteggio
SV
PV del contatore
Flag di
completa-
mento
Possibile ricevere Possibile riceve
l'ingresso conteggio Precedenza per l'ingresso conte
l'ingresso di
reset
Il funzionamento dei flag = ed N dipende dal modello della CPU. Per ulteriori
informazioni, fare riferimento a Flag poco sopra.
Nota Se si utilizza la modifica in linea per aggiungere un contatore, è necessario
procedere innanzitutto alla reimpostazione del contatore stesso per
assicurare un regolare funzionamento. Se il contatore non è reimpostato,
come valore attuale (PV) del contatore viene utilizzato il valore precedente e il
contatore potrebbe non funzionare una volta scritto.
262
Istruzioni di temporizzatore e contatore Capitolo 3-6
I valori attuali (PV) del contatore vengono mantenuti anche in seguito a una
caduta di tensione. Se si desidera riavviare il conteggio dal valore impostato
(SV) invece di riprenderlo dal valore attuale (PV) mantenuto, aggiungere il
flag di primo ciclo (A20011) come ingresso di reset al contatore.
N N: numero di contatore
S S: valore impostato
Ingresso di
decremento
Ingresso di reset
Binario
Ingresso di
incremento CNTRX(548)
N N: numero di contatore
S S: valore impostato
Ingresso di
decremento
Ingresso di reset
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CNTR(012)/
CNTRX(548)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK OK
263
Istruzioni di temporizzatore e contatore Capitolo 3-6
Caratteristiche operando
Area N S
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di --- Da H000 a H511
ritentività
Area bit --- Da A000 ad A959
ausiliaria
Area del --- Da T0000 a T4095
temporizzatore
Area del Da 0000 a 4095 Da C0000 a C4095
contatore (decimale)
Area DM --- Da D00000 a D32767
Area EM senza --- Da E00000 a E32767
banco
Area EM con --- Da En_00000 a En_32767
banco (n = da 0 a C)
Indirizzi DM/EM --- Da @D00000 a @D32767
indiretti in Da @ E00000 a @ E32767
binario
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM --- Da *D00000 a *D32767
indiretti in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- BCD:
Da #0000 a 9999 (BCD)
Impossibile utilizzare “&”
Binario:
da &0 a &65535 (decimale)
da #0000 a #FFFF (esadecimale)
Registri dati --- Da DR0 a DR15
Registri indice --- ---
Indirizzamento Da ,IR0 a ,IR15
indiretto con i Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
registri indice
Da DR0 a DR15, da IR0 a IR15
Descrizione Il valore attuale (PV) del contatore viene incrementato di 1 ogni volta che
l'ingresso di incremento passa da OFF a ON e decrementato di 1 ogni volta
che l'ingresso di decremento passa da OFF a ON. Il valore attuale può variare
tra 0 e il valore impostato.
Ingresso di
incremento
Ingresso di
decremento
PV del contatore
264
Istruzioni di temporizzatore e contatore Capitolo 3-6
SV
PV del contatore
+1
Flag di
completamento
Flag di
completamento
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se N è indirizzato indirettamente tramite un registro
indice; l’indirizzo nel registro indice, tuttavia, non
corrisponde all’indirizzo PV di un contatore.
ON se in modalità BCD e se S non contiene dati BCD.
OFF in tutti gli altri casi.
265
Istruzioni di temporizzatore e contatore Capitolo 3-6
Ingresso di
incremento
Ingresso di
decremento
Ingresso di decremento
CIO 000001
Ingresso di reset
CIO 000002
SV
PV del contatore
C0001
Flag di completamento
C0001
SV fisso:
5000
SV:
CIO 0001
Ingresso di
incremento
Ingresso di decremento
Flag di completamento
Roll-over Roll-over
266
Istruzioni di temporizzatore e contatore Capitolo 3-6
Binario
CNRX(547)
267
Istruzioni di temporizzatore e contatore Capitolo 3-6
Area N1 N2
Costanti --- ---
Registri dati --- ---
Registri indice --- ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Etichetta Funzionamento
Flag di ER ON se N1 è indirizzato indirettamente tramite un registro
errore indice; l’indirizzo nel registro indice, tuttavia, non corrisponde
all’indirizzo PV di un temporizzatore o di un contatore.
ON se N2 è indirizzato indirettamente tramite un registro
indice; l’indirizzo nel registro indice, tuttavia, non corrisponde
all’indirizzo PV di un temporizzatore o di un contatore.
ON se N1 ed N2 non si trovano nella stessa area dati.
OFF in tutti gli altri casi.
268
Istruzioni di temporizzatore e contatore Capitolo 3-6
Esempio 1: Gli esempi di programmi seguenti descrivono tre procedure per creare
Temporizzatori a lungo temporizzatori a lungo termine con istruzioni standard TIM e CNT.
termine
Due istruzioni TIM
In questo esempio due istruzioni TIM vengono combinate per costituire un
temporizzatore di 30 minuti.
000000
Indirizzo Istruzione Operandi
000000 LD 000000
000001 TIM 0001
T0001
#9000
000002 LD T0001
000003 TIM 0002
#9000
T0002 000004 LD T0002
000005 OUT 000200
269
Istruzioni di temporizzatore e contatore Capitolo 3-6
270
Istruzioni di temporizzatore e contatore Capitolo 3-6
Esempio 3: In questo esempio due temporizzatori TIM vengono combinati con l’istruzione
Ritardo di attivazione/ KEEP(011) per costituire un ritardo di attivazione e un ritardo di
disattivazione disattivazione. CIO 000500 viene impostato su ON 5,0 secondi dopo
l’attivazione di CIO 000000 e passa a OFF 3,0 secondi dopo la disattivazione
di CIO 000000.
CIO 000000
CIO 000500
5,0 s 30,0 s
CIO 000000
CIO 000204
1,5 s 1,5 s
271
Istruzioni di temporizzatore e contatore Capitolo 3-6
Esempio 4: Negli esempi di programmi seguenti vengono descritte due procedure per la
Bit di lampeggiamento creazione di bit di lampeggiamento. Nel secondo esempio viene solamente
simulato un impulso di clock.
Due istruzioni TIM
Quando la condizione di esecuzione è impostata su ON è possibile
combinare due temporizzatori per fare in modo che un bit passi da ON a
OFF a intervalli regolari. In questo esempio, CIO 000205 viene disattivato per
1,0 secondi e quindi attivato per 1,5 secondi fino a quando CIO 000000 è
impostato su ON.
CIO 000000
CIO 000205
1,0 s 1,5 s 1,0 s 10,5 s
Impulso di clock
Per simulare l’impulso di clock (0,1 s, 0,2 s o 1,0 s) è possibile combinare la
condizione di esecuzione prescelta con un impulso di clock.
Impulso di clock a 1 s Indirizzo Istruzione Operandi
000000 LD 000000
000001 AND 1s
000002 OUT 000206
Impulso
di clock
a1s
272
Istruzioni di temporizzatore e contatore Capitolo 3-6
Esempio Nell'esempio seguente viene illustrata una sezione del programma che
utilizza l’indirizzamento indiretto per definire e avviare 100 temporizzatori con
i valori impostati (SV) compresi tra D00100 e D00109. IR0 contiene l'indirizzo
di memoria del PLC del valore attuale (PV) del temporizzatore; IR1 contiene
l'indirizzo di memoria del PLC del flag di completamento del temporizzatore.
Indirizzo DM Contenuto Funzione
D00100 0010 SV per T0000
D00101 0100 SV per T0001
D00102 0050 SV per T0002
. . .
. . .
. . .
D00199 0999 SV per T0099
P ON
1
(Flag di
sempre ON)
4
&100
FOR
&100
5
@D00000
P ON
++
(Flag di
sempre ON)
NEXT
1,2,3... 1. L'istruzione MOVRW(561) sposta a IR0 l'indirizzo di memoria del PLC del
valore attuale (PV) per il temporizzatore T0000. In seguito IR0 può essere
utilizzato al posto del numero di temporizzatore.
273
Istruzioni di temporizzatore e contatore Capitolo 3-6
2. L'istruzione MOVR (560) sposta a IR1 l'indirizzo di memoria del PLC del
flag di completamento per il temporizzatore T0000.
3. L'istruzione MOVR (560) sposta l'indirizzo di memoria del PLC di
CIO 200000 in IR2.
4. MOV(021) sposta &100 in D00000 per l’indirizzamento indiretto dei valori
impostati (SV) del temporizzatore.
5. Il contenuto di IR0, IR1, IR2 e D00000 viene incrementato di 1 ogni volta:
questo ciclo, infatti, viene eseguito 100 volte avviando i temporizzatori
compresi tra T0000 e T0099.
Il ciclo del programma appena osservato è provvisto di quattro parametri di
ingresso utilizzati per avviare tutti i 100 temporizzatori con questa normale
subroutine.
IR0 L’ indirizzo di memoria del PLC del valore attuale (PV) del
temporizzatore
IR1 L’ indirizzo di memoria del PLC del flag di completamento del
temporizzatore
IR2 L’ indirizzo di memoria del PLC della condizione di esecuzione del
temporizzatore
D00000l’indirizzo DM del canale che contiene il valore impostato (SV) del
temporizzatore
Questa subroutine equivale alle 400 istruzioni indicate qui di seguito.
274
Istruzioni di confronto Capitolo 3-7
Simbolo programmazione
ladder Simbolo e opzioni
Variazioni
Variazioni Crea una condizione di esecuzione con stato Istruzione di
ON a ogni ciclo se il confronto risulta vero confronto di
ingresso
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Specifiche dell'operando
nelle istruzioni per dati a Area S1 S2
un canale Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
275
Istruzioni di confronto Capitolo 3-7
Area S1 S2
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959
Area del Da T0000 a T4095
temporizzatore
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_ 32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Specifiche dell'operando
nelle istruzioni per dati a Area S1 S2
doppia lunghezza Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958
Area del Da T0000 a T4094
temporizzatore
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF (binario)
Registri dati ---
276
Istruzioni di confronto Capitolo 3-7
Area S1 S2
Registri indice Da IR0 a IR15 (solo per dati senza segno)
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Condizione di esecuzione
Collegamento AND ON quando il risultato del
confronto è vero.
<
Collegamento OR
<
Condizione di esecuzione ON quando
il risultato del confronto è vero.
Opzioni
Le istruzioni di confronto di ingresso possono confrontare dati con segno o
senza segno e valori a un canale o doppi. Se non è stata specificata alcuna
277
Istruzioni di confronto Capitolo 3-7
278
Istruzioni di confronto Capitolo 3-7
279
Istruzioni di confronto Capitolo 3-7
Flag
Nome Etichetta Operazione
Flag di errore ER OFF o invariato (vedere nota).
Flag di > ON se S1 > S2 con dati a un canale.
maggiore
ON se S1+1, S1 > S2+1, S2 con dati a doppia lunghezza.
OFF in tutti gli altri casi.
Flag di >= ON se S1 ≥ S2 con dati a un canale.
maggiore o
ON se S1+1, S1 ≥ S2+1, S2 con dati a doppia lunghezza.
uguale
OFF in tutti gli altri casi.
Flag di = ON se S1 = S2 con dati a un canale.
uguaglianza
ON se S1+1, S1 = S2+1, S2 con dati a doppia lunghezza.
OFF in tutti gli altri casi.
Flag di non = ON se S1 ≠ S2 con dati a un canale.
uguaglianza
ON se S1+1, S1 ≠ S2+1, S2 con dati a doppia lunghezza.
OFF in tutti gli altri casi.
Flag di minore < ON se S1 < S2 con dati a un canale.
ON se S1+1, S1 < S2+1, S2 con dati a doppia lunghezza.
OFF in tutti gli altri casi.
Flag di minore < = ON se S1 ≤ S2 con dati a un canale.
o uguale
ON se S1+1, S1 ≤ S2+1, S2 con dati a doppia lunghezza.
OFF in tutti gli altri casi.
Flag negativo N OFF o invariato (vedere nota).
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1/H, CJ1/H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
000000 005000
<
Confronto S1: D00100 S2: D00200
LESS THAN 8714 3A1C
senza segno
000001 005001 Decimale: 34.580 Decimale: 14.876
<S 34.580 > 14.876
(Non procede alla riga successiva)
280
Istruzioni di confronto Capitolo 3-7
Simbolo programmazione
ladder LD
Simbolo
C C: canale di controllo
S1 S1: primo canale del tempo attuale
S2 S2: primo canale del tempo di confronto
AND
Simbolo
C C: canale di controllo
S1 S1: primo canale del tempo attuale
S2 S2: primo canale del tempo di confronto
OR
Simbolo
C C: canale di controllo
S1 S1: primo canale del tempo attuale
S2 S2: primo canale del tempo di confronto
Variazioni
Variazioni Crea una condizione di esecuzione con stato Istruzioni di
ON a ogni ciclo se il confronto risulta vero confronto di
date e ore
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
281
Istruzioni di confronto Capitolo 3-7
Secondi: da 00 a 59 (BCD)
Minuti: da 00 a 59 (BCD)
15 8 7 0
S1+1
Ora: da 00 a 23 (BCD)
Giorno: da 01 a 31 (BCD)
15 8 7 0
S1+2
Mese: da 01 a 12 (BCD)
Anno: da 00 a 99 (BCD)
Nota Quando per il confronto si utilizzano i dati dell'orologio interno della CPU,
impostare S1 su A351 per specificare i dati dell'orologio interno della CPU
(A351 - A353).
282
Istruzioni di confronto Capitolo 3-7
Secondi: da 00 a 59 (BCD)
Minuti: da 00 a 59 (BCD)
15 8 7 0
S2+1
Ora: da 00 a 23 (BCD)
Giorno: da 01 a 31 (BCD)
15 8 7 0
S2+2
Mese: da 01 a 12 (BCD)
Anno: da 00 a 99 (BCD)
Caratteristiche operando
Area C S1 S2
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6141 CIO 6142
Area di lavoro Da W000 a W511 Da W000 a W509 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H509 Da H000 a H510
Area bit ausiliaria Da A448 a A959 Da A000 ad A957 Da A000 ad A958
Area del Da T0000 a T4095 Da T0000 a T4093 Da T0000 a T4094
temporizzatore
Area del contatore Da C0000 a C4095 Da C0000 a C4093 Da C0000 a C4094
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32765 D32766
Area EM senza Da E00000 a Da E00000 a Da E00000 a
banco E32767 E32765 E32766
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32765 En_32766
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM --- Da @D00000 a @D32767
indiretti in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM --- Da *D00000 a *D32767
indiretti in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
283
Istruzioni di confronto Capitolo 3-7
Area C S1 S2
Costanti Vedere la pagina Vedere la pagina ---
precedente. precedente.
Descrizione L'istruzione di confronto di date e ore confronta valori non mascherati (bit
corrispondente di C impostato su 0) dei dati del tempo attuale in S1 - S1+2
con i dati temporali di confronto in S2 - S2+2 e crea una condizione di
esecuzione ON quando la condizione di confronto risulta vera.
Contemporaneamente, il risultato di un'istruzione di confronto di date e ore si
riflette nei flag aritmetici (=, <>, <, <=, >, >=).
Esistono 18 combinazioni possibili di istruzioni di confronto di date e ore.
I valori temporali mascherati nel canale di controllo (C) non vengono inclusi
nel confronto.
Nella tabella seguente viene riportato lo stato ON/OFF di ciascun flag per
ogni risultato di confronto.
Risultato Stato del flag
= <> < <= > >=
S1 = S2 ON OFF OFF ON OFF ON
S1 > S2 OFF ON OFF OFF ON ON
S1 < S2 OFF ON ON ON OFF OFF
Confronto
S1 S2
Flag di condizione
Risultato (=, <>, <, <=, >, >=)
284
Istruzioni di confronto Capitolo 3-7
S1+1 Giorno del mese Ora (da 00 a S2+1 Giorno del mese Ora (da 00 a
(da 01 a 31, BCD) 23, BCD) (da 01 a 31, BCD) 23, BCD)
Anno (da 00 Mese (da 01 Anno (da 00 Mese (da 01
S1+2 a 99, BCD) a 12, BCD) S2+2 a 99, BCD) a 12, BCD)
285
Istruzioni di confronto Capitolo 3-7
Flag
Nome Etichetta Operazione
Flag di errore ER ON se tutti i 6 bit di mascheramento (bit di C da 00 a
05) sono ON.
OFF in tutti gli altri casi.
Flag di > ON se S1 > S2.
maggiore
OFF in tutti gli altri casi.
Flag di >= ON se S1 ≥ S2.
maggiore o
OFF in tutti gli altri casi.
uguale
Flag di = ON se S1 = S2.
uguaglianza
OFF in tutti gli altri casi.
Flag di non = ON se S1 ≠ S2.
uguaglianza
OFF in tutti gli altri casi.
Flag di minore < ON se S1 < S2.
OFF in tutti gli altri casi.
Flag di minore o < = ON se S1 ≤ S2.
uguale
OFF in tutti gli altri casi.
Flag negativo N OFF o invariato (vedere nota).
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1/H, CJ1/H, CJ1M e CS1D questi flag vengono lasciati inalterati.
Esempio Quando CIO 000000 è ON e l'ora è 13:00:00, CIO 005000 viene attivato. I con-
tenuti di A351 - A353 (i dati dell'orologio calendario interni della CPU) vengono
utilizzati come dati del tempo attuale e i contenuti di D00100 - D00102 come dati
temporali di confronto. I valori di anno, mese e giorno sono mascherati, quindi
verranno confrontati soltanto i dati relativi a ora, minuti e secondi.
000000 005000
=DT
C D00000
S1 A352
S2 D00100
7 6 5 4 3 2 1 0
D00000 - - 1 1 1 0 0 0 D00000 impostato su 00
Secondi confrontati.
Minuti confrontati.
Ore confrontate
Giorno mascherato.
Mese mascherato.
Anno mascherato.
286
Istruzioni di confronto Capitolo 3-7
Simbolo programmazione
ladder CMP(020)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CMP(020)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato (vedere nota). !CMP(020)
Nota L'aggiornamento immediato non è supportato dalle CPU CS1D per sistemi a
due CPU.
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S1 S2
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF
(binario)
Registri dati Da DR0 a DR15
287
Istruzioni di confronto Capitolo 3-7
Area S1 S2
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag aritmetici
(>, >=, =, <=, <, <>)
288
Istruzioni di confronto Capitolo 3-7
Istruzione
B
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1/H, CJ1/H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
289
Istruzioni di confronto Capitolo 3-7
Simbolo programmazione
ladder CMPL(060)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CMPL(060)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S1 S2
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF
(binario)
Registri dati ---
Registri indice Da IR0 a IR15
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
290
Istruzioni di confronto Capitolo 3-7
Descrizione CMPL(060) confronta i dati binari senza segno in S1 +1, S1 e S2+1, S2 e invia
il risultato ai flag aritmetici (flag di maggiore, maggiore o uguale, uguale,
minore o uguale, minore e di non uguaglianza) nell'area ausiliaria.
Confronto binario
senza segno
S2+1
Flag aritmetici
(>, >=, =, <=, <, <>)
291
Istruzioni di confronto Capitolo 3-7
Istruzione B
Flag
Nome Etichetta Etichetta console Operazione
CX-Programmer di
programmazione
Flag di errore P_ER ER OFF o invariato (vedere nota).
Flag di maggiore P_GT > ON se S1 +1, S1 > S2+1, S2.
OFF in tutti gli altri casi.
Flag di maggiore o uguale P_GE >= ON se S1 +1, S1 ≥ S2+1, S2.
OFF in tutti gli altri casi.
Flag di uguaglianza P_EQ = ON se S1 +1, S1 = S2+1, S2.
OFF in tutti gli altri casi.
Flag di non uguaglianza P_NE <> ON se S1 +1, S1 ≠ S2+1, S2.
OFF in tutti gli altri casi.
Flag di minore P_LT < ON se S1 +1, S1 < S2+1, S2.
OFF in tutti gli altri casi.
Flag di minore o uguale P_LE <= ON se S1 +1, S1 ≤ S2+1, S2.
OFF in tutti gli altri casi.
Flag negativo P_N N OFF o invariato (vedere nota).
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1-H, CJ1-H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
Esempio Nell'esempio seguente, quando CIO 000000 è impostato su ON, i dati binari a
otto cifre senza segno in CIO 0011 e CIO 0010 vengono confrontati con i dati
binari a otto cifre senza segno in CIO 0009 e CIO 0008 e il risultato viene
inviato ai flag aritmetici. I risultati registrati nei flag Maggiore di, Uguale e
Minore di vengono salvati immediatamente in CIO 000200 (Maggiore di),
CIO 000201 (Uguale) e CIO 000202 (Minore di).
292
Istruzioni di confronto Capitolo 3-7
Simbolo programmazione
ladder CPS(114)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CPS(114)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato (vedere nota). !CPS(114)
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S1 S2
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
293
Istruzioni di confronto Capitolo 3-7
Area S1 S2
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione CPS(114) confronta i dati binari con segno in S1 e S2 e invia il risultato ai flag
aritmetici (flag di maggiore, maggiore o uguale, uguale, minore o uguale,
minore e di non uguaglianza) nell'area ausiliaria.
Confronto binario
con segno
Flag aritmetici
(>, >=, =, <=, <, <>)
Nota CPS(114) considera i dati in S1 e S2 come dati binari con segno compresi
nell'intervallo da 8000 a 7FFF (da –32.768 a 32.767 decimale).
Stato del flag aritmetico
Nella tabella seguente viene mostrato lo stato dei flag aritmetici dopo
l'esecuzione di CPS(114). Lo stato "---" indica che il flag può essere ON o OFF.
Risultato Stato del flag
di > >= = <= < <>
CPS(114)
S1 > S2 ON ON OFF OFF OFF ON
S1 = S2 OFF ON ON ON OFF OFF
S1 < S2 OFF OFF OFF ON ON ON
CPS
S1
S2
294
Istruzioni di confronto Capitolo 3-7
Istruzione
B
Flag
Nome Etichetta Operazione
Flag di errore ER OFF o invariato (vedere nota).
Flag di maggiore > ON se S1 > S2.
OFF in tutti gli altri casi.
Flag di maggiore o uguale >= ON se S1 ≥ S2.
OFF in tutti gli altri casi.
Flag di uguaglianza = ON se S1 = S2.
OFF in tutti gli altri casi.
Flag di non uguaglianza <> ON se S1 ≠ S2.
OFF in tutti gli altri casi.
Flag di minore < ON se S1 < S2.
OFF in tutti gli altri casi.
Flag di minore o uguale <= ON se S1 ≤ S2.
OFF in tutti gli altri casi.
Flag negativo N OFF o invariato (vedere nota).
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1-H, CJ1-H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
295
Istruzioni di confronto Capitolo 3-7
Simbolo programmazione
ladder CPSL(115)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CPSL(115)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S1 S2
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
296
Istruzioni di confronto Capitolo 3-7
Descrizione CPSL(115) confronta i dati binari doppi con segno in S1 +1, S1 e S2+1, S2 e
invia il risultato ai flag aritmetici (flag di maggiore, maggiore o uguale, uguale,
minore o uguale, minore e di non uguaglianza) nell'area ausiliaria.
Confronto binario
con segno
S2+1
Flag aritmetici
(>, >=, =, <=, <, <>)
Nota CPSL(115) considera i dati in S1 e S2 come dati binari con segno compresi
nell'intervallo da 8000 a 7FFF (da –2.147.483.648 a 2.147.483.647 decimale).
Stato del flag aritmetico
Nella tabella seguente viene mostrato lo stato dei flag aritmetici dopo
l'esecuzione di CPSL(115). Lo stato "---" indica che il flag può essere ON o
OFF.
Risultato di Stato del flag
CPSL(115) > >= = <= < <>
S1 +1, S1 > S2+1, S2 ON ON OFF OFF OFF ON
S1+1, S1 = S2+1, S2 OFF ON ON ON OFF OFF
S1+1, S1 < S2+1, S2 OFF OFF OFF ON ON ON
CPSL
S1
S2
297
Istruzioni di confronto Capitolo 3-7
Istruzione
B
Flag aritmetico
(Esempio: flag di uguaglianza)
A
Flag
Nome Etichetta Operazione
Flag di errore ER OFF o invariato (vedere nota).
Flag di maggiore > ON se S1 +1, S1 > S2+1, S2.
OFF in tutti gli altri casi.
Flag di maggiore o uguale >= ON se S1 +1, S1 ≥ S2+1, S2.
OFF in tutti gli altri casi.
Flag di uguaglianza = ON se S1 +1, S1 = S2+1, S2.
OFF in tutti gli altri casi.
Flag di non uguaglianza = ON se S1 +1, S1 ≠ S2+1, S2.
OFF in tutti gli altri casi.
Flag di minore < ON se S1 +1, S1 < S2+1, S2.
OFF in tutti gli altri casi.
Flag di minore o uguale <= ON se S1 +1, S1 ≤ S2+1, S2.
OFF in tutti gli altri casi.
Flag negativo N OFF o invariato (vedere nota).
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1-H, CJ1-H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
298
Istruzioni di confronto Capitolo 3-7
ABCD EF12
Simbolo programmazione
ladder MCMP(019)
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
299
Istruzioni di confronto Capitolo 3-7
Caratteristiche operando
Area S1 S2 R
Area CIO Da CIO 0000 a CIO 6128 Da CIO 0000 a
CIO 6143
Area di lavoro Da W000 a W496 Da W000 a W511
Area bit di ritentività Da H000 a H496 Da H000 a H511
Area bit ausiliaria Da A000 a A944 Da A448 a A959
Area del temporizzatore Da T0000 a T4080 Da T0000 a
T4095
Area del contatore Da C0000 a C4080 Da C0000 a
C4095
Area DM Da D00000 a D32752 Da D00000 a
D32767
Area EM senza banco Da E00000 a E32752 Da E00000 a
E32767
Area EM con banco Da En_00000 a 32752 Da En_00000 a
(n = da 0 a C) En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
300
Istruzioni di confronto Capitolo 3-7
Flag
Nome Etichetta Operazione
Flag di errore ER OFF
Flag di = ON se il canale del risultato è 0000.
uguaglianza (I due gruppi di 16 canali contengono gli stessi dati).
OFF in tutti gli altri casi.
R: D00300
S1: S2:
Simbolo programmazione
ladder TCMP(085)
S S: dati di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TCMP(085)
Eseguita una sola volta per differenziazione @TCMP(085)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
301
Istruzioni di confronto Capitolo 3-7
Dati di confronto 0
Dati di confronto 1
... ...
Dati di confronto 15
15 14 1 0
R
Risultato del confronto per S e T
Risultato del confronto per S e T+1
Risultato del confronto per S e T+14
Risultato del confronto per S e T+15
Caratteristiche operando
Area S T R
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6128 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W496 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H496 Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A000 a A944 Da A448 a A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4080 T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4080 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32752 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32752 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32752 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a ---
#FFFF
(binario)
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
302
Istruzioni di confronto Capitolo 3-7
Descrizione TCMP(085) confronta i dati di origine (S) con ciascuno dei 16 canali da T a
T+15 e attiva il bit corrispondente nel canale R quando i dati sono uguali. Il bit
n di R viene impostato su ON se il contenuto di T+n è uguale a S e viene
impostato su OFF se i contenuti non sono uguali.
S viene confrontato con il contenuto di T e il bit 00 di R viene impostato su ON
se i contenuti sono uguali o su OFF se non lo sono, S viene confrontato con il
contenuto di T+1 e il bit 01 di R viene impostato su ON se i contenuti sono
uguali o su OFF se non lo sono, ..., e S viene confrontato con il contenuto di
T+15 e il bit 15 di R viene impostato su ON se i contenuti sono uguali o su
OFF se non lo sono.
Confronto R
1: i dati sono uguali.
0: i dati non sono uguali.
Flag
Nome Etichetta Operazione
Flag di errore ER OFF
Flag di = ON se il canale del risultato è 0000.
uguaglianza (Nessuno dei 16 canali nella tabella è uguale a S.)
OFF in tutti gli altri casi.
S: D00100 T:
303
Istruzioni di confronto Capitolo 3-7
Simbolo programmazione
ladder BCMP(068)
S S: dati di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BCMP(068)
Eseguita una sola volta per differenziazione @BCMP(068)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di Subroutine Task ad
a blocchi programma step interrupt
OK OK OK OK
Caratteristiche operando
Area S B R
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6112 CIO 6143
Area di lavoro Da W000 a W511 Da W0000 a W480 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H480 Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A000 ad A928 Da A448 a A959
Area del temporizzatore Da T0000 a T4095 Da T0000 a T4064 Da T0000 a T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4064 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32736 D32767
304
Istruzioni di confronto Capitolo 3-7
Area S B R
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32736 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32736 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a ---
#FFFF
(binario)
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione BCMP(068) confronta i dati di origine (S) con i 16 intervalli definiti dalle coppie
di valori del limite inferiore e superiore in B - B+31. Il primo canale in ciascuna
coppia (B+2n) fornisce il limite inferiore e il secondo canale (B+2n+1) fornisce
il limite superiore dell'intervallo n (n = 0 - 15). Se S è incluso in uno di questi
intervalli, compresi i limiti superiore e inferiore, il bit corrispondente in R verrà
impostato su ON. I restanti bit in R verranno impostati su OFF.
B ≤S≤ B+1 Bit 00 di R
B+2 ≤S≤ B+3 Bit 01 di R
B+4 ≤S≤ B+5 Bit 02 di R
B+6 ≤S≤ B+7 Bit 03 di R
B+8 ≤S≤ B+9 Bit 04 di R
B+10 ≤S≤ B+11 Bit 05 di R
B+12 ≤S≤ B+13 Bit 06 di R
B+14 ≤S≤ B+15 Bit 07 di R
B+16 ≤S≤ B+17 Bit 08 di R
B+18 ≤S≤ B+19 Bit 09 di R
B+20 ≤S≤ B+21 Bit 10 di R
B+22 ≤S≤ B+23 Bit 11 di R
B+24 ≤S≤ B+25 Bit 12 di R
B+26 ≤S≤ B+27 Bit 13 di R
B+28 ≤S≤ B+29 Bit 14 di R
B+30 ≤S≤ B+31 Bit 15 di R
305
Istruzioni di confronto Capitolo 3-7
Flag
Nome Etichetta Operazione
Flag di errore ER OFF
Flag di = ON se il canale del risultato è 0000.
uguaglianza (S non è compreso in nessuno dei 16 intervalli).
OFF in tutti gli altri casi.
Avvertenze Se il limite inferiore è maggiore del limite superiore non verrà generato alcun
errore, ma al bit corrispondente di R verrà inviato 0 (non incluso
nell'intervallo).
R: D00300
S: D00100 ...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Simbolo programmazione
ladder
BCMP2(502)
S S: dati di origine
306
Istruzioni di confronto Capitolo 3-7
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BCMP2(502)
Eseguita una sola volta per differenziazione @BCMP2(502)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
307
Istruzioni di confronto Capitolo 3-7
Caratteristiche operando
Area S B R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD
Costanti Da #0000 a ---
#FFFF
(binario)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione BCMP2(502) confronta i dati di origine (S) con gli intervalli definiti dalle coppie
di valori del limite inferiore e superiore nel blocco di confronto. Se S è incluso
in uno di questi intervalli, compresi i limiti superiore e inferiore, i bit
corrispondenti nei canali del risultato (da R a R+15 max) verranno impostati
su ON. I restanti bit in R verranno impostati su OFF.
Il numero di intervalli viene determinato dal valore N impostato nel byte
inferiore di B. N può essere compreso tra 0 e 255. Il byte superiore di B deve
essere 00 esadecimale.
Blocco di confronto
15 87 0
00 Ultimo
B esadecimale intervallo "N"
N: da 00 a FF esadecimale (da 0 a 255)
Canali del risultato
Intervalli di confronto R Bit
B+1 Intervallo 0 valore A Intervallo 0 valore B B+2 0
B+3 Intervallo 1 valore A Intervallo 1 valore B B+4 1
Dati di origine
B+5 Intervallo 2 valore A Intervallo 2 valore B B+6 2
S
: :
B+31 Intervallo 15 valore A Intervallo 15 valore B B+32 15
R+1 Bit
B+33 Intervallo 16 valore A Intervallo 16 valore B B+34 0
B+35 Intervallo 17 valore A Intervallo 17 valore B B+36 1
B+37 Intervallo 18 valore A Intervallo 18 valore B B+38 2
: :
B+2N+1 Intervallo N valore A Intervallo N valore B B+2N+2
Nell'intervallo: ON
Intervalli
Fuori intervallo: OFF
Numero di intervalli
Il numero di intervalli del blocco di confronto viene impostato nel primo canale
del blocco. È possibile impostare fino a 256 intervalli.
308
Istruzioni di confronto Capitolo 3-7
Intervallo di confronto
Valore A Valore B
Intervallo Intervallo
di confronto di confronto
Valore B Valore A
Esempio
Quando B+1 ≤ B+2
Se B+1 ≤ S ≤ B+2, il bit 0 di R verrà impostato su ON,
Se B+3 ≤ S ≤ B+4, il bit 1 di R verrà impostato su ON,
Se S < B+5 e B+6 < S, il bit 2 di R verrà impostato su OFF e
Se S < B+7 e B+8 < S, il bit 3 di R verrà impostato su OFF.
Quando B+1 > B+2
Se S ≤ B+2 e B+1 ≤ S, il bit 0 di R verrà impostato su ON,
Se S ≤ B+4 e B+3 ≤ S, il bit 1 di R verrà impostato su ON,
Se B+6 < S < B+5, il bit 2 di R verrà impostato su OFF e
Se B+8 < S < B+7, il bit 3 di R verrà impostato su OFF.
Area di memorizzazione dei risultati
I risultati vengono inviati ai bit corrispondenti nel canale R. Se vi sono più di
16 intervalli di confronto, verranno utilizzati i canali consecutivi successivi a R.
Il numero massimo di canali del risultato è 16, ossia m è uguale a 0 - 15.
15 14 n 0
R+m
Risultato del confronto
per S e intervallo 15m
Risultato del confronto
Risultato del confronto per per S e intervallo 15m + n
S e intervallo 15m + 14
Risultato del confronto per
S e intervallo 15m + 15
Flag
Nome Etichetta Operazione
Flag di errore ER OFF
309
Istruzioni di confronto Capitolo 3-7
000000 0 0 1 7
R: CIO 0100
BCMP2 Bit
0010 S: CIO 0010 0 1 7 5 D00201 0 0 0 0 0 1 0 0 D00202
D00200 D00203 0 0 8 0 0 1 8 0 D00204
0100 D00205 0 1 6 0 0 2 6 0 D00206
D00231 1 2 0 0 1 8 0 0 D00232
R: CIO 0101
D00233 1 5 0 0 0 5 0 0 D00234
D00235 1 9 0 0 0 1 0 0 D00236
D00237 1 8 0 0 0 2 0 0 D00238
D00247 0 1 0 0 2 0 0 0 D00248
ZCP(088)
CD CD: dati di confronto
LL LL: limite inferiore dell'intervallo
UL UL: limite superiore dell'intervallo
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ZCP(088)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area CD LL UL
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
310
Istruzioni di confronto Capitolo 3-7
Area CD LL UL
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione ZCP(088) confronta i dati binari a 16 bit con segno in CD con l'intervallo
definito da LL e UL e invia il risultato ai flag Maggiore di, Uguale a e Minore di
nell'area ausiliaria. (I flag Minore di o uguale, Maggiore di o uguale e il flag di
non uguaglianza restano invariati).
Stato del flag aritmetico
Nella tabella seguente viene mostrato lo stato dei flag aritmetici dopo
l'esecuzione di ZCP(088).
Risultato di Stato del flag
ZCP(088) > = <
CD > UL ON OFF OFF
CD = UL OFF ON
LL < CD < UL
CD = LL
CD < LL OFF ON
311
Istruzioni di confronto Capitolo 3-7
ZCP
CD
LL
UL
Flag aritmetico
(esempio: flag di uguaglianza)
ZCPL
CD
LL
UL
Istruzione
B
A
Flag aritmetico
(Esempio: flag di uguaglianza)
Flag
Nome Etichetta Operazione
Flag di errore ER ON se LL > UL.
Flag di maggiore > ON se CD > UL.
OFF in tutti gli altri casi.
Flag di maggiore o uguale >= Rimane invariata.
Flag di uguaglianza = ON se LL ≤ CD ≤ UL.
OFF in tutti gli altri casi.
Flag di non uguaglianza <> Rimane invariata.
Flag di minore < ON se CD < LL.
OFF in tutti gli altri casi.
Flag di minore o uguale <= Rimane invariata.
Flag negativo N Rimane invariata.
Esempio Nell'esempio seguente, quando CIO 000000 è impostato su ON, i dati binari a
16 bit senza segno in D00000 vengono confrontati con l'intervallo 0005 - 001F
esadecimale (5 - 31 decimale) e il risultato viene inviato ai flag aritmetici.
CIO 000200 viene impostato su ON se 0005 esadecimale ≤ contenuto di
D00000 ≤ 001F esadecimale.
CIO 000201 viene impostato su ON se il contenuto di D00000 > 001F
esadecimale.
CIO 000202 viene impostato su ON se il contenuto di D00000 < 0005
esadecimale.
312
Istruzioni di confronto Capitolo 3-7
000000 LL CD UL Flag
ZCP
D00000 aritmetici
CD D00000 0005Hex ≤ ≤ 001FHex = ON(1)
LL #0005
#001F D00000
UL
> 001FHex > ON(1)
002000 D00000
0005Hex > < ON(1)
=
002001
>
002002
<
ZCPL(116)
CD CD: primo canale dei dati di confronto
LL LL: primo canale del limite inferiore
UL UL: primo canale del limite superiore
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ZCP(088)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area CD LL UL
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
313
Istruzioni di confronto Capitolo 3-7
Area CD LL UL
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 0000 a #FFFF FFFF
(binario)
Registri dati ---
Registri indice Da IR0 a IR15
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione ZCPL(116) confronta i dati binari a 32 bit con segno in CD+1, CD con
l'intervallo definito da LL+1, LL e UL+1, UL e invia il risultato ai flag Maggiore
di, Uguale a e Minore di nell'area ausiliaria. (I flag Minore di o uguale,
Maggiore di o uguale e il flag di non uguaglianza restano invariati).
Stato del flag aritmetico
Nella tabella seguente viene mostrato lo stato dei flag aritmetici dopo
l'esecuzione di ZCPL(116).
Risultato di ZCPL(116) Stato del flag
> = <
CD+1, CD > UL+1, UL ON OFF OFF
CD+1, CD = UL+1, UL OFF ON
LL+1, LL < CD+1, CD < UL+1, UL
CD+1, CD = LL+1, LL
CD+1, CD < LL+1, LL OFF ON
Flag
Nome Etichetta Operazione
Flag di errore ER ON se LL+1, LL > UL+1, UL.
Flag di maggiore > ON se CD > UL+1, UL.
OFF in tutti gli altri casi.
314
Istruzioni di spostamento dati Capitolo 3-8
Simbolo programmazione
ladder MOV(021)
S S: origine
D D: destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MOV(021)
Eseguita una sola volta per differenziazione @MOV(021)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato (vedere nota). !MOV(021)
Variazioni Eseguita una sola volta con aggiornamento !@MOV(021)
combinate immediato della destinazione per
differenziazione sul fronte di salita (vedere
nota).
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
315
Istruzioni di spostamento dati Capitolo 3-8
Area S D
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF (binario) ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
316
Istruzioni di spostamento dati Capitolo 3-8
Simbolo programmazione
ladder MVN(022)
S S: origine
D D: destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MVN(022)
Eseguita una sola volta per differenziazione @MVN(022)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF (binario) ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
317
Istruzioni di spostamento dati Capitolo 3-8
Stato del
bit invertito
Flag
Nome Etichetta Operazione
Flag di errore ER OFF
Flag di = ON se il contenuto di D è 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il contenuto del bit più a sinistra di D è 1 dopo
l'esecuzione.
OFF in tutti gli altri casi.
Esempio Nell'esempio seguente, quando CIO 000000 è impostato su ON, lo stato dei
bit in CIO 0100 viene invertito e il risultato viene copiato in D00100.
Simbolo programmazione
ladder MOVL(498)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MOVL(498)
Eseguita una sola volta per differenziazione @MOVL(498)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
318
Istruzioni di spostamento dati Capitolo 3-8
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF (binario)
Registri dati ---
Registri indice Da IR0 a IR15
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a , 1–(– –)IR5
Flag
Nome Etichetta Operazione
Flag di errore ER OFF
Flag di = ON se il contenuto di D+1 e D è 0000 0000 dopo
uguaglianza l'esecuzione.
OFF in tutti gli altri casi.
Flag negativo N ON se il contenuto del bit più a sinistra di D+1 è 1 dopo
l'esecuzione.
OFF in tutti gli altri casi.
319
Istruzioni di spostamento dati Capitolo 3-8
Simbolo programmazione
ladder MVNL(499)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MVNL(499)
Eseguita una sola volta per differenziazione @MVNL(499)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
320
Istruzioni di spostamento dati Capitolo 3-8
Area S D
Costanti Da #00000000 a ---
#FFFFFFFF (binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Stato del
bit invertito
Flag
Nome Etichetta Operazione
Flag di errore ER OFF
Flag di = ON se il contenuto di D+1 e D è 0000 0000 dopo
uguaglianza l'esecuzione.
OFF in tutti gli altri casi.
Flag negativo N ON se il contenuto del bit più a sinistra di D+1 è 1 dopo
l'esecuzione.
OFF in tutti gli altri casi.
Esempi Nell'esempio seguente, quando CIO 000000 è impostato su ON, lo stato dei
bit in D00101 e D00100 viene invertito e il risultato viene copiato in D00201 e
D00200. (Il contenuto originale di D00101 e di D00100 resta invariato).
Simbolo programmazione
ladder MOVB(082)
C C: canale di controllo
D D: canale di destinazione
321
Istruzioni di spostamento dati Capitolo 3-8
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MOVB(082)
Eseguita una sola volta per differenziazione @MOVB(082)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Bit di origine: da 00 a
(da 0 a 15 decimale)
Bit di destinazione: da 00 a 0F
(da 0 a 15 decimale)
Caratteristiche operando
Area S C D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a Solo valori ---
#FFFF (binario) specificati
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
322
Istruzioni di spostamento dati Capitolo 3-8
Descrizione MOVB(082) copia il bit specificato (n) da S al bit specificato (m) in D. Gli altri
bit nel canale di destinazione vengono lasciati inalterati.
Nota Per copiare un bit in un canale, è possibile specificare lo stesso canale per S
e D.
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se le cifre più a destra e più a sinistra di C non sono
nell'intervallo specificato da 00 a 0F.
OFF in tutti gli altri casi.
Esempi Nell'esempio seguente, quando CIO 000000 è ON, il 5° bit del canale di
origine (CIO 0200) viene copiato nel 12° bit del canale di destinazione
(CIO 0300) in base al valore 0C05 del canale di controllo.
1 2 0 5
Simbolo programmazione
ladder MOVD(083)
C C: canale di controllo
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MOVD(083)
Eseguita una sola volta per differenziazione @MOVD(083)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
323
Istruzioni di spostamento dati Capitolo 3-8
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
C: canale di controllo
Come illustrato nel diagramma seguente, le prime tre cifre di C indicano la
prima cifra di origine (m), il numero di cifre da trasferire (n) e la prima cifra di
destinazione (l).
15 12 11 8 7 4 3 0
C 0 l n m
D: canale di destinazione
Le cifre di destinazione vengono scritte da destra a sinistra e, se necessario,
è possibile tornare alla cifra più a destra (cifra 0).
15 12 11 8 7 4 3 0
Caratteristiche operando
Area S C D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a Solo valori ---
#FFFF (binario) specificati
Registri dati Da DR0 a DR15
324
Istruzioni di spostamento dati Capitolo 3-8
Area S C D
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Nota Per copiare un bit in un canale, è possibile specificare lo stesso canale per S
e D.
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se una delle tre prime cifre di C non è
nell'intervallo specificato compreso tra 0 e 3.
OFF in tutti gli altri casi.
Nota Dopo avere letto la cifra più a sinistra di S (cifra 3), MOVD(083) torna alla cifra
più a destra (cifra 0).
325
Istruzioni di spostamento dati Capitolo 3-8
Esempi di C
Nel diagramma che segue sono riportati alcuni esempi di trasferimenti di dati
per differenti valori di C.
Simbolo programmazione
ladder XFRB(062)
C C: canale di controllo
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON XFRB(062)
Eseguita una sola volta per differenziazione @XFRB(062)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
... ...
S+16 max.
326
Istruzioni di spostamento dati Capitolo 3-8
... ...
D+16 max.
Caratteristiche operando
Area C S D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori --- ---
specificati
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a 5+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione XFRB(062) trasferisce fino a 255 bit consecutivi dai canali di origine (iniziando
dal bit l di S) ai canali di destinazione (iniziando dal bit m di D). I bit nei canali
di destinazione che non sono sovrascritti dai bit di origine vengono lasciati
inalterati.
Come illustrato nel seguente diagramma, i bit e i numeri di bit iniziali sono
specificati in C.
327
Istruzioni di spostamento dati Capitolo 3-8
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Avvertenze A ogni esecuzione di XFRB(062) è possibile trasferire fino a 255 bit di dati.
Assicurarsi che i canali di origine e di destinazione non superino la fine
dell'area dati.
Esempi Nell'esempio che segue, quando CIO 000000 è ON, i 20 bit che iniziano con
CIO 020006 vengono copiati nei 20 bit che iniziano con CIO 030000.
20 bit
Simbolo programmazione
ladder XFER(070)
N N: numero di canali
328
Istruzioni di spostamento dati Capitolo 3-8
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON XFER(070)
Eseguita una sola volta per differenziazione @XFER(070)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
... ...
S+(N−1)
... ...
D+(N−1)
Caratteristiche operando
Area N S D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
329
Istruzioni di spostamento dati Capitolo 3-8
Area N S D
Costanti Da #0000 a --- ---
#FFFF (in formato
binario) o da &0 a
&65535
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione XFER(070) copia N canali che iniziano con S (da S a S+(N–1)) negli N canali
che iniziano con D (da D a D+(N–1)).
N canali
... ...
S+(N−1) D+
(N−1)
&10
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Esempio Quando CIO 000000 è ON, i 10 canali da D00100 a D00109 vengono copiati
nell'intervallo compreso tra D00200 e D00209.
&10
10
canali
330
Istruzioni di spostamento dati Capitolo 3-8
Simbolo programmazione
ladder BSET(071)
S S: canale di origine
E E: canale finale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BSET(071)
Eseguita una sola volta per differenziazione @BSET(071)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
St
...
Intervallo di
Dati di origine destinazione
St
Caratteristiche operando
Area S St E
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
331
Istruzioni di spostamento dati Capitolo 3-8
Area S St E
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a ---
#FFFF (binario)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione BSET(071) copia lo stesso canale di origine (S) in tutti i canali di destinazione
nell'intervallo da St a E.
Canale di origine Canali di destinazione
St
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se St è maggiore di E.
OFF in tutti gli altri casi.
Avvertenze Assicurarsi che il canale iniziale (St) e finale (E) siano nella stessa area dati e
che St ≤ E.
Quando i dati di origine vengono trasferiti in un numero elevato di canali, il
completamento di BSET(071) può non essere rapido. In questo caso, se
avviene una caduta di tensione durante l'esecuzione dell'istruzione, è
possibile che il trasferimento di BSET(071) non venga completato.
Esempio Quando CIO 000000 è ON, i dati di origine in D00100 vengono copiati
nell'intervallo compreso tra D00200 e D00209.
332
Istruzioni di spostamento dati Capitolo 3-8
S
St
St:
E
E:
Simbolo programmazione
ladder XCHG(073)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON XCHG(073)
Eseguita una sola volta per differenziazione @XCHG(073)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area E1 E2
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
333
Istruzioni di spostamento dati Capitolo 3-8
Area E1 E2
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF o non modificato (vedere nota)
Flag di = OFF o non modificato (vedere nota)
uguaglianza
Flag negativo N OFF o non modificato (vedere nota)
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1-H, CJ1-H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
Esempio Quando CIO 000000 è ON, il contenuto di D00100 viene scambiato con il
contenuto di D00200.
Simbolo programmazione
ladder XCGL(562)
334
Istruzioni di spostamento dati Capitolo 3-8
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON XCGL(562)
Eseguita una sola volta per differenziazione @XCGL(562)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area E1 E2
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- ---
Registri dati ---
Registri indice Da IR0 a IR15
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
335
Istruzioni di spostamento dati Capitolo 3-8
E1 1a operazione
XFER(070)
Buffer
2a operazione
XFER(070)
E2
3a operazione
XFER(070)
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF o non modificato (vedere nota)
Flag di = OFF o non modificato (vedere nota)
uguaglianza
Flag negativo N OFF o non modificato (vedere nota)
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1-H, CJ1-H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
Esempio Quando CIO 000000 è ON, il contenuto di D00100 e D00101 viene scambiato
con il contenuto di D00200 e D00201.
Simbolo programmazione
ladder DIST(080)
S S: canale di
Of Of: offset
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DIST(080)
Eseguita una sola volta per differenziazione @DIST(080)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
336
Istruzioni di spostamento dati Capitolo 3-8
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Bs
...
...
Bs+Of
Caratteristiche operando
Area S Bs Of
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959 Da A000 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a --- Da #0000 a
#FFFF (binario) #FFFF (in formato
binario) o da &0 a
&65535
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
337
Istruzioni di spostamento dati Capitolo 3-8
S Bs Of
Bs+n
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON se i dati di origine sono 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra dei dati di origine è 1.
OFF in tutti gli altri casi.
Avvertenze Assicurarsi che l'offset non superi la fine dell'area dati, ossia che Bs e Bs+Of
siano nella stessa area dati.
Esempio Quando CIO 000000 è ON, il contenuto di D00100 viene copiato in D00210
(D00200 + 10) purché il contenuto di D00300 sia 10 (0A esadecimale).
Modificando l'offset in D00300, è possibile copiare il contenuto di D00100 in
altri canali.
S: D00100
Copiato da DIST(080)
S
Bs Of:
Bs: 0 0 0 A
Of
Esadecimale a 4 cifre
Offset +10 canali
D00210
Simbolo programmazione
ladder COLL(081)
Of Of: offset
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON COLL(081)
Eseguita una sola volta per differenziazione @COLL(081)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
338
Istruzioni di spostamento dati Capitolo 3-8
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Bs
... ...
Of
Caratteristiche operando
Area Bs Of D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a ---
#FFFF (in formato
binario) o da &0 a
&65535
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
339
Istruzioni di spostamento dati Capitolo 3-8
Bs Of
Bs+n
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON se i dati di origine sono 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra dei dati di origine è 1.
OFF in tutti gli altri casi.
Avvertenze Assicurarsi che l'offset non superi la fine dell'area dati, ossia che Bs e Bs+Of
siano nella stessa area dati.
Esempio Quando CIO 000000 è ON, il contenuto di D00110 (D00100 + 10) viene
copiato in D00300 purché il contenuto di D00200 sia 10 (0A esadecimale).
Modificando l'offset in D00200, è possibile copiare il contenuto degli altri
canali in D00300.
D00200 0 0 0 A
Bs: D00100
Bs Esadecimale a 4 cifre
D00101
Of
Offset +10 canali
D
D00110 Copiato da COLL(081)
Simbolo programmazione
ladder MOVR(560)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MOVR(560)
Eseguita una sola volta per differenziazione @MOVR(560)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
340
Istruzioni di spostamento dati Capitolo 3-8
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Operandi D: destinazione
La destinazione deve essere un registro indice (da IR0 a IR15).
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6143 ---
Da CIO 000000 a
CIO 614315
Area di lavoro Da W000 a W511 ---
Da W00000 a W51115
Area bit di ritentività Da H000 a H511 ---
Da H00000 a H51115
Area bit ausiliaria Da A000 ad A447 ---
Da A448 ad A959
Da A00000 ad A44715
Da A44800 ad A95915
Area del temporizzatore Da T0000 a T4095 ---
(flag di completamento)
Area del contatore Da C0000 a C4095 ---
(flag di completamento)
Flag dei task Da TK0000 a TK0031 ---
Area DM Da D00000 a D32767 ---
Area EM senza banco Da E00000 a E32767 ---
Area EM con banco Da En_00000 a En_32767 ---
(n = da 0 a C)
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice --- Da IR0 a IR15
Indirizzamento indiretto ---
con i registri indice
Registro indice
341
Istruzioni di spostamento dati Capitolo 3-8
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF o non modificato (vedere nota)
Flag di = OFF o non modificato (vedere nota)
uguaglianza
Flag negativo N OFF o non modificato (vedere nota)
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1-H, CJ1-H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
Avvertenze Con MOVR(560) non è possibile impostare gli indirizzi di memoria del PLC
dei valori attuali di temporizzatore/contatore. Per impostare gli indirizzi di
memoria del PLC dei valori attuali di temporizzatore/contatore, utilizzare
MOVRW(561).
Il contenuto di un registro indice in un task ad interrupt non è prevedibile se
non viene impostato. In un task ad interrupt, assicurarsi di impostare un
registro mediante MOVR(560) prima di utilizzarlo.
Qualsiasi modifica al contenuto di un IR o DR apportata in un task ad interrupt
non influisce sul contenuto del registro in un task ciclo.
Esempio Quando CIO 000000 è ON, MOVR(560) scrive l'indirizzo di memoria del PLC
di CIO 0020 in IR0.
Indirizzo di memoria I/O interna
S: 0020 14
D: IR0 14
Simbolo programmazione
ladder MOVRW(561)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MOVR(561)
Eseguita una sola volta per differenziazione @MOVR(561)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
342
Istruzioni di spostamento dati Capitolo 3-8
Operandi D: destinazione
La destinazione deve essere un registro indice (da IR0 a IR15).
Caratteristiche operando
Area S D
Area CIO ---
Area di lavoro ---
Area bit di ritentività ---
Area bit ausiliaria ---
Area del temporizzatore Da T0000 a T4095 ---
(valore attuale)
Area del contatore Da C0000 a C4095 ---
(valore attuale)
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice --- Da IR0 a IR15
Indirizzamento indiretto ---
con i registri indice
Descrizione MOVRW(561) trova l'indirizzo di memoria del PLC per il valore attuale di un
temporizzatore o contatore specificato in S e lo scrive in D (un registro indice).
Indirizzo di memoria I/O interna di S
Registro indice
MOVRW(561) imposta l'indirizzo di memoria del PLC del valore attuale del
temporizzatore o contatore in D. Per impostare l'indirizzo di memoria del PLC
del flag di completamento del temporizzatore o contatore, utilizzare
MOVR(560).
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF o non modificato (vedere nota)
Flag di = OFF o non modificato (vedere nota)
uguaglianza
Flag negativo N OFF o non modificato (vedere nota)
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1-H, CJ1-H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
Avvertenze Con MOVRW(561) non è possibile impostare gli indirizzi di memoria del PLC
di canali, bit o flag di completamento di temporizzatori/contatori delle aree
dati. Per impostarli, utilizzare MOVR(560).
343
Istruzioni di scorrimento dei dati Capitolo 3-9
Esempio Quando CIO 000000 è ON, MOVRW(561) scrive l'indirizzo di memoria del
PLC per il valore attuale del temporizzatore T0000 in IR1.
Indirizzo di memoria I/O interna
S:
344
Istruzioni di scorrimento dei dati Capitolo 3-9
Simbolo programmazione
ladder Ingresso dati SFT(010)
Ingresso di
scorrimento
St St: canale iniziale
Ingresso di
E E: canale finale
reset
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SFT(010)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
Non consentita OK OK OK
Caratteristiche operando
Area St E
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
345
Istruzioni di scorrimento dei dati Capitolo 3-9
Perso
Stato dell'ingresso dei dati per
ogni ingresso di scorrimento
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se l'indirizzo indiretto di IR per St ed E non è nelle
aree dati di CIO, AR, HR o WR.
OFF in tutti gli altri casi.
Avvertenze I dati del bit che sono stati fati scorrere fuori dal registro di shift vengono
scartati.
Quando l'ingresso di reset passa a ON, tutti i bit nel registro di shift a partire
dal canale designato più a destra (St) al canale designato più a sinistra (E)
vengono reimpostati, ossia impostati su 0. Rispetto ad altri ingressi, l'ingresso
di reset ha la precedenza.
St deve essere minore o uguale a E; tuttavia, nel caso in cui St venisse
impostato su un valore maggiore di E, non si verificherebbe alcun errore e un
canale di dati in St verrebbe fatto scorrere.
Quando St ed E vengono designati indirettamente mediante registri indice e
gli indirizzi effettivi nella memoria di I/O non sono in aree di memoria per i
dati, si verifica un errore e viene attivato il flag di errore.
Ingresso dati
E: CIO 0130 St+1: CIO 0129 St: CIO 0128 Contenuto
di CIO
Ingresso di scorrimento Perso 000005
(clock a 1 s)
Ripristino
Simbolo programmazione
ladder SFTR(084)
C C: canale di controllo
E E: canale finale
346
Istruzioni di scorrimento dei dati Capitolo 3-9
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SFTR(084)
Eseguita una sola volta per differenziazione @SFTR(084)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
15 14 13 12
Direzione di scorrimento
1 (ON) sinistra
0 (OFF) destra
Ingresso dati
Ingresso di scorrimento
Ripristino
Caratteristiche operando
Area C St E
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
347
Istruzioni di scorrimento dei dati Capitolo 3-9
E St Ingresso
dati
Ingresso E St Direzione di
dati scorrimento
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se St è maggiore di E.
OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 vi viene fatto scorrere.
OFF quando 0 vi viene fatto scorrere.
OFF quando il ripristino è impostato su 1.
C
St C: 0300
E
Direzione di scorrimento
Ingresso dati:
CIO 030013
348
Istruzioni di scorrimento dei dati Capitolo 3-9
Scorrimento dei dati a sinistra (dal bit più a destra al bit più a sinistra)
Quando il bit dell'ingresso di scorrimento (bit 14 di C) è ON, il contenuto del
bit di ingresso (bit 13 di C) viene fatto scorrere al bit 00 del canale iniziale e
tutti i bit successivi vengono fatti scorrere a sinistra di un bit. Lo stato del bit
15 del canale finale viene fatto scorrere al flag di riporto.
Ingresso
dati
Scorrimento dei dati a destra (dal bit più a sinistra al bit più a destra)
Quando il bit dell'ingresso di scorrimento (bit 14 di C) è ON, il contenuto del
bit di ingresso (bit 13 di C) (I/O) viene fatto scorrere al bit 15 del canale finale
e tutti i bit successivi vengono fatti scorrere a destra di un bit. Lo stato del bit
00 del canale iniziale viene fatto scorrere al flag di riporto.
Ingresso
dati
Simbolo programmazione
ladder ASFT(017)
C C: canale di controllo
E E: canale finale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ASFT(017)
Eseguita una sola volta per differenziazione @ASFT(017)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
349
Istruzioni di scorrimento dei dati Capitolo 3-9
15 14 13 12
Direzione di scorrimento
0: dati diversi da zero fatti scorrere verso E
1: dati diversi da zero fatti scorrere verso St
Bit di abilitazione scorrimento
0: scorrimento disabilitato
1: scorrimento abilitato
Bit di cancellazione
0: dati non reimpostati
1: tutti i dati da St a E sono reimpostati
Caratteristiche operando
Area C St E
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione Quando il bit di abilitazione scorrimento (bit 14 di C) è ON, tutti i canali con
contenuto diverso da zero compresi tra St ed E vengono fatti scorrere di un
canale nella direzione determinata dal bit della direzione di scorrimento (bit
13 di C) purché il canale nella direzione dello scorrimento contenga tutti dati
uguali a zero. Se ASFT(017) viene ripetuta un numero sufficiente di volte, la
totalità dei canali contenenti tutti dati uguali a zero viene sostituita da canali
contenenti dati diversi da zero. Di conseguenza, tutti i dati tra St ed E vengono
suddivisi tra dati uguali a zero e dati diversi da zero.
350
Istruzioni di scorrimento dei dati Capitolo 3-9
St Direzione di scorrimento
St
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se St è maggiore di E.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per
l'esecuzione in background è OFF quando viene
specificata l'elaborazione in background.
OFF in tutti gli altri casi.
Avvertenze All'attivazione del flag di cancellazione (bit 15 di C), vengono reimpostati, cioè
impostati su 0, tutti i bit del registro di shift compresi tra da St ed E. Il flag di
cancellazione ha la precedenza sul bit di abilitazione scorrimento (bit 14 di C).
Quando St è maggiore di E, viene generato un errore e verrà attivato il flag di
errore.
351
Istruzioni di scorrimento dei dati Capitolo 3-9
C
St
E C: 0300
Direzione di scorrimento
1: dati diversi da zero fatti scorrere verso E
Bit di abilitazione scorrimento: 1
Canc
Prima dell'esecuzione di ASFT(017) Dopo una esecuzione Dopo due esecuzioni
St:
I dati diversi da
zero sono fatti
scorrere verso St
E:
Simbolo programmazione
ladder WSFT(016)
S S: canale di origine
E E: canale finale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON WSFT(016)
Eseguita una sola volta per differenziazione @WSFT(016)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S St E
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
352
Istruzioni di scorrimento dei dati Capitolo 3-9
Area S St E
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a ---
#FFFF (binario)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
E St
Perso
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se St è maggiore di E.
OFF in tutti gli altri casi.
Esempio Quando CIO 000000 è ON, i dati da CIO 0100 a CIO 0102 vengono fatti
scorrere di un canale verso E. Il contenuto di CIO 0300 viene memorizzato in
CIO 0100 mentre quello di CIO 0102 verrà perso.
St
E
S: CIO 0300
353
Istruzioni di scorrimento dei dati Capitolo 3-9
Simbolo programmazione
ladder ASL(025)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ASL(025)
Eseguita una sola volta per differenziazione @ASL(025)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione ASL(025) fa scorrere il contenuto di Wd di un bit a sinistra, dal bit più a destra
al bit più a sinistra. "0" viene inviato nel bit più a destra e i dati dal bit più a
sinistra vengono fatti scorrere al flag di riporto (CY).
15 0
354
Istruzioni di scorrimento dei dati Capitolo 3-9
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
Wd
Simbolo programmazione
ladder ASLL(570)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ASLL(570)
Eseguita una sola volta per differenziazione @ASLL(570)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
355
Istruzioni di scorrimento dei dati Capitolo 3-9
Area Wd
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
Avvertenze Quando ASLL(570) viene eseguita, il flag di errore viene disattivato.
Se come risultato dello scorrimento il contenuto dei canali Wd e Wd + 1 è
zero, verrà attivato il flag di uguaglianza.
Se come risultato dello scorrimento il contenuto del bit più a sinistra di Wd + 1
è 1, verrà attivato il flag negativo.
Esempio Quando CIO 000000 è ON, CIO 0100 e CIO 0101 del canale vengono fatti
scorrere di un bit a sinistra. "0" è inviato in CIO 010000 e il contenuto di
CIO 010015 viene fatto scorrere al flag di riporto (CY).
356
Istruzioni di scorrimento dei dati Capitolo 3-9
Wd
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ASR(026)
Eseguita una sola volta per differenziazione @ASR(026)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15
357
Istruzioni di scorrimento dei dati Capitolo 3-9
Area Wd
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione ASR(026) fa scorrere il contenuto di Wd di un bit a destra, dal bit più a sinistra
al bit più a destra. "0" è inviato nel bit più a sinistra e il contenuto del bit più a
destra viene fatto scorrere al flag di riporto (CY).
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N OFF
Avvertenze Quando ASR(026) viene eseguita, il flag di errore e il flag negativo vengono
disattivati.
Se come risultato dello scorrimento il contenuto di Wd è zero, verrà attivato il
flag di uguaglianza.
Esempio Quando CIO 000000 è ON, CIO 0100 del canale viene fatto scorrere di un bit
a destra. "0" è inviato in CIO 010015 e il contenuto di CIO 010000 viene fatto
scorrere al flag di riporto (CY).
Wd
Simbolo programmazione
ladder ASRL(571)
Wd Wd: canale
358
Istruzioni di scorrimento dei dati Capitolo 3-9
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ASRL(571)
Eseguita una sola volta per differenziazione @ASRL(571)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
359
Istruzioni di scorrimento dei dati Capitolo 3-9
Avvertenze Quando ASRL (571) viene eseguita, il flag di errore e il flag negativo vengono
disattivati.
Se come risultato dello scorrimento il contenuto dei canali Wd e Wd + 1 è
zero, verrà attivato il flag di uguaglianza.
Esempio Quando CIO 000000 è ON, CIO 0100 e CIO 0101 del canale vengono fatti
scorrere di un bit a destra. "0" è inviato in CIO 010115 e il contenuto di
CIO 010000 viene fatto scorrere al flag di riporto (CY).
Wd
Simbolo programmazione
ladder ROL(027)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ROL(027)
Eseguita una sola volta per differenziazione @ROL(027)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
360
Istruzioni di scorrimento dei dati Capitolo 3-9
Area Wd
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione ROL(027) fa scorrere tutti i bit del canale Wd, incluso il flag di riporto (CY), a
sinistra, dal bit più a destra al bit più a sinistra.
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
Esempio Quando CIO 000000 è ON, CIO 0100 e il flag di riporto (CY) del canale
vengono fatti scorrere di un bit a sinistra. Il contenuto di CIO 010015 viene
fatto scorrere al flag di riporto (CY) e il contenuto di tale flag verrà fatto
scorrere in CIO 010000.
361
Istruzioni di scorrimento dei dati Capitolo 3-9
Wd
Simbolo programmazione
ladder ROLL(572)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ROLL(572)
Eseguita una sola volta per differenziazione @ROLL(572)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
362
Istruzioni di scorrimento dei dati Capitolo 3-9
Area Wd
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
Esempio Quando CIO 000000 è ON, CIO 0100, CIO 0101 e il flag di riporto (CY) del
canale vengono fatti scorrere di un bit a sinistra. Il contenuto di CIO 010015
viene fatto scorrere al flag di riporto (CY) e il contenuto di tale flag verrà fatto
scorrere in CIO 010000.
Wd
363
Istruzioni di scorrimento dei dati Capitolo 3-9
Simbolo programmazione
ladder ROR(028)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ROR(028)
Eseguita una sola volta per differenziazione @ROR(028)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione ROR(028) fa scorrere tutti i bit del canale Wd, incluso il flag di riporto (CY), a
destra, dal bit più a sinistra al bit più a destra.
364
Istruzioni di scorrimento dei dati Capitolo 3-9
Wd
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
Esempio Quando CIO 000000 è ON, CIO 0100 e il flag di riporto (CY) del canale
vengono fatti scorrere di un bit a destra. Il contenuto di CIO 010000 viene
fatto scorrere al flag di riporto (CY) e il contenuto di tale flag verrà fatto
scorrere in CIO 010015.
Wd
Simbolo programmazione
ladder RORL(573)
Wd Wd: canale
365
Istruzioni di scorrimento dei dati Capitolo 3-9
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RORL(573)
Eseguita una sola volta per differenziazione @RORL(573)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
366
Istruzioni di scorrimento dei dati Capitolo 3-9
Esempio Quando CIO 000000 è ON, CIO 0100, CIO 0101 e il flag di riporto (CY) del
canale vengono fatti scorrere di un bit a destra. Il contenuto di CIO 010000
viene fatto scorrere al flag di riporto (CY) e il contenuto di tale flag verrà fatto
scorrere in CIO 010115.
Wd
Simbolo programmazione
ladder RLNC(574)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RLNC(574)
Eseguita una sola volta per differenziazione @RLNC(574)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
367
Istruzioni di scorrimento dei dati Capitolo 3-9
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione RLNC(574) fa scorrere tutti i bit di Wd a sinistra, dal bit più a destra al bit più a
sinistra. Il contenuto del bit più a sinistra del canale Wd viene fatto scorrere
nel bit più a destra e nel flag di riporto (CY).
Wd
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
368
Istruzioni di scorrimento dei dati Capitolo 3-9
Esempio Quando CIO 000000 è ON, CIO 0100 del canale viene fatto scorrere di un bit
a sinistra, escluso il flag di riporto (CY). Il contenuto di CIO 010015 viene fatto
scorrere a CIO 010000.
Wd
Simbolo programmazione
ladder RLNL(576)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RLNL(576)
Eseguita una sola volta per differenziazione @RLNL(576)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
369
Istruzioni di scorrimento dei dati Capitolo 3-9
Area Wd
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione RLNL(576) fa scorrere tutti i bit dei canali Wd e Wd + 1 a sinistra, dal bit più a
destra al bit più a sinistra. Il contenuto del bit più a sinistra del canale Wd+1 si
sposta nel bit più a destra del canale Wd e nel flag di riporto (CY).
Wd+1 Wd
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
Esempio Quando CIO 000000 è ON, CIO 0100 e CIO 0101 del canale vengono fatti
scorrere di un bit a sinistra, escluso il flag di riporto (CY). Il contenuto di
CIO 010115 viene fatto scorrere a CIO 010000.
Wd
370
Istruzioni di scorrimento dei dati Capitolo 3-9
Simbolo programmazione
ladder RRNC(575)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RRNC(575)
Eseguita una sola volta per differenziazione @RRNC(575)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione RRNC(575) fa scorrere tutti i bit del canale Wd a destra, dal bit più a sinistra al
bit più a destra, escluso il flag di riporto (CY).
371
Istruzioni di scorrimento dei dati Capitolo 3-9
Wd
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
Esempio Quando CIO 000000 è ON, CIO 0100 del canale viene fatto scorrere di un bit
a destra, escluso il flag di riporto (CY). Il contenuto di CIO 010000 viene fatto
scorrere a CIO 010015.
Wd
Simbolo programmazione
ladder RRNL(577)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RRNL(577)
Eseguita una sola volta per differenziazione @RRNL(577)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
372
Istruzioni di scorrimento dei dati Capitolo 3-9
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione RRNC(577) fa scorrere tutti i bit dei canali Wd e Wd +1 a destra, dal bit più a
sinistra al bit più a destra, escluso il flag di riporto (CY).
Wd+1 Wd
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
373
Istruzioni di scorrimento dei dati Capitolo 3-9
Esempio Quando CIO 000000 è ON, CIO 0100 e CIO 0101 dei canali vengono fatti
scorrere di un bit a destra, escluso il flag di riporto (CY). Il contenuto di
CIO 010000 viene fatto scorrere a CIO 010115.
Wd
Simbolo programmazione
ladder SLD(074)
E E: canale finale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SLD(074)
Eseguita una sola volta per differenziazione @SLD(074)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area St E
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
374
Istruzioni di scorrimento dei dati Capitolo 3-9
Area St E
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SLD(074) fa scorrere i dati compresi tra St ed E di una cifra (4 bit) a sinistra.
"0" viene inviato nella cifra più a destra (bit da 3 a 0 di St) e il contenuto della
cifra più a sinistra (bit da 15 a 12 di E) viene perso.
E S t
Perso
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se St è maggiore di E.
OFF in tutti gli altri casi.
Esempio Quando CIO 000000 è ON, CIO 0100 - CIO 0101 dei canali vengono fatti
scorrere di una cifra(4 bit) a sinistra. Uno zero viene inviato nei bit da 0 a 3 di
CIO 0100 del canale e il contenuto dei bit da 12 a 15 di CIO 0102 sarà perso.
St
E
E: CIO 0102 St+1: CIO 0101 St: CIO 0100
Perso
375
Istruzioni di scorrimento dei dati Capitolo 3-9
Simbolo programmazione
ladder SRD(075)
E E: canale finale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SRD(075)
Eseguita una sola volta per differenziazione @SRD(075)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area St E
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
376
Istruzioni di scorrimento dei dati Capitolo 3-9
Descrizione SRD(075) fa scorrere i dati compresi tra St ed E di una cifra (4 bit) a destra.
"0" viene inviato nella cifra più a sinistra (bit da 15 a 12 di E) e il contenuto
della cifra più a destra (bit da 3 a 0 di St) viene perso.
E S t
Perso
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se St è maggiore di E.
OFF in tutti gli altri casi.
Esempio Quando CIO 000000 è ON, CIO 0100 ... CIO 0102 dei canali vengono fatti
scorrere di una cifra (4 bit) a destra. Uno zero viene inviato nei bit da 12 a 15
di CIO 0102 e il contenuto dei bit da 0 a 3 di CIO 0100 del canale sarà perso.
St
E
E: CIO 0102 St+1: CIO 0101 St: CIO 0100
Perso
Simbolo programmazione
ladder NSFL(578)
C C: bit iniziale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON NSFL(578)
Eseguita una sola volta per differenziazione @NSFL(578)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
377
Istruzioni di scorrimento dei dati Capitolo 3-9
Caratteristiche operando
Area D C N
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959 Da A000 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a Da #0000 a
#000F (in formato #FFFF (in formato
binario) o da &0 a binario) o da &0 a
&15 &65535
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
N−1 bit
378
Istruzioni di scorrimento dei dati Capitolo 3-9
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON quando i dati di C non sono tra 0000 e 000F
esadecimale.
OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Avvertenze Quando la lunghezza dati di scorrimento (N) è 0, il contenuto del bit iniziale
viene copiato nel flag di riporto (CY) e resta inalterato.
Vengono modificati soltanto i bit fatti scorrere nel canale più a destra dell'area
di scorrimento, ossia i dati del canale più a sinistra.
Esempio Quando CIO 000000 è ON, tutti i bit dal bit iniziale 3 alla lunghezza dati di
scorrimento (B esadecimale) vengono fatti scorrere di un bit a sinistra, dal bit
più a destra al bit più a sinistra. "0" è inviato nel bit 3 di CIO 0100. Il contenuto
del bit più a sinistra nell'area di scorrimento (bit 13 di CIO 0100) viene copiato
nel flag di riporto (CY).
D
C &3
N &11
D: CIO 0100
D: CIO 0100
0
Simbolo programmazione
ladder NSFR(579)
C C: bit iniziale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON NSFR(579)
Eseguita una sola volta per differenziazione @NSFR(579)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
379
Istruzioni di scorrimento dei dati Capitolo 3-9
Caratteristiche operando
Area D C N
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959 Da A000 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a Da #0000 a
#000F (in formato #FFFF (in formato
binario) o da &0 a binario) o da &0 a
&15 &65535
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Bit N-1
380
Istruzioni di scorrimento dei dati Capitolo 3-9
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON quando i dati di C non sono tra 0000 e 000F
esadecimale.
OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Avvertenze Quando la lunghezza dati di scorrimento (N) è 0, il contenuto del bit iniziale
viene copiato nel flag di riporto (CY) e resta inalterato.
Vengono modificati soltanto i bit fatti scorrere nel canale più a destra dell'area
di scorrimento, ossia i dati del canale più a sinistra.
Esempio Quando CIO 000000 è ON, tutti i bit dal bit iniziale 2 alla fine della lunghezza
dati di scorrimento di 11 bit (B esadecimale) vengono fatti scorrere di un bit a
destra, dal bit più a sinistra al bit più a destra. "0" è spostato nel bit 12 di
CIO 0100. Il contenuto del bit più a destra nell'area di scorrimento (bit 2 di
CIO 0100) viene copiato nel flag di riporto (CY).
&2
&11
Simbolo programmazione
ladder NASL(580)
D D: canale di scorrimento
C C: canale di controllo
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON NASL(580)
Eseguita una sola volta per differenziazione @NASL(580)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
381
Istruzioni di scorrimento dei dati Capitolo 3-9
Sempre 0
Dati fatti scorrere nel registro
0 esadecimale: 0 fatto scorrere a
8 esadecimale: contenuto del bit più a destra fatto scorrere a
Caratteristiche operando
Area D C
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959 Da A000 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori specificati
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
382
Istruzioni di scorrimento dei dati Capitolo 3-9
Scorrimento di n bit
Perso
N bit
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON quando il canale di controllo C (numero di bit da
fare scorrere) non è nell'intervallo.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
Avvertenze Per ciascun bit fatto scorrere fuori dal canale specificato, il contenuto
dell'ultimo bit viene fatto scorrere al flag di riporto (CY) e gli altri dati saranno
persi.
Se il numero di bit da fare scorrere specificato in C è "0", i dati non saranno
spostati. In ogni caso, i flag appropriati si attiveranno o disattiveranno in base
ai dati nel canale specificato.
Se il contenuto del canale di controllo C non è nell'intervallo, verrà generato
un errore e si attiverà il flag di errore.
Se come risultato dello scorrimento il contenuto di D è 0000 esadecimale,
verrà attivato il flag di uguaglianza.
Se come risultato dello scorrimento il contenuto del bit più a sinistra di D è 1,
verrà attivato il flag negativo.
Esempio Quando CIO 000000 è ON, il contenuto di CIO 0100 viene fatto scorrere di
10 bit a sinistra, dal bit più a destra al bit più a sinistra. Il numero di bit da fare
scorrere è specificato nei bit da 0 a 7 di CIO 0300 del canale (dati di
controllo). Il contenuto del bit 0 di CIO 0100 viene copiato nei bit dai quali
erano stati spostati i dati e il contenuto del bit più a destra, che era stato fatto
scorrere fuori dall'intervallo, viene spostato nel flag di riporto (CY). Tutti gli altri
dati vengono persi.
383
Istruzioni di scorrimento dei dati Capitolo 3-9
15 12 11 8 7 4 3 0
C 8 0 0 A
Sempre 0
Dati fatti scorrere nel registro
8 esadecimale: contenuto del bit più a destra fatto scorrere a
Perso
Bit più a
Simbolo programmazione
ladder NSLL(582)
D D: canale di scorrimento
C C: canale di controllo
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON NSLL(582)
Eseguita una sola volta per differenziazione @NSLL(582)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
384
Istruzioni di scorrimento dei dati Capitolo 3-9
15 12 11 8 7 0
C
0
Sempre 0
Dati fatti scorrere nel registro
0 esadecimale: 0 fatto scorrere a
8 esadecimale: contenuto del bit più a destra fatto scorrere a
Caratteristiche operando
Area D C
Area CIO Da CIO 0000 a CIO 6142 Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A448 ad A958 Da A000 ad A959
Area del temporizzatore Da T0000 a T4094 Da T0000 a T4095
Area del contatore Da C0000 a C4094 Da C0000 a C4095
Area DM Da D00000 a D32766 Da D00000 a D32767
Area EM senza banco Da E00000 a E32766 Da E00000 a E32767
Area EM con banco Da En_00000 a En_32766 Da En_00000 a En_32767
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori specificati
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Scorrimento di n bit
Scorrimento del
contenuto di "a" o "0"
Perso
N bit
385
Istruzioni di scorrimento dei dati Capitolo 3-9
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON quando il canale di controllo C, ossia il numero di
bit da fare scorrere, non è nell'intervallo.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
Avvertenze Per ciascun bit fatto scorrere fuori dal canale specificato, il contenuto
dell'ultimo bit viene fatto scorrere al flag di riporto (CY) e gli altri dati saranno
persi.
Se il numero di bit da fare scorrere specificato in C è "0", i dati non saranno
spostati. In ogni caso, i flag appropriati si attiveranno o disattiveranno in base
ai dati nel canale specificato.
Se il contenuto del canale di controllo C non è nell'intervallo, verrà generato
un errore e si attiverà il flag di errore.
Se come risultato dello scorrimento il contenuto di D è 0000, verrà attivato il
flag di uguaglianza.
Se come risultato dello scorrimento il contenuto del bit più a sinistra di D e D
+1 è 1, verrà attivato il flag negativo.
Esempio Quando CIO 000000 è ON, il contenuto di CIO 0100 e CIO 0101 viene fatto
scorrere di 10 bit a sinistra, dal bit più a destra al bit più a sinistra. Il numero di
bit da fare scorrere è specificato nei bit da 0 a 7 di CIO 0300 del canale (dati
di controllo). Il contenuto del bit 0 di CIO 0100 viene copiato nei bit dai quali
erano stati spostati i dati e il contenuto del bit più a destra, che era stato fatto
scorrere fuori dall'intervallo, viene spostato nel flag di riporto (CY). Tutti gli altri
dati vengono persi.
15 12 11 8 7 4 3 0
C
8 0 0 A
Sempre 0
Dati fatti scorrere nel registro
8 esadecimale: contenuto del bit più a
destra spostato in
386
Istruzioni di scorrimento dei dati Capitolo 3-9
Perso
Bit più a destra a
0100
0100
Simbolo programmazione
ladder NASR(581)
D D: canale di scorrimento
C C: canale di controllo
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON NASR(581)
Eseguita una sola volta per differenziazione @NASR(581)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di programma Subroutine Task ad
a blocchi step interrupt
OK OK OK OK
Sempre 0
Dati fatti scorrere nel registro
0 esadecimale: 0 fatto scorrere a
8 esadecimale: contenuto del bit più a destra fatto scorrere a
Caratteristiche operando
Area D C
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
387
Istruzioni di scorrimento dei dati Capitolo 3-9
Area D C
Area bit ausiliaria Da A448 ad A959 Da A000 ad A447
Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori specificati
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Scorrimento
del contenuto
di "a" o "0"
Perso
N bit
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON quando il canale di controllo C, ossia il numero di
bit da fare scorrere, non è nell'intervallo.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto (CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
Avvertenze Per ciascun bit fatto scorrere fuori dal canale specificato, il contenuto
dell'ultimo bit viene fatto scorrere al flag di riporto (CY) e gli altri dati saranno
scartati.
388
Istruzioni di scorrimento dei dati Capitolo 3-9
Esempio Quando CIO 000000 è ON, CIO 0100 viene fatto scorrere di 10 bit a destra,
dal bit più a sinistra al bit più a destra. Il numero di bit da fare scorrere è
specificato nei bit da 0 a 7 di CIO 0300 del canale. Il contenuto del bit 15 di
CIO 0100 viene copiato nei bit dai quali erano stati spostati i dati e il
contenuto del bit di dati più a sinistra, che era stato fatto scorrere fuori
dall'intervallo, viene spostato nel flag di riporto (CY)(CY). Tutti gli altri dati
vengono persi.
15 12 11 8 7 4 3 0
C
8 0 0 A
Sempre 0
Dati fatti scorrere nel registro
8 esadecimale: contenuto del bit più a sinistra fatto scorrere a
Bit più a
Pers
Simbolo programmazione
ladder NSRL(583)
D D: canale di scorrimento
C C: canale di controllo
389
Istruzioni di scorrimento dei dati Capitolo 3-9
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON NSRL(583)
Eseguita una sola volta per differenziazione @NSRL(583)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Sempre 0
Dati fatti scorrere nel registro
0 esadecimale: 0 fatto scorrere a
8 esadecimale: contenuto del bit più a destra fatto scorrere a
Caratteristiche operando
Area D C
Area CIO Da CIO 0000 a CIO 6142 Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A448 ad A958 Da A000 ad A959
Area del temporizzatore Da T0000 a T4094 Da T0000 a T4095
Area del contatore Da C0000 a C4094 Da C0000 a C4095
Area DM Da D00000 a D32766 Da D00000 a D32767
Area EM senza banco Da E00000 a E32766 Da E00000 a E32767
Area EM con banco Da En_00000 a En_32766 Da En_00000 a En_32767
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori specificati
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da -2048 a +2047, da ,IR0 a -2048 a +2047 a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
,–(– –)IR0 ... , –(– –)IR15
390
Istruzioni di scorrimento dei dati Capitolo 3-9
Scorrimento di n bit
Scorrimento
del contenuto
di "a" o "0" Perso
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON quando il canale di controllo C, ossia il numero di
bit da fare scorrere, non è nell'intervallo.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato dello scorrimento è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando 1 viene fatto scorrere al flag di riporto
(CY).
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra è 1 come risultato dello
scorrimento.
OFF in tutti gli altri casi.
Avvertenze Per ciascun bit fatto scorrere fuori dal canale specificato, il contenuto
dell'ultimo bit viene fatto scorrere al flag di riporto (CY) e gli altri dati saranno
persi.
Se il numero di bit da fare scorrere specificato in C è "0", i dati non saranno
spostati. In ogni caso, i flag appropriati si attiveranno e disattiveranno in base
ai dati nel canale specificato.
Se il contenuto del canale di controllo C non è nell'intervallo, verrà generato
un errore e si attiverà il flag di errore.
Se come risultato dello scorrimento il contenuto di D +1 è 00000000
esadecimale, verrà attivato il flag di uguaglianza.
Se come risultato dello scorrimento il contenuto del bit più a sinistra di D +1
è 1, verrà attivato il flag negativo.
Esempio Quando CIO 000000 è ON, CIO 0100 e CIO 0101 vengono fatti scorrere di 10
bit a destra, dal bit più a sinistra al bit più a destra. Il numero di bit da fare
scorrere è specificato nei bit da 0 a 7 di CIO 0300 del canale (dati di
controllo). Il contenuto del bit 15 di CIO 0100 viene copiato nei bit dai quali
erano stati spostati i dati e il contenuto del bit di dati più a sinistra, che era
stato fatto scorrere fuori dall'intervallo, viene spostato nel flag di riporto (CY).
Tutti gli altri dati vengono persi.
391
Istruzioni di scorrimento dei dati Capitolo 3-9
15 12 11 8 7 4 3 0
C 8 0 0 A
Sempre 0
Dati fatti scorrere nel registro
8 esadecimale: contenuto del bit più a sinistra fatto scorrere a
CY
1
392
Istruzioni di incremento e decremento Capitolo 3-10
Simbolo programmazione
ladder ++(590)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ++(590)
Eseguita una sola volta per differenziazione @++(590)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
393
Istruzioni di incremento e decremento Capitolo 3-10
Wd Wd
Flag
Nome Eti- Operazione
chetta
Flag di ER OFF
errore
Flag di = ON se il contenuto di Wd è 0000 dopo l'esecuzione.
ugua- OFF in tutti gli altri casi.
glianza
Flag di CY ON se una cifra in Wd è passata da F a 0 durante l'esecuzione.
riporto OFF in tutti gli altri casi.
Flag N ON se il bit 15 di Wd è ON dopo l'esecuzione.
negativo OFF in tutti gli altri casi.
: Esecuzione di ++(590)
Funzionamento di @++(590)
Nell'esempio seguente viene utilizzata la variazione differenziata sul fronte di
salita, in modo che il contenuto di D00100 venga incrementato di 1 soltanto
quando CIO 000000 è passato da OFF a ON.
: Esecuzione di @++(590)
Incremento Incremento
394
Istruzioni di incremento e decremento Capitolo 3-10
Simbolo programmazione
ladder ++L(591)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ++L(591)
Eseguita una sola volta per differenziazione @++L(591)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice Da IR0 a IR15
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
395
Istruzioni di incremento e decremento Capitolo 3-10
Wd+1 Wd Wd+1 Wd
Flag
Nome Etichetta Operazione
Flag di errore ER OFF
Flag di = ON se il risultato è 0000 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON se una cifra in Wd+1 o Wd è passata da F a 0
durante l'esecuzione.
OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 di Wd+1 è ON dopo l'esecuzione.
OFF in tutti gli altri casi.
: Esecuzione di ++L(591)
Funzionamento di @++L(591)
Nell'esempio seguente viene utilizzata la variazione differenziata sul fronte di
salita, in modo che il contenuto di D00101 e D00100 venga incrementato di 1
soltanto quando CIO 000000 è passato da OFF a ON.
: Esecuzione di @++L(591)
Incremento Incremento
396
Istruzioni di incremento e decremento Capitolo 3-10
Simbolo programmazione
ladder − −(592)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON – – (592)
Eseguita una sola volta per differenziazione @– – (592)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Wd Wd
397
Istruzioni di incremento e decremento Capitolo 3-10
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON se il contenuto di Wd è 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON se una cifra in Wd è passata da 0 a F durante
l'esecuzione.
OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 di Wd è ON dopo l'esecuzione.
OFF in tutti gli altri casi.
: Esecuzione di − − (592)
Funzionamento di @– –(592)
Nell'esempio seguente viene utilizzata la variazione differenziata sul fronte di
salita, in modo che il contenuto di D00100 venga decrementato di 1 soltanto
quando CIO 000000 è passato da OFF a ON.
: Esecuzione di @− − (592)
Decremento Decremento
398
Istruzioni di incremento e decremento Capitolo 3-10
Simbolo programmazione
ladder − −L(593)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON – –L(593)
Eseguita una sola volta per differenziazione @– –L(593)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice Da IR0 a IR15
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
399
Istruzioni di incremento e decremento Capitolo 3-10
Wd+1 Wd Wd+1 Wd
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON se il risultato è 0000 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON se una cifra in Wd+1 o Wd è passata da 0 a F durante
l'esecuzione.
OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 di Wd+1 è ON dopo l'esecuzione.
OFF in tutti gli altri casi.
: Esecuzione di − −L(593)
Funzionamento di @– –L(593)
Nell'esempio seguente viene utilizzata la variazione differenziata sul fronte di
salita, in modo che il contenuto di D00101 e D00100 venga decrementato di 1
soltanto quando CIO 000000 è passato da OFF a ON.
Decrementato solo
per differenziazione
@ − −L Wd+1: D00101 Wd: D00100 Wd+1: D00101 Wd: D00100
−1
: Esecuzione di @ − −L(593)
Decremento Decremento
400
Istruzioni di incremento e decremento Capitolo 3-10
Simbolo programmazione
ladder ++B(594)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ++B(594)
Eseguita una sola volta per differenziazione @++B(594)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in BCD Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
401
Istruzioni di incremento e decremento Capitolo 3-10
Wd Wd
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di Wd non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON se il contenuto di Wd è 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON se è una cifra in Wd è passata da 9 a 0 durante
l'esecuzione.
OFF in tutti gli altri casi.
: Esecuzione di ++B(594)
Funzionamento di @++B(594)
Nell'esempio seguente viene utilizzata la variazione differenziata sul fronte di
salita, in modo che il contenuto di D00100 venga incrementato di 1 soltanto
quando CIO 000000 è passato da OFF a ON.
: Esecuzione di @++B(594)
Incremento Incremento
402
Istruzioni di incremento e decremento Capitolo 3-10
Simbolo programmazione
ladder ++BL(595)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ++BL(595)
Eseguita una sola volta per differenziazione @++BL(595)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in BCD Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
403
Istruzioni di incremento e decremento Capitolo 3-10
Wd+1 Wd Wd+1 Wd
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di Wd+1 e Wd non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON se una cifra in Wd+1 o Wd è passata da 9 a 0 durante
l'esecuzione.
OFF in tutti gli altri casi.
: Esecuzione di ++BL(595)
Funzionamento di @++BL(595)
Nell'esempio seguente viene utilizzata la variazione differenziata sul fronte di
salita, in modo che il contenuto BCD di D00101 e D00100 venga
incrementato di 1 soltanto quando CIO 000000 è passato da OFF a ON.
Incrementato solo per
differenziazione sul fronte di salita
@++BL
Wd+1: D00101 Wd: D00100 Wd+1: D00101 Wd: D00100
: Esecuzione di @++BL(595)
Incremento Incremento
404
Istruzioni di incremento e decremento Capitolo 3-10
Simbolo programmazione
ladder − −B(596)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON – –B(596)
Eseguita una sola volta per differenziazione @– –B(596)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in BCD Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
405
Istruzioni di incremento e decremento Capitolo 3-10
Wd −1 Wd
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di Wd non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON se il contenuto di Wd è 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON se una cifra in Wd è passata da 0 a 9 durante
l'esecuzione.
OFF in tutti gli altri casi.
: Esecuzione di − − B(596)
Funzionamento di @– –B(596)
Nell'esempio seguente viene utilizzata la variazione differenziata sul fronte di
salita, in modo che il contenuto BCD di D00100 venga decrementato di 1
soltanto quando CIO 000000 è passato da OFF a ON.
: Esecuzione di @− − B(596)
Decremento Decremento
406
Istruzioni di incremento e decremento Capitolo 3-10
Simbolo programmazione
ladder − −BL(597)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON – –BL(597)
Eseguita una sola volta per differenziazione @– –BL(597)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in BCD Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione L'istruzione – –BL(597) sottrae 1 dal contenuto BCD a 8 cifre di Wd+1 e Wd. Il
contenuto dei canali specificati verrà decrementato di 1 ad ogni ciclo finché la
condizione di esecuzione di – –BL(597) è ON. Quando viene utilizzata la
variazione sul fronte di salita di questa istruzione (@– –BL(597)), il contenuto
407
Istruzioni di incremento e decremento Capitolo 3-10
Wd+1 Wd Wd+1 Wd
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di Wd+1 e Wd non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON se una cifra in Wd+1 o Wd è passata da 0 a 9 durante
l'esecuzione.
OFF in tutti gli altri casi.
: Esecuzione di − −BL(597)
Funzionamento di @– –BL(597)
Nell'esempio seguente viene utilizzata la variazione differenziata sul fronte di
salita, in modo che il contenuto BCD di D00101 e D00100 venga
decrementato di 1 soltanto quando CIO 000000 è passato da OFF a ON.
Decrementato solo per
differenziazione sul fronte di salita
@− −BL Wd+1: D00101 Wd: D00100 Wd+1: D00101 Wd: D00100
−1
: Esecuzione di @− − BL(597)
Decremento Decremento
408
Istruzioni matematiche con simboli Capitolo 3-11
409
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder +(400)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON +(400)
Eseguita una sola volta per differenziazione @+(400)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Au Ad R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
410
Istruzioni matematiche con simboli Capitolo 3-11
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato dell'addizione produce un riporto.
OFF in tutti gli altri casi.
Flag di overflow OF ON quando il risultato della somma di due numeri positivi
è compreso nell'intervallo da 8000 a FFFF esadecimale.
OFF in tutti gli altri casi.
flag di underflow UF ON quando il risultato della somma di due numeri negativi
è compreso nell'intervallo da 0000 a 7FFF esadecimale.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è 1.
OFF in tutti gli altri casi.
411
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder +L(401)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON +L(401)
Eseguita una sola volta per differenziazione @+L(401)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Au Ad R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice Da IR0 a IR15
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
412
Istruzioni matematiche con simboli Capitolo 3-11
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato dell'addizione produce un riporto.
OFF in tutti gli altri casi.
Flag di overflow OF ON quando il risultato della somma di due numeri positivi
è compreso nell'intervallo da 80000000 a FFFFFFFF
esadecimale.
OFF in tutti gli altri casi.
flag di underflow UF ON quando il risultato della somma di due numeri negativi
è compreso nell'intervallo da 00000000 a 7FFFFFFF
esadecimale.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è 1.
OFF in tutti gli altri casi.
Esempi Quando CIO 000000 è ON, D00100 e D00101 verranno sommati a D00110 e
D00111 come valori binari a 8 cifre con segno e il risultato verrà inviato a
D00120 e a D00121.
413
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder +C(402)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON +C(402)
Eseguita una sola volta per differenziazione @+C(402)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Au Ad R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
414
Istruzioni matematiche con simboli Capitolo 3-11
+ CY
Il flag CY viene
attivato in pre- CY R (Binario con segno)
senza di riporto.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato dell'addizione è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato dell'addizione produce un riporto.
OFF in tutti gli altri casi.
Flag di overflow OF ON quando il risultato della somma di due numeri positivi
e CY è compreso nell'intervallo da 8000 a FFFF
esadecimale.
OFF in tutti gli altri casi.
flag di underflow UF ON quando il risultato della somma di due numeri negativi
e CY è compreso nell'intervallo da 0000 a 7FFF
esadecimale.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è 1.
OFF in tutti gli altri casi.
Esempi Quando CIO 000000 è ON, D00100, D00110 e CY verranno aggiunti come
valori binari a 4 cifre con segno e il risultato verrà inviato a D00220.
415
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder +CL(403)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON +CL(403)
Eseguita una sola volta per differenziazione @+CL(403)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Au Ad R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
416
Istruzioni matematiche con simboli Capitolo 3-11
Il flag CY vie- + CY
ne attivato in
presenza di (Binario con segno)
riporto. CY R+1 R
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato produce un riporto.
OFF in tutti gli altri casi.
Flag di overflow OF ON quando il risultato della somma di due numeri positivi
e CY è compreso nell'intervallo da 80000000 a
FFFFFFFF esadecimale.
OFF in tutti gli altri casi.
flag di underflow UF ON quando il risultato della somma di due numeri negativi
e CY è compreso nell'intervallo da 00000000 a
7FFFFFFF esadecimale.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è 1.
OFF in tutti gli altri casi.
417
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder +B(404)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON +B(404)
Eseguita una sola volta per differenziazione @+B(404)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Au Ad R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da 0000 a 9999 ---
(BCD)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
418
Istruzioni matematiche con simboli Capitolo 3-11
+ Ad (BCD)
Il flag CY
viene attivato
in presenza di CY R (BCD)
riporto.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando Au non è in formato BCD.
ON quando Ad non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato dell'addizione produce un riporto.
OFF in tutti gli altri casi.
Simbolo programmazione
ladder +BL(405)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON +BL(405)
Eseguita una sola volta per differenziazione @+BL(405)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
419
Istruzioni matematiche con simboli Capitolo 3-11
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Au Ad R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #99999999 ---
(BCD)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Ad+1 Ad (BCD)
+
Il flag CY
viene attivato
in presenza di CY R+1 R (BCD)
riporto.
Flag
Nome Eti- Operazione
chetta
Flag di ER ON quando il contenuto di Au, Au +1 non è in formato BCD.
errore ON quando il contenuto di Ad, Ad +1 non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di CY ON quando il risultato dell'addizione produce un riporto.
riporto OFF in tutti gli altri casi.
420
Istruzioni matematiche con simboli Capitolo 3-11
Avvertenze Se Au, Au +1 o Ad, Ad +1 non sono in formato BCD, verrà generato un errore
e verrà attivato il flag di errore.
Se come risultato dell'addizione il contenuto di R, R +1 è 00000000
esadecimale, verrà attivato il flag di uguaglianza.
Se un'addizione produce come risultato un riporto, verrà attivato il flag di riporto.
Esempi Quando nell'esempio seguente CIO 000000 è ON, D00101, D00100, D00111
e D110 verranno aggiunti come valori BCD a 8 cifre e il risultato verrà inviato
a D00121 e a D00120.
Simbolo programmazione
ladder +BC(406)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON +BC(406)
Eseguita una sola volta per differenziazione @+BC(406)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Au Ad R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
421
Istruzioni matematiche con simboli Capitolo 3-11
Area Au Ad R
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a 9999 ---
(BCD)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Au (BCD)
Ad (BCD)
+ CY
Il flag CY
viene attivato
in presenza di CY R (BCD)
riporto.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando Au non è in formato BCD.
ON quando Ad non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato dell'addizione produce un riporto.
OFF in tutti gli altri casi.
422
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder +BCL(407)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON +BCL(407)
Eseguita una sola volta per differenziazione @+BCL(407)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Au Ad R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #99999999 ---
(BCD)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
423
Istruzioni matematiche con simboli Capitolo 3-11
Au +1 Au (BCD)
Ad+1 Ad (BCD)
+ CY
Il flag CY
viene attivato
CY R+1 R (BCD)
in presenza di
riporto.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando il contenuto di Au, Au +1 non è in formato BCD.
ON quando il contenuto di Ad, Ad +1 non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato dell'addizione produce un riporto.
OFF in tutti gli altri casi.
Avvertenze Se Au, Au +1 o Ad, Ad +1 non sono in formato BCD, verrà generato un errore
e verrà attivato il flag di errore.
Se come risultato dell'addizione il contenuto di R, R +1 è 00000000
esadecimale, verrà attivato il flag di uguaglianza.
Se un'addizione produce come risultato un riporto, verrà attivato il flag di riporto.
Nota Per cancellare il flag di riporto (CY), eseguire l'istruzione CLEAR CARRY
(CLC(041)).
Simbolo programmazione
ladder −(410)
424
Istruzioni matematiche con simboli Capitolo 3-11
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON –(410)
Eseguita una sola volta per differenziazione @–(410)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Mi Su R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D0000 a D4095
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
425
Istruzioni matematiche con simboli Capitolo 3-11
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato della sottrazione produce un prestito.
OFF in tutti gli altri casi.
Flag di overflow OF ON quando il risultato della sottrazione di un numero
negativo da un numero positivo è compreso nell'intervallo
da 8000 a FFFF esadecimale.
OFF in tutti gli altri casi.
flag di underflow UF ON quando il risultato della sottrazione di un numero
negativo da un numero positivo è compreso nell'intervallo
da 0000 a 7FFF esadecimale.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è 1.
OFF in tutti gli altri casi.
Esempi Quando nell'esempio seguente CIO 000000 è ON, D00110 verrà sottratto da
D00100 come valore binario a 4 cifre con segno e il risultato verrà inviato a
D00120.
Simbolo programmazione
ladder −L(411)
426
Istruzioni matematiche con simboli Capitolo 3-11
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON –L(411)
Eseguita una sola volta per differenziazione @–L(411)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Mi Su R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice Da IR0 a IR15
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
427
Istruzioni matematiche con simboli Capitolo 3-11
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato della sottrazione produce un prestito.
OFF in tutti gli altri casi.
Flag di overflow OF ON quando il risultato della sottrazione di un numero
negativo da un numero positivo è compreso nell'intervallo
da 80000000 a FFFFFFFF esadecimale.
OFF in tutti gli altri casi.
flag di underflow UF ON quando il risultato della sottrazione di un numero
positivo da un numero negativo è compreso nell'intervallo
da 00000000 a 7FFFFFFF esadecimale.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è 1.
OFF in tutti gli altri casi.
−L
FFFF esadecimale
0001 esad- −1 65535 Nota 1. Poiché il flag negativo è ON, il risultato (FFFE
−) ecimale −) +1 −) 1 esadecimale) è un valore negativo (complemento a 2) e
−2 Nota 1 perciò è −2.
65534 Nota 2
FFFE esadecimale 2. Poiché il flag di riporto è OFF, il risultato (FFFE
Flag negativo ON esadecimale) è un valore positivo senza segno di
65534.
Flag di riporto OFF
FFFD esadecimale
FFFF −3 65533 3. Poiché il flag negativo è ON, il risultato (FFFE
−) esadecimale −) −1 −) 65535 esadecimale) è un valore negativo (complemento a 2) e
perciò è −2.
FFFE −2 Nota 3 65534 Nota 4
esadecimale 4. Poiché il flag di riporto è ON, il risultato (FFFE
esadecimale) è un valore negativo (complemento a 2) e
Flag negativo ON diventa −2 quando viene convertito in un valore effettivo.
Flag di riporto OFF
−L (1)
0200
0120
D00100
CY
−L (2)
#00000000
D00100
D00100
CY
SET "−"Visualizza
002100
Sottrazione a 1
Mi+1: CIO 0201 Mi: CIO 0200
2 0 F 5 5 A 1 0
Il flag di riporto (CY) è ON, quindi il risultato viene sottratto da 0000 0000 per
ottenere il numero effettivo.
429
Istruzioni matematiche con simboli Capitolo 3-11
Sottrazione a 2
0 0 0 0 0 0 0 0
Simbolo programmazione
ladder −C(412)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON –C(412)
Eseguita una sola volta per differenziazione @–C(412)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Mi Su R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
430
Istruzioni matematiche con simboli Capitolo 3-11
Area Mi Su R
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
– CY
Il flag CY
viene attivato
in presenza di CY R (Binario con segno)
prestito.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato della sottrazione è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato della sottrazione produce un
prestito.
OFF in tutti gli altri casi.
Flag di overflow OF ON quando il risultato della sottrazione di un numero
negativo e CY da un numero positivo è compreso
nell'intervallo da 8000 a FFFF esadecimale.
OFF in tutti gli altri casi.
flag di underflow UF ON quando il risultato della sottrazione di un numero
positivo e CY da un numero negativo è compreso
nell'intervallo da 0000 a 7FFF esadecimale.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è 1.
OFF in tutti gli altri casi.
431
Istruzioni matematiche con simboli Capitolo 3-11
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON –CL(413)
Eseguita una sola volta per differenziazione @–CL(413)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di pro- Aree di Subroutine Task ad interrupt
gramma a blocchi programma step
OK OK OK OK
Caratteristiche operando
Area Mi Su R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
432
Istruzioni matematiche con simboli Capitolo 3-11
Area Mi Su R
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
– CY
Il flag CY
viene attivato
in presenza di CY R+1 R (Binario con segno)
prestito.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato produce un prestito.
OFF in tutti gli altri casi.
Flag di overflow OF ON quando il risultato della sottrazione di un numero
negativo e CY da un numero positivo è compreso
nell'intervallo da 80000000 a FFFFFFFF esadecimale.
OFF in tutti gli altri casi.
flag di underflow UF ON quando il risultato della sottrazione di un numero
positivo e di CY da un numero negativo è compreso
nell'intervallo da 00000000 a 7FFFFFFF esadecimale.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è 1.
OFF in tutti gli altri casi.
433
Istruzioni matematiche con simboli Capitolo 3-11
434
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder –B(414)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON –B(414)
Eseguita una sola volta per differenziazione @–B(414)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di pro- Aree di Subroutine Task ad interrupt
gramma a blocchi programma step
OK OK OK OK
Caratteristiche operando
Area Mi Su R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da 0000 a 9999 ---
(BCD)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
435
Istruzioni matematiche con simboli Capitolo 3-11
– Su (BCD)
Il flag CY
viene attivato
in presenza di CY R (BCD)
prestito.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando Mi non è in formato BCD.
ON quando Su non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato della sottrazione produce un
prestito.
OFF in tutti gli altri casi.
Simbolo programmazione
ladder –BL(415)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON –BL(415)
Eseguita una sola volta per differenziazione @–BL(415)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
436
Istruzioni matematiche con simboli Capitolo 3-11
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Mi Su R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #99999999 ---
(BCD)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Su+1 Su (BCD)
–
Il flag CY
viene attivato
in presenza di CY R+1 R (BCD)
prestito.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando Mi e/o Mi +1 non sono in formato BCD.
ON quando Su e/o Su +1 non sono in formato BCD.
OFF in tutti gli altri casi.
437
Istruzioni matematiche con simboli Capitolo 3-11
Avvertenze Se Mi, Mi +1 e/o Su, Su +1 non sono in formato BCD, verrà generato un
errore e verrà attivato il flag di errore.
Se come risultato della sottrazione il contenuto di R, R +1 è 00000000
esadecimale, verrà attivato il flag di uguaglianza.
Se un'addizione produce come risultato un prestito, verrà attivato il flag di
riporto.
438
Istruzioni matematiche con simboli Capitolo 3-11
000000
RSET
002100
−BL (1)
0200
0120
D00100
CY
−BL (2)
#00000000
D00100
D00100
CY
SET "−"Visualizza
002100
Sottrazione a 1
Mi+1: CIO 0201 Mi: CIO 0200
0 9 5 8 3 9 6 0
Il flag di riporto (CY) è ON, quindi il risultato viene sottratto da 0000 0000.
Sottrazione a 2
0 0 0 0 0 0 0 0
439
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder –BC(416)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON –BC(416)
Eseguita una sola volta per differenziazione @–BC(416)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Mi Su R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a D32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #9999 ---
(BCD)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
440
Istruzioni matematiche con simboli Capitolo 3-11
Su (BCD)
– CY
Il flag CY
viene attivato (BCD)
in presenza di CY R
prestito.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando Mi non è in formato BCD.
ON quando Su non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato della sottrazione produce un
prestito.
OFF in tutti gli altri casi.
Simbolo programmazione
ladder –BCL(417)
441
Istruzioni matematiche con simboli Capitolo 3-11
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON –BCL(417)
Eseguita una sola volta per differenziazione @–BCL(417)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Mi Su R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #99999999 ---
(BCD)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Su+1 Su (BCD)
– CY
Il flag CY
viene attivato CY R+1 R (BCD)
in presenza di
prestito.
442
Istruzioni matematiche con simboli Capitolo 3-11
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando Mi e/o Mi +1 non sono in formato BCD.
ON quando Su e/o Su +1 non sono in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON quando il risultato della sottrazione produce un
prestito.
OFF in tutti gli altri casi.
Avvertenze Se Mi, Mi +1 e/o Su, Su +1 non sono in formato BCD, verrà generato un
errore e verrà attivato il flag di errore.
Se come risultato della sottrazione il contenuto di R, R +1 è 00000000
esadecimale, verrà attivato il flag di uguaglianza.
Se una sottrazione produce come risultato un prestito, verrà attivato il flag di
riporto.
Nota Per cancellare il flag di riporto (CY), eseguire l'istruzione CLEAR CARRY
(CLC(041)).
Simbolo programmazione
ladder *(420)
443
Istruzioni matematiche con simboli Capitolo 3-11
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON *(420)
Eseguita una sola volta per differenziazione @*(420)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Md Mr R
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6142
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 ad A959 Da A448 ad A958
Area del temporizzatore Da T0000 a T4095 Da T0000 a
T4094
Area del contatore Da C0000 a C4095 Da C0000 a
C4094
Area DM Da D00000 a D32767 Da D00000 a
D32766
Area EM senza banco Da E00000 a E32767 Da E00000 a
E32766
Area EM con banco Da En_00000 a En_32767 Da En_00000 a
(n = da 0 a C) En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
444
Istruzioni matematiche con simboli Capitolo 3-11
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è 1.
OFF in tutti gli altri casi.
Simbolo programmazione
ladder *L(421)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON *L(421)
Eseguita una sola volta per differenziazione @*L(421)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di pro- Aree di Subroutine Task ad interrupt
gramma a blocchi programma step
OK OK OK OK
Caratteristiche operando
Area Md Mr R
Area CIO Da CIO 0000 a CIO 6142 Da CIO 0000 a
CIO 6140
Area di lavoro Da W000 a W510 Da W000 a W508
Area bit di ritentività Da H000 a H510 Da H000 a H508
Area bit ausiliaria Da A000 ad A958 Da A448 ad A956
Area del temporizzatore Da T0000 a T4094 Da T0000 a
T4092
445
Istruzioni matematiche con simboli Capitolo 3-11
Area Md Mr R
Area del contatore Da C0000 a C4094 Da C0000 a
C4092
Area DM Da D00000 a D32766 Da D00000 a
D32764
Area EM senza banco Da E00000 a E32766 Da E00000 a
E32764
Area EM con banco Da En_00000 a En_32766 Da En_00000 a
(n = da 0 a C) En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è 1.
OFF in tutti gli altri casi.
446
Istruzioni matematiche con simboli Capitolo 3-11
Esempi Quando nell'esempio seguente CIO 000000 è ON, D00100, D00110, D00111
e D00110 verranno moltiplicati come valori esadecimali a 8 cifre con segno e
il risultato verrà inviato a D00121 e a D00120.
Simbolo programmazione
ladder *U(422)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON *U(422)
Eseguita una sola volta per differenziazione @*U(422)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Md Mr R
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6142
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 ad A959 Da A448 ad A958
Area del temporizzatore Da T0000 a T4095 Da T0000 a
T4094
Area del contatore Da C0000 a C4095 Da C0000 a
C4094
Area DM Da D00000 a D32767 Da D00000 a
D32766
Area EM senza banco Da E00000 a E32767 Da E00000 a
E32766
Area EM con banco Da En_00000 a En_32767 Da En_00000 a
(n = da 0 a C) En_32766
(n = da 0 a C)
447
Istruzioni matematiche con simboli Capitolo 3-11
Area Md Mr R
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_ 32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è 1.
OFF in tutti gli altri casi.
448
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder *UL(423)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON *UL(423)
Eseguita una sola volta per differenziazione @*UL(423)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Md Mr R
Area CIO Da CIO 0000 a CIO 6142 Da CIO 0000 a
CIO 6140
Area di lavoro Da W000 a W510 Da W000 a W508
Area bit di ritentività Da H000 a H510 Da H000 a H508
Area bit ausiliaria Da A000 ad A958 Da A448 ad A956
Area del temporizzatore Da T0000 a T4094 Da T0000 a
T4092
Area del contatore Da C0000 a C4094 Da C0000 a
C4092
Area DM Da D00000 a D32766 Da D00000 a
D32764
Area EM senza banco Da E00000 a E32766 Da E00000 a
E32764
Area EM con banco Da En_00000 a En_32766 Da En_00000 a
(n = da 0 a C) En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
449
Istruzioni matematiche con simboli Capitolo 3-11
Area Md Mr R
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è 1.
OFF in tutti gli altri casi.
Esempi Quando nell'esempio seguente CIO 000000 è ON, D00100, D00110, D00111
e D00110 verranno moltiplicati come valori binari a 8 cifre senza segno e il
risultato verrà inviato a D00123, D00122, D00121 e a D00120.
Simbolo programmazione
ladder *B(424)
450
Istruzioni matematiche con simboli Capitolo 3-11
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON *B(424)
Eseguita una sola volta per differenziazione @*B(424)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Md Mr R
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6142
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 ad A959 Da A448 ad A958
Area del temporizzatore Da T0000 a T4095 Da T0000 a
T4094
Area del contatore Da C0000 a C4095 Da C0000 a
C4094
Area DM Da D00000 a D32767 Da D00000 a
D32766
Area EM senza banco Da E00000 a E32767 Da E00000 a
E32766
Area EM con banco Da En_00000 a En_32767 Da En_00000 a
(n = da 0 a C) En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #9999 ---
(BCD)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Md (BCD)
× Mr (BCD)
R +1 R (BCD)
451
Istruzioni matematiche con simboli Capitolo 3-11
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando Md non è in formato BCD.
ON quando Mr non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Simbolo programmazione
ladder *BL(425)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON *BL(425)
Eseguita una sola volta per differenziazione @*BL(425)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Md Mr R
Area CIO Da CIO 0000 a CIO 6142 Da CIO 0000 a
CIO 6140
Area di lavoro Da W000 a W510 Da W000 a W508
Area bit di ritentività Da H000 a H510 Da H000 a H508
Area bit ausiliaria Da A000 ad A958 Da A448 ad A956
452
Istruzioni matematiche con simboli Capitolo 3-11
Area Md Mr R
Area del temporizzatore Da T0000 a T4094 Da T0000 a
T4092
Area del contatore Da C0000 a C4094 Da C0000 a
C4092
Area DM Da D00000 a D32766 Da D00000 a
D32764
Area EM senza banco Da E00000 a E32766 Da E00000 a
E32764
Area EM con banco Da En_00000 a En_32766 Da En_00000 a
(n = da 0 a C) En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #99999999 ---
(BCD)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Md + 1 Md (BCD)
× Mr + 1 Mr (BCD)
R +3 R +2 R+1 R (BCD)
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando Md e/o Md+1 non sono in formato BCD.
ON quando Mr e/o Mr +1 non sono in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Avvertenze Se il contenuto di Md, Md+1 e/o Mr, Mr+1 non è in formato BCD, verrà
generato un errore e verrà attivato il flag di errore.
Se come risultato della moltiplicazione il contenuto di R, R+1, R+2, R+3 è
00000000 esadecimale, verrà attivato il flag di uguaglianza.
453
Istruzioni matematiche con simboli Capitolo 3-11
Esempi Quando nell'esempio seguente CIO 000000 è ON, D00101, D00100, D00111
e D00110 verranno moltiplicati come valori BCD a 8 cifre senza segno e il
risultato verrà inviato a D00123, D00122, D00121 e a D00120.
Simbolo programmazione
ladder /(430)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON /(430)
Eseguita una sola volta per differenziazione @/(430)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Dd Dr R
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6142
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 ad A959 Da A448 ad A958
Area del temporizzatore Da T0000 a T4095 Da T0000 a
T4094
Area del contatore Da C0000 a C4095 Da C0000 a
C4094
Area DM Da D00000 a D32767 Da D00000 a
D32766
Area EM senza banco Da E00000 a E32767 Da E00000 a
E32766
Area EM con banco Da En_00000 a En_32767 Da En_00000 a
(n = da 0 a C) En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
454
Istruzioni matematiche con simboli Capitolo 3-11
Area Dd Dr R
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a Da #0001 a ---
#FFFF #FFFF
(binario) (binario)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione /(430) divide i valori binari con segno (16 bit) in Dd per quelli in Dr e invia il
risultato a R, R+1. Il quoziente viene inserito in R e il resto in R+1.
Resto Quoziente
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando il risultato è 0.
OFF in tutti gli altri casi.
Flag di = ON quando come risultato della divisione R corrisponde a
uguaglianza 0.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R è 1.
OFF in tutti gli altri casi.
Esempi Quando nell'esempio seguente CIO 000000 è ON, D00100 verrà diviso per
D00110 come valore binario a 4 cifre con segno, il quoziente verrà inviato a
D00120 e il resto a D00121.
455
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder /L(431)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON /L(431)
Eseguita una sola volta per differenziazione @/L(431)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Dd Dr R
Area CIO Da CIO 0000 a CIO 6142 Da CIO 0000 a
CIO 6140
Area di lavoro Da W000 a W510 Da W000 a W508
Area bit di ritentività Da H000 a H510 Da H000 a H508
Area bit ausiliaria Da A000 ad A958 Da A448 ad A956
Area del temporizzatore Da T0000 a T4094 Da T0000 a
T4092
Area del contatore Da C0000 a C4094 Da C0000 a
C4092
Area DM Da D00000 a D32766 Da D00000 a
D32764
Area EM senza banco Da E00000 a E32766 Da E00000 a
E32764
Area EM con banco Da En_00000 a En_32766 Da En_00000 a
(n = da 0 a C) En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a Da #00000001 a ---
#FFFFFFFF #FFFFFFFF
(binario) (binario)
Registri dati ---
456
Istruzioni matematiche con simboli Capitolo 3-11
Area Dd Dr R
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione /L(431) divide i valori binari con segno in Dd e Dd+1 per quelli contenuti in Dr
e Dr+1 e invia il risultato a R, R+1, R+2 e R+3. Il quoziente viene inviato a R e
R+1 e il resto a R+2 e R+3.
Resto Quoziente
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando il risultato è 0.
OFF in tutti gli altri casi.
Flag di = ON quando come risultato della divisione R+1, R
uguaglianza corrisponde a 0.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R+1, R è 1.
OFF in tutti gli altri casi.
Avvertenze Quando il resto del risultato R+3, R+2 è 0, verrà attivato il flag di errore.
Se come risultato della divisione il contenuto di R+1, R è 00000000
esadecimale, verrà attivato il flag di uguaglianza.
Se come risultato della divisione il contenuto del bit più a sinistra di R+1, R è
1, verrà attivato il flag negativo.
457
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder /U(432)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON /U(432)
Eseguita una sola volta per differenziazione @/U(432)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Dd Dr R
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6142
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 ad A959 Da A448 ad A958
Area del temporizzatore Da T0000 a T4095 Da T0000 a
T4094
Area del contatore Da C0000 a C4095 Da C0000 a
C4094
Area DM Da D00000 a D32767 Da D00000 a
D32766
Area EM senza banco Da E00000 a E32767 Da E00000 a
E32766
Area EM con banco Da En_00000 a En_32767 Da En_00000 a
(n = da 0 a C) En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a Da #0001 a ---
#FFFF #FFFF
(binario) (binario)
Registri dati Da DR0 a DR15 ---
458
Istruzioni matematiche con simboli Capitolo 3-11
Area Dd Dr R
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione /U(432) divide i valori binari senza segno in Dd per quelli in Dr e invia il
risultato a R e il resto a R+1.
Resto Quoziente
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando il risultato è 0.
OFF in tutti gli altri casi.
Flag di = ON quando come risultato della divisione R corrisponde a
uguaglianza 0.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R è 1.
OFF in tutti gli altri casi.
Avvertenze Se come risultato della divisione il contenuto di R+1 è 0, verrà attivato il flag di
errore.
Se come risultato della divisione il contenuto di R è 0000 esadecimale, verrà
attivato il flag di uguaglianza.
Se come risultato della divisione il contenuto del bit più a sinistra di R è 1,
verrà attivato il flag negativo.
Esempi Quando nell'esempio seguente CIO 000000 è ON, D00100 verrà diviso per
D00110 come valore binario a 4 cifre senza segno, il quoziente verrà inviato a
D00120 e il resto a D00121.
459
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder /UL(433)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON /UL(433)
Eseguita una sola volta per differenziazione @/UL(433)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Dd Dr R
Area CIO Da CIO 0000 a CIO 6142 Da CIO 0000 a
CIO 6140
Area di lavoro Da W000 a W510 Da W000 a W508
Area bit di ritentività Da H000 a H510 Da H000 a H508
Area bit ausiliaria Da A000 ad A958 Da A448 ad A956
Area del temporizzatore Da T0000 a T4094 Da T0000 a
T4092
Area del contatore Da C0000 a C4094 Da C0000 a
C4092
Area DM Da D00000 a D32766 Da D00000 a
D32764
Area EM senza banco Da E00000 a E32766 Da E00000 a
E32764
Area EM con banco Da En_00000 a En_32766 Da En_00000 a
(n = da 0 a C) En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a Da #00000001 a ---
#FFFFFFFF #FFFFFFFF
(binario) (binario)
Registri dati ---
460
Istruzioni matematiche con simboli Capitolo 3-11
Area Dd Dr R
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione /UL(433) divide i valori binari senza segno in Dd e Dd+1 per quelli contenuti in
Dr e Dr+1 e invia il quoziente a R, R+1 e il resto a R+2 e R+3.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando il risultato è 0.
OFF in tutti gli altri casi.
Flag di = ON quando come risultato della divisione R+1, R
uguaglianza corrisponde a 0.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R+1, R è 1.
OFF in tutti gli altri casi.
461
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder /B(434)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON /B(434)
Eseguita una sola volta per differenziazione @/B(434)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Dd Dr R
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6142
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 ad A959 Da A448 ad A958
Area del temporizzatore Da T0000 a T4095 Da T0000 a
T4094
Area del contatore Da C0000 a C4095 Da C0000 a
C4094
Area DM Da D00000 a D32767 Da D00000 a
D32766
Area EM senza banco Da E00000 a E32767 Da E00000 a
E32766
Area EM con banco Da En_00000 a En_32767 Da En_00000 a
(n = da 0 a C) En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #9999 Da #0001 a #9999 ---
(BCD) (BCD)
Registri dati Da DR0 a DR15 ---
462
Istruzioni matematiche con simboli Capitolo 3-11
Area Dd Dr R
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione /B(434) divide i valori BCD contenuti in Dd per quelli in Dr e invia il risultato a
R e il resto a R+1.
Dd (BCD)
÷ Dr (BCD)
R +1 R (BCD)
Resto Quoziente
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando Dd non è in formato BCD.
ON quando Dr non è in formato BCD.
ON quando il resto è 0.
OFF in tutti gli altri casi.
Flag di = ON quando R è 0.
uguaglianza OFF in tutti gli altri casi.
Esempi Quando nell'esempio seguente CIO 000000 è ON, D00100 verrà diviso per
D00110 come valori BCD a 4 cifre, il quoziente verrà inviato a D00120 e il
resto a D00120.
463
Istruzioni matematiche con simboli Capitolo 3-11
Simbolo programmazione
ladder /BL(435)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON /BL(435)
Eseguita una sola volta per differenziazione @/BL(435)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportate
sul fronte di discesa
Aggiornamento immediato Non supportate
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Caratteristiche operando
Area Dd Dr R
Area CIO Da CIO 0000 a CIO 6142 Da CIO 0000 a
CIO 6140
Area di lavoro Da W000 a W510 Da W000 a W508
Area bit di ritentività Da H000 a H510 Da H000 a H508
Area bit ausiliaria Da A000 ad A958 Da A448 ad A956
Area del temporizzatore Da T0000 a T4094 Da T0000 a
T4092
Area del contatore Da C0000 a C4094 Da C0000 a
C4092
Area DM Da D00000 a D32766 Da D00000 a
D32764
Area EM senza banco Da E00000 a E32766 Da E00000 a
E32764
Area EM con banco Da En_00000 a En_32766 Da En_00000 a
(n = da 0 a C) En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a Da #00000001 a ---
#99999999 #99999999
(BCD) (BCD)
Registri dati ---
464
Istruzioni di conversione Capitolo 3-12
Area Dd Dr R
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione /BL(435) divide i valori BCD in Dd e Dd+1 per quelli contenuti in Dr e Dr+1 e
invia il quoziente a R, R+1 e il resto a R+2 e R+3.
Dd + 1 Dd (BCD)
÷ Dr + 1 Dr (BCD)
R +3 R +2 R+1 R (BCD)
Resto Quoziente
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON quando il contenuto di Dd, Dd+1 non è in formato BCD.
ON quando il contenuto di Dr, Dr +1 non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Avvertenze Se il contenuto di Dd, Dd+1 e/o Dr, Dr+1 non è in formato BCD o se il
contenuto di Dr, Dr+1 è 0, verrà generato un errore e verrà attivato il flag di
errore.
Se come risultato della divisione il contenuto di R, R+1, è 00000000
esadecimale, verrà attivato il flag di uguaglianza.
465
Istruzioni di conversione Capitolo 3-12
Simbolo programmazione
ladder BIN(023)
S S: canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BIN(023)
Eseguita una sola volta per differenziazione @BIN(023)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
466
Istruzioni di conversione Capitolo 3-12
Area S R
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
(BCD) R (Binario)
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di S non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N OFF
R
×103 ×102 ×101 ×100 ×163 ×162 ×161 ×160
Simbolo programmazione
ladder BINL(058)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BINL(058)
Eseguita una sola volta per differenziazione @BINL(058)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
467
Istruzioni di conversione Capitolo 3-12
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione BINL(058) converte i dati BCD a 8 cifre in S e S+1 in dati a 8 cifre esadecimali
(binari a 32 bit) e scrive il risultato in R e in R+1.
S+1 S R+1 R
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di S+1 non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N OFF
R+1 R
0 0 0 3 0 D 7 2
x167 x166 x165 x164 x163 x162 x161 x160
R+1: D00201 R: D00200
Simbolo programmazione
ladder BCD(024)
S S: canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BCD(024)
Eseguita una sola volta per differenziazione @BCD(024)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
469
Istruzioni di conversione Capitolo 3-12
Area S R
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
(Binario) R (BCD)
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di S supera 270F (9999 decimale).
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000.
uguaglianza OFF in tutti gli altri casi.
R
×163 ×162 ×161 ×160 ×103 ×102 ×101 ×100
Simbolo programmazione
ladder
BCDL(059)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BCDL(059)
Eseguita una sola volta per differenziazione @BCDL(059)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
470
Istruzioni di conversione Capitolo 3-12
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di S e S+1 supera 05F5 E0FF
(9999 9999 decimale).
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Avvertenze Il contenuto di S+1 e S non deve superare 05F5 E0FF (9999 9999 decimale).
471
Istruzioni di conversione Capitolo 3-12
R+1 R
Simbolo programmazione
ladder NEG(160)
S S: canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON NEG(160)
Eseguita una sola volta per differenziazione @NEG(160)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
472
Istruzioni di conversione Capitolo 3-12
Area S R
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Nota Questa operazione, ossia l'inversione dello stato dei bit e l'aggiunta di 1,
equivale a sottrarre il contenuto di S da 0000.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON se il risultato è 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 del risultato è ON.
OFF in tutti gli altri casi.
473
Istruzioni di conversione Capitolo 3-12
Calcolo Sottrazione
effettivo equivalente
−)
Aggiunta di 1
Simbolo programmazione
ladder NEGL(161)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON NEGL(161)
Eseguita una sola volta per differenziazione @NEGL(161)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
474
Istruzioni di conversione Capitolo 3-12
Area S R
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Nota Questa operazione, ossia l'inversione dello stato dei bit e l'aggiunta di 1,
equivale a sottrarre il contenuto di S+1 e S da 0000 0000.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON se il risultato è 0000 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 di R+1 è ON.
OFF in tutti gli altri casi.
Calcolo Sottrazione
effettivo equivalente
−)
Aggiunta di 1
475
Istruzioni di conversione Capitolo 3-12
Simbolo programmazione
ladder SIGN(600)
S S: canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SIGN(600)
Eseguita una sola volta per differenziazione @SIGN(600)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 ad A959 Da A448 ad A958
Area del temporizzatore Da T0000 a T4095 Da T0000 a T4094
Area del contatore Da C0000 a C4095 Da C0000 a C4094
Area DM Da D00000 a D32767 Da D00000 a D32766
Area EM senza banco Da E00000 a E32767 Da E00000 a E32766
Area EM con banco Da En_00000 a En_32767 Da En_00000 a En_32766
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
476
Istruzioni di conversione Capitolo 3-12
Descrizione SIGN(600) converte il numero binario in S a 16 bit con segno nel numero
binario equivalente a 32 bit con segno e scrive il risultato in R+1 e in R.
La conversione viene eseguita copiando il contenuto di S in R e scrivendo
FFFF in R+1 se il bit 15 di S è 1 o 0000 in R+1 se il bit 15 di S è 0.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON se il risultato è 0000 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 di R+1 è ON.
OFF in tutti gli altri casi.
Simbolo programmazione
ladder MLPX(076)
S S: canale di origine
C C: canale di controllo
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MLPX(076)
Eseguita una sola volta per differenziazione @MLPX(076)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
477
Istruzioni di conversione Capitolo 3-12
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S C R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori ---
specificati
Registri dati Da DR0 a DR15 ---
478
Istruzioni di conversione Capitolo 3-12
Area S C R
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
l =1 (converte 2 cifre)
Decodifica da 4 a 16 bit
(il bit m di R viene impostato su ON)
R
R+1
R R R
R+1 R+1 R+1
R+2 R+2
R+3 R+3
Conversione da 8 a 25 bit
Quando la cifra più a sinistra di C è 1, MLPX(076) assume il valore del byte
specificato in S (da 00 a FF) e imposta su ON il bit corrispondente
nell'intervallo dei 16 canali del risultato. Tutti gli altri bit nei canali del risultato
verranno impostati su OFF. È possibile convertire fino a due byte.
479
Istruzioni di conversione Capitolo 3-12
C
l=1 (converte 2 byte)
R+1 16
R+14
R+15
R+16
R+17
R+30
R+31
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se C non è incluso negli intervalli specificati.
OFF in tutti gli altri casi.
480
Istruzioni di conversione Capitolo 3-12
S
C
Bit da 0 a 3: cifra di inizio (cifra 1)
R
C: # Bit da 4 a 7: numero di cifre (3 cifre)
Cifre
S: 0100
Conversione da 8 a 25 bit
Nell'esempio seguente, quando CIO 000000 è ON, MLPX(076) convertirà i 2
byte in S cominciando dal byte 1 (il byte più a sinistra), come indicato da C
(#1011). I bit corrispondenti in D00100-D00115 e D00116-D00131 verranno
impostati su ON.
S
C Bit da 0 a 3: byte di inizio (byte 1)
R C: #
Bit da 4 a 7: numero di byte (2 byte)
Byte 1 Byte 0
S: 0100
R:
481
Istruzioni di conversione Capitolo 3-12
Simbolo programmazione
ladder DMPX(077)
C C: canale di controllo
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DMPX(077)
Eseguita una sola volta per differenziazione @ DMPX(077)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Bit da codificare
0: bit più a sinistra (indirizzo di bit più alto)
1: bit più a destra (indirizzo di bit più basso)
Processo di conversione
0: da 16 a 4 bit (da canale a cifra)
1: da 256 a 8 bit (da intervallo di 16 canali a byte)
482
Istruzioni di conversione Capitolo 3-12
Caratteristiche operando
Area S R C
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959 Da A000 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- --- Solo valori
specificati
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
m l=1 (converte
2 canali)
Decodifica da 16 a 4 bit
(la posizione del bit più a
sinistra (m) viene scritta in R) Bit più a sinistra
Quando vengono convertite due o più cifre, DMPX(077) scriverà i valori nelle
cifre in R da destra verso sinistra e dopo avere raggiunto la cifra più a sinistra
tornerà a capo alla cifra più a destra, se necessario.
483
Istruzioni di conversione Capitolo 3-12
Nello schema riportato di seguito sono illustrati alcuni valori di esempio per C
e le conversioni da 16 a 4 bit prodotte.
C: #0011 C: #0030 C: #0013
C: #0032
C
l =0 (converte un Intervallo di 16 canali)
484
Istruzioni di conversione Capitolo 3-12
Quando vengono convertiti due o più byte, DMPX(077) scriverà i valori nei
byte in R da destra verso sinistra e tornerà a capo alla cifra più a destra se il
byte più a sinistra (byte 1) è stato specificato come byte di inizio.
Nello schema riportato di seguito sono illustrati alcuni valori di esempio per C
e le conversioni da 256 a 8 bit prodotte.
C: #1010 C: #1011
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se uno dei canali di origine contiene il valore 0000
esadecimale (nessun bit da codificare).
ON se C non è incluso negli intervalli specificati.
OFF in tutti gli altri casi.
Esempi Nell'esempio seguente, quando CIO 000000 è ON, DMPX(077) troverà i bit
più a sinistra impostati su ON in CIO 0100, CIO 0101 e in CIO 0102 e scriverà
queste posizioni nelle 3 cifre in R, cominciando con la cifra 1 (la seconda
cifra), come indicato da C (#0021).
485
Istruzioni di conversione Capitolo 3-12
S
R
C C: #
DMPX(077) trova i bit
ON più a sinistra.
S:
cifra di inizio
(cifra 1)
Cifre
R: D00100
Simbolo programmazione
ladder ASC(086)
S S: canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ASC(086)
Eseguita una sola volta per differenziazione @ASC(086)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
486
Istruzioni di conversione Capitolo 3-12
Numero cifra: 3 2 1 0
Caratteristiche operando
Area S Di D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori ---
specificati
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
487
Istruzioni di conversione Capitolo 3-12
Di
Prima cifra da convertire
Numero di
cifre (n+1)
Nota Per una tabella dei caratteri ASCII estesi, consultare l'Appendice A del
manuale CS/CJ-series Programming Consoles Operation Manual (W341).
Parità
È possibile specificare la parità dei dati ASCII per l'utilizzo nel controllo degli
errori durante le trasmissioni di dati. Il bit più a sinistra di ciascun carattere
ASCII verrà impostato automaticamente per pari, dispari o nessuna parità.
Quando l'impostazione è nessuna parità (0), il bit più a sinistra sarà sempre
zero. Quando l'impostazione è parità pari (1), il bit più a sinistra verrà
impostato in modo che il numero totale di bit ON sia pari. Quando
l'impostazione è parità dispari (2), il bit più a sinistra di ciascun carattere
ASCII verrà impostato in modo che vi sia un numero dispari di bit ON. Lo stato
del bit di parità non influisce sul significato del codice ASCII.
Esempi di parità pari:
Quando è regolato per parità pari, ASCII "31" (00110001) sarà "B1"
(10110001: bit di parità ON per creare un numero pari di bit ON); ASCII "36"
(00110110) sarà "36" (00110110: il bit di parità resta OFF poiché il numero di
bit ON è già pari).
Esempi di parità dispari:
Quando è regolato per parità dispari, ASCII "36" (00110110) sarà "B6"
(10110110: bit di parità ON per creare un numero dispari di bit ON); ASCII
"46" (01000110) sarà "46" (01000110: il bit di parità resta OFF poiché il
numero di bit ON è già dispari).
Esempi di Di
Quando vengono convertite due o più cifre, ASC(086) leggerà i byte in S da
destra verso sinistra, quindi tornerà a capo al byte più a destra, se necessario.
Nello schema riportato di seguito sono illustrati alcuni valori di esempio per Di
e le conversioni prodotte.
488
Istruzioni di conversione Capitolo 3-12
Cifra 3 Cifra 2 Cifra 1 Cifra 0 Cifra 3 Cifra 2 Cifra 1 Cifra 0 Cifra 3 Cifra 2 Cifra 1 Cifra 0
Più a sinistra Più a destra Più a sinistra Più a sinistra Più a destra
Più a destra Più a sinistra Più a destra
Di: #0130
Più a sinistra
Più a sinistra Più a destra
Più a destra
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di Di non è incluso negli intervalli
specificati.
OFF in tutti gli altri casi.
Esempio Nell'esempio seguente, quando CIO 000000 è ON, ASC(086) converte tre
cifre esadecimali in D00100 (cominciando con la cifra 1) nei corrispettivi
ASCII e scrive questi dati in D00200 e in D00201, cominciando con il byte più
a sinistra in D00200. In questo caso, un identificativo della cifra di #0121
specifica nessuna parità, il byte di inizio (per la scrittura) = byte più a sinistra,
il numero di cifre da leggere = 3 e la cifra di inizio (per la lettura) = cifra 1.
S
Di
D
Di: #
Numero di cifre
Cifra di inizio
Cifre
S: D00100
Byte di inizio
(byte più a sinistra)
D:
489
Istruzioni di conversione Capitolo 3-12
Simbolo programmazione
ladder HEX(162)
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON HEX(162)
Eseguita una sola volta per differenziazione @HEX(162)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
D: canale di destinazione
Le cifre esadecimali convertite vengono scritte in D da destra a sinistra,
cominciando con la prima cifra specificata. Tutte le cifre nel canale di
destinazione che non vengono sovrascritte con i dati convertiti resteranno
inalterate.
490
Istruzioni di conversione Capitolo 3-12
Caratteristiche operando
Area S Di D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori ---
specificati
Registri dati --- Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione HEX(162) interpreta il contenuto del canale o dei canali di origine come dati
ASCII che rappresentano le cifre esadecimali (da 0 a 9 e da A a F), converte
in valori esadecimali il numero specificato di byte e scrive i dati esadecimali
nel canale di destinazione, cominciando con la cifra specificata.
Se i canali di origine contengono dati che non corrispondono all'equivalente
ASCII delle cifre esadecimali, verrà generato un errore. Nella tabella
seguente sono riportate le cifre esadecimali e gli equivalenti ASCII, esclusi i
bit di parità.
Flag
Cifre esadecimali (4 bit) Equivalente ASCII (2 cifre esadecimali)
Da 0 a 9 Da 30 a 39
Da A a F Da 41 a 46
Nota Per una tabella dei caratteri ASCII estesi, consultare l'Appendice A del
manuale CS/CJ-series Programming Consoles Operation Manual (W341).
491
Istruzioni di conversione Capitolo 3-12
Parità
È possibile specificare la parità dei dati ASCII per l'utilizzo nel controllo degli
errori durante le trasmissioni di dati. In ciascun byte, il bit più a sinistra è il bit
di parità. Quando è impostata nessuna parità, il bit di parità dovrebbe sempre
essere zero, con parità pari lo stato del bit di parità dovrebbe dare come
risultato un numero pari di bit ON e con parità dispari lo stato del bit di parità
dovrebbe dare come risultato un numero dispari di bit ON.
Nella tabella seguente è illustrato il funzionamento di HEX(162) per ogni
impostazione di parità.
Impostazione parità Funzionamento di HEX(162)
(cifra più a sinistra di
Di)
Nessuna parità (0) L'istruzione HEX(162) verrà eseguita soltanto quando il bit
di parità è 0 in ogni byte. Se il bit di parità è diverso da zero,
verrà generato un errore.
Parità pari (1) L'istruzione HEX(162) verrà eseguita soltanto quando ogni
byte contiene un numero pari di bit ON. Se in un byte il
numero di bit ON è dispari, verrà generato un errore.
Parità dispari (2) L'istruzione HEX(162) verrà eseguita soltanto quando ogni
byte contiene un numero dispari di bit ON. Se in un byte il
numero di bit ON è pari, verrà generato un errore.
Esempi di Di
Quando vengono convertiti due o più byte, HEX(162) scriverà le cifre
convertite da destra verso sinistra nel canale di destinazione, quindi tornerà a
capo alla cifra più a destra, se necessario. Nello schema riportato di seguito
sono illustrati alcuni valori di esempio per Di e le conversioni prodotte.
Di: #0112 Di: #0030 Di: #0131
Più a sinistra Più a sinistra Più a destra Più a sinistra
Più a destra Più a sinistra Più a destra Più a sinistra Più a destra
Più a destra
492
Istruzioni di conversione Capitolo 3-12
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se si verifica un errore di parità nei dati ASCII.
ON se i dati ASCII nei canali di origine non equivalgono
alle cifre esadecimali.
ON se il contenuto di Di non è incluso negli intervalli
specificati.
OFF in tutti gli altri casi.
Avvertenze Verrà generato un errore e il flag di errore verrà attivato se si verifica un errore
di parità nei dati ASCII, se i dati ASCII nei canali di origine non equivalgono
alle cifre esadecimali o se il contenuto di Di non è incluso negli intervalli
specificati.
Esempi Nel seguente esempio, quando CIO 000000 è ON, HEX(162) convertirà i dati
ASCII in D00100 e D00101 in base alle impostazioni dell'identificativo della
cifra. D=#0121 specifica nessuna parità, il byte di inizio (per la lettura) = byte
più a sinistra, il numero di byte da leggere = 3 e la cifra di inizio (per la
scrittura) = cifra 1.
HEX(162) converte tre byte dei dati ASCII (3 caratteri), cominciando dal byte
più a sinistra di D00100, negli equivalenti esadecimali e scrive tali dati in
D00200, cominciando dalla cifra 1.
S
Di
D Di: #
Byte di inizio
(byte più a sinistra)
S:
Numero di cifre
D: D00200
493
Istruzioni di conversione Capitolo 3-12
S: D00100
Conversione
Cifra di inizio (cifra 1)
Simbolo programmazione
ladder LINE(063)
N N: numero di bit
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON LINE(063)
Eseguita una sola volta per differenziazione @LINE(063)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
494
Istruzioni di conversione Capitolo 3-12
Caratteristiche operando
Area S N D
Area CIO Da CIO 0000 a Da CIO 0000 a CIO 6143
CIO 6128
Area di lavoro Da W000 a W496 Da W000 a W511
Area bit di ritentività Da H000 a H496 Da H000 a H511
Area bit ausiliaria Da A000 a A944 Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a Da T0000 a T4095
T4080
Area del contatore Da C0000 a Da C0000 a C4095
C4080
Area DM Da D00000 a Da D00000 a D32767
D32752
Area EM senza banco Da E00000 a Da E00000 a E32767
E32752
Area EM con banco Da En_00000 a Da En_00000 a En_32767 (n = da 0 a
En_32752 C)
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a 000F ---
(binario) o da &0 a
&15
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
D 0 . . . 0 1 1 1
495
Istruzioni di conversione Capitolo 3-12
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se N non rientra nell'intervallo specificato 0000 - 000F.
OFF in tutti gli altri casi.
Flag di = ON se D è 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Esempio Nell'esempio seguente, quando CIO 000000 è ON, LINE(063) copia il bit 5 da
D00100 a D00115 nei 16 bit in D00200.
&5 N: #0005
S:
... ...
D: D00200
Simbolo programmazione
ladder COLM(064)
S S: canale di origine
N N: numero di bit
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON COLM(064)
Eseguita una sola volta per differenziazione @COLM(064)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
496
Istruzioni di conversione Capitolo 3-12
N: numero di bit
Specifica il numero di bit (da 0000 a 000F o da &0 a &15) che verranno
sovrascritti dal canale di origine.
Caratteristiche operando
Area S D N
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6128 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W496 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H496 Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A944 Da A000 a A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4080 T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4080 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32752 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32752 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32752 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a --- Da #0000 a
#FFFF #000F (binario) o
(binario) da &0 a &15
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
497
Istruzioni di conversione Capitolo 3-12
S 0 . . . . . . . 0 1 1 1
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
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se N non rientra nell'intervallo specificato 0000 - 000F.
OFF in tutti gli altri casi.
Flag di = ON se il bit N è 0 in tutti i 16 canali da D a D+15 dopo
uguaglianza l'esecuzione.
OFF in tutti gli altri casi.
Esempio Nell'esempio seguente, quando CIO 000000 è ON, COLM(064) copia i 16 bit
in D00200 (i bit da 00 a 15) nel bit 5 da D00100 a D00115.
S: D00200
D:
... ...
498
Istruzioni di conversione Capitolo 3-12
Simbolo programmazione
ladder BINS(470)
C C: canale di controllo
S S: canale di origine
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BINS(470)
Eseguita una sola volta per differenziazione @BINS(470)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area C S D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #0003 ---
(binario)
Registri dati Da DR0 a DR15
499
Istruzioni di conversione Capitolo 3-12
Area C S D
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione BINS(470) converte i dati BCD con segno in dati binari con segno.
Innanzitutto il formato e l'intervallo dei dati BCD con segno nel canale S
vengono controllati e confrontati con le impostazioni del canale di controllo
(C). Se i dati di origine sono corretti, i dati BCD con segno in S vengono
convertiti in dati binari con segno e inviati a D. Se i dati di origine non sono
corretti, viene attivato il flag di errore e l'istruzione non verrà eseguita.
500
Istruzioni di conversione Capitolo 3-12
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se C non rientra nell’intervallo specificato 0000 - 0003.
ON se C=0002 e la cifra più a sinistra di S è da A a E.
ON se C=0003 e la cifra più a sinistra di S è da B a E.
ON se il contenuto di S non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON se D è 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 di D è ON dopo l'esecuzione.
OFF in tutti gli altri casi.
D: D00200
FF85 Dati binari con segno
D: D00400
FAA7 Dati binari con segno
501
Istruzioni di conversione Capitolo 3-12
Simbolo programmazione
ladder BISL(472)
C C: canale di controllo
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BISL(472)
Eseguita una sola volta per differenziazione @BISL(472)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area C S D
Area CIO Da CIO 0000 a Da CIO 0000 a CIO 6142
CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 a A959 Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a Da T0000 a T4094
T4095
Area del contatore Da C0000 a Da C0000 a C4094
C4095
Area DM Da D00000 a Da D00000 a D32766
D32767
Area EM senza banco Da E00000 a Da E00000 a E32766
E32767
Area EM con banco Da En_00000 a Da En_00000 a En_32766
En_32767 (n = da 0 a C)
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #0003 ---
(binario)
502
Istruzioni di conversione Capitolo 3-12
Area C S D
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione BISL(472) converte i dati in formato BCD con segno in doppia precisione in
S+1 e in S in dati binari con segno in doppia precisione e scrive il risultato in
D+1 e in D. Innanzitutto il formato e l'intervallo dei dati BCD con segno nei
canali S+1 e S vengono controllati e confrontati con le impostazioni del canale
di controllo (C). Se i dati di origine sono corretti, i dati BCD con segno in S+1
e S vengono convertiti in dati binari con segno e inviati a D+1 e D. Se i dati di
origine non sono corretti, viene attivato il flag di errore e l'istruzione non verrà
eseguita.
503
Istruzioni di conversione Capitolo 3-12
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se C non rientra nell’intervallo specificato 0000 -
0003.
ON se C=0002 e la cifra più a sinistra di S+1 è da A a E.
ON se C=0003 e la cifra più a sinistra di S+1 è da B a E.
ON se il contenuto di S+1 e S non è in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON se D+1 contiene 0000 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 di D+1 è ON dopo l'esecuzione.
OFF in tutti gli altri casi.
Esempio Nell'esempio seguente, quando CIO 000000 è ON, il formato e l'intervallo dei
dati BCD doppi con segno in D00101 e in D00100 vengono controllati e
confrontati con il formato specificato nel canale di controllo (0002). Se i dati di
origine sono corretti, i dati BCD doppi con segno in D00101 e D00100
vengono convertiti in dati binari doppi con segno e inviati a D00201 e D00200.
S+1: D00101 S: D00100
F345 6789
Dati BCD doppi con segno
(–3.456.789)
504
Istruzioni di conversione Capitolo 3-12
Simbolo programmazione
ladder BCDS(471)
C C: canale di controllo
S S: canale di origine
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BCDS(471)
Eseguita una sola volta per differenziazione @BCDS(471)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
D: canale di destinazione
Contiene i dati BCD con segno convertiti. Per una spiegazione dei formati
BCD, consultare la descrizione fornita più avanti.
Caratteristiche operando
Area C S D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
505
Istruzioni di conversione Capitolo 3-12
Area C S D
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #0003 ---
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047,IR0 a, da –2048 a +2047,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione BCDS(471) converte i dati binari con segno in dati BCD con segno.
Innanzitutto i dati binari con segno nel canale S vengono controllati per
verificare che rientrino nell'intervallo valido del formato BCD con segno
specificato nel canale di controllo (C). Se i dati di origine sono corretti, i dati
binari con segno in S vengono convertiti in dati BCD con segno e inviati a D.
Se i dati di origine non sono corretti, viene attivato il flag di errore e l'istruzione
non verrà eseguita.
506
Istruzioni di conversione Capitolo 3-12
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se C non rientra nell’intervallo specificato 0000 - 0003.
ON se C=0000 e i dati di origine non rientrano negli
intervalli consentiti (FC19 - FFFF o 0000 - 03E7).
ON se C=0001 e i dati di origine non rientrano negli
intervalli consentiti (E0C1 - FFFF o 0000 - 1F3F).
ON se C=0002 e i dati di origine non rientrano negli
intervalli consentiti (FC19 - FFFF o 0000 - 270F).
ON se C=0003 e i dati di origine non rientrano negli
intervalli consentiti (F831 - FFFF o 0000 - 270F).
OFF in tutti gli altri casi.
Flag di = ON se D è 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se C=0000 o 0001 e il bit di segno del risultato è ON
dopo l'esecuzione.
ON se C=0002 e la cifra più a sinistra del risultato è F.
ON se C=0003 e la cifra più a sinistra del risultato è A o F.
OFF in tutti gli altri casi.
Simbolo programmazione
ladder BDSL(473)
C C: canale di controllo
507
Istruzioni di conversione Capitolo 3-12
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BDSL(473)
Eseguita una sola volta per differenziazione @BDSL(473)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Caratteristiche operando
Area C S D
Area CIO Da CIO 0000 a Da CIO 0000 a CIO 6142
CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 a A959 Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a Da T0000 a T4094
T4095
Area del contatore Da C0000 a Da C0000 a C4094
C4095
Area DM Da D00000 a Da D00000 a D32766
D32767
Area EM senza banco Da E00000 a Da E00000 a E32766
E32767
Area EM con banco Da En_00000 a Da En_00000 a En_32766
En_32767 (n = da 0 a C)
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #0003 ---
(binario)
Registri dati Da DR0 a DR15 ---
508
Istruzioni di conversione Capitolo 3-12
Area C S D
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione BDSL(473) converte dati binari con segno in doppia precisione in dati in
formato BCD con segno in doppia precisione. Innanzitutto i dati binari doppi
con segno in S+1 e S vengono controllati per verificare che rientrino
nell'intervallo valido del formato BCD con segno specificato nel canale di
controllo (C). Se i dati di origine sono corretti, i dati binari doppi con segno in
S+1 e S vengono convertiti in dati in formato BCD doppi con segno e inviati a
D+1 e D. Se i dati di origine non sono corretti, viene attivato il flag di errore e
l'istruzione non verrà eseguita.
509
Istruzioni di conversione Capitolo 3-12
Nella tabella seguente sono riportati i valori binari doppi con segno possibili
per ciascun formato BCD con segno. Se i dati di origine non rientrano
nell'intervallo ammesso per il formato BCD con segno specificato, si
verificherà un errore.
Impostazione Valori binari con segno Valori BCD con segno
C=0000 Da FF67 6981 a FFFF FFFF Da –999 9999 a –1
0000 0000 a 0098 967F Da 0 a 999 9999
C=0001 Da FB3B 4C01 a FFFF FFFF Da –7999 9999 a –1
0000 0000 a 04C4 B3FF Da 0 a 7999 9999
C=0002 Da FF67 6981 a FFFF FFFF Da –999 9999 a –1
0000Da 0000 0000 a 05F5 E0FF Da 0 a 9999 9999
C=0003 Da FECE D301 a FFFF FFFF Da –1999 9999 a –1
0000Da 0000 0000 a 05F5 E0FF Da 0 a 9999 9999
Flag
Nome Etichetta Operazione
Flag di ER ON se C non rientra nell’intervallo specificato 0000 - 0003.
errore ON se C=0000 e i dati di origine non sono inclusi
nell'intervallo:da
FF67 6981 a FFFF FFFF o da 0000 0000 a 0098 967F.
ON se C=0001 e i dati di origine non sono inclusi
nell'intervallo:da
FB3B 4C01 a FFFF FFFF o da 0000 0000 a 04C4 B3FF.
ON se C=0002 e i dati di origine non sono inclusi
nell'intervallo:da
FF67 6981 a FFFF FFFF o da 0000 0000 a 05F5 E0FF.
ON se C=0003 e i dati di origine non sono inclusi
nell'intervallo:da
FECE D301 a FFFF FFFF o da 0000 0000 a 05F5 E0FF.
OFF in tutti gli altri casi.
Flag di = ON se D è 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Flag N ON se C=0000 o 0001 e il bit di segno del risultato è ON
negativo dopo l'esecuzione.
ON se C=0002 e la cifra più a sinistra del risultato è F.
ON se C=0003 e la cifra più a sinistra del risultato è A o F.
OFF in tutti gli altri casi.
Esempio Nell'esempio seguente, quando CIO 000000 è ON, i dati binari doppi con
segno in D00101 e in D00100 vengono controllati e confrontati con il formato
specificato nel canale di controllo (0003). Se i dati di origine sono corretti, i
dati binari doppi con segno in D00101 e D00100 vengono convertiti in dati
BCD doppi con segno e inviati a D00201 e D00200.
510
Istruzioni di conversione Capitolo 3-12
Simbolo programmazione
ladder GRY(474)
S S: canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON GRY(474)
Eseguita una sola volta per differenziazione @GRY(474)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Risoluzione
0 bit o da 1 a F esadecimale (da 1 a 15 decimale)
0 esadecimale = definita dall'utente nei bit 12 - 15 di C+2.
Modalità di conversione
0 esadecimale = modalità binaria, 1 esadecimale = modalità BCD,
2 esadecimale = modalità 360°
Modalità operativa
0 esadecimale = conversione codice Gray binario
C+1
15 12 11 0
C+2
511
Istruzioni di conversione Capitolo 3-12
S: canale di origine
Contiene il codice Gray binario da convertire. L'intervallo deve essere
compreso entro il numero di bit determinato dalla risoluzione specificata nei
bit 00 - 03 di C. Verranno ignorati tutti i bit non inclusi nel numero di bit della
risoluzione specificata. Ad esempio, se la risoluzione specificata è 08
esadecimale e S contiene FFFF esadecimale, il codice Gray binario verrà
considerato come 00FF esadecimale.
Caratteristiche operando
Area C S D
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6142 CIO 6143 CIO 6142
Area di lavoro Da W000 a W510 Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H510 Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A000 a A959 Da A448 ad A958
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4094 T4095 T4094
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4094 C4095 C4094
Area DM Da D00000 a Da D00000 a Da D00000 a
D32766 D32767 D32766
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32766 E32767 E32766
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32766 En_32767 En_32766
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a ---
#FFFF
(binario)
Registri dati --- Da DR0 a DR15 ---
512
Istruzioni di conversione Capitolo 3-12
Area C S D
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione GRY(474) converte il codice Gray binario nel canale specificato in S alla
risoluzione definita in C, utilizzando una delle modalità di conversione
riportate di seguito (binaria, BCD, o 360°), specificata anch'essa in C, e
inserisce i risultati in D e in D+1.
Modalità di Funzione
conversione
Modalità binaria Il codice Gray binario viene convertito in dati binari compresi tra
0000 0000 e 0000 7FFF esadecimale. Vengono applicati l'offset
del punto zero e la compensazione del resto, quindi il risultato
viene inviato a D e D+1.
Modalità BCD Il codice Gray binario viene convertito in dati in formato BCD.
Vengono applicati l'offset del punto zero e la compensazione
del resto, i dati vengono convertiti in formato BCD da 0000 0000
a 0003 2767, quindi il risultato viene inviato a D e D+1.
Modalità 360° Il codice Gray binario viene convertito in dati in formato BCD.
Vengono applicati l'offset del punto zero e la compensazione
del resto, i dati vengono convertiti in formato BCD da 0000 0000
a 0000 3599 (incrementi da 0,0° a 359,9° in 0,1°), quindi il
risultato viene inviato a D e D+1.
513
Istruzioni di conversione Capitolo 3-12
Nota Se GRY(474) viene trasferita in una CPU che non supporta tale istruzione e il
programma viene letto da una console di programmazione, verrà visualizzato
un punto interrogativo "?" per GRY(474), ad indicare un'istruzione non valida.
Se GRY(474) viene eseguita con una condizione di esecuzione ON in una
CPU che non supporta tale istruzione, si verificherà un errore e l'esecuzione
del programma verrà interrotta.
■ Limitazioni su CX-Programmer
È possibile utilizzare l'istruzione GRY(474) soltanto con CX-Programmer
versione 3.2 o successiva.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i bit 12 - 15 di C non sono 0 esadecimale (modalità
operativa = conversione codice Gray binario).
ON se l'offset del punto zero in C+1 non rientra tra le
risoluzioni specificate (incluse le risoluzioni definite
dall'utente).
ON se i bit 04 - 07 di C non sono 0 esadecimale
(= modalità binaria), 1 esadecimale (= modalità BCD) o 2
esadecimale (= modalità 360°).
ON se la compensazione del resto encoder specificata
supera la risoluzione definita dall'utente quando i bit 00 -
03 di C sono 0 esadecimale (= risoluzione specificata
dall'utente).
ON se il valore binario convertito è inferiore alla
compensazione del resto encoder quando i bit 00 - 03 di C
sono 0 esadecimale (= risoluzione specificata dall'utente).
ON se il valore binario convertito è inferiore alla
risoluzione quando i bit 00 - 03 di C sono 0 esadecimale
(= risoluzione specificata dall'utente).
OFF in tutti gli altri casi.
Flag di = OFF in tutti i casi.
uguaglianza
Flag negativo N OFF in tutti i casi.
Esempi Nell'esempio seguente, quando CIO 000000 è ON, il codice Gray binario in
CIO 0010 verrà convertito in base alle impostazioni dei dati di controllo in
D00000 e D00002 e il risultato verrà inviato a D00200 e a D00201.
000000
GRY
C D00000
S 0010
D D00200
514
Istruzioni di conversione Capitolo 3-12
Risoluzione: 8 bit
Modalità di conversione: modalità binaria
Modalità operativa: conversione del codice Gray binario
Risoluzione: 10 bit
Modalità di conversione: modalità 360°
Modalità operativa: conversione del codice Gray binario
C+1: D00001 0151
Offset punto zero: 0151 esadecimale
515
Istruzioni di conversione Capitolo 3-12
516
Istruzioni logiche Capitolo 3-13
Simbolo programmazione
ladder ANDW(034)
I1 I1: ingresso 1
I2 I2: ingresso 2
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ANDW(034)
Eseguita una sola volta per differenziazione @ANDW(034)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area I1 I2 R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
517
Istruzioni logiche Capitolo 3-13
Area I1 I2 R
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R è 1.
OFF in tutti gli altri casi.
518
Istruzioni logiche Capitolo 3-13
Simbolo programmazione
ladder ANDL(610)
I1 I1: ingresso 1
I2 I2: ingresso 2
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ANDL(610)
Eseguita una sola volta per differenziazione @ANDL(610)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area I1 I2 R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
519
Istruzioni logiche Capitolo 3-13
Descrizione ANDL(610) assume un AND logico tra i dati specificati in I1, I1+1 e I2, I2+1
invia il risultato a R, R+1.
(I1, I1+1), (I2, I2+1) → (R, R+1)
I1, I1+1 I2, I2+1 R, R+1
1 1 1
1 0 0
0 1 0
0 0 0
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R è 1.
OFF in tutti gli altri casi.
Simbolo programmazione
ladder ORW(035)
I1 I1: ingresso 1
I2 I2: ingresso 2
520
Istruzioni logiche Capitolo 3-13
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ORW(035)
Eseguita una sola volta per differenziazione @ORW(035)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area I1 I2 R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a+2047, da ,IR0 a –2048 a+2047 ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
521
Istruzioni logiche Capitolo 3-13
I1 I2 R
0 1 1
0 0 0
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R è 1.
OFF in tutti gli altri casi.
Simbolo programmazione
ladder ORWL(611)
I1 I1: ingresso 1
I2 I2: ingresso 2
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ORWL(611)
Eseguita una sola volta per differenziazione @ORWL(611)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area I1 I2 R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
522
Istruzioni logiche Capitolo 3-13
Area I1 I2 R
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R è 1.
OFF in tutti gli altri casi.
523
Istruzioni logiche Capitolo 3-13
Simbolo programmazione
ladder XORW(036)
I1 I1: ingresso 1
I2 I2: ingresso 2
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON XORW(036)
Eseguita una sola volta per differenziazione @XORW(036)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area I1 I2 R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
524
Istruzioni logiche Capitolo 3-13
Area I1 I2 R
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R è 1.
OFF in tutti gli altri casi.
525
Istruzioni logiche Capitolo 3-13
Simbolo programmazione
ladder XORL(612)
I1 I1: ingresso 1
I2 I2: ingresso 2
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON XORL(612)
Eseguita una sola volta per differenziazione @XORL(612)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area I1 I2 R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
526
Istruzioni logiche Capitolo 3-13
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R è 1.
OFF in tutti gli altri casi.
527
Istruzioni logiche Capitolo 3-13
Simbolo programmazione
ladder XNRW(037)
I1 I1: ingresso 1
I2 I2: ingresso 2
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON XNRW(037)
Eseguita una sola volta per differenziazione @XNRW(037)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area I1 I2 R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
528
Istruzioni logiche Capitolo 3-13
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R è 1.
OFF in tutti gli altri casi.
Simbolo programmazione
ladder XNRL(613)
I1 I1: ingresso 1
I2 I2: ingresso 2
R R: canale del risultato
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON XNRL(613)
Eseguita una sola volta per differenziazione @XNRL(613)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
529
Istruzioni logiche Capitolo 3-13
Caratteristiche operando
Area I1 I2 R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W 510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R è 1.
OFF in tutti gli altri casi.
530
Istruzioni logiche Capitolo 3-13
Simbolo programmazione
ladder
COM(029)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON COM(029)
Eseguita una sola volta per differenziazione @COM(029)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
531
Istruzioni logiche Capitolo 3-13
Area Wd
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R è 1.
OFF in tutti gli altri casi.
532
Istruzioni logiche Capitolo 3-13
Simbolo programmazione
ladder COML(614)
Wd Wd: canale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON COML(614)
Eseguita una sola volta per differenziazione @COML(614)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Wd
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
533
Istruzioni matematiche speciali Capitolo 3-14
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER OFF
Flag di = ON quando il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra di R è 1.
OFF in tutti gli altri casi.
Simbolo programmazione
ladder ROTB(620)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ROTB(620)
Eseguita una sola volta per differenziazione @ROTB(620)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
534
Istruzioni matematiche speciali Capitolo 3-14
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142 Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 ad A958 Da A448 a A959
Area del temporizzatore Da T0000 a T4094 Da T0000 a T4095
Area del contatore Da C0000 a C4094 Da C0000 a C4095
Area DM Da D00000 a D32766 Da D00000 a D32767
Area EM senza banco Da E00000 a E32766 Da E00000 a E32767
Area EM con banco Da En_00000 a En_32766 Da En_00000 a En_32767
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione ROTB(620) calcola la radice quadrata del numero binario a 32 bit in S+1 ed S
e invia la parte intera del risultato in R. Il resto non intero viene eliminato.
S+1 S R
535
Istruzioni matematiche speciali Capitolo 3-14
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se il bit 15 di S+1 è 1 (ON).
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il contenuto di S+1 ed S è compreso tra
4000 0000 e 7FFF FFFF.
OFF in tutti gli altri casi.
Flag di underflow UF OFF
Flag negativo N OFF
1234
Simbolo programmazione
ladder ROOT(072)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ROOT(072)
Eseguita una sola volta per differenziazione @ROOT(072)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142 Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W510 Da W000 a W511
536
Istruzioni matematiche speciali Capitolo 3-14
Area S R
Area bit di ritentività Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 ad A958 Da A448 a A959
Area del temporizzatore Da T0000 a T4094 Da T0000 a T4095
Area del contatore Da C0000 a C4094 Da C0000 a C4095
Area DM Da D00000 a D32766 Da D00000 a D32767
Area EM senza banco Da E00000 a E32766 Da E00000 a E32767
Area EM con banco Da En_00000 a En_32766 Da En_00000 a En_32767
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#99999999
(BCD)
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione ROOT(072) calcola la radice quadrata del numero BCD a 8 cifre in S+1 ed S e
invia la parte intera del risultato in R. Il resto non intero viene eliminato.
S+1 S R
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati in S+1 ed S non sono in formato BCD.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000.
uguaglianza OFF in tutti gli altri casi.
Avvertenze Tutti gli operandi di questa istruzione (S+1, S ed R) vengono considerati come
valori BCD. Se i dati di ingresso sono in formato binario, utilizzare l’istruzione
ROTB(620).
537
Istruzioni matematiche speciali Capitolo 3-14
Troncate
538
Istruzioni matematiche speciali Capitolo 3-14
@BSET 1
@MOV 2
@ROOT 3
@MOV
@MOV
@MOVD
@MOVD
@INC
0000 0000
D00101 D00100
6 0 1 7 0 0 0 0
539
Istruzioni matematiche speciali Capitolo 3-14
D00101 D00100
6017 0000
60, 170, 000 = 7, 756,932…
D00100 Calcolo della radice quadrata
(resto eliminato)
7756
0000 0000
5. Il risultato del calcolo della radice quadrata è diviso per 100: la parte intera
viene scritta in CIO 0011 e il resto viene inviato in D00103.
D00102
7 7 5 6
Simbolo programmazione
ladder APR(069)
C C: canale di controllo
S S: dati di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON APR(069)
Eseguita una sola volta per differenziazione @APR(069)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
540
Istruzioni matematiche speciali Capitolo 3-14
Nota 1. I dati binari con segno e i dati a virgola mobile sono supportati solo dalle
CPU CS1-H, CJ1-H, CJ1M e CS1D.
2. Se C è un indirizzo del canale, APR(069) estrapola il valore Y per il valore
X di S in base a coordinate che formano segmenti di linea e che sono state
specificate precedentemente in una tabella che ha inizio in C. Per ulteriori
informazioni consultare la Descrizione qui di seguito.
Caratteristiche operando
Area C S R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
541
Istruzioni matematiche speciali Capitolo 3-14
Area C S R
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori specificati ---
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
542
Istruzioni matematiche speciali Capitolo 3-14
binario). Nelle CPU CS1-H, CJ1-H, CJ1M e CS1D i dati di origine possono
essere anche dati binari con segno o dati a virgola mobile.
Dati interi senza segno (binari o BCD)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
C 0 0 0 0 0
Se si utilizzano dati binari a 16 bit o dati BCD, i dati lineari a segmenti sono
contenuti nei canali compresi tra C+ 1 e C+2m+2. Se si utilizzano dati binari a
32 bit o dati a virgola mobile (solo per CPU CS1-H, CJ1-H e CJ1M), i dati
lineari a segmenti sono contenuti nei canali compresi tra C+ 1 e C+4m+4.
I bit compresi tra 00 e 07 contengono il numero(binario) di coordinate di linea
meno 1, m–1. I bit compresi tra 08 e 12 non vengono utilizzati. Il bit 13
specifica f(x)=f(S) o f(x)=f(Xm–S): OFF specifica f(x)=f(S) e ON specifica
f(x)=f(Xm–S). Il bit 14 determina il formato dell’uscita (BCD o binario): OFF
543
Istruzioni matematiche speciali Capitolo 3-14
Nota Le coordinate X devono essere in ordine crescente: X1 < X2 < ... < Xm.
Inserire tutti i valori di (Xn, Yn) come dati binari, indipendentemente dal
formato di dati specificato nel canale di controllo C.
Funzionamento della funzione di estrapolazione lineare
APR(069) elabora i dati di ingresso specificati in S con l’equazione seguente e
i dati lineari a segmenti (Xn, Yn) specificati nella tabella che ha inizio in C+1. Il
risultato viene inviato al canale o ai canali di destinazione specificato/i con D.
Y (dati binari)
Ymax
Y0
X0 Xmax
X (dati binari)
A B C
1. Per S < X0
Valore convertito = Y0
2. Per X0 ≤ S ≤ Xmax, se Xn < S < Xn+1
Valore convertito = Yn +[{Yn + 1 − Yn}/{Xn + 1 − Xn}] × [Dati di ingresso S −
X n}
544
Istruzioni matematiche speciali Capitolo 3-14
Y (dati binari)
Equazione:
Yn+1−Yn
f(Y)= Yn+
Xn+1−Xn (S−Xn)
Yn+1
Risultato
D del calcolo Yn+1−Yn
Yn
Xn+1−Xn
S−Xn
Dati di ingresso
3. Xmax < S
Valore convertito = Ymax
Nella tabella dei dati lineari a segmenti che ha inizio in C+1 è possibile
memorizzare fino a 256 endpoint. È possibile utilizzare i 5 tipi di dati di I/O
seguenti:
• dati BCD senza segno a 16 bit
• dati binari senza segno a 16 bit
• dati binari con segno a 16 bit (solo per CPU CS1-H, CJ1-H e CJ1M)
• dati binari con segno a 32 bit (solo per CPU CS1-H, CJ1-H e CJ1M)
• dati a virgola mobile in singola precisione (solo per CPU CS1-H, CJ1-H e
CJ1M)
Impostazione del formato dei dati nel canale di controllo C
• Dati BCD senza segno a 16 bit
I dati di ingresso e/o i dati di uscita possono essere dati BCD senza
segno a 16 bit. Inoltre è possibile impostare la funzione di estrapolazione
lineare per elaborare il valore specificato direttamente in S oppure Xm–S
(Xm è il valore massimo di X nei dati lineari a segmenti).
Nome dell’impostazione Bit in C Impostazione
Formato dei dati di ingresso (S) 15 0: binario
1: BCD
Formato dei dati di uscita (D) 14 0: binario
1: BCD
Forma dei dati di origine 13 0: elaborare S
1: elabora Xm–S
Specifica dei dati con segno per S e D 11 0: dati senza segno
Specifica della lunghezza dati per S e D 10 Non valida (fissata a 16 bit)
Specifica per la virgola mobile 09 0: dati interi
545
Istruzioni matematiche speciali Capitolo 3-14
• Dati binari con segno a 16 bit (solo per CPU CS1-H, CJ1-H, CJ1M e
CS1D)
Nome dell’impostazione Bit in C Impostazione
Formato dei dati di ingresso (S) 15 0: binario
Formato dei dati di uscita (D) 14 0: binario
Forma dei dati di origine 13 0
Specifica dei dati con segno per S e D 11 1: dati con segno
Specifica della lunghezza dati per S e D 10 0: dati binari con segno a 16
bit
Specifica per la virgola mobile 09 0: dati interi
• Dati binari con segno a 32 bit (solo per CPU CS1-H, CJ1-H, CJ1M e
CS1D)
Nome dell’impostazione Bit in C Impostazione
Formato dei dati di ingresso (S) 15 0: binario
Formato dei dati di uscita (D) 14 0: binario
Forma dei dati di origine 13 0
Specifica dei dati con segno per S e D 11 1: dati con segno
Specifica della lunghezza dati per S e D 10 1: dati binari con segno a 32
bit
Specifica per la virgola mobile 09 0: dati interi
546
Istruzioni matematiche speciali Capitolo 3-14
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se C è una costante maggiore di 0001.
ON se C è un indirizzo del canale ma le coordinate X non
sono in ordine crescente (X1 ≤ X2 ≤ ... ≤ Xm).
ON se C è un indirizzo del canale e i bit 9, 11 e 15 di C
indicano un ingresso BCD, ma S non è BCD.
ON se C è un indirizzo del canale e il bit 9 di C indica dati
a virgola mobile, ma S è una costante a singolo canale.
ON se C è 0000 o 0001 ma S non è BCD nell’intervallo tra
0000 e 0900.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 di R è ON.
OFF in tutti gli altri casi.
547
Istruzioni matematiche speciali Capitolo 3-14
• Yn = f(Xn), Y0 = f(X0)
• Assicurarsi che Xn–1 < Xn in tutti i casi.
• Indicare tutti i valori di (Xn, Yn) come dati binari.
Nell’esempio viene illustrato come costruire un’estrapolazione lineare con 12
coordinate. Da D00000 a D00026 (da C a C + (2 × 12 + 2)), il blocco dei dati è
correttamente ininterrotto. I dati di ingresso sono assunti da CIO 0010 e il
risultato viene inviato a CIO 0011.
Contenuto Coordinata Bit Bit
15 00
In questo caso, il canale di origine CIO 0010 contiene 0014; f(0014) = 0726
viene inviato a R, CIO 0011.
548
Istruzioni matematiche speciali Capitolo 3-14
$1F20
$0F00
(x,y)
$0726
$0402
X
(0,0)
$0005 $0014 $001A $05F0
549
Istruzioni matematiche speciali Capitolo 3-14
APR
C
Estrapolazione lineare della tabella
S
R
Ym
R
R+1 X: variazione dalla norma
Intervallo dei dati Y:
−2.147.483.648 … Se vengono impiegati dati binari
2.147.483.647 con segno a 32 bit, l’estrapolazione
lineare può utilizzare dati di origine
con segno.
Y0 0
X0
Xm
S
S+1
Dati binari con segno a
32 bit ad alta risoluzione Intervallo dei dati X: −2.147.483.648 … 2.147.483.647
550
Istruzioni matematiche speciali Capitolo 3-14
APR
C
S
Estrapolazione lineare della tabella
R
Ym
Y0
0
X0 Xm X: altezza del fluido
S
S+1
Dati a virgola mobile
ad alta risoluzione
Intervallo dei dati X:
−∞, −3,402823 × 1038 … −1,175494 × 10−38,
1,175494 × 10−38 … 3,402823 × 1038 o +∞
551
Istruzioni matematiche speciali Capitolo 3-14
Simbolo programmazione
ladder FDIV(079)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FDIV(079)
Eseguita una sola volta per differenziazione @FDIV(079)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Dd Dr R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
552
Istruzioni matematiche speciali Capitolo 3-14
Descrizione FDIV(079) divide il valore a virgola mobile in Dd e Dd+1 per quello contenuto
in Dr e Dr+1 e invia il risultato a R ed R+1.
Quoziente
R+1 R
Dr+1 Dr Dd+1 Dd
Per rappresentare i valori a virgola mobile, le sette cifre più a destra vengono
utilizzate per la mantissa e quella all’estrema per l’esponente. Osservare il
diagramma che segue. La cifra più a sinistra è compresa tra 0 ed F, gli
esponenti positivi tra 0 e 7 e quelli negativi tra 8 ed F (da 0 a –7). Le cifre
all’estrema destra devono essere in formato BCD.
Qui di seguito vengono forniti due ulteriori esempi di valori a virgola mobile:
6123 4567: 0,1234567 × 106 (6 = 0110 binario)
B123 4567: 0,1234567 × 10–3 (B = 1011 binario)
Nella tabella seguente vengono indicati i valori massimi e minimi consentiti.
Limite Esadecimale a 8 cifre Virgola mobile
Valore massimo 7999 9999 0,9999999 × 107
Valore minimo F000 0001 0,0000001 × 10–7
(divisore e dividendo)
Valore minimo F100 0000 0,1000000 × 10–7
(risultato)
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se la mantissa (7 cifre all'estrema sinistra) in Dd+1 e
Dd non è in formato BCD.
ON se la mantissa (7 cifre all'estrema sinistra) in Dr+1 e
Dr non è in formato BCD.
ON se il divisore (Dr+1 e Dr) è 0.
ON se il risultato non è compreso tra 0,1000000 × 10–7 e
0,9999999 × 107.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Avvertenze Il risultato viene espresso come valore a virgola mobile e quindi ha 7 cifre
significative. L’ottava cifra e quelle successive vengono eliminate.
Il risultato deve essere compreso tra 0,1000000 × 10–7 e 0,9999999 × 107.
553
Istruzioni matematiche speciali Capitolo 3-14
D00301 D00300
2 4 5 9 2 7 0 3 0.4592703 × 102
554
Istruzioni matematiche speciali Capitolo 3-14
@MOV
1
@MOV
@MOV
@MOV
@MOVD 3
@MOVD 4
@MOVD 5
@MOVD 6
@FDIV 7
3. MOVD(083) viene utilizzata per spostare le cifre dei canali di origine iniziali
nelle cifre appropriate nei formati a virgola mobile del doppio canale.
555
Istruzioni matematiche speciali Capitolo 3-14
D00000 D00001
3 4 5 2 0 0 7 9
D00101 D00100
4 3 4 5 2 0 0 0 0.3452000 × 104
÷ D00103 D00102
4 0 0 7 9 0 0 0 0.0079000 × 104
D00003 D00002
2 4 3 6 9 6 2 0 0.4369620 × 102
Simbolo programmazione
ladder BCNT(067)
N N: numero di canali
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BCNT(067)
Eseguita una sola volta per differenziazione @BCNT(067)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area N S R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
556
Istruzioni matematiche speciali Capitolo 3-14
Area N S R
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0001 a ---
#FFFF (in formato
binario) o da &1 a
&65.535
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione BCNT(067) conteggia il numero totale dei bit impostati su ON in tutti i canali
compresi tra S ed S+(N–1) e invia il risultato in R.
N canali
Conta il numero di
... bit impostati su ON.
S+(N-1) Risultato binario
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se N è 0000.
ON se il risultato supera FFFF.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000.
uguaglianza OFF in tutti gli altri casi.
000000
BCNT Conta il numero di bit
N &10 impostati su ON (35).
... ...
S D100
R D00100
R:D00100 23 esadecimale
(35 decimale)
557
Istruzioni matematiche a virgola mobile Capitolo 3-15
Formato dei dati I dati a virgola mobile esprimono numeri reali che utilizzano un segno, un
esponente e una mantissa. Quando i dati vengono sono in formato a virgola
mobile, viene applicata la formula seguente.
Numero reale = (–1)s 2e–127 (1.f)
s: segno
e: esponente
f: mantissa
558
Istruzioni matematiche a virgola mobile Capitolo 3-15
Il formato dei dati a virgola mobile è conforme agli standard IEEE754. I dati
vengono espressi in 32 bit, come indicato qui di seguito:
Segno Esponente Mantissa
s e f
31 30 23 22 0
Numero di cifre Il numero delle cifre effettive per i dati a virgola mobile è 24 bit per il formato
binario (approssimativamente sette cifre per il formato decimale).
Dati a virgola mobile I dati indicati qui di seguito possono essere espressi come dati a virgola
mobile:
• –∞
• –3,402823 x 1038 ≤ valore ≤ –1,402398 x 10–45
•0
• 1,402398 x 10–45 ≤ valore ≤ 3,402823 x 1038
• +∞
• Non un numero (NaN, Not a number)
-45 -45
−1.402398 x 10 1.402398 x 10
∞
- ∞ - 3.402823 x 1038 -1 0 1 3.402823 x 1038 +
Scrittura di dati a virgola Quando nella finestra di modifica della memoria di I/O di CX-Programmer
mobile viene specificato il formato dei dati a virgola mobile, i numeri decimali
standard inseriti nella finestra vengono convertiti automaticamente nel
formato a virgola mobile. Una volta monitorati nella finestra, i dati scritti nel
formato IEEE754 vengono convertiti automaticamente nel formato decimale
standard.
15 7 6 0
n f
n+1 s e
559
Istruzioni matematiche a virgola mobile Capitolo 3-15
Numeri normalizzati I numeri normalizzati esprimono numeri reali. Il bit di segno sarà 0 per un
numero positivo e 1 per un numero negativo.
L’esponente (e) è espresso con un valore compreso tra 1 e 254 e l’esponente
reale sarà inferiore di 127, ossia avrà un valore compreso tra –126 e 127.
La mantissa (f) viene espressa con un valore compreso tra 0 e 233 – 1 e si
suppone che nella mantissa reale il bit 233 sia pari a 1 e che la virgola binaria
sia nella posizione immediatamente successiva.
I numeri normalizzati sono espressi nel modo indicato qui di seguito:
(–1)(segno s) x 2(esponente e)–127 x (1 + mantissa x 2–23)
Esempio
31 30 23 22 0
1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Segno: –
Esponente: 128 – 127 = 1
Mantissa: 1 + (222 + 221) x 2–23 = 1 + (2–1 + 2–2) = 1 + 0,75 = 1,75
Valore: –1,75 x 21 = –3,5
Numeri non normalizzati I numeri non normalizzati esprimono numeri reali aventi valori assoluti molto
bassi. Il bit di segno sarà 0 per un numero positivo e 1 per un numero
negativo.
L’esponente (e) è 0 e l’esponente reale sarà –126.
La mantissa (f) viene espressa con un valore compreso tra 1 e 233 – 1 e si
suppone che nella mantissa reale il bit 233 sia pari a 0 e che la virgola binaria
sia nella posizione immediatamente successiva.
I numeri non normalizzati sono espressi nel modo indicato qui di seguito:
(–1)(segno s) x 2–126 x (1 + mantissa x 2–23)
Esempio
31 30 23 22 0
0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Segno: –
Esponente: –126
Mantissa: 0 + (222 + 221) x 2–23 = 0 + (2–1 + 2–2) = 0 + 0,75 = 0,75
Valore: –0,75 x 2–126
560
Istruzioni matematiche a virgola mobile Capitolo 3-15
NaN Un NaN viene prodotto quando il risultato dei calcoli, ad esempio 0,0/0,0, ∞/∞
o ∞–∞ non corrisponde a un numero o a infinito. L’esponente sarà 255 (28 – 1)
e la mantissa non sarà 0.
Nota Non vi sono specifiche per il segno del NaN o per il valore del campo della
mantissa, che comunque deve essere diverso da 0.
Overflow, Underflow e In base al segno del risultato, l’overflow viene inviato come infinito positivo o
calcoli illegali negativo. In base al segno del risultato, l’underflow viene inviato come zero
positivo o negativo.
I calcoli illegali producono risultati di tipo NaN. Tra i calcoli illegali vengono
incluse le seguenti operazioni: l’aggiunta di un numero con segno opposto, la
sottrazione di infinito da un numero con segno opposto, la moltiplicazione di
zero e infinito, la divisione di zero per zero o la divisione di infinito per infinito.
Se nella conversione di un numero a virgola mobile in un numero intero si
verifica un overflow, il valore del risultato potrebbe non essere corretto.
Avvertenze per la gestione Nelle operazioni con zero, infinito e NaN è necessario osservare quanto
dei valori speciali segue.
• La somma di zero positivo e zero negativo è zero positivo.
• La differenza tra zeri dello stesso segno è zero positivo.
• Se uno qualsiasi degli operandi è un NaN, il risultato sarà di tipo NaN.
• Lo zero positivo e lo zero negativo vengono considerati equivalenti nei
confronti.
• Le verifiche di confronto o di equivalenza su uno o più NaN saranno
sempre vere per != e sempre false per tutte le altre istruzioni.
561
Istruzioni matematiche a virgola mobile Capitolo 3-15
P (100, 100)
y
0 x
000000
(1)
D00000
D00200
D00001
D00201
D00200
D00202
D00201
D00204
(2)
D00202
D00202
D00206
D00204
D00204
D00208
D00206
D00208
D00210
D00210
D00212
(3)
D00204
D00202
D00214
D00214
D00216
D00216
D00218
(4)
D00212
D00220
D00218
D00221
D00220
D00100
D00221
D00101
562
Istruzioni matematiche a virgola mobile Capitolo 3-15
Calcoli Esempio
2 2 2 2
Distanza r = χ +y Distanza r = 100 + 100 = 141,4214
y 100
Angolo = tan-1 ( ) Angolo = tan-1 ( ) = 45.0
x 100
Contenuto DM
D00000 #0100 x D00100 0141 r
(BCD) (BCD)
D00001 #0100 y D00101 0045
(BCD) (BCD)
1. In questa sezione del programma vengono convertiti i dati dal formato
BCD al formato a virgola mobile.
a) L’area dati a partire da D00200 viene utilizzata coma area di lavoro.
b) In primo luogo BIN(023) viene utilizzata per convertire temporanea-
mente i dati dal formato BCD a quello binario; quindi FLT(452) serve
per convertire i dati dal formato binario a quello a virgola mobile.
c) Il valore di x convertito in dato a virgola mobile viene inviato a D00203
e D00202.
d) Il valore di y convertito in dato a virgola mobile viene inviato a D00205
e D00204.
2. Per trovare la distanza r, vengono utilizzate le istruzioni matematiche a
virgola mobile, che calcolano la radice quadrata di x2+y2. Il risultato viene
quindi inviato a D00213 e D00212 come dato a virgola mobile.
3. Per trovare l’angolo θ, vengono utilizzate le istruzioni matematiche a
virgola mobile, che calcolano tan–1 (y/x). ATAN(465) invia il risultato in
radianti; DEG(459) viene utilizzata per la conversione in gradi. Il risultato
viene quindi inviato a D00219 e D00218 come dato a virgola mobile.
4. I dati vengono quindi nuovamente convertiti dal formato a virgola mobile e
quello BCD.
a) In primo luogo FIX(450) viene utilizzata per convertire temporanea-
mente i dati dal formato a virgola mobile a quello binario; quindi
BCD(024) serve per convertire i dati dal formato binario a quello BCD.
b) La distanza viene inviata a D00100.
c) L’angolo θ viene inviato a D00101.
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FIX(450)
Eseguita una sola volta per differenziazione @FIX(450)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
563
Istruzioni matematiche a virgola mobile Capitolo 3-15
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142 Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 ad A958 Da A448 a A959
Area del temporizzatore Da T0000 a T4094 Da T0000 a T4095
Area del contatore Da C0000 a C4094 Da C0000 a C4095
Area DM Da D00000 a D32766 Da D00000 a D32767
Area EM senza banco Da E00000 a E32766 Da E00000 a E32767
Area EM con banco Da En_00000 a En_32766 Da En_00000 a En_32767
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione FIX(450) converte la parte intera del numero a virgola mobile a 32 bit in S+1
ed S (formato IEEE754) in un dato binario con segno a 16 bit e invia il
risultato a R.
Viene convertita solo la parte intera del dato a virgola mobile; la parte
frazionaria viene troncata La parte intera del dato a virgola mobile deve
essere compresa tra –32.768 e 32.767.
Conversioni di esempio
Un valore a virgola mobile di 3,5 viene convertito a 3.
Un valore a virgola mobile di –3,5 viene convertito a –3.
564
Istruzioni matematiche a virgola mobile Capitolo 3-15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati in S+1 ed S sono di tipo NaN.
ON se la parte intera di S+1 ed S non è compresa tra
–32.768 e 32.767.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 del risultato è ON.
OFF in tutti gli altri casi.
Simbolo programmazione
ladder FIXL(451)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FIXL(451)
Eseguita una sola volta per differenziazione @FIXL(451)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
565
Istruzioni matematiche a virgola mobile Capitolo 3-15
Area S R
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–()IR15
Descrizione FIXL(451) converte la parte intera del numero a virgola mobile a 32 bit in S+1
ed S (formato IEEE754) in un dato binario con segno a 32 bit e invia il
risultato a R+1 ed R.
Viene convertita solo la parte intera del dato a virgola mobile; la parte
frazionaria viene troncata (la parte intera del dato a virgola mobile deve
essere compresa tra –2.147.483.648 e 2.147.483.647).
Conversioni di esempio
Un valore a virgola mobile di 2.147.483.640,5 viene convertito a 2.147.483.640.
Un valore a virgola mobile di –214.748.340,5 viene convertito a –214.748.340.
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati in S+1 ed S sono di tipo NaN.
ON se la parte intera di S+1 ed S non è compresa tra
–2.147.483.648 e 2.147.483.647.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 di R+1 è ON dopo l'esecuzione.
OFF in tutti gli altri casi.
Simbolo programmazione
ladder FLT(452)
S S: canale di origine
566
Istruzioni matematiche a virgola mobile Capitolo 3-15
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FLT(452)
Eseguita una sola volta per differenziazione @FLT(452)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 a A959 Da A448 ad A958
Area del temporizzatore Da T0000 a T4095 Da T0000 a T4094
Area del contatore Da C0000 a C4095 Da C0000 a C4094
Area DM Da D00000 a D32767 Da D00000 a D32766
Area EM senza banco Da E00000 a E32767 Da E00000 a E32766
Area EM con banco Da En_00000 a En_32767 Da En_00000 a En_32766
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione FLT(452) converte il valore binario con segno a 16 bit in S in un dato a virgola
mobile a 32 bit (formato IEEE754) e invia il risultato a R+1 ed R. Nel risultato
a virgola mobile viene aggiunto un solo 0 dopo il decimale.
Per S è possibile specificare solo valori compresi tra –32.768 e 32.767. Per
convertire dati binari con segno esterni a tale intervallo, utilizzare FLTL(453).
567
Istruzioni matematiche a virgola mobile Capitolo 3-15
Conversioni di esempio
Un valore binario con segno di 3 viene convertito a 3,0.
Un valore binario con segno di –3 viene convertito a –3,0.
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER OFF
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze Il contenuto di S deve essere costituito da dati binari con segno con un valore
(decimale) compreso tra–32.768 e 32.767.
Simbolo programmazione
ladder FLTL(453)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FLTL(453)
Eseguita una sola volta per differenziazione @FLTL(453)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
568
Istruzioni matematiche a virgola mobile Capitolo 3-15
Area S R
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione FLTL(453) converte il valore binario con segno a 32 bit in S+1 ed S in un dato
a virgola mobile a 32 bit (formato IEEE754) e invia il risultato a R+1 ed R. Nel
risultato a virgola mobile viene aggiunto un solo 0 dopo il decimale.
Per S+1 ed S è possibile specificare dati binari con segno compresi tra
–2.147.483.648 e 2.147.483.647. Il valore a virgola mobile ha 24 cifre
binarie significative (bit). Se un numero maggiore di 16.777.215 (valore
massimo esprimibile con 24 bit) viene convertito da FLTL(453), il risultato
non sarà esatto.
Conversioni di esempio
Un valore binario con segno di 16.777.215 viene convertito a 16.777.215,0.
Un valore binario con segno di –16.777.215 viene convertito a –15.777.215,0.
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER OFF
Flag di = ON se esponente e mantissa del risultato sono entrambi
uguaglianza 0.
OFF in tutti gli altri casi.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
569
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder +F(454)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON +F(454)
Eseguita una sola volta per differenziazione @+F(454)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Au Ad R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
570
Istruzioni matematiche a virgola mobile Capitolo 3-15
Se il valore assoluto del risultato è maggiore del valore massimo che può
essere rappresentato come dato a virgola mobile, viene attivato il flag di
overflow e il risultato verrà inviato come ±∞.
Se il valore assoluto del risultato è minore del valore massimo che può essere
rappresentato come dato a virgola mobile, viene attivato il flag di underflow e
il risultato verrà inviato come 0.
Le diverse combinazioni per dati augendo e addendo producono i risultati
indicati nella tabella seguente.
Augendo
Addendo 0 Numerico +∞ –∞ NaN
0 0 Numerico +∞ –∞
Numerico Numerico Vedere nota +∞ –∞
1
+∞ +∞ +∞ +∞ Vedere nota
2
–∞ –∞ –∞ Vedere nota –∞
2
NaN Vedere nota
2
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati augendo o addendo non vengono riconosciuti
come dati a virgola mobile.
ON se i dati augendo o addendo sono di tipo NaN.
ON se vengono aggiunti +∞ e –∞.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di OF ON se il valore assoluto del risultato è troppo alto per potere
overflow essere espresso come valore a virgola mobile a 32 bit.
Flag di UF ON se il valore assoluto del risultato è troppo basso per
underflow potere essere espresso come valore a virgola mobile a 32 bit.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati augendo (Au+1 e Au) e addendo (Ad+1 e Ad) siano in
formato dati a virgola mobile IEEE754.
571
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder -F(455)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON –F(455)
Eseguita una sola volta per differenziazione @–F(455)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Mi Su R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
572
Istruzioni matematiche a virgola mobile Capitolo 3-15
Su
– Su+1 Sottraendo (dati a virgola mobile a 32 bit)
Se il valore assoluto del risultato è maggiore del valore massimo che può
essere rappresentato come dato a virgola mobile, viene attivato il flag di
overflow e il risultato verrà inviato come ±∞.
Se il valore assoluto del risultato è minore del valore massimo che può essere
rappresentato come dato a virgola mobile, viene attivato il flag di underflow e
il risultato verrà inviato come 0.
Le diverse combinazioni per dati minuendo e sottraendo producono i risultati
indicati nella tabella seguente.
Minuendo
Sottraendo 0 Numerico +∞ –∞ NaN
0 0 Numerico +∞ –∞
Numerico Numerico Vedere nota +∞ –∞
1
+∞ –∞ –∞ Vedere nota –∞
2
–∞ +∞ +∞ +∞ Vedere nota
2
NaN Vedere nota
2
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati minuendo o sottraendo non vengono
riconosciuti come dati a virgola mobile.
ON se i dati minuendo o sottraendo sono di tipo NaN.
ON se +∞ viene sottratto da +∞.
ON se –∞ viene sottratto da –∞.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo alto per
potere essere espresso come valore a virgola mobile a
32 bit.
Flag di UF ON se il valore assoluto del risultato è troppo basso per
underflow potere essere espresso come valore a virgola mobile a
32 bit.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati minuendo (Mi+1 e Mi) e sottraendo (Su+1 e Su) siano
in formato dati a virgola mobile IEEE754.
573
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder *F(456)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON *F(456)
Eseguita una sola volta per differenziazione @*F(456)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Md Mr R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
574
Istruzioni matematiche a virgola mobile Capitolo 3-15
Se il valore assoluto del risultato è maggiore del valore massimo che può
essere rappresentato come dato a virgola mobile, viene attivato il flag di
overflow e il risultato verrà inviato come ±∞.
Se il valore assoluto del risultato è minore del valore massimo che può essere
rappresentato come dato a virgola mobile, viene attivato il flag di underflow e
il risultato verrà inviato come 0.
Le diverse combinazioni per dati moltiplicando e moltiplicatore producono i
risultati indicati nella tabella seguente.
Moltiplicando
Moltiplica- 0 Numerico +∞ –∞ NaN
tore
0 0 0 Vedere nota Vedere nota
2 2
Numerico 0 Vedere nota +/–∞ +/–∞
1
+∞ Vedere nota +/–∞ +∞ –∞
2
–∞ Vedere nota +/–∞ –∞ +∞
2
NaN Vedere nota
2
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati moltiplicando o moltiplicatore non vengono
riconosciuti come dati a virgola mobile.
ON se i dati moltiplicando o moltiplicatore sono di tipo NaN.
ON se vengono moltiplicati +∞ e 0.
ON se vengono moltiplicati –∞ e 0.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo alto per
potere essere espresso come valore a virgola mobile a
32 bit.
Flag di UF ON se il valore assoluto del risultato è troppo basso per
underflow potere essere espresso come valore a virgola mobile a
32 bit.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
575
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder /F(457)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON /F(457)
Eseguita una sola volta per differenziazione @/F(457)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Dd Dr R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
576
Istruzioni matematiche a virgola mobile Capitolo 3-15
Descrizione /F(457) divide il numero a virgola mobile a 32 bit in Dd+1 e Dd per il numero a
virgola mobile a 32 bit in Dr+1 e Dr e invia il risultato a R+1 ed R (i dati a
virgola mobile devono essere nel formato IEEE754).
Se il valore assoluto del risultato è maggiore del valore massimo che può
essere rappresentato come dato a virgola mobile, viene attivato il flag di
overflow e il risultato verrà inviato come ±∞.
Se il valore assoluto del risultato è minore del valore massimo che può essere
rappresentato come dato a virgola mobile, viene attivato il flag di underflow e
il risultato verrà inviato come 0.
Le diverse combinazioni per dati dividendo e divisore producono i risultati
indicati nella tabella seguente.
Dividendo
Divisore 0 Numerico +∞ –∞ NaN
0 Vedere nota +/–∞ +∞ –∞
3
Numerico 0 Vedere nota 1 +/–∞ +/–∞
+∞ 0 Vedere nota 2 Vedere nota Vedere nota
3 3
–∞ 0 Vedere nota 2 Vedere nota Vedere nota
3 3
NaN Vedere nota
3
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati dividendo o divisore non vengono riconosciuti
come dati a virgola mobile.
ON se i dati dividendo o divisore sono di tipo NaN.
ON se dividendo e divisore sono entrambi 0.
ON se dividendo e divisore sono entrambi +∞ o –∞.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo alto per
potere essere espresso come valore a virgola mobile a
32 bit.
Flag di UF ON se il valore assoluto del risultato è troppo basso per
underflow potere essere espresso come valore a virgola mobile a
32 bit.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati dividendo (Dd+1 e Dd) e divisore (Dr+1 e Dr) siano in
formato dati a virgola mobile IEEE754.
577
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder RAD(458)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RAD(458)
Eseguita una sola volta per differenziazione @RAD(458)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
578
Istruzioni matematiche a virgola mobile Capitolo 3-15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono di tipo NaN.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo alto per
essere rappresentato come valore a virgola mobile a
32 bit.
Flag di UF ON se il valore assoluto del risultato è troppo basso per
underflow essere rappresentato come valore a virgola mobile a
32 bit.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine in S+1 ed S siano nel formato dati a virgola
mobile IEEE754.
Simbolo programmazione
ladder DEG(459)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DEG(459)
Eseguita una sola volta per differenziazione @ DEG(459)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
579
Istruzioni matematiche a virgola mobile Capitolo 3-15
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a –2048 a +2047 ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
580
Istruzioni matematiche a virgola mobile Capitolo 3-15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono di tipo NaN.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo alto per
essere rappresentato come valore a virgola mobile a
32 bit.
Flag di UF ON se il valore assoluto del risultato è troppo basso per
underflow essere rappresentato come valore a virgola mobile a
32 bit.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine in S+1 ed S siano nel formato dati a virgola
mobile IEEE754.
Simbolo programmazione
ladder SIN(460)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SIN(460)
Eseguita una sola volta per differenziazione @SIN(460)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
581
Istruzioni matematiche a virgola mobile Capitolo 3-15
Area S R
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF (binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati di origine sono di tipo NaN.
ON se il valore assoluto dei dati di origine è maggiore di
65.535.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF OFF
582
Istruzioni matematiche a virgola mobile Capitolo 3-15
Avvertenze È necessario che i dati di origine in S+1 ed S siano nel formato dati a virgola
mobile IEEE754.
Simbolo programmazione
ladder COS(461)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON COS(461)
Eseguita una sola volta per differenziazione @COS(461)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
583
Istruzioni matematiche a virgola mobile Capitolo 3-15
Area S R
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati di origine sono di tipo NaN.
ON se il valore assoluto dei dati di origine è maggiore di
65.535.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF OFF
Flag di UF OFF
underflow
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine in S+1 ed S siano nel formato dati a virgola
mobile IEEE754.
584
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder TAN(462)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TAN(462)
Eseguita una sola volta per differenziazione @TAN(462)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
585
Istruzioni matematiche a virgola mobile Capitolo 3-15
R: risultato (tangente)
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati di origine sono di tipo NaN.
ON se il valore assoluto dei dati di origine è maggiore di
65.535.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF OFF
Flag di UF OFF
underflow
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine in S+1 ed S siano nel formato dati a virgola
mobile IEEE754.
586
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder ASIN(463)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ASIN(463)
Eseguita una sola volta per differenziazione @ASIN(463)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
587
Istruzioni matematiche a virgola mobile Capitolo 3-15
Descrizione ASIN(463) calcola l’angolo in radianti per un valore di seno rappresentato come
numero a virgola mobile a 32 bit in S+1 ed S e invia il risultato a R+1 ed R.
I dati di origine a virgola mobile devono essere nel formato IEEE754.
–1
SIN S+1 S Origine (dati a virgola mobile a 32 bit)
Il dato di origine deve essere compreso tra -1,0 e 1,0. Se il valore assoluto dei
dati di origine è superiore a 1,0, viene generato un errore e l’istruzione non
sarà eseguita.
Il risultato viene inviato a R+1 ed R come angolo in radianti compreso tra –π/2
e π/2.
Nel diagramma seguente viene illustrata la relazione tra i dati di ingresso e il
risultato.
R
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono di tipo NaN.
ON se il valore assoluto dei dati di origine è maggiore di
1,0.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF OFF
Flag di UF OFF
underflow
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine in S+1 ed S siano nel formato dati a virgola
mobile IEEE754.
588
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder ACOS(464)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ACOS(464)
Eseguita una sola volta per differenziazione @ACOS(464)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
589
Istruzioni matematiche a virgola mobile Capitolo 3-15
Il dato di origine deve essere compreso tra -1,0 e 1,0. Se il valore assoluto dei
dati di origine è superiore a 1,0, viene generato un errore e l’istruzione non
sarà eseguita.
Il risultato viene inviato a R+1 ed R come angolo in radianti compreso tra 0 e π.
Nel diagramma seguente viene illustrata la relazione tra i dati di ingresso e il
risultato.
S: dati di ingresso
R (valore di coseno
R: risultato (radianti)
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono di tipo NaN.
ON se il valore assoluto dei dati di origine è maggiore di
1,0.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi
uguaglianza 0.
OFF in tutti gli altri casi.
Flag di overflow OF OFF
Flag di UF OFF
underflow
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine in S+1 ed S siano nel formato dati a virgola
mobile IEEE754.
590
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder ATAN(465)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ATAN(465)
Eseguita una sola volta per differenziazione @ATAN(465)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
591
Istruzioni matematiche a virgola mobile Capitolo 3-15
Il risultato viene inviato a R+1 ed R come angolo in radianti compreso tra –π/2
e π/2.
Nel diagramma seguente viene illustrata la relazione tra i dati di ingresso e il
risultato.
R
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono di tipo NaN.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF OFF
Flag di UF OFF
underflow
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine in S+1 ed S siano nel formato dati a virgola
mobile IEEE754.
592
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder SQRT(466)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SQRT(466)
Eseguita una sola volta per differenziazione @SQRT(466)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
593
Istruzioni matematiche a virgola mobile Capitolo 3-15
Descrizione SQRT(466) calcola la radice quadrata del numero a virgola mobile a 32 bit in
S+1 ed S e invia il risultato a R+1 ed R (i dati di origine a virgola mobile
devono essere nel formato IEEE754).
S: dati di ingresso
R: risultato
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono negativi.
ON se i dati di origine sono di tipo NaN.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo alto per
essere rappresentato come valore a virgola mobile a
32 bit.
Flag di UF OFF
underflow
Flag negativo N OFF
Avvertenze È necessario che i dati di origine in S+1 ed S siano nel formato dati a virgola
mobile IEEE754.
594
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder EXP(467)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON EXP(467)
Eseguita una sola volta per differenziazione @EXP(467)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a 4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
595
Istruzioni matematiche a virgola mobile Capitolo 3-15
Descrizione EXP(467) calcola il valore esponenziale naturale (in base e) del numero a
virgola mobile a 32 bit in S+1 ed S e invia il risultato in R+1 ed R. In altri
termini, EXP(467) calcola ex (x = origine) e invia il risultato in R+1 ed R.
Se il valore assoluto del risultato è maggiore del valore massimo che può
essere rappresentato come dato a virgola mobile, viene attivato il flag di
overflow e il risultato verrà inviato come ±∞.
Se il valore assoluto del risultato è minore del valore massimo che può essere
rappresentato come dato a virgola mobile, viene attivato il flag di underflow e
il risultato verrà inviato come 0.
Nota La costante e è pari a 2,718282.
Nel diagramma seguente viene illustrata la relazione tra i dati di ingresso e il
risultato.
R
S: dati di ingresso
R: risultato
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono di tipo NaN.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo alto per
essere rappresentato come valore a virgola mobile a
32 bit.
Flag di UF ON se il valore assoluto del risultato è troppo basso per
underflow essere rappresentato come valore a virgola mobile a
32 bit.
Flag negativo N OFF
Avvertenze È necessario che i dati di origine in S+1 ed S siano nel formato dati a virgola
mobile IEEE754.
596
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder LOG(468)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON LOG(468)
Eseguita una sola volta per differenziazione @LOG(468)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
597
Istruzioni matematiche a virgola mobile Capitolo 3-15
Descrizione LOG(468) calcola il logaritmo naturale (in base e) del numero a virgola mobile
a 32 bit in S+1 ed S e invia il risultato a R+1 ed R.
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono negativi.
ON se i dati di origine sono di tipo NaN.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo alto per
essere rappresentato come valore a virgola mobile a
32 bit.
Flag di UF OFF
underflow
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine in S+1 ed S siano nel formato dati a virgola
mobile IEEE754.
598
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder PWR(840)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON PWR(840)
Eseguita una sola volta per differenziazione @PWR(840)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area B E R
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF ---
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
599
Istruzioni matematiche a virgola mobile Capitolo 3-15
Descrizione PWR(840) eleva il numero a virgola mobile a 32 bit in B+1 e B alla potenza
del numero a virgola mobile a 32 bit in E+1 ed E. In altri termini, PWR(840)
calcola XY (X = B+1 e B; Y = E+1 ed E).
Dato esponente
E+1 E
B+1 B R+1 R
Dato base
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se la base (B+1 e B) o l’esponente (E+1 ed E) non
vengono riconosciuti come dati a virgola mobile.
ON se la base (B+1 e B) o l’esponente (E+1 ed E) sono di
tipo NaN.
ON se la base (B+1 e B) è 0 e l’esponente (E+1 ed E) è
minore di 0 (divisione per 0).
ON se la base (B+1 e B) è negativa e l’esponente (E+1 ed
E) è non intero (radice di un numero negativo).
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo alto per
essere rappresentato come valore a virgola mobile a
32 bit.
Flag di UF ON se il valore assoluto del risultato è troppo basso per
underflow essere rappresentato come valore a virgola mobile a
32 bit.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
600
Istruzioni matematiche a virgola mobile Capitolo 3-15
Simbolo programmazione
ladder Simbolo e opzioni
Variazioni
Variazioni Crea una condizione di esecuzione con stato Istruzione di
ON a ogni ciclo se il confronto è vero confronto di
ingresso
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S1 S2
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958
Area del Da T0000 a T4094
temporizzatore
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a #FFFFFFFF (binario)
Registri dati ---
Registri indice Da IR0 a IR15 (solo per dati senza segno)
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
601
Istruzioni matematiche a virgola mobile Capitolo 3-15
Condizione di esecuzione ON
Collegamento AND quando il risultato del
confronto è vero.
<F
Collegamento OR
<F
Condizione di esecuzione ON
quando il risultato del confronto
è vero.
Opzioni
I tre tipi di ingressi e i sei simboli danno luogo a 18 possibili combinazioni.
Simbolo Opzione (formato dei dati)
= (uguale) F: dati a virgola mobile in singola precisione
<> (diverso)
< (minore di)
<= (minore o uguale)
> (maggiore di)
>= (maggiore o uguale)
602
Istruzioni matematiche a virgola mobile Capitolo 3-15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se S1+1, S1 o S2+1, S2 non è un numero a virgola
mobile valido (NaN).
ON se S1+1, S1 o S2+1, S2 è +∞.
ON se S1+1, S1 o S2+1, S2 è -–∞.
OFF in tutti gli altri casi.
Flag di > ON se S1+1, S1 > S2+1, S2.
maggiore
OFF in tutti gli altri casi.
Flag di >= ON se S1+1, S1 ≥ S2+1, S2.
maggiore o
OFF in tutti gli altri casi.
uguale
Flag di = ON se S1+1, S1 = S2+1, S2.
uguaglianza
OFF in tutti gli altri casi.
Flag di non = ON se S1+1, S1 ≠ S2+1, S2.
uguaglianza
OFF in tutti gli altri casi.
Flag di minore < ON se S1+1, S1 < S2+1, S2.
OFF in tutti gli altri casi.
Flag di minore o < = ON se S1+1, S1 ≤ S2+1, S2.
uguale
OFF in tutti gli altri casi.
Flag negativo N Non modificato
603
Istruzioni matematiche a virgola mobile Capitolo 3-15
005000
000000
<F
D00100
D00200
2.3>-3.5
15 0 15
S1 :D00100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 :D00200 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1
S1+1:D00101 0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 S2+1:D00201 0 1 0 0 1 1 1 1 1 0 1 0 0 1 0 1
Valore decimale: 4.294.967.296 Valore decimale: 5.566.555.656
4294967296<5566555656
FSTR(448)
S S: primo canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FSTR(448)
Eseguita una sola volta per differenziazione @FSTR(448)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S C D
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6142 CIO 6141 CIO 6143
Area di lavoro Da W000 a W510 Da W000 a W509 Da W000 a W511
Area bit di ritentività Da H000 a H510 Da H000 a H509 Da H000 a H511
Area bit ausiliaria Da A000 ad A958 Da A000 ad A957 Da A448 a A959
604
Istruzioni matematiche a virgola mobile Capitolo 3-15
Area S C D
Area del Da T0000 a T4094 Da T0000 a T4093 Da T0000 a T4095
temporizzatore
Area del contatore Da C0000 a C4094 Da C0000 a C4093 Da C0000 a C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32766 D32765 D32767
Area EM senza Da E00000 a Da E00000 a Da E00000 a
banco E32766 E32765 E32767
Area EM con banco Da En_00000 a En_00000 ... Da En_00000 a
En_32766 En_32765 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM Da @ D00000 a Da @ D00000 a Da @ D00000 a
indiretti in binario @ D32767 @ D32767 @ D32767
Da @ E00000 a Da @ E00000 a Da @ E00000 a
@ E32767 @ E32767 @ E32767
Da @ En_00000 a Da @ En_00000 a Da @ En_00000 a
@ En_32767 @ En_32767 @ En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM Da *D00000 a Da *D00000 a Da *D00000 a
indiretti in BCD *D32767 *D32767 *D32767
Da *E00000 a Da *E00000 a Da *E00000 a
*E32767 *E32767 *E32767
Da *En_00000 a Da *En_00000 a Da *En_00000 a
*En_32767 *En_32767 *En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento Da ,IR0 a ,IR15
indiretto con i registri Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
indice
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–()IR15
Da ,IR0 a ,IR15
605
Istruzioni matematiche a virgola mobile Capitolo 3-15
• Notazione scientifica
Rappresenta un numero reale come parte intera, parte frazionaria e
parte esponenziale.
Esempio: 1,2456E-2 (1,2456×10–2)
• Il contenuto di C+1 (Caratteri totali) indica il numero di caratteri ASCII
dopo la conversione, compresi il simbolo del segno, i numeri, la virgola
decimale e gli spazi.
• Il contenuto di C+2 (Cifre frazionarie) indica il numero di cifre (caratteri)
dopo la virgola decimale.
Il testo ASCII viene memorizzato in D e canali successivi nell’ordine
seguente: byte più a sinistra di D, byte più a destra di D, byte più a sinistra di
D+1, byte più a destra di D+1, ecc.
Notazione decimale
(C=0000 esadecimale)
−1,23456 Conversione
in testo ASCII
2D 20 20 31 2E 32 33 34 35 36
(−) (SP)(SP) (1) (,) (2) (3) (4) (5) (6)
(SP rappresenta uno spazio)
Arrotondamento
Memorizzato nei canali di destinazione
15 87 0
Esempio: -1,23456 iniziando da D.
D: 2D 20
S Dati a virgola 20 31 Caratteri totali = 8 (C+1 = 0008 esadecimale)
S+1 mobile 2E 32 Cifre frazionarie = 3 (C+2 = 0003 esadecimale)
33 34
00 00
I caratteri ASCII sono memorizzati in ordine
(byte più a sinistra → byte più a destra).
Notazione scientifica
(C=0001 esadecimale)
− 1,23E+00 Conversione
in testo ASCII
2D 20 31 2E 32 33 45 2B 30 31
(−) (SP) (1) (,) (2) (3) (E) (+) (0) (0)
606
Istruzioni matematiche a virgola mobile Capitolo 3-15
Nota Dopo il testo ASCII vengono aggiunti uno o due zeri come codice di fine.
Numero totale di caratteri dispari: 00 esadecimale viene memorizzato dopo il
testo ASCII.
Numero totale di caratteri pari: 0000 esadecimale viene memorizzato dopo il
testo ASCII.
Limiti al numero di caratteri ASCII
Il numero di caratteri ASCII nel numero convertito è limitato. Se il numero di
caratteri supera il massimo consentito, viene attivato il flag di errore.
1. Limiti al numero totale di caratteri ASCII
a) Notazione decimale (C = 0000 esadecimale)
• In assenza di parte frazionaria (C+2 = 0000 esadecimale):
2 ≤ Caratteri totali ≤ 24
• In presenza di parte frazionaria (C+2 = da 0001 a 0007 esadecimale):
(Parte frazionaria + 3) ≤ Caratteri totali ≤ 24
b) Notazione scientifica (C = 0001 esadecimale)
• In assenza di parte frazionaria (C+2 = 0000 esadecimale):
6 ≤ Caratteri totali ≤ 24
• In presenza di parte frazionaria (C+2 = da 0001 a 0007 esadecimale):
(Parte frazionaria +7) ≤ Caratteri totali ≤ 24
607
Istruzioni matematiche a virgola mobile Capitolo 3-15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se il dato in S+1 ed S non è un numero a virgola
mobile valido (NaN).
ON se il dato in S+1 ed S è +∞ o –∞.
ON se l’impostazione del formato dei dati in C non è 0000
o 0001.
ON se l’impostazione dei caratteri totali in C+1 non rientra
nell’intervallo consentito (per ulteriori informazioni,
consultare 1. Limiti al numero totale di caratteri ASCII
poco sopra).
ON se l’impostazione delle cifre frazionarie in C+2 non
rientra nell’intervallo consentito (per ulteriori informazioni,
consultare 3. Limiti al numero di cifre nella parte
frazionaria poco sopra).
OFF in tutti gli altri casi.
Flag di = ON se il risultato della conversione è 0.
uguaglianza OFF in tutti gli altri casi.
608
Istruzioni matematiche a virgola mobile Capitolo 3-15
000000 FSTR
D00000
D00010
D00100
15 0 Conversione
D00000 1 0 1 0 1 0 0 0 0 1 1 1 0 0 1 0
0.327457
D00001 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1
15 0 Conversione
D00000 1 0 1 0 1 0 0 0 0 1 1 1 0 0 1 0
0.327457
D00001 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1
Notazione scientifica
D00010 0001 (esadecimale)
Condizioni di Caratteri totali = 11 caratteri
memorizzazione D00011 000B (esadecimale)
D00012 0003 (esadecimale) Cifre frazionarie = 3 cifre (caratteri)
Numero totale di caratteri
3,27457E-01
Spazi Parte Arrotondamento
frazionaria
D00100 20 (spazio) 20 (spazio)
D00101 33 (3) 2E (.)
D00102 32 (2) 37 (7)
D00103 35 (5) 45 (E)
D00104 2D (−) 30 (0)
D00105 31 (1) 00
609
Istruzioni matematiche a virgola mobile Capitolo 3-15
FVAL(449)
S S: primo canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FVAL(449)
Eseguita una sola volta per differenziazione @FVAL(449)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 a A959 Da A448 ad A958
Area del Da T0000 a T4095 Da T0000 a T4094
temporizzatore
Area del contatore Da C0000 a C4095 Da C0000 a C4094
Area DM Da D00000 a D32767 Da D00000 a D32766
Area EM senza Da E00000 a E32767 Da E00000 a E32766
banco
Area EM con banco Da En_00000 a En_32767 Da En_00000 a En_32766
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM Da @ D00000 a @ D32767
indiretti in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM Da *D00000 a *D32767
indiretti in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento Da ,IR0 a ,IR15
indiretto con i registri Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
indice
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–()IR15
Da ,IR0 a ,IR15
610
Istruzioni matematiche a virgola mobile Capitolo 3-15
Notazione scientifica
15 87 0
Conversione di un numero di testo ASCII
2D 20 in dati a virgola mobile a 32 bitDati a virgola mobile a 32 bit
20 31
2E 32 −1.234×102 1100110011001101
33 34 1100001011110110
45 2B Segno Esponente Memorizzati in D e D+1.
30 32
00 00
− SP SP 1 . 2 3 4 E + 0 2 15 0
(2D)(20)(20)(31)(2E)(32)(33)(34)(45)(2D)(31)(38) D 1100110011001101
D+1 1 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0
Durante la
conversione gli spazi
vengono ignorati
Memorizzazione di testo Nei diagrammi seguenti verrà mostrato come un numero di testo ASCII viene
ASCII convertito in dati a virgola mobile. Per i numeri memorizzati con notazione
decimale e per quelli memorizzati con notazione scientifica verranno usati
metodi di conversione diversi.
Memorizzazione di caratteri ASCII
S FVAL(449) converte i caratteri ASCII
cominciando dal byte più a sinistra di S e
proseguendo fino a raggiungere un byte
che contiene 00 esadecimale. Tra i primi
25 byte deve essere presente un byte
00 contenente il valore 00 esadecimale.
Fino a 00 esadecimale
(25 caratteri max.)
611
Istruzioni matematiche a virgola mobile Capitolo 3-15
Notazione decimale
15 87 0 25 caratteri max.
Segno (20)
(20) Cifra Parte intera Parte frazionaria
Segno
SP SP 00
Virgola
00 decimale La 7° cifra e le cifre superiori vengono ignorate.
(Il segno, la virgola decimale e i caratteri
dell'esponente non vengono contati come cifre).
Eventuali spazi (20 esadecimale) o valori zero (30 esadecimale) che
precedono la prima cifra verranno ignorati.
Numero positivo: spazio (20 esadecimale) o segno più (2B esadecimale)
Numero negativo: segno meno (2D esadecimale)
Notazione scientifica
15 87 0 25 caratteri max.
Segno (20)
Cifra Parte intera Parte frazionariaParte
(20)
Segno Segn
. (2E) Cifra SP E 00
Cifra Virgola Positivo: + (2B esadecimale)
E (45) Segno decimale Negativo: - (2D esadecimale)
E (45)
Cifra Cifra
La 7° cifra e le cifre superiori vengono ignorate.
00 (Il segno, la virgola decimale e i caratteri
dell'esponente non vengono contati come cifre).
Eventuali spazi (20 esadecimale) o valori zero (30
esadecimale) che precedono la prima cifra verranno ignorati.
Numero positivo: spazio (20 esadecimale) o segno più (2B esadecimale)
Numero negativo: segno meno (2D esadecimale)
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se le cifre (parti intera e frazionaria) nei dati di origine
che cominciano da S non sono incluse tra 30 e 39
esadecimale (0 - 9).
ON se le prime due cifre della parte esponenziale non
contengono i valori 45 e 2B esadecimale (E+) o 45 e 2D
esadecimale (E-) e se le cifre (parti intera e frazionaria)
nei dati di origine che cominciano da S non sono incluse
tra 30 e 39 esadecimale (0 - 9).
ON se i dati di origine contengono due o più parti
esponenziali.
ON se i dati sono +∞ o –∞ dopo la conversione.
ON se vi sono caratteri 0 nei dati di testo.
ON se entro i primi 25 caratteri non viene trovato un byte
contenente il valore 00 esadecimale.
OFF in tutti gli altri casi.
Flag di = ON se il risultato della conversione è 0.
uguaglianza OFF in tutti gli altri casi.
612
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
000000
FVAL
D00000
D00100
La 7° cifra e le cifre superiori vengono ignorate.
(Il segno, la virgola decimale e gli zero/spazi
iniziali non vengono contati).
Ignorato
− 01. 234521
D00000 2D (−) 20 (spazio) Conversione
D00001 30 (0) 31 (1) 15 0
D00002 2E (.) 32 (2) 0000010011000000
D00003 33 (3) 34 (4) 1011111110011110
D00004 35 (5) 32 (2)
D00005 31 (1) 00
Memorizzazione
15 0
D00100 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0
D00101 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 0
Ignorato Ignorato
− 1 . 23 4 5 E- 0 2
15 0
D00100 0 1 0 0 0 0 1 0 1 0 1 0 1 1 1 1
D00101 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0
613
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Formato dei dati I dati a virgola mobile esprimono numeri reali tramite un segno, un esponente
e la mantissa. Quando i dati vengono espressi nel formato a virgola mobile,
viene applicata la formula seguente.
Numero reale = (–1)s 2e–1.023 (1,f)
s: Segno
e: Esponente
f: Mantissa
Il formato dei dati a virgola mobile è conforme agli standard IEEE754. I dati
sono espressi in 32 bit, come mostrato di seguito:
Segno Esponente Mantissa
s f
e
63 62 52 51 0
Numero di cifre Il numero di cifre effettive per i dati a virgola mobile è 53 bit per il formato
binario (circa 15 cifre decimali).
Dati a virgola mobile I dati seguenti possono essere espressi da dati a virgola mobile:
• –∞
• –1,79769313486232 x 10308 ≤ valore ≤ –2,22507385850720 x 10–308
•0
• 2,22507385850720 x 10–308 ≤ valore ≤ 1,79769313486232 x 1030
• +∞
• Non un numero (Not a number: NaN)
614
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
−2.22507385850720×10-308 2.22507385850720×10-308
−∞ +∞
−1 0
1
−1.79769313486232×10308 1.79769313486232×10308
Scrittura di dati a virgola Quando viene specificata la virgola mobile in doppia precisione per il formato
mobile dei dati del display di modifica della memoria di I/O di CX-Programmer, i
numeri decimali standard inseriti nel display vengono convertiti
automaticamente nel formato a virgola mobile in doppia precisione illustrato in
precedenza (formato IEEE754) e quindi scritti nella memoria di I/O. Una volta
monitorati sul display, i dati scritti nel formato IEEE754 vengono convertiti
automaticamente nel formato decimale standard.
s e f
6362 5251 4847 3231 1615 0
Numeri normalizzati I numeri normalizzati esprimono numeri reali. Il bit di segno sarà 0 per un
numero positivo e 1 per un numero negativo.
L'esponente (e) verrà espresso da 1 a 2.046 e l'esponente reale sarà la
sottrazione di 1.023, ovvero da –1.022 a 1.023.
La mantissa (f) sarà espressa da 0 a (252 – 1) e si presume che, nella
mantissa reale, il bit 252 sia 1 e che la virgola decimale segua subito dopo.
I numeri normalizzati sono espressi nel modo seguente:
(–1)(segno s) x 2(esponente e)–1,023 x (1 + mantissa x 2–52)
615
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Esempio
32 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
63 62 52 51 33
Segno: –
Esponente: 1.024 – 1.023 = 1
Mantissa: 1 + (251 + 250) x 2–52 = 1 + (2–1 + 2–2) = 1 + (0,75) = 1,75
Valore: –1,75 x 21 = –3,5
Numeri non normalizzati I numeri normalizzati esprimono numeri reali aventi valori assoluti molto
piccoli. Il bit di segno sarà 0 per un numero positivo e 1 per un numero
negativo.
L’esponente (e) sarà 0 e l’esponente reale sarà –1.022.
La mantissa (f) sarà espressa da 1 a (252 – 1) e si presume che, nella
mantissa reale, il bit 252 sia 0 e che la virgola decimale segua subito dopo.
I numeri non normalizzati sono espressi nel modo seguente:
(–1)(segno s) x 2–1.022 x (mantissa x 2–52)
Esempio
32 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
64 63 52 51 33
Segno: –
Esponente: –1.022
Mantissa: 0 + (251 + 250) x 2–52 = 0 + (2–1 + 2–2) = 0 + (0,75) = 0,75
Valore: –0,75 x 2–1.022 = 1,668805 x 10–308
NaN Il tipo NaN (not a number) viene prodotto quando il risultato dei calcoli, ad
esempio 0,0/0,0, ∞/∞ o ∞–∞, non corrisponde a un numero o all'infinito.
L'esponente sarà 255 (28 – 1) e la mantissa non sarà 0.
Nota Non vi sono specifiche per il segno di NaN o per il valore del campo della
mantissa (diverso da essere non 0).
616
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Overflow, underflow e Gli overflow verranno inviati come infinito positivo o negativo, in base al segno
calcoli non validi del risultato. Gli underflow verranno inviati come zero positivo o negativo, in
base al segno del risultato.
I calcoli non validi producono risultati di tipo NaN. I calcoli non validi includono
l'addizione dell'infinito con un numero di segno opposto, la sottrazione
dell'infinito da un numero di segno opposto, la moltiplicazione di zero e
infinito, la divisione di zero per zero o la divisione di infinito per infinito.
Se nella conversione di un numero a virgola mobile in un numero intero si
verifica un overflow, il valore del risultato potrebbe non essere corretto.
Avvertenze per l'uso di Quando si usano i valori zero, infinito e NaN, è necessario seguire le
valori speciali avvertenze fornite di seguito.
• La somma di zero positivo e zero negativo dà come risultato zero positivo.
• La differenza tra zeri dello stesso segno dà come risultato zero positivo.
• Se uno qualsiasi degli operandi è un NaN, il risultato sarà di tipo NaN.
• Lo zero positivo e lo zero negativo vengono considerati equivalenti nei
confronti.
• I test di confronto e equivalenza su uno o più NaN saranno sempre veri
per != e sempre falsi per tutte le altre istruzioni.
In questo esempio l'angolo BCD a 4 cifre (θ, in gradi) viene letto da D00000 e
la distanza BCD a 4 cifre (r) viene letta da D01000.
Y
617
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
BIN BIN
D01000 D01000
D01000 D01000
FLT DBL
D00100 D00100
D00200 D00200
FLT DBL
D01000 D01000
D01200 D01200
RAD RADD
D00200 D00200
D00200 D00200
COS COSD
D00200 D00200
D00300 D00300
SIN SIND
D00200 D00200
D00400 D00400
*F *D
D01200 D01200
D00300 D00300
D10000 D10000
*F *D
D01200 D01200
D00400 D00400
D20000 D20000
END END
618
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
1. Questa sezione del programma converte i dati 1. Questa sezione del programma converte i dati
BCD in dati a virgola mobile in singola BCD in dati a virgola mobile in doppia
precisione (32 bit, formato IEEE754). precisione (64 bit, formato IEEE754).
a) Le istruzioni BIN(023) convertono i dati a) Le istruzioni BIN(023) convertono i dati
BCD in dati binari, mentre le istruzioni BCD in dati binari, mentre le istruzioni
FLT(452) convertono i dati binari in dati a DBL(843) convertono i dati binari in dati a
virgola mobile in singola precisione. virgola mobile in doppia precisione.
b) I dati a virgola mobile per l'angolo θ b) I dati a virgola mobile per l'angolo θ
vengono inviati a D00200 e a D00201. vengono inviati ai canali da D00200 a
c) RAD(458) converte in radianti i dati D00203.
angolari in D00200 e in D00201. c) RADD(849) converte in radianti i dati
d) I dati a virgola mobile per il raggio r angolari nei canali D00200 e D00203.
vengono inviati a D01200 e a D01201. d) I dati a virgola mobile per il raggio r
2. Questa sezione del programma calcola il seno vengono inviati ai canali da D01200 a
θ e il coseno θ come valori a virgola mobile in D01203.
singola precisione. 2. Questa sezione del programma calcola il seno
a) Il valore del coseno θ viene inviato a θ e il coseno θ come valori a virgola mobile in
D00300 e a D00301. doppia precisione.
b) Il valore del seno θ viene inviato a D00400 a) Il valore del coseno θ viene inviato ai
e a D00401. canali da D00300 a D00303.
3. Questa sezione del programma calcola x (r × b) Il valore del seno θ viene inviato ai canali
coseno θ) e y (r × seno θ). D00400 e D00403.
a) Il valore di x (r × coseno θ) viene inviato a 3. Questa sezione del programma calcola x (r ×
D10000 e a D10001. coseno θ) e y (r × seno θ).
b) Il valore di y (r × seno θ) viene inviato a a) Il valore di x (r × coseno θ) viene inviato ai
D20000 e a D20001. canali da D10000 a D10003.
b) Il valore di y (r × seno θ) viene inviato a
Coordinate Numero a Numero reale
D20000 e a D20003.
virgola mobile
x 4116 59CF 3,4202015399933 Coordinate Numero a Numero reale
y 405A E495 9,3969259262085 virgola mobile
x 4022 CB39 3,4202014332567
E973 5C32
y 400B 5C92 9,3969262078591
91AC 8EEB
619
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
FIXD(841)
S: primo canale di origine
S D: canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FIXD(841)
Eseguita una sola volta per differenziazione @FIXD(841)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140 Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W508 Da W000 a W511
Area bit di ritentività Da H000 a H508 Da H000 a H511
Area bit ausiliaria Da A000 a A956 Da A448 a A959
Area del temporizzatore Da T0000 a T4092 Da T0000 a T4095
Area del contatore Da C0000 a C4092 Da C0000 a C4095
Area DM Da D00000 a D32764 Da D00000 a D32767
Area EM senza banco Da E00000 a E32764 Da E00000 a E32767
Area EM con banco Da En_00000 a En_32766 Da En_00000 a En_32767
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
620
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Descrizione FIXD(841) converte la parte intera del numero a virgola mobile in doppia
precisione (64 bit) nei canali da S a S+3 (formato IEEE754) in dati binari con
segno a 16 bit e inserisce il risultato in D.
S+3CH S+2CH S+1CH SCH
Dati a virgola mobile
(64 bit)
DCH
Dati binari con segno (16 bit)
Viene convertita solo la parte intera del dato a virgola mobile; la parte
frazionaria viene troncata. La parte intera dei dati a virgola mobile deve
essere compresa nell'intervallo da –32.768 a 32.767.
Conversioni di esempio
Un valore a virgola mobile di 3,5 viene convertito in 3.
Un valore a virgola mobile di –3,5 viene convertito in –3.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati di origine (da S a S+3) sono di tipo NaN.
ON se la parte intera dei dati di origine (da S a S+3) non è
compresa nell'intervallo da –32.768 a 32.767.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 del risultato è ON.
OFF in tutti gli altri casi.
FIXDL(842)
S: primo canale di origine
S D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FIXLD(842)
Eseguita una sola volta per differenziazione @FIXLD(842)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140 Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W508 Da W000 a W510
Area bit di ritentività Da H000 a H508 Da H000 a H510
621
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area S D
Area bit ausiliaria Da A000 a A956 Da A448 ad A958
Area del temporizzatore Da T0000 a T4092 Da T0000 a T4094
Area del contatore Da C0000 a C4092 Da C0000 a C4094
Area DM Da D00000 a D32764 Da D00000 a D32766
Area EM senza banco Da E00000 a E32764 Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766 Da En_00000 a En_32766
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione FIXLD(842) converte la parte intera del numero a virgola mobile in doppia
precisione (64 bit) nei canali da S a S+3 (formato IEEE754) in dati binari con
segno a 32 bit e inserisce il risultato in D.
S+3CH S+2CH S+1CH SCH
Dati a virgola mobile (64 bit)
D+1CH DCH
Dati binari con segno (32 bit)
Viene convertita solo la parte intera del dato a virgola mobile; la parte
frazionaria viene troncata. La parte intera dei dati a virgola mobile deve
essere compresa nell'intervallo da –2.147.483.648 a 2.147.483.647.
Conversioni di esempio
Un valore a virgola mobile di 2.147.483.640,5 viene convertito in
2.147.483.640.
Un valore a virgola mobile di –2.147.483.640,5 viene convertito in
–2.147.483.640.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati nei canali da S a S+3 sono di tipo NaN.
ON se la parte intera dei dati nei canali da S a S+3 non è
compresa nell'intervallo da –2.147.483.648 a
2.147.483.647.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 di D+1 è ON dopo l'esecuzione.
OFF in tutti gli altri casi.
622
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Avvertenze I canali da S a S+3 devono contenere dati in virgola mobile e la parte intera
deve essere compresa nell'intervallo da –2.147.483.648 a 2.147.483.647.
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DBL(843)
Eseguita una sola volta per differenziazione @ DBL(843)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W511 Da W000 a W508
Area bit di ritentività Da H000 a H511 Da H000 a H508
Area bit ausiliaria Da A000 a A959 Da A448 ad A956
Area del temporizzatore Da T0000 a T4095 Da T0000 a T4092
Area del contatore Da C0000 a C4095 Da C0000 a C4092
Area DM Da D00000 a D32767 Da D00000 a D32764
Area EM senza banco Da E00000 a E32767 Da E00000 a E32764
Area EM con banco Da En_00000 a En_32767 Da En_00000 a En_32764
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF ---
(binario)
Registri dati Da DR0 a DR15 ---
623
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area S D
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione DBL(843) converte il valore binario a 16 bit con segno in S in dati a virgola
mobile in doppia precisione (64 bit) (formato IEEE754) e invia il risultato ai
canali da D a D+3. Nel risultato a virgola mobile viene aggiunto un unico 0
dopo la virgola decimale.
SCH
Dati binari con segno (16 bit)
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON se esponente e mantissa del risultato sono entrambi
uguaglianza 0.
OFF in tutti gli altri casi.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze Il contenuto di S deve includere dati binari con segno aventi un valore
(decimale) compreso tra –32.768 e 32.767.
DBLL(844)
S: primo canale di origine
S D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DBLL(844)
Eseguita una sola volta per differenziazione @ DBLL(844)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
624
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6142 Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W510 Da W000 a W508
Area bit di ritentività Da H000 a H510 Da H000 a H508
Area bit ausiliaria Da A000 ad A958 Da A448 ad A956
Area del temporizzatore Da T0000 a T4094 Da T0000 a T4092
Area del contatore Da C0000 a C4094 Da C0000 a C4092
Area DM Da D00000 a D32766 Da D00000 a D32764
Area EM senza banco Da E00000 a E32766 Da E00000 a E32764
Area EM con banco Da En_00000 a En_32766 Da En_00000 a En_32764
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #00000000 a ---
#FFFFFFFF
(binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione DBLL(844) converte il valore binario a 32 bit con segno in S+1 e S in dati a
virgola mobile in doppia precisione (64 bit) (formato IEEE754) e invia il
risultato ai canali da D a D+3. Nel risultato a virgola mobile viene aggiunto un
unico 0 dopo la virgola decimale.
S+1CH SCH
Dati binari con segno (32 bit)
Per S+1 ed S è possibile specificare dati binari con segno compresi tra
–2.147.483.648 e 2.147.483.647. Il valore a virgola mobile ha 24 cifre
binarie significative (bit). Il risultato non sarà esatto se viene convertito da
DBLL(844) un numero maggiore di 16.777.215 (il valore massimo che può
essere espresso in 24 bit).
Conversioni di esempio
Un valore binario con segno di 16.777.215 viene convertito in 16.777.215,0.
Un valore binario con segno di –16.777.215 viene convertito in
–15.777.215,0.
625
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER OFF
Flag di = ON se esponente e mantissa del risultato sono entrambi
uguaglianza 0.
OFF in tutti gli altri casi.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze Il risultato non sarà esatto se viene convertito un numero con un valore
assoluto maggiore di 16.777.215 (il valore massimo che può essere espresso
in 24 bit).
+D(845)
Au: primo canale augendo
Au Ad: primo canale addendo
Ad D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON +D(845)
Eseguita una sola volta per differenziazione @+D(845)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Au Ad D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
626
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area Au Ad D
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione +D(845) aggiunge il numero a virgola mobile in doppia precisione (64 bit) nei
canali da Ad a Ad+3 al numero a virgola mobile in doppia precisione (64 bit)
nei canali Au - Au+3 e invia il risultato ai canali D - D+3 (i dati a virgola mobile
devono essere nel formato IEEE754).
S1+3CH S1+2CH S1+1CH S1CH
Augendo (dati a virgola mobile,
64 bit)
Se il valore assoluto del risultato è maggiore del valore massimo che può
essere espresso come dato a virgola mobile, viene attivato il flag di overflow e
il risultato verrà inviato come ±∞.
Se il valore assoluto del risultato è minore del valore massimo che può essere
espresso come dato a virgola mobile, viene attivato il flag di underflow e il
risultato verrà inviato come 0.
Le diverse combinazioni per dati augendo e addendo producono i risultati
indicati nella tabella seguente.
Augendo
Addendo 0 Numerico +∞ –∞ NaN
0 0 Numerico +∞ –∞
Numerico Numerico Vedere nota +∞ –∞
1.
+∞ +∞ +∞ +∞ Vedere nota
2.
–∞ –∞ –∞ Vedere nota –∞
2.
NaN Vedere nota
2.
627
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati augendo o addendo non vengono
riconosciuti come dati a virgola mobile.
ON se i dati augendo o addendo sono di tipo NaN.
ON se +∞ viene aggiunto a –∞.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo elevato per
essere espresso come valore a virgola mobile in doppia
precisione.
Flag di UF ON se il valore assoluto del risultato è troppo piccolo per
underflow essere espresso come valore a virgola mobile in doppia
precisione.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati augendo (da Au a Au+3) e addendo (da Ad a Ad+3)
siano nel formato dati a virgola mobile IEEE754.
-D(846)
Mi: primo canale minuendo
Mi Su: primo canale sottraendo
Su D: primo canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON –D(846)
Eseguita una sola volta per differenziazione @–D(846)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Mi Su D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
628
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area Mi Su D
Area EM senza banco Da E00000 a E32764
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione –D(846) sottrae il numero a virgola mobile in doppia precisione (64 bit) nei
canali da Su a Su+3 dal numero a virgola mobile in doppia precisione (64 bit)
nei canali Mi - Mi+3 e invia il risultato ai canali D - D+3 (i dati a virgola mobile
devono essere nel formato IEEE754).
S1+3CH S1+2CH S1+1CH S1CH
Minuendo (dati a virgola mobile, 64 bit)
Se il valore assoluto del risultato è maggiore del valore massimo che può
essere espresso come dato a virgola mobile, viene attivato il flag di overflow e
il risultato verrà inviato come ±∞.
Se il valore assoluto del risultato è minore del valore massimo che può essere
espresso come dato a virgola mobile, viene attivato il flag di underflow e il
risultato verrà inviato come 0.
Le diverse combinazioni di dati minuendo e sottraendo producono i risultati
indicati nella tabella seguente.
Minuendo
Sottraendo 0 Numerico +∞ –∞ NaN
0 0 Numerico +∞ –∞
Numerico Numerico Vedere nota +∞ –∞
1.
+∞ –∞ –∞ Vedere nota –∞
2.
–∞ +∞ +∞ +∞ Vedere nota
2.
NaN Vedere nota
2.
629
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati minuendo o sottraendo non vengono
riconosciuti come dati a virgola mobile.
ON se i dati minuendo o sottraendo sono di tipo NaN.
ON se +∞ viene sottratto da +∞.
ON se –∞ viene sottratto da –∞.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo elevato per
essere espresso come valore a virgola mobile in doppia
precisione.
Flag di UF ON se il valore assoluto del risultato è troppo piccolo per
underflow essere espresso come valore a virgola mobile in doppia
precisione.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati minuendo (da Mi a Mi+3) e sottraendo (da Su a Su+3)
siano nel formato dati a virgola mobile IEEE754.
*D(847)
Md: primo canale moltiplicando
Md Mr: primo canale moltiplicatore
Mr D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON *D(847)
Eseguita una sola volta per differenziazione @*D(847)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Md Mr D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
630
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area Md Mr D
Area EM senza banco Da E00000 a E32764
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione *D(847) moltiplica il numero a virgola mobile in doppia precisione (64 bit) nei
canali da Md a Md+3 per il numero a virgola mobile in doppia precisione
(64 bit) nei canali Mr - Mr+3 e invia il risultato ai canali D - D+3 (i dati a virgola
mobile devono essere nel formato IEEE754).
S1+3CH S1+2CH S1+1CH S1CH
Moltiplicando (dati a virgola mobile,
64 bit)
Se il valore assoluto del risultato è maggiore del valore massimo che può
essere espresso come dato a virgola mobile, viene attivato il flag di overflow e
il risultato verrà inviato come ±∞.
Se il valore assoluto del risultato è minore del valore massimo che può essere
espresso come dato a virgola mobile, viene attivato il flag di underflow e il
risultato verrà inviato come 0.
Le diverse combinazioni dei dati moltiplicando e moltiplicatore producono i
risultati indicati nella tabella seguente.
Moltiplicando
Moltiplica- 0 Numerico +∞ –∞ NaN
tore
0 0 0 Vedere nota Vedere nota
2. 2.
Numerico 0 Vedere nota +/–∞ +/–∞
1.
+∞ Vedere nota +/–∞ +∞ –∞
2.
–∞ Vedere nota +/–∞ –∞ +∞
2
NaN Vedere nota
2.
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati moltiplicando o moltiplicatore non vengono
riconosciuti come dati a virgola mobile.
ON se i dati moltiplicando o moltiplicatore sono di tipo
NaN.
ON se vengono moltiplicati +∞ e 0.
ON se vengono moltiplicati -∞ e 0.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo elevato per
essere espresso come valore a virgola mobile in doppia
precisione.
Flag di UF ON se il valore assoluto del risultato è troppo piccolo per
underflow essere espresso come valore a virgola mobile in doppia
precisione.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
/D(848)
Dd: primo canale dividendo
Dd Dr: primo canale divisore
Dr D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON /D(848)
Eseguita una sola volta per differenziazione @/D(848)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area Dd Dr D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
632
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area Dd Dr D
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione /D(848) divide il numero a virgola mobile in doppia precisione (64 bit) nei
canali da Dd a Dd+3 per il numero a virgola mobile in doppia precisione
(64 bit) nei canali Dr - Dr+3 e invia il risultato ai canali D - D+3 (i dati a virgola
mobile devono essere nel formato IEEE754).
S1+3 S1+2 S1+1 S1
Dividendo (dati a virgola mobile,
64 bit)
Nota 1. I risultati possono essere zero (compresi gli underflow), un numero, +∞ o –∞.
2. Per gli underflow i risultati saranno zero.
3. Verrà attivato il flag di errore e l'istruzione non verrà eseguita.
633
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati dividendo o divisore non vengono riconosciuti
come dati a virgola mobile.
ON se i dati dividendo o divisore sono di tipo NaN.
ON se il dividendo e il divisore sono entrambi 0.
ON se il dividendo e il divisore sono entrambi +∞ o –∞.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo elevato per
essere espresso come valore a virgola mobile in doppia
precisione.
Flag di UF ON se il valore assoluto del risultato è troppo piccolo per
underflow essere espresso come valore a virgola mobile in doppia
precisione.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati dividendo (da Dd1 a Dd+3) e divisore (da Dr a Dr+3)
siano in formato dati a virgola mobile IEEE754.
RADD(849)
S: primo canale di origine
S D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RADD(849)
Eseguita una sola volta per differenziazione @RADD(849)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
634
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area S D
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione RADD(849) converte il numero a virgola mobile in doppia precisione (64 bit)
nei canali da S a S+3 da gradi a radianti invia il risultato ai canali D - D+3 (i
dati a virgola mobile devono essere nel formato IEEE754).
S+3CH S+2CH S+1CH SCH
Origine (gradi, dati a virgola mobile a 64 bit)
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono di tipo NaN.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo elevato per
essere espresso come valore a virgola mobile in doppia
precisione.
Flag di UF ON se il valore assoluto del risultato è troppo piccolo per
underflow essere espresso come valore a virgola mobile in doppia
precisione.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
635
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Avvertenze È necessario che i dati di origine nei canali da S a S+3 siano nel formato dati
a virgola mobile IEEE754.
DEGD(850)
S: primo canale di origine
S D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DEGD(850)
Eseguita una sola volta per differenziazione @ DEGD(850)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
636
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area S D
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione DEGD(850) converte il numero a virgola mobile in doppia precisione (64 bit)
nei canali da S a S+3 da radianti a gradi e invia il risultato ai canali D - D+3 (i
dati a virgola mobile devono essere nel formato IEEE754).
S+3CH S+2CH S+1CH SCH
Origine (radianti, dati a virgola mobile a
64 bit)
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono di tipo NaN.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo elevato per
essere espresso come valore a virgola mobile in doppia
precisione.
Flag di UF ON se il valore assoluto del risultato è troppo piccolo per
underflow essere espresso come valore a virgola mobile in doppia
precisione.
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine nei canali da S a S+3 siano nel formato dati
a virgola mobile IEEE754.
637
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
SIND(851)
S: primo canale di origine
S D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SIND(851)
Eseguita una sola volta per differenziazione @SIND(851)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SIND(851) calcola il seno dell’angolo (in radianti) espresso come valore a
virgola mobile in doppia precisione (64 bit) nei canali da S a S+3 e invia il
risultato ai canali D - D+3.
(I dati a virgola mobile devono essere nel formato IEEE754).
SIN( S+3 S+2 S+1 S ) → D+3 D+2 D+1 D
638
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati di origine sono di tipo NaN.
ON se il valore assoluto dei dati di origine supera 65.535.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF Non modificato
Flag di UF Non modificato
underflow
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine nei canali da S a S+3 siano nel formato dati
a virgola mobile IEEE754.
COSD(852)
S: primo canale di origine
S D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON COSD(852)
Eseguita una sola volta per differenziazione @COSD(852)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
639
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione COSD(852) calcola il coseno dell’angolo (in radianti) espresso come valore a
virgola mobile in doppia precisione (64 bit) nei canali da S a S+3 e invia il
risultato ai canali D - D+3.
(I dati a virgola mobile devono essere nel formato IEEE754).
COS( S+3 S+2 S+1 S ) → D+3 D+2 D+1 D
640
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati di origine sono di tipo NaN.
ON se il valore assoluto dei dati di origine supera 65.535.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF Non modificato
Flag di UF Non modificato
underflow
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine nei canali da S a S+3 siano nel formato dati
a virgola mobile IEEE754.
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TAND(853)
Eseguita una sola volta per differenziazione @TAND(853)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
641
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area S D
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione TAND(853) calcola la tangente dell’angolo (in radianti) espressa come valore
a virgola mobile in doppia precisione (64 bit) nei canali da S a S+3 e invia il
risultato ai canali D - D+3.
(I dati a virgola mobile devono essere nel formato IEEE754).
TAN( S+3 S+2 S+1 S ) → D+3 D+2 D+1 D
R: risultato (tangente)
642
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati di origine sono di tipo NaN.
ON se il valore assoluto dei dati di origine supera 65.535.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo elevato per
essere espresso come valore a virgola mobile in doppia
precisione (64 bit).
Flag di UF Non modificato
underflow
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine nei canali da S a S+3 siano nel formato dati
a virgola mobile IEEE754.
ASIND(854)
S: primo canale di origine
S D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ASIND(854)
Eseguita una sola volta per differenziazione @ASIND(854)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
643
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area S D
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione ASIND(854) calcola l’angolo (in radianti) per un valore di seno espresso come
numero a virgola mobile in doppia precisione (64 bit) nei canali da S a S+3 e
invia il risultato ai canali D - D+3.
(I dati a virgola mobile devono essere nel formato IEEE754).
SIN-1( S+3 S+2 S+1 S ) → D+3 D+2 D+1 D
Il dato di origine deve essere compreso tra –1,0 e 1,0. Se il valore assoluto
dei dati di origine supera 1,0, verrà generato un errore e l'istruzione non verrà
eseguita.
Il risultato viene inviato ai canali da D a D+3 come angolo (in radianti)
compreso nell'intervallo da –π/2 a π/2.
Lo schema seguente illustra la relazione tra i dati di ingresso e il risultato.
R
644
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono di tipo NaN.
ON se il valore assoluto dei dati di origine supera 1,0.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF Non modificato
Flag di UF Non modificato
underflow
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine nei canali da S a S+3 siano nel formato dati
a virgola mobile IEEE754.
ACOSD(855)
S: primo canale di origine
S D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ACOSD(855)
Eseguita una sola volta per differenziazione @ACOSD(855)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
645
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area S D
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione ACOSD(855) calcola l’angolo (in radianti) per un valore di coseno espresso
come numero a virgola mobile in doppia precisione (64 bit) nei canali da S a
S+3 e invia il risultato ai canali D - D+3.
(I dati a virgola mobile devono essere nel formato IEEE754).
COS–1( S+3 S+2 S+1 S ) → D+3 D+2 D+1 D
Il dato di origine deve essere compreso tra –1,0 e 1,0. Se il valore assoluto
dei dati di origine supera 1,0, verrà generato un errore e l'istruzione non verrà
eseguita.
Il risultato viene inviato ai canali da D a D+3 come angolo (in radianti)
compreso tra 0 e π.
Lo schema seguente illustra la relazione tra i dati di ingresso e il risultato.
S: dati di ingresso
R (valore di coseno
R: risultato (radianti)
646
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono di tipo NaN.
ON se il valore assoluto dei dati di origine supera 1,0.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF Non modificato
Flag di UF Non modificato
underflow
Flag negativo N Non modificato
Avvertenze È necessario che i dati di origine nei canali da S a S+3 siano nel formato dati
a virgola mobile IEEE754.
ATAND(856)
S: primo canale di origine
S D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ATAND(856)
Eseguita una sola volta per differenziazione @ATAND(856)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
647
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area S D
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione ATAND(856) calcola l'angolo (in radianti) per un valore di tangente espresso
come numero a virgola mobile in doppia precisione (64 bit) nei canali da S a
S+3 e invia il risultato a D - D+3.
(I dati a virgola mobile devono essere nel formato IEEE754).
TAN–1( S+3 S+2 S+1 S ) → D+3 D+2 D+1 D
648
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono di tipo NaN.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF Non modificato
Flag di UF Non modificato
underflow
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine nei canali da S a S+3 siano nel formato dati
a virgola mobile IEEE754.
SQRTD(857)
S: primo canale di origine
S D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SQRTD(857)
Eseguita una sola volta per differenziazione @SQRTD(857)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
649
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area S D
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SQRTD(857) calcola la radice quadrata del numero a virgola mobile in doppia
precisione (64 bit) nei canali da S a S+3 e invia il risultato ai canali D - D+3 (i
dati a virgola mobile devono essere nel formato IEEE754).
S: dati di ingresso
R: risultato
650
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono negativi.
ON se i dati di origine sono di tipo NaN.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo elevato per
essere espresso come valore a virgola mobile in doppia
precisione (64 bit).
Flag di UF Non modificato
underflow
Flag negativo N Non modificato
Avvertenze È necessario che i dati di origine nei canali da S a S+3 siano nel formato dati
a virgola mobile IEEE754.
EXPD(858)
S: primo canale di origine
S D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON EXPD(858)
Eseguita una sola volta per differenziazione @EXPD(858)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
651
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area S D
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione EXPD(858) calcola il valore esponenziale naturale (in base e) del numero a
virgola mobile in doppia precisione (64 bit) nei canali da S a S+3 e invia il
risultato ai canali D - D+3 In altre parole, EXP(467) calcola ex (x = origine) e
inserisce il risultato nei canali da D a D+3.
S+3 S+2 S+1 S
e → D+3 D+2 D+1 D
Se il valore assoluto del risultato è maggiore del valore massimo che può
essere espresso come dato a virgola mobile, viene attivato il flag di overflow e
il risultato verrà inviato come ±∞.
Se il valore assoluto del risultato è minore del valore massimo che può essere
espresso come dato a virgola mobile, viene attivato il flag di underflow e il
risultato verrà inviato come 0.
Nota La costante e è 2,718282.
Lo schema seguente illustra la relazione tra i dati di ingresso e il risultato.
R
S: dati di ingresso
R: risultato
652
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono di tipo NaN.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo elevato per
essere espresso come valore a virgola mobile in doppia
precisione (64 bit).
Flag di UF ON se il valore assoluto del risultato è troppo piccolo per
underflow essere espresso come valore a virgola mobile in doppia
precisione (64 bit).
Flag negativo N Non modificato
Avvertenze È necessario che i dati di origine nei canali da S a S+3 siano nel formato dati
a virgola mobile IEEE754.
LOGD(859)
S: primo canale di origine
S D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON LOGD(859)
Eseguita una sola volta per differenziazione @LOGD(859)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
653
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area S D
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione LOGD(859) calcola il logaritmo naturale (in base e) del numero a virgola
mobile in doppia precisione (64 bit) nei canali da S a S+3 e invia il risultato ai
canali D - D+3
654
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati di origine non vengono riconosciuti come dati
a virgola mobile.
ON se i dati di origine sono negativi.
ON se i dati di origine sono di tipo NaN.
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo elevato per
essere espresso come valore a virgola mobile in doppia
precisione (64 bit).
Flag di UF Non modificato
underflow
Flag negativo N ON se il risultato è negativo.
OFF in tutti gli altri casi.
Avvertenze È necessario che i dati di origine nei canali da S a S+3 siano nel formato dati
a virgola mobile IEEE754.
PWRD(860)
B: primo canale base
B
E: primo canale esponente
E D: primo canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON PWRD(860)
Eseguita una sola volta per differenziazione @PWRD(860)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area B E D
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A448 ad A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
655
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area B E D
Area EM senza banco Da E00000 a E32764
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione PWRD(860) eleva il numero a virgola mobile in doppia precisione (64 bit) nei
canali B - B+3 alla potenza del numero a virgola mobile in doppia precisione
(64 bit) nei canali E - E+3. In altre parole, PWR(840) calcola XY (X =
contenuto da B a B+3; Y = contenuto da E a E+3).
Dati esponente
S2+3 S2+2 S2+1 S2
S1+3 S1+2 S1+1 S1 → D+3 D+2 D+1 D
Dati base
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se i dati base (da B a B+3) o i dati esponente (da E a
E+3) non vengono riconosciuti come dati a virgola mobile.
ON se i dati base (da B a B+3) o i dati esponente (da E a
E+3) non sono un numero (NaN).
ON se i dati base (da B a B+3) sono 0 e i dati esponente
(da E a E+3) sono inferiori a 0 (divisione per 0).
ON se i dati base (da B a B+3) sono negativi e i dati
esponente (da E a E+3) non sono numeri interi (radice di
un numero negativo).
OFF in tutti gli altri casi.
Flag di = ON se esponente e mantissa del risultato sono entrambi 0.
uguaglianza OFF in tutti gli altri casi.
Flag di overflow OF ON se il valore assoluto del risultato è troppo elevato per
essere espresso come valore a virgola mobile in doppia
precisione.
656
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Avvertenze È necessario che i dati base (da B a B+3) e i dati esponente (da E a E+3)
siano nel formato dati a virgola mobile IEEE754.
Simbolo programmazione
ladder Simbolo e opzioni
Variazioni
Variazioni Crea una condizione di esecuzione con stato Istruzione di
ON a ogni ciclo se il confronto risulta vero confronto di
ingresso
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S1 S2
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956
Area del Da T0000 a T4092
temporizzatore
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
Area EM con banco Da En_00000 a En_32767 (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
657
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Area S1 S2
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
<D
Collegamento OR
<D
658
Istruzioni a virgola mobile in doppia precisione (solo CPU CS1-H, CJ1-H, CJ1M o CS1D) Capitolo 3-16
Opzioni
Utilizzando questi tre tipi di ingresso e sei simboli, ne derivano 18 diverse
combinazioni possibili.
Simbolo Opzione (formato dati)
= (uguale) D: dati a virgola mobile in doppia precisione
<> (diverso)
< (minore di)
<= (minore o uguale)
> (maggiore di)
>= (maggiore o uguale)
659
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
15 0 15 0
S1 :D00100 1101111010010001 S1 :D00100 0101010001010011
S1+1:D00101 1010100110110110 S2+1:D00101 1010100000101011
S1+2:D00102 1110110110110000 S2+2:D00102 0100100100100100
S1+3:D00103 1100101000000010 S2+3:D00103 0100100111110000
Valore decimale: −3,4580E+48 Valore decimale: 1,4876E+48
−3.4580E+48<1.4876E+48
660
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Istruzioni di stack Le istruzioni di stack vengono utilizzate per tabelle di dati definite in modo
specifico denominate stack. I primi due canali dello stack contengono
l'indirizzo di memoria del PLC relativo all'ultimo canale dello stack, mentre i
due canali successivi contengono il puntatore dello stack, ossia l'indirizzo di
memoria del PLC del canale che verrà sovrascritto dalla successiva istruzione
PUSH(632).
Memoria I/O
Area stack
661
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Fine
stack
Le istruzioni riportate di seguito definiscono aree di stack o agiscono su tali
aree. Fondamentalmente, l'istruzione PUSH(632) memorizza i dati nel canale
successivo disponibile nello stack. FIFO(633) e LIFO(634) leggono i dati dallo
stack. FIFO(633) legge il primo canale che è stato memorizzato, mentre
LIFO(634) legge l'ultimo canale che è stato memorizzato.
Le ultime cinque istruzioni sono supportate solo dalle CPU CS1/H, CJ1/H,
CJ1M e CS1D. SNUM(638) conta il numero di elementi di dati (canali) nello
speck specificato. Questa istruzione, ad esempio, può essere utilizzata per
indicare il numero di elementi su un nastro trasportatore. Le istruzioni
SREAD(639), SWRIT(640), SINS(641) e SDEL(642) permettono rispettiva-
mente di leggere, sovrascrivere, inserire ed eliminare gli elementi di dati in
uno stack. Ad esempio, quando gli elementi vengono gestiti su un nastro
trasportatore, queste istruzioni possono aggiungere, rimuovere o modificare
un elemento di dati nello stack che corrisponde a un elemento sul nastro
trasportatore.
PUSH(632)
Memorizza i dati nell'indirizzo indicato dal puntatore dello stack e incrementa
il puntatore di uno.
Stack Stack
Puntatore A
Puntatore
FIFO(633)
Legge il primo canale di dati (il meno recente) memorizzato nello stack, sposta
i restanti dati di un canale verso il basso e decrementa il puntatore di uno.
Stack Stack
Puntatore all'ultimo
canale nello stack
Puntatore
...
... Area dati Area dati
Puntatore
Puntatore
662
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
LIFO(634)
Legge l'ultimo (il più recente) canale di dati memorizzato nello stack.
Decrementa il puntatore di uno e legge i dati a questo indirizzo (i dati più
recenti memorizzati nello stack). I dati letti non verranno cancellati.
Stack Stack
B B
Puntatore
A Area dati A Area dati
Puntatore
SREAD(639)
Legge i dati dall'elemento dati specificato nello stack. Il valore di offset indica
la posizione del canale desiderato (il numero di canali prima della posizione
corrente del puntatore).
Stack Stack
Puntatore
all'ultimo
Puntatore
: :
A A
B B
-n Area dati Area dati
(n=3) C C
Punta- Puntatore
tore (non
modificato)
663
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
SWRIT(640)
Scrive i dati di origine nell'elemento di dati specificato nello stack,
sovrascrivendo i dati già esistenti. Il valore di offset indica la posizione del
canale desiderato (il numero di canali prima della posizione corrente del
puntatore).
Stack Stack
Puntatore all'ultimo M
canale nello stack Sovrascrivere i dati nella
posizione del puntatore - n
Puntatore (n=3 in questo esempio)
: :
A M
-n B B
(n=3) C Area dati C Area dati
Punta- Puntatore
tore (non
modificato)
SINS(641)
Inserisce i dati di origine nella posizione specificata nello stack e fa scorrere
verso il basso i dati rimanenti dello stack. Il valore di offset indica la posizione
del canale desiderato (il numero di canali prima della posizione corrente del
puntatore).
Stack Stack
Puntatore all'ultimo M Puntatore all'ultimo
canale nello stack Dati nella posizione canale nello stack
del puntatore n Puntatore
Puntatore
Inserisci
: :
A M
B Area dati A Area dati
-n
(n=3) C B
Punta- Puntatore C
tore (incrementato di 1)
Inserisce l'elemento di dati M nella
Dati nella posizione del Ultimo canale di posizione del puntatore - n, sposta verso
puntatore - n dati nello stack il basso i dati esistenti (A, B e C) e
(n=3 in questo esempio) incrementa il valore del puntatore di 1.
664
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
SDEL(642)
Elimina l'elemento di dati che si trova nella posizione specificata nello stack e
fa scorrere verso l'alto i dati rimanenti nello stack. Il valore di offset indica la
posizione del canale desiderato (il numero di canali prima della posizione
corrente del puntatore).
Stack Stack
Puntatore Puntator
: :
A B
-n B C
C Area C Area dati
(n=3) dati Puntatore
Puntatore (decrementato
di 1)
SNUM(638)
Conta la quantità di dati dello stack (numero di canali di dati) dal puntatore
dello stack fino all'inizio dell'area dati.
Stack Stack
Puntatore all'ultimo Puntatore all'ultimo
canale nello stack canale nello stack
Puntatore Puntatore
A A
B B
C C
Area Area dati
D dati D
E E
Puntatore Puntatore
(non
modificato)
Istruzioni per le tabelle di Una serie di dati composta da più di un record avente lo stesso numero di
record canali in ciascun record viene definita dati di tabella. I dati di tabella
memorizzati nella memoria di I/O specificata possono essere registrati come
area tabella tramite l'istruzione DIM. È possibile definire fino a 16 tabelle
distinte, con numeri di tabella da 0 a 15.
Numero tabella 0
Numero tabella 1
665
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Record
Numero identico di
Record
canali in ciascun record
Record
È possibile utilizzare i registri indice (IR) per fare riferimento in modo indiretto
ai dati della tabella. Il calcolo dell'indirizzo del record viene eseguito
facilmente tramite le istruzioni SETR(635) (SET RECORD NUMBER) e
GETR(636) (GET RECORD NUMBER).
Simbolo programmazione
ladder SSET(630)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SSET(630)
Eseguita una sola volta per differenziazione @SSET(630)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
666
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
15 0
TB
---
TB+(N-1)
Nota 1. Il valore iniziale del puntatore dello stack è sempre l'indirizzo di memoria
del PLC di TB+4.
2. TB e TB+(N-1) devono essere nella stessa area dati.
Caratteristiche operando
Area TB N
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 a A959 Da A000 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0005 a #FFFF (binario)
o da &5 a &65.535
Registri dati --- Da DR0 a DR15
667
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area TB N
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se N non rientra nell'intervallo specificato 0005 - FFFF.
OFF in tutti gli altri casi.
Avvertenze Il valore minimo per il numero di canali nello stack (N) è 5 poiché N include i
quattro canali che contengono il puntatore all'ultimo canale nello stack e il
puntatore dello stack. Se N non è incluso nell'intervallo da 0005 a FFFF, si
verificherà un errore.
668
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
&10
Indirizzo di memoria del PLC
Puntatore stack
Ultimo
canale 10 canali
nello Puntatore
stack stack
Simbolo programmazione
ladder PUSH(632)
S S: canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON PUSH(632)
Eseguita una sola volta per differenziazione @PUSH(632)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
669
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
15 0
TB
15 0
TB+1
15 0
TB+2
TB+(N–1)
Caratteristiche operando
Area TB S
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 a A959 Da A000 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a #FFFF (binario)
Registri dati --- Da DR0 a DR15
670
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area TB S
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Dopo avere utilizzato l'istruzione PUSH(632) per scrivere i dati nello stack, è
possibile leggere i dati dallo stack mediante le istruzioni FIFO(633) e
LIFO(634).
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se l'indirizzo specificato dal puntatore dello stack
(TB+3 e TB+2) supera l'ultimo canale presente nello
stack.
(Errore di overflow dello stack).
OFF in tutti gli altri casi.
Avvertenze È necessario che lo stack sia stato definito in precedenza tramite l'istruzione
SSET(630).
671
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Puntatore stack
Ultimo
canale Puntatore
nello stack
stack Scrive A
Simbolo programmazione
ladder FIFO(633)
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FIFO(633)
Eseguita una sola volta per differenziazione @FIFO(633)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
672
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
15 0
TB+3
---
TB+(N-1)
Caratteristiche operando
Area TB D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
673
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area TB D
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione FIFO(633) legge dallo stack il canale di dati meno recente (TB+4) e invia tali
dati a D. Successivamente il puntatore dello stack (TB+3 e TB+2) viene
decrementato di uno, mentre tutti i restanti dati nello stack vengono spostati
verso il basso di un canale e i dati letti da TB+4 vengono eliminati. Restano
invariati i dati alla fine dello stack, ovvero l'indirizzo indicato in precedenza dal
puntatore dello stack.
Indirizzo di Indirizzo di
memoria del PLC memoria del PLC
TB TB
Dati
Puntatore TB+1 meno TB+1
stack TB+2 recenti TB+2
m–1
TB+3 TB+3
TB+4 TB+4
Puntatore
stack m–1
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto del puntatore dello stack (TB+3 e
TB+2) è inferiore o uguale all'indirizzo di memoria del
PLC del primo canale presente nell'area dati dello stack
(TB+4).
(Errore di underflow dello stack).
OFF in tutti gli altri casi.
Avvertenze Lo stack che deve essere stato definito in precedenza tramite l'istruzione
SSET(630).
674
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
TB
TB:
Indirizzo di memoria del PLC
dell'ultimo canale nello stack
Una volta che i dati sono stati scritti in D00300, il puntatore dello stack viene
decrementato di uno e i dati rimanenti vengono spostati verso il basso. (Il
contenuto di D00005 viene spostato in D00004 e il contenuto di D00006 in
D00005).
Indirizzo di memoria del PLC
dell'ultimo canale nello stack
Puntatore stack
Ultimo Puntatore
canale stack
nello
stack -1 D: D00300
Simbolo programmazione
ladder LIFO(634)
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON LIFO(634)
Eseguita una sola volta per differenziazione @LIFO(634)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
675
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
15 0
TB+1
---
TB+(N-1)
Caratteristiche operando
Area TB D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati --- Da DR0 a DR15
676
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area TB D
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione LIFO(634) legge i dati dall'indirizzo indicato dal puntatore dello stack (il canale
di dati più recente nello stack), decrementa il puntatore dello stack di uno e
invia i dati a D. Il canale letto resta inalterato.
Indirizzo di Indirizzo di
memoria del PLC memoria del PLC
TB TB
Puntatore TB+1 Dati più TB+1
stack recenti
TB+2 TB+2
TB+3 TB+3 m–1
Puntatore
stack
m -1 m–1 A rimane invariato
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto del puntatore dello stack (TB+3 e
TB+2) è inferiore o uguale all'indirizzo di memoria del
PLC del primo canale presente nell'area dati dello stack
(TB+4).
(Errore di underflow dello stack).
OFF in tutti gli altri casi.
Avvertenze È necessario che lo stack sia stato definito in precedenza tramite l'istruzione
SSET(630).
677
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
TB:
Indirizzo di memoria del PLC
dell'ultimo canale nello stack
Puntatore stack
Ultimo Puntatore
canale stack
nello
stack -1
D: D00300
Una volta che i dati sono stati scritti in D00300, il puntatore dello stack viene
decrementato di uno. Il contenuto di D00006 resta invariato.
Simbolo programmazione
ladder DIM(631)
N N: numero tabella
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DIM(631)
Eseguita una sola volta per differenziazione @ DIM(631)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
678
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area N LR NR TB
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A000 a A959 Da A448 a
A959
Area del temporizzatore --- Da T0000 a T4095
Area del contatore --- Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da 0 a Da #0001 a #FFFF (binario) o ---
15 da &1 a &65.535
Registri dati --- Da DR0 a DR15 ---
Registri indice --- ---
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047,
a ,IR15
Da DR0 a DR15, da IR0 a IR15, da ,IR0+(++) a
,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
679
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Record 0
Record 1
Numero di record LR × NR canali
Record NR–1
Avvertenze I record in una tabella registrata sono identificati dai rispettivi numeri di
record, compresi tra 0 e NR–1.
In base alla lunghezza record impostata (LR) e al numero di record (NR), è
possibile che una singola tabella (da TB e TB+LR×NR–1) si sovrapponga a
due aree dati. Prima di specificare una tabella che si sovrappone al contorno
di un'area dati, verificare che non insorgano problemi.
Esempi Nell'esempio seguente, quando CIO 000000 è impostato su ON, DIM(631)
definisce il numero di tabella di record 2, con tre record a 10 canali. La tabella
comincia a D00300.
N
LR LR: D00100 Lunghezza record: 10 canali
NR NR: D00200 Numero di record: 3
TB Numero tabella 2
Record 0
10 canali
10 canali
Record 1
10 canali
Record 2
680
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Simbolo programmazione
ladder SETR(635)
N N: numero tabella
R R: numero di record
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SETR(635)
Eseguita una sola volta per differenziazione @SETR(635)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area N R D
Area CIO --- Da CIO 0000 a CIO 6143 ---
Area di lavoro --- Da W000 a W511 ---
Area bit di ritentività --- Da H000 a H511 ---
Area bit ausiliaria --- Da A000 a A959 ---
Area del temporizzatore --- Da T0000 a T4095 ---
Area del contatore --- Da C0000 a C4095 ---
Area DM --- Da D00000 a D32767 ---
Area EM senza banco --- Da E00000 a E32767 ---
Area EM con banco --- Da En_00000 a En_32767 ---
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @ D00000 a @ D32767 ---
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @
En_32767
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767 ---
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
681
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area N R D
Costanti Da 0 a 15 Da #0000 a #FFFE (binario) o ---
da &0 a &65534
Registri dati --- Da DR0 a DR15 ---
Registri indice --- Da IR0 a
IR15
Indirizzamento indiretto --- Da ,IR0 a ,IR15 ---
con i registri indice Da –2048 a +2047, da ,IR0 a
da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a
IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SETR(635) memorizza l'indirizzo della memoria del PLC del primo canale del
record specificato nel registro indice specificato. Nello schema seguente è
illustrato il funzionamento di base di SETR(635).
Numero tabella (N) Indirizzo di
memoria del PLC
IR@
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il numero di tabella specificato (N) non è stato
definito mediante DIM(631).
ON se il numero di record specificato (R) supera il numero
di record più elevato presente nella tabella (NR–1).
OFF in tutti gli altri casi.
Avvertenze È necessario che la tabella dei record sia stata definita in precedenza tramite
l'istruzione DIM(631).
L'intervallo dei numeri di record validi è compreso tra 0 e NR–1, dove NR è il
numero di record specificati quando è stata definita la tabella tramite
l'istruzione DIM(631).
Indirizzo di
R memoria del
Numero tabella 10
PLC
Numero record: 0
...
Numero record 3
682
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Simbolo programmazione
ladder GETR(636)
N N: numero tabella
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON GETR(636)
Eseguita una sola volta per differenziazione @GETR(636)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area N IR D
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A448 a A959
Area del temporizzatore --- Da T0000 a T4095
Area del contatore --- Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a
@ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da 0 a 15 --- ---
683
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area N IR D
Registri dati --- Da DR0 a DR15
Registri indice --- Da IR0 a ---
IR15
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a
da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a
IR15, da ,IR0+(++) a
,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione GETR(636) trova il numero del record che include l'indirizzo di memoria del
PLC contenuto nel registro indice specificato e scrive il numero del record in
D. L'indirizzo di memoria del PLC contenuto nel registro indice non deve
necessariamente essere il primo canale, ma può essere qualsiasi canale nel
record.
Nello schema seguente è illustrato il funzionamento di base di GETR(636).
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se l'indirizzo di memoria del PLC nel registro indice
specificato non è incluso nella tabella specificata (N).
ON se il numero di tabella specificato (N) non è stato
definito mediante DIM(631).
OFF in tutti gli altri casi.
Avvertenze La tabella dei record deve essere stata definita in precedenza tramite
l'istruzione DIM(631) e l'indirizzo di memoria del PLC nel registro indice
specificato deve essere incluso nella tabella specificata.
IR Indirizzo di
Numero tabella 10 memoria del
Numero record: 0
...
Numero record 3 Record che
contiene
l'indirizzo 10000.
684
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Simbolo programmazione
ladder SRCH(181)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SRCH(181)
Eseguita una sola volta per differenziazione @SRCH(181)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
0 Selezione uscita
Selezione uscita
0000 esadecimale: non invia il numero
0: non invia il numero di di corrispondenze.
corrispondenze. 8000 esadecimale: invia il numero di
1: invia il numero di corrispondenze. corrispondenze.
R1
Intervallo di ricerca
... ---
R1+(C–1)
685
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Caratteristiche operando
Area C R1 Cd
Area CIO Da CIO 0000 a Da CIO 0000 a CIO 6143
CIO 6142
Area di lavoro Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 ad A958 Da A000 a A959
Area del temporizzatore Da T0000 a Da T0000 a T4095
T4094
Area del contatore Da C0000 a Da C0000 a C4095
C4094
Area DM Da D00000 a Da D00000 a D32767
D32766
Area EM senza banco Da E00000 a Da E00000 a E32767
E32766
Area EM con banco Da En_00000 a Da En_00000 a En_32767 (n = da 0 a
En_32766 C)
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori --- Da #0000 a
specificati #FFFF (binario)
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
C Cd
R1+(C–1)
Corrispondenza
686
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di C non è incluso nell'intervallo
specificato 0001 - FFFF.
OFF in tutti gli altri casi.
Flag di = ON se uno o più canali indicati nell'intervallo di ricerca
uguaglianza contengono i dati di confronto.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Indirizzo di
#8000000A
memoria del PLC
R1
Ricerca
Cd
10067
D00200
Numero di corrispondenze
00010067
Numero di
0003 corrispondenze
687
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Simbolo programmazione
ladder SWAP(637)
N N: numero di canali
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SWAP(637)
Eseguita una sola volta per differenziazione @SWAP(637)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
R1
...
R1+(N–1)
Caratteristiche operando
Area N R1
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
688
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area N R1
Costanti Da #0001 a #FFFF (binario) ---
o da &1 a &65.535
Registri dati Da DR00 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SWAP(637) scambia la posizione dei due byte in tutti canali presenti
nell'intervallo di memoria da R1 a R1+N–1. Questa istruzione può essere
utilizzata per invertire l'ordine dei caratteri dei codici ASCII in ogni canale.
La posizione del byte viene scambiata.
R1
N
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se N è 0000.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
N &10
R1
689
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Simbolo programmazione
ladder MAX(182)
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MAX(182)
Eseguita una sola volta per differenziazione @MAX(182)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
15 0
C
15 14 13 0
0
Selezione uscita
0: Non invia l'indirizzo di memoria del
PLC a IR00.
1: Invia l'indirizzo a IR00.
Tipo di dati
0: dati binari senza segno
1: Dati binari con segno
690
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
15 0
R1 Intervallo di ricerca
... ---
R1+(C–1)
Caratteristiche operando
Area C R1 D
Area CIO Da CIO 0000 a Da CIO 0000 a CIO 6143
CIO 6142
Area di lavoro Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 ad A958 Da A000 a A959 Da A448 a A959
Area del Da T0000 a T4094 Da T0000 a T4095
temporizzatore
Area del contatore Da C0000 a C4094 Da C0000 a C4095
Area DM Da D00000 a D32766 Da D00000 a D32767
Area EM senza Da E00000 a E32766 Da E00000 a E32767
banco
Area EM con banco Da En_00000 a Da En_00000 a En_32767
En_32766 (n = da 0 a C)
(n = da 0 a C)
Indirizzi DM/EM Da @ D00000 a @ D32767
indiretti in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM Da *D00000 a *D32767
indiretti in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori specificati ---
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento Da ,IR0 a ,IR15
indiretto con i registri Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
indice
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
691
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Indirizzo di
memoria del PLC
C W
Canali C
Valore massimo
R1+(W–1)
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di C non è incluso nell'intervallo
specificato 0001 - FFFF.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON se il valore massimo è 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 è ON nel canale contenente il valore
massimo.
OFF in tutti gli altri casi.
692
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
R1
C:D00100 0 0 0 A 10 canali
Numero di canali
C+1: D00101 1
Sempre 0.
1: invia l'indirizzo a IR00.
–2
–1
–3
D: D00300
000100CA
Simbolo programmazione
ladder MIN(183)
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MIN(183)
Eseguita una sola volta per differenziazione @MIN(183)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
693
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
0
Selezione uscita
0: non invia l'indirizzo di memoria del PLC a IR00.
1: invia l'indirizzo a IR00.
Tipo di dati
0: dati binari senza segno
1: dati binari con segno
R1 Intervallo di ricerca
... ---
R1+(C–1)
Caratteristiche operando
Area C R1 D
Area CIO Da CIO 0000 a Da CIO 0000 a CIO 6143
CIO 6142
Area di lavoro Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 ad A958 Da A000 a A959 Da A448 a A959
694
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area C R1 D
Area del temporizzatore Da T0000 a Da T0000 a T4095
T4094
Area del contatore Da C0000 a Da C0000 a C4095
C4094
Area DM Da D00000 a Da D00000 a D32767
D32766
Area EM senza banco Da E00000 a Da E00000 a E32767
E32766
Area EM con banco Da En_00000 a Da En_00000 a En_32767
En_32766 (n = da 0 a C)
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D0000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori ---
specificati
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Canali C
Valore minimo
R1+(W–1)
695
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di C non è incluso nell'intervallo
specificato 0001 - FFFF.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON se il valore minimo è 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 è ON nel canale contenente il valore
minimo.
OFF in tutti gli altri casi.
696
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
R1
C: D00100 0 0 0 A 10 canali
Numero di canali
C+1: D00101 1
Sempre 0.
1: invia l'indirizzo a IR00.
1: interpreta i dati come binari
con segno.
Equivalente
decimale
R1:
Indirizzo
di –2
memoria
del PLC
–1
Valore minimo
100CF –3
D: D00300
000100CF
Simbolo programmazione
ladder SUM(184)
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
697
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
0
Byte di inizio (effettivo se il bit 13 è 1)
0: byte più a sinistra
1: byte più a destra
Unità
0: canali
1: byte
Tipo di dati
0: binari
1: BCD
Tipo di dati (effettivo se il bit 14 è 0)
0: dati binari senza segno
1: dati binari con segno
... ---
R1+(unità C–1)
Nota Tutti i canali nell'intervallo di calcolo devono essere nella medesima area dati.
D: primo canale di destinazione
Il risultato del calcolo viene inviato a D+1 e a D. Le quattro cifre all'estrema
sinistra verranno memorizzate in D+1, mentre le quattro cifre all'estrema
destra verranno memorizzate in D.
Caratteristiche operando
Area C R1 D
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6142 CIO 6143 CIO 6142
Area di lavoro Da W000 a W510 Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H510 Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A000 a A959 Da A448 ad A958
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4094 T4095 T4094
698
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area C R1 D
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4094 C4095 C4094
Area DM Da D00000 a Da D00000 a Da D00000 a
D32766 D32767 D32766
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32766 E32767 E32766
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32766 En_32767 En_32766
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori ---
specificati
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SUM(184) aggiunge le unità C dei dati che cominciano con i dati in R1 e invia il
risultato a D+1 e a D. Le impostazioni in C+1 determinano se le unità sono
canali o byte, se i dati sono binari (con segno o senza segno) o BCD e, se
vengono addizionati byte, se iniziare con il byte più a sinistra o più a destra di
R1.
Quando il bit 14 di C+1 è stato impostato su 0, SUM(184) interpreta i dati come
binari. In questo caso, il bit 15 determina se i dati sono con segno (bit 15 = 1) o
senza segno (bit 15 = 0).
Quando il bit 13 di C+1 è stato impostato su 1, SUM(184) aggiunge byte di
dati. In questo caso, il bit 12 determina se il calcolo debba iniziare con il byte
all'estrema destra di R1 (bit 12 = 1) o con il byte all'estrema sinistra di R1
(bit 12 = 0).
S
699
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di C non è incluso nell'intervallo
specificato 0001 - FFFF.
ON se sono stati specificati dati BCD ma l'intervallo
contiene dati binari.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0000.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON se il bit 15 è ON nel risultato.
OFF in tutti gli altri casi.
Numero di canali/byte
R1
C+1: D00301
Sempre 0.
Byte di inizio
1: byte più a destra
Unità
1: byte
Tipo di dati
0: binari
Tipo di dati
0: dati binari senza segno
C: D00300 10 byte
R1: 2 A
C 3 2 A
9 F 2 0
2 7 2 0
2 A 5 5 Vengono aggiunti i
D C byte ombreggiati.
D: D00200 0 3 7 8
D+1: D00201 0 0 0 0
700
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Simbolo programmazione
ladder FCS(180)
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
0
Byte di inizio (valido solo se il bit 13 è 1)
0: byte più a sinistra
1: byte più a destra
Unità di calcolo
0: canali
1: byte
0
... ...
R1+(unità C–1)
Nota Tutti i canali nell'intervallo di calcolo devono essere nella medesima area dati.
701
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Caratteristiche operando
Area C R1 D
Area CIO Da CIO 0000 a Da CIO 0000 a CIO 6143
CIO 6142
Area di lavoro Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 ad A958 Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a Da T0000 a T4095
T4094
Area del contatore Da C0000 a Da C0000 a C4095
C4094
Area DM Da D00000 a Da D00000 a D32767
D32766
Area EM senza banco Da E00000 a Da E00000 a E32767
E32766
Area EM con banco Da En_00000 a Da En_0000 a En_32767
En_32766 (n = da 0 a C)
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori ---
specificati
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione FCS(180) calcola il valore FCS per unità C di dati, cominciando dai dati in R1,
converte il valore in codice ASCII e invia il risultato a D (per byte) o a D+1 e D
(per canali). Le impostazioni in C+1 determinano se le unità sono canali o
byte, se i dati sono binari (con segno o senza segno) o BCD e, se vengono
addizionati byte, se iniziare con il byte più a sinistra o più a destra di R1.
Quando il bit 13 di C+1 è stato impostato su 1, FCS(180) elabora byte di dati.
In questo caso, il bit 12 determina se il calcolo debba iniziare con il byte
all'estrema destra di R1 (bit 12 = 1) o con il byte all'estrema sinistra di R1
(bit 12 = 0).
702
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
R1
C (lunghezza della tabella)
Conversione ASCII
Calcolo
Valore FCS
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto di C non è incluso nell'intervallo
specificato 0001 - FFFF.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
703
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Esempi Nell'esempio seguente, quando CIO 000000 è ON, FCS(180) calcola il valore
FCS per i 10 byte di dati, cominciando dal byte più a destra di D00100, e
scrive il risultato in D00200.
R1
C+1: D00301
Sempre 0.
Byte di inizio (effettivo solo se il bit 13 è 1)
1: byte più a destra
Unità
1: byte
Sempre 0.
C: D00300 10 byte
R1: 0 1
0 2 0 3
0 4 0 5
0 6 0 7
Il valore FCS per i byte
0 8 0 0
ombreggiati viene calcolato
0 0 e convertito in ASCII.
D: D00200 3 0 3 8
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SNUM(638)
Eseguita una sola volta per differenziazione @SNUM(638)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
704
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
15 0
TB+1
15 0
TB+2
TB+(N–1)
Caratteristiche operando
Area TB D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati --- Da DR0 a DR15
705
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area TB D
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SNUM(638) conta il numero di canali di dati nello stack specificato dall'inizio
dell'area dati TB+4 fino all'indirizzo che precede quello indicato dal puntatore
dello stack (TB+3 e TB+2). SNUM(638) non modifica i dati nello stack o il
puntatore dello stack.
Stack Indirizzo di memoria
del PLC
TB
n
TB+1
TB+2 m
TB+3
TB+4 A
Conta il numero di canali (N)
dall'indirizzo di inizio stack
Puntatore (TB+4) fino alla posizione del
puntatore –1.
D N
m
Ultimo canale
nello stack
n
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il numero di canali di dati nello stack (il valore
inviato a D) è 0.
OFF in tutti gli altri casi.
Avvertenze È necessario che lo stack sia stato definito in precedenza tramite l'istruzione
SSET(630).
706
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Simbolo programmazione
ladder SREAD(639)
TB TB: Primo indirizzo stack
C: valore di offset
C
D: canale di destinazione
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SREAD(639)
Eseguita una sola volta per differenziazione @SREAD(639)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
15 0
TB+1
15 0
TB+2
707
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
TB+(N–1)
Caratteristiche operando
Area TB C D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 a A959 Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0001 a ---
#FFFB
(esadecimale)
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SREAD(639) legge i dati dall'indirizzo specificato dal puntatore dello stack
(TB+3 e TB+2) meno il valore di offset in C. SREAD(639) non modifica i dati
nello stack o il puntatore dello stack.
708
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Stack Indirizzo di
memoria del PLC
TB n
TB+1
TB+2 m
TB+3
TB+4
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se la posizione di lettura specificata non è inclusa
nell'area dello stack.
ON se il valore di offset specificato in C è 0 o maggiore
della dimensione massima dell'area dati
(FFFB esadecimale).
OFF in tutti gli altri casi.
Flag di = ON se i dati inviati a D sono 0000.
uguaglianza OFF in tutti gli altri casi.
Avvertenze È necessario che lo stack sia stato definito in precedenza tramite l'istruzione
SSET(630).
L'indirizzo nel puntatore dello stack deve essere maggiore dell'indirizzo di
memoria del PLC dell'inizio dell'area dati (TB+4). Se il puntatore dello stack è
minore dell'indirizzo di memoria del PLC di TB+4 si verificherà un errore,
ovvero verrà generato un errore di underflow dello stack.
709
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
000000
SREAD
D00000
&3 Indirizzo di
D00100
memoria del PLC
D00000 Indirizzo di memoria del PLC
dell'ultimo canale nello stack
D00001
D00002
Puntatore stack
D00003
Punta- D00004 A
tore D00005
Ultimo canale stack −3
D00006 D00100 A
nello stack D00007
D00008
D00009
Simbolo programmazione
ladder SWRIT(640)
TB: Primo indirizzo stack
TB
C: Valore di offset
C S: canale di origine
S
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SWRIT(640)
Eseguita una sola volta per differenziazione @SWRIT(640)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
710
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
15 0
TB+1
15 0
TB+2
TB+(N–1)
Caratteristiche operando
Area TB C S
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 a A959 Da A000 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0001 a Da #0000 a
#FFFB #FFFF
(esadecimale) (esadecimale)
Registri dati --- Da DR0 a DR15
711
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area TB C S
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SWRIT(640) sovrascrive i dati nel canale prescelto con i dati specificati in S.
La posizione del canale prescelto viene calcolata sottraendo il valore di offset
in C dal puntatore dello stack (TB+3 e TB+4). SWRIT(640) non modifica il
puntatore dello stack.
Stack Indirizzo di Stack
memoria del PLC
TB n TB n
TB+1 TB+1
TB+2 m TB+2 m
TB+3 TB+3
TB+4 TB+4
B A
Puntatore C C
D D
m Puntatore m
Ultimo
Valore di canale Ultimo canale
offset n n
nello stack nello stack
C
Scrive i dati (A) senza cambiare
il puntatore dello stack.
S A
Sovrascrive i dati nel canale prescelto
con i dati presenti in S.
L'indirizzo del canale prescelto viene
calcolato sottraendo il valore di offset
dall'indirizzo del puntatore dello stack.
Avvertenze È necessario che lo stack sia stato definito in precedenza tramite l'istruzione
SSET(630).
L'indirizzo nel puntatore dello stack deve essere maggiore dell'indirizzo di
memoria del PLC dell'inizio dell'area dati (TB+4). Se il puntatore dello stack è
minore dell'indirizzo di memoria del PLC di TB+4 si verificherà un errore,
ovvero verrà generato un errore di underflow dello stack.
712
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
000000
SWRIT
D00000
&3
Indirizzo di
D00100 memoria del PLC
D00000 Indirizzo di memoria del PLC
D00001 dell'ultimo canale nello stack
D00002 (Sovrascrittura)
Puntatore stack
D00003 D00100 A
Punta- D00004 B
tore D00005
stack −3
D00006
Ultimo canale
D00007
nello stack
D00008
D00009
Simbolo programmazione
ladder SINS(641)
TB TB: Primo indirizzo stack
C: Valore di offset
C S: canale di origine
S
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SINS(641)
Eseguita una sola volta per differenziazione @SINS(641)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
713
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
15 0
TB+1
15 0
TB+2
TB+(N–1)
Caratteristiche operando
Area TB C S
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 a A959 Da A000 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
714
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area TB C S
Costanti --- Da #0001 a Da #0000 a
#FFFB #FFFF
(esadecimale) (esadecimale)
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se l'indirizzo indicato dal puntatore dello stack (TB+3
e TB+2) è maggiore dell'indirizzo di memoria del PLC
dell'ultimo canale presente nell'area dati dello stack.
(Errore di overflow dello stack).
ON se il valore di offset specificato è maggiore della
dimensione massima dell'area dati –1 (FFFA
esadecimale).
OFF in tutti gli altri casi.
Avvertenze È necessario che lo stack sia stato definito in precedenza tramite l'istruzione
SSET(630).
SINS(641) inserisce un canale di dati nello stack, pertanto deve esserci
almeno un canale disponibile alla fine dello stack. Se lo stack è pieno, si
verificherà un errore e i dati di origine non verranno inseriti.
715
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Indirizzo di
memoria del PLC
D00000 Indirizzo di memoria del PLC
D00001 dell'ultimo canale nello stack
D00002 (Inserimento)
Puntatore stack
D00003
D00100 A
Punta- D00004 B
tore D00005 C
stack −3
Ultimo canale D00006 D
nello stack D00007
D00008
D00009
+1
Simbolo programmazione
SDEL(642)
ladder
TB TB: primo indirizzo stack
C: valore di offset
C
D: canale di destinazione
D
716
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SDEL(642)
Eseguita una sola volta per differenziazione @SDEL(642)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
15 0
TB+1
15 0
TB+2
TB+(N–1)
Caratteristiche operando
Area TB C D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 a A959 Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
717
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Area TB C D
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0001 a ---
#FFFB
(esadecimale)
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SDEL(642) elimina i dati che si trovano nella posizione specificata nello stack,
invia i dati al canale di destinazione specificato e fa scorrere verso l'alto nello
stack i dati rimanenti. Contemporaneamente SDEL(642) decrementa di 1 il
puntatore dello stack (TB+3 e TB+2). La posizione dell'indirizzo prescelto
viene calcolata sottraendo il valore di offset in C del puntatore dello stack.
Stack Indirizzo di Stack Indirizzo di
memoria del PLC memoria del PLC
TB n TB n
TB+1 TB+1
TB+2 m TB+2 m–1
Il puntatore dello
TB+3 TB+3 stack viene
TB+4 TB+4 decrementato di 1.
Puntatore
A B
B C
C
Puntatore
m m
Valore di Ultimo
offset canale Ultimo
nello stack n canale n
nello stack
C Elimina il canale
specificato e decrementa
il puntatore dello stack.
D A
L'indirizzo del canale prescelto
viene calcolato sottraendo il
valore di offset dall'indirizzo del
puntatore dello stack.
718
Istruzioni di elaborazione dei dati delle tabelle Capitolo 3-17
Flag
Nome Eti- Operazione
chetta
Flag di errore ER ON se il contenuto del puntatore dello stack (TB+3 e
TB+2) è inferiore o uguale all'indirizzo di memoria del
PLC del primo canale presente nell'area dati dello stack
(TB+4).
(Errore di underflow dello stack).
ON se il valore di offset specificato in C è 0 o maggiore
della dimensione massima dell'area dati
(FFFB esadecimale).
OFF in tutti gli altri casi.
Flag di = ON se i dati inviati a D sono 0000.
uguaglianza OFF in tutti gli altri casi.
Avvertenze È necessario che lo stack sia stato definito in precedenza tramite l'istruzione
SSET(630).
L'indirizzo nel puntatore dello stack deve essere maggiore dell'indirizzo di
memoria del PLC dell'inizio dell'area dati (TB+4). Se il puntatore dello stack è
minore dell'indirizzo di memoria del PLC di TB+4 si verificherà un errore,
ovvero verrà generato un errore di underflow dello stack.
–1
D00000 Indirizzo di memoria del PLC
dell'ultimo canale nello stack
D00001
D00002 Puntatore stack
D00003
Punta- D00004 B
tore D00005 C
stack
Ultimo D00006 C
canale −1 D00007 Dopo l'eliminazione dei dati il puntatore
D00008 dello stack verrà decrementato di 1.
D00009
719
Istruzioni di controllo dei dati Capitolo 3-18
Simbolo programmazione
ladder PID(190)
S S: canale di ingresso
C: primo canale
C parametro
D D: canale di uscita
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON PID(190)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
Parametri Nei diagrammi seguenti sono indicate le posizioni dei dati di parametro. Per
ulteriori dettagli sui parametri, consultare Impostazioni dei parametri PID in
questa sezione.
15 8 7 4 32 1 0
C+5 0
Designazione diretta/inversa
Designazione della modalità di
aggiornamento delle costanti PID
Impostazione dell'uscita della
Parametro variabile manipolata
2-PID (α)
Campo di uscita
Unità integrale e derivativa
Campo di ingresso
720
Istruzioni di controllo dei dati Capitolo 3-18
Caratteristiche operando
Area S C D
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6105 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W473 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H473 Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A000 ad A921 Da A448 ad A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4057 T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4057 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32729 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32729 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32729 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da DR0 a DR15 --- Da DR0 a DR15
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
721
Istruzioni di controllo dei dati Capitolo 3-18
Ingresso
valore Controllo
attuale (S) PID
Il numero di bit in ingresso validi all'interno dei 16 bit dell'ingresso del PV (S)
viene designato dall'impostazione del campo di ingresso in C+6, cioè i bit
compresi tra 08 e 11. Ad esempio, se viene specificato 12 bit (4 esadecimale)
per il campo di ingresso, l'intervallo compreso tra 0000 esadecimale e 0FFF
esadecimale verrà attivato come valore attuale (PV) e i valori maggiori di
0FFF esadecimale verranno considerati come 0FFF esadecimale.
Anche l'intervallo relativo al valore impostato dipende dal campo di ingresso.
I valori misurati (PV) e i valori impostati (SV) sono in formato binario senza
segno e sono compresi tra 0000 esadecimale e il valore massimo del campo
di ingresso.
Il numero di bit validi dei dati di uscita tra i 16 bit dell'uscita della variabile
manipolata viene designato dall'impostazione del campo di uscita in C+6,
cioè i bit compresi tra 00 e 03. Ad esempio, se viene specificato 12 bit
(4 esadecimale) per il campo di uscita, l'intervallo compreso tra 0000
esadecimale e 0FFF esadecimale sarà inviato come variabile manipolata.
Quando il valore attuale (PV) è uguale al valore impostato (SV) e solo nel
caso di operazioni proporzionali, è possibile designare l'uscita della variabile
manipolata in questo modo:
0: uscita 0%
1: uscita 50%.
La direzione dell'operazione proporzionale può essere designata sia come
diretta che come inversa.
È possibile specificare i limiti superiore e inferiore dell'uscita della variabile
manipolata.
Il periodo di campionamento può essere designato in unità di 10 ms (da 0,01
a 99,99 s), ma l'effettiva azione PID è determinata da una combinazione del
periodo di campionamento e del tempo necessario per l'esecuzione
dell'istruzione PID(190) a ogni ciclo.
È possibile impostare la modalità con cui apportare modifiche alle costanti
PID in due modi: 1) all'inizio dell'esecuzione dell'istruzione PID oppure 2)
all'inizio dell'esecuzione dell'istruzione PID e a ogni periodo di
campionamento. Solo la banda proporzionale (P), la costante integrale (Tik) e
la costante derivativa possono essere modificate a ogni ciclo di
campionamento, ossia durante l'esecuzione dell'istruzione PID. La modalità di
aggiornamento viene impostata al bit 1 di C+5.
Nota L'impostazione nel bit 1 di C+5 è supportata solo dalle CPU CJ1, CS1-H e
CJ1-H nonché dalle CPU CS1 con numero di lotto a partire da
001201@@@@, vale a dire prodotte dall'1 dicembre 2000.
Quando la condizione di esecuzione è impostata su ON, il valore impostato
(SV) è l'unico dei parametri PID (compresi tra C e C+38) che può essere
modificato. Per modificare altri valori, assicurarsi di impostare la condizione di
esecuzione su ON.
722
Istruzioni di controllo dei dati Capitolo 3-18
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati in C non rientrano nell'intervallo.
ON se il periodo di campionamento effettivo supera di
oltre il doppio il periodo di campionamento designato.
OFF in tutti gli altri casi.
Flag di > ON se la variabile manipolata dopo l'azione PID supera il
maggiore limite superiore.
OFF in tutti gli altri casi.
Flag di minore < ON se la variabile manipolata dopo l'azione PID è al di
sotto del limite inferiore.
OFF in tutti gli altri casi.
Flag di riporto CY ON in fase di esecuzione del controllo PID.
OFF in tutti gli altri casi.
Esempio Al fronte di salita di CIO 000000 (da OFF a ON), l'area di lavoro da D00209 a
D00238 viene inizializzata in base ai parametri impostati da D00200 a D00208
illustrati qui di seguito. In seguito all'inizializzazione dell'area di lavoro viene
eseguito il controllo PID e la variabile manipolata viene inviata a CIO 0020.
Quando CIO 000000 passa a ON, viene eseguito il controllo PID agli intervalli
del periodo di campionamento in base ai parametri impostati da D00200 a
D00208. La variabile manipolata viene inviata a CIO 0020.
Se la banda proporzionale (P), la costante integrale (Tik) o la costante
derivativa vengono modificate dopo l'attivazione di CIO 000000, le costanti
PID utilizzate nei calcoli PID restano inalterate.
723
Istruzioni di controllo dei dati Capitolo 3-18
Valori di ingresso e Il numero di bit validi dei dati di ingresso per il valore misurato viene designato
intervalli della variabile dall'impostazione del campo di ingresso in C+6, cioè i bit compresi tra 08 e
manipolata 11; il numero di bit validi dei dati di uscita per l'uscita della variabile
manipolata è designato dall'impostazione del campo di uscita in C+6, cioè i bit
compresi tra 00 e 03. Tali intervalli vengono riportati nella tabella seguente.
C+6, bit da 08 a 11 o Numero di bit validi Intervallo
C+6, bit da 00 a 03
0 8 Da 0000 a 00FF esadecimale
1 9 Da 0000 a 01FF esadecimale
2 10 Da 0000 a 03FF esadecimale
3 11 Da 0000 a 07FF esadecimale
4 12 Da 0000 a 0FFF esadecimale
5 13 Da 0000 a 1FFF esadecimale
6 14 Da 0000 a 3FFF esadecimale
7 15 Da 0000 a 7FFF esadecimale
8 16 Da 0000 a FFFF esadecimale
724
Istruzioni di controllo dei dati Capitolo 3-18
PID
Dati di controllo
D02000 C+6 (D02506):
D02500 @8@8
Numero valido di bit: 16
D03000 (da 0000 a FFFF esadecimale)
Numero valido di bit: 16
(da 0000 a FFFF esadecimale)
APR Dati di controllo
C (D01500): 0000 esadecimale (binario con una tabella)
D01500 C+1 (D01501): FFFF esadecimale (Xm)
D03000 C+2 (D01502): 0000 esadecimale (Yo)
Valore di uscita C+3 (D01503): FFFF esadecimale (X1)
analogica C+4 (D01504): 1770 esadecimale (Y1)
Al modulo di uscita analogica
Prestazioni dichiarate
Elemento Specifiche
Metodo di controllo PID --- Metodo PID di tipo filtro a due gradi di libertà per valore di riferimento
(diretto/inverso)
Numero di cicli di controllo PID --- Illimitato (1 ciclo per istruzione)
Periodo di campionamento τ 0,01 ... 99,99 s
Costante PID Banda proporzionale P 0,1 ... 999,9%
Costante integrale Tik 1 … 8191, 9999 (nessuna azione integrale per impostazione a 9999).
Costante derivativa Tdk 0 … 8191 (nessuna azione derivativa per impostazione a 0).
Valore impostato SV 0 … 65535 (valido fino al valore massimo del campo di ingresso).
Valore misurato PV 0 … 65535 (valido fino al valore massimo del campo di ingresso).
Variabile manipolata MV 0 … 65535 (valido fino al valore massimo del campo di uscita).
Metodo di calcolo Nel controllo PID i calcoli sono eseguiti dal controllo filtrato del valore di
riferimento a due gradi di libertà.
Schema a blocchi per PID del valore di riferimento a due gradi di libertà
Valore 1 + (1 – λ) Ti/τ + Kp +
Kp + Variabile manipolata
impostato 1 + Ti/τ Ti/τ
(valore di – –
riferimento)
Elementi di tipo Kp: costante proporzionale
derivativo precedenti Ti: tempo integrale
Td: tempo derivativo
Valore Kp Td/τ
misurato
1+ . Td/τ τ: periodo di campionamento
(PV)
λ α: parametro 2-PID
λ: coefficiente derivativo incompleto
725
Istruzioni di controllo dei dati Capitolo 3-18
(1) (3)
Risposta di
Quando la risposta di riferimento viene riferimento Risposta al disturbo
rallentata, la risposta al disturbo peggiora.
(2)
726
Istruzioni di controllo dei dati Capitolo 3-18
Uscita: 0%
Banda proporzionale troppo stretta (oscillazioni)
Uscita: 50%
Variabile
manipolata Offset
SV
728
Istruzioni di controllo dei dati Capitolo 3-18
Variabile
manipolata 0
Azione PI
Azione I
Variabile Azione P
manipolata
Ti: tempo integrale
Variabile
manipolata 0
Azione PD
Azione P
Variabile Azione D
manipolata 0
729
Istruzioni di controllo dei dati Capitolo 3-18
Azione PID
Azione I
Variabile Azione P
manipolata 0 Azione D
Risposta a rampa
Deviazione 0
Azione PID
Azione I
Azione P
Variabile 0 Azione D
manipolata
Direzione dell'azione Quando si utilizza il controllo PID, selezionare una delle due seguenti
direzioni di controllo, tenendo presente che in entrambi i casi la MV aumenta
parallelamente al valore attuale (PV)e al valore impostato (SV).
• Azione diretta: la MV aumenta quando il PV è maggiore dell'SV.
• Azione inversa: la MV aumenta quando il PV è minore dell'SV.
Azione inversa Azione diretta
Uscita Uscita
Regolazione dei parametri Qui di seguito viene fornita la relazione generale tra i parametri PID e lo stato
PID di controllo.
• Quando è fondamentale non provocare overshooting e si dispone del
tempo necessario per la stabilizzazione (tempo di assestamento),
aumentare la banda proporzionale.
730
Istruzioni di controllo dei dati Capitolo 3-18
Alla riduzione di P
SV
Controllo svolto da
PID misurato
SV
Aumentare I o P
SV
D minore
Simbolo programmazione
ladder PIDAT(191)
S S: canale di ingresso
C: primo canale parametro
C
D: canale di uscita
D
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON PIDAT(191)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
731
Istruzioni di controllo dei dati Capitolo 3-18
Parametri Nei diagrammi seguenti sono indicate le posizioni dei dati di parametro. Per
ulteriori dettagli sui parametri, consultare Impostazioni dei parametri PID in
questa sezione.
15 8 7 4 32 1 0
C+5 0
Designazione diretta/inversa
Designazione della modalità di
aggiornamento delle costanti PID
Impostazione dell'uscita della
Parametro variabile manipolata
2-PID (α)
Campo di uscita
Unità integrale e derivativa
Campo di ingresso
15 14 13 12 0
C+9 0 0 0
Bit di comando AT
15 0
C+10 Isteresi del ciclo limite
C+11
Area di lavoro
(30 canali: utilizzo utenti non
C+40
consentito)
Caratteristiche operando
Area S C D
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6105 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W473 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H473 Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A000 ad A921 Da A448 ad A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4057 T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4057 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32729 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32729 E32767
732
Istruzioni di controllo dei dati Capitolo 3-18
Area S C D
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32729 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da DR0 a DR15 --- Da DR0 a DR15
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Ingresso
valore Controllo
attuale (S) PID
Autotuning
Lo stato del bit di comando AT (bit 15 di C+9) viene controllato a ogni ciclo. Se
tale bit di controllo passa a ON in un determinato ciclo, PIDAT(191) inizia a
eseguire l'autotuning per le costanti PID. Durante l'autotuning, non vengono
aggiornate le modifiche del valore impostato.
Per l'autotuning viene utilizzato il metodo del ciclo limite. PIDAT(191) modifica
efficacemente la variabile manipolata (variabile manipolata massima ↔
variabile manipolata minima) e verifica le caratteristiche del sistema
controllato. Le costanti PID vengono calcolate in base alle caratteristiche
riscontrate e le nuove costanti P, I e D sono memorizzate automaticamente in
733
Istruzioni di controllo dei dati Capitolo 3-18
C+1, C+2 e C+3. A questo punto il bit di comando AT (bit 15 di C+9) passa a
OFF e il controllo PID riprende dalle nuove costanti in C+1, C+2 e C+3.
• Se all'inizio dell'esecuzione di PIDAT(191) il bit di comando AT è
impostato su ON, in primo luogo viene effettuato l'autotuning e quindi
viene avviato il controllo PID con le costanti PID calcolate.
• Se durante l'esecuzione di PIDAT(191) il bit di comando AT è impostato
su ON, l'istruzione interrompe il controllo PID in fase di esecuzione con le
costanti PID definite dall'utente, esegue l'autotuning e infine riprende il
controllo PID con le costanti PID calcolate.
Il diagramma di flusso seguente illustra la procedura dell'autotuning:
Il bit di comando AT (bit 15 di C+9) è ON
all'inizio dell'esecuzione di PIDAT(191) o
viene attivato durante l'esecuzione.
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati in C non rientrano nell'intervallo.
ON se il periodo di campionamento effettivo supera di
oltre il doppio il periodo di campionamento designato.
ON in caso di errore durante l'autotuning.
OFF in tutti gli altri casi.
Flag di > ON se la variabile manipolata dopo l'azione PID supera il
maggiore limite superiore.
OFF in tutti gli altri casi.
735
Istruzioni di controllo dei dati Capitolo 3-18
736
Istruzioni di controllo dei dati Capitolo 3-18
737
Istruzioni di controllo dei dati Capitolo 3-18
Esempio 1: Al fronte di salita di CIO 000000 (da OFF a ON), l'area di lavoro da D00211 a
Interruzione del controllo D00240 viene inizializzata in base ai parametri impostati da D00200 a
PID per eseguire D00208 illustrati qui di seguito. In seguito all'inizializzazione dell'area di lavoro
l'autotuning viene eseguito il controllo PID e la variabile manipolata viene inviata a CIO
0020.
Mentre CIO 000000 è ON, viene eseguito il controllo PID agli intervalli del
periodo di campionamento in base ai parametri impostati da D00200 a
D00210. La variabile manipolata viene inviata a CIO 0020.
Se la banda proporzionale (P), la costante integrale (Tik) o la costante
derivativa vengono modificate dopo l'attivazione di CIO 000000, le costanti
PID utilizzate nei calcoli PID restano inalterate.
Al fronte di salita di W 000000 (da OFF a ON), SETB(532) attiva il bit 15 di
D00209 (C+9) e avvia l'autotuning. Al completamento dell'autotuning, le
costanti calcolate P, I e D vengono scritte in C+1, C+2 e C+3. Infine, il
controllo PID viene riavviato con le nuove costanti.
738
Istruzioni di controllo dei dati Capitolo 3-18
000000
PIDAT
S 0010
C D00200
D 0020
W00000
SETB
D00209
#000F
C: D00200 0 1 2 C Valore impostato: 300
C+1: D00201 0 0 6 4 Banda proporzionale: 10.0%
C+2: D00202 0 4 B 0 Tempo integrale: 120,0 s
C+3: D00203 0 1 9 0 Tempo derivativo: 40,0 s
Periodo di cam- Funzionamento inverso (bit 00: 0), impostazione che abilita la modifica della costante
C+4: D00204 0 0 3 2 pionamento: 0,5 s PID = OFF (bit 01: 0), valore impostato = uscita della variabile manipolata 50% (bit
C+5: D00205 0 0 0 8 03: 1), parametro 2-PID = 0.65 (bit da 04 a 15: 000 esadecimale)
Parametri C+6: D00206 0 4 9 4 Campo di uscita della variabile manipolata: 12 bit (bit da 00 a 03: 4 esadecimale)
Costante integrale/derivativa: designazione tempo (bit da 04 a 07: 9 esadecimale)
C+7: D00207 0 0 0 0 Campo di ingresso: 12 bit (bit da 08 a 11: 4 esadecimale)
Controllo disattivato del limite di uscita della variabile manipolata (bit 12:0)
C+8: D00208 0 0 0 0 Bit di comando AT (bit 15 di 0)
Guadagno del calcolo AT = 1.00 (bit da 00 11: 000 esadecimale)
PV: C+9: D00209 0 0 0 0
Calcolo PID Isteresi del ciclo limite = 0.20%
CIO 0010 C+10: D00210 0 0 0 0
C+11: D00211
Area di
... lavoro
Uscita MV: CIO 0020
C+40: D00240
CIO 000000
AT in Controllo PID
Controllo PID esecuzione
W000000
Bit 15 di
D00209
PV
SV
Tempo
MV
Tempo
739
Istruzioni di controllo dei dati Capitolo 3-18
Esempio 2: Al fronte di salita di CIO 000000 (da OFF a ON), l'autotuning verrà eseguito
Avvio di PIDAT(191) con per primo se il bit 15 di D00209 (C+9) è ON. Al completamento
autotuning dell'autotuning, le costanti calcolate P, I e D vengono scritte in C+1, C+2 e
C+3. Infine, il controllo PID viene avviato con le costanti PID calcolate.
000000
PID
S 0010
C D00200
D 0020
CIO 000000
PV
SV
Tempo
MV
Tempo
CIO 000000
Controllo PID AT in Controllo PID
esecuzione
Avvio di AT Arresto di AT
Bit 15 di
D00209
PV
SV
740
Istruzioni di controllo dei dati Capitolo 3-18
Simbolo programmazione
ladder LMT(680)
S S: canale di ingresso
D D: canale di uscita
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON LMT(680)
Eseguita una sola volta per differenziazione @LMT(680)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S C D
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6142 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A000 ad A958 Da A448 ad A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4094 T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4094 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32766 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32766 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32766 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a ---
#FFFF
(binario)
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
741
Istruzioni di controllo dei dati Capitolo 3-18
Area S C D
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Limite
C+1
superiore
Limite
C
inferiore
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER Viene attivato se il limite superiore è minore del limite
inferiore.
OFF in tutti gli altri casi.
Flag di > ON se i dati di ingresso (S) sono maggiori del limite
maggiore superiore.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di minore < ON se i dati di ingresso (S) sono minori del limite
inferiore.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è "1".
OFF in tutti gli altri casi.
742
Istruzioni di controllo dei dati Capitolo 3-18
Esempio Se D00100 è 0050 esadecimale (80), 0064 esadecimale (100) viene inviato a
D00300 poiché 80 è minore del limite inferiore di 100.
Se D00100 è 00C8 esadecimale (200), 0064 esadecimale (100) viene inviato
a D00300 poiché 200 rientra nell'intervallo delimitato dai limiti superiore e
inferiore.
Se D00100 è 012C esadecimale (300), 015E esadecimale (350) viene inviato
a D00300 poiché 350 è maggiore del limite superiore di 300.
S S: canale di ingresso
D D: canale di uscita
743
Istruzioni di controllo dei dati Capitolo 3-18
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON BAND(681)
Eseguita una sola volta per differenziazione @BAND(681)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S C D
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6142 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A000 ad A958 Da A448 a A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4094 T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4094 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32766 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32766 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32766 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a ---
#FFFF
(binario)
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
744
Istruzioni di controllo dei dati Capitolo 3-18
Se i dati di ingresso (S) sono maggiori o uguali al limite inferiore (C) e minori o
uguali al limite superiore (C+1), 0000 esadecimale è inviato a D e viene
attivato il flag di uguaglianza.
Se i dati di ingresso (S) sono minori del limite inferiore (C), la differenza tra i
dati di ingresso meno i dati del limite inferiore è inviata a D e il flag di minore
viene attivato.
Se i dati di ingresso (S) sono maggiori del limite superiore (C+1), la differenza
tra i dati di ingresso meno i dati del limite superiore è inviata a D e il flag di
maggiore viene attivato.
Risultati
Limite
inferiore
(C)
Ingresso
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER Viene attivato se il limite superiore è minore del limite
inferiore.
OFF in tutti gli altri casi.
Flag di > ON se i dati di ingresso (S) sono maggiori del limite
maggiore superiore.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di minore < ON se i dati di ingresso (S) sono minori del limite inferiore.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è "1".
OFF in tutti gli altri casi.
745
Istruzioni di controllo dei dati Capitolo 3-18
Limite inferiore
Limite Limite
inferiore: superiore:
200 300 Limite superiore
Simbolo programmazione
ladder ZONE(682)
S S: canale di ingresso
D D: canale di uscita
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ZONE(682)
Eseguita una sola volta per differenziazione @ZONE(682)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S C D
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6142 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A000 ad A958 Da A448 a A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4094 T4095
746
Istruzioni di controllo dei dati Capitolo 3-18
Area S C D
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4094 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32766 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32766 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32766 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a ---
#FFFF
(binario)
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Polarizzazione
positiva (C+1)
Ingresso
Polarizzazione
negativa (C)
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER Viene attivato se il limite superiore è minore del limite
inferiore.
OFF in tutti gli altri casi.
Flag di > ON se i dati di ingresso (S) sono maggiori del limite
maggiore superiore.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di minore < ON se i dati di ingresso (S) sono minori del limite inferiore.
OFF in tutti gli altri casi.
Flag negativo N ON quando il bit più a sinistra del risultato è "1".
OFF in tutti gli altri casi.
Valori decimali
C: –100
Polarizzazione
negativa
Polarizzazione
Contenuto di D00300
positiva
Contenuto di D00200
748
Istruzioni di controllo dei dati Capitolo 3-18
Simbolo programmazione
ladder TPO
S S: canale di ingresso
C C: primo canale parametro
R R: bit di uscita a impulsi
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TPO(685)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK OK
749
Istruzioni di controllo dei dati Capitolo 3-18
15 12 11 8 7 4 3 0
C
15 0
C+1 Periodo di controllo
C+2 Limite inferiore di uscita
C+3 Limite superiore di uscita
C+4
Area di lavoro
C+5 (3 canali, utilizzo utenti non
C+6
Nota: per ulteriori informazioni, fare riferimento alla descrizione di ciascun parametro.
Caratteristiche operando
Area S C R
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 000000 a
CIO 6143 CIO 6137 CIO 614315
Area di lavoro Da W000 a W511 Da W000 a W505 Da W00000 a
W51115
Area bit di ritentività Da H000 a H511 Da H000 a H505 Da H00000 a
H51115
Area bit ausiliaria Da A000 a 959 Da A000 ad A953 Da A44800 ad
A95915
Area del temporizzatore Da T0000 a Da T0000 a ---
T4095 T4089
Area del contatore Da C0000 a Da C0000 a ---
C4095 C4089
Area DM Da D00000 a Da D00000 a ---
D32767 D32761
Area EM senza banco Da E00000 a Da E00000 a ---
E32767 E32761
Area EM con banco Da En_00000 a Da En_00000 a ---
En_32767 En_32761
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767 ---
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767 ---
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a --- ---
#FFFF
(binario)
Registri dati Da DR0 a DR15 --- ---
750
Istruzioni di controllo dei dati Capitolo 3-18
Area S C R
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
751
Istruzioni di controllo dei dati Capitolo 3-18
da 12 a 24 Vc.c. SSR
COM +
C.A.
752
Istruzioni di controllo dei dati Capitolo 3-18
753
Istruzioni di controllo dei dati Capitolo 3-18
100%
Rapporto di
funzionamento 70%
(VM/intervallo VM) 55%
0%
Uscita
Tempo
Ciascuna uscita del periodo di controllo è determinata dal rapporto di funzionamento all'avvio di tale periodo.
Utilizzare questa impostazione per applicazioni generiche.
70%
Rapporto di 55%
funzionamento
(VM/intervallo VM) 35%
Il 55% del riferimento Viene mantenuto il
abbattuto al 35% 70% del riferimento
0%
a × 0,35 s a × 0,65 s a × 0,70 s a × 0,30 s
Uscita
Tempo
100%
Viene mantenuto il 70% del riferimento
80%
Rapporto di 70%
funzionamento 55%
(VM/intervallo VM)
Il 70% del riferimento
incrementato al 80%
0%
a×
a × 0,45 s a × 0,55 s 0,20 s a × 0,80 s
Uscita
Tempo
Il rapporto di funzionamento viene regolato se da subito risulta superiore al valore iniziale
e l'uscita passa tempestivamente a ON. Con questa impostazione l'ordine ON/OFF
dell'uscita è invertito e l'uscita passa da OFF a ON.
Utilizzare questa impostazione per scongiurare l'undershooting nel caso di controlli
proporzionali al tempo del raffreddamento o di periodi di controllo relativamente lunghi.
754
Istruzioni di controllo dei dati Capitolo 3-18
100%
Periodo di controllo (a) Periodo di controllo (a)
100%
Rapporto di : Uscita attivata
funzionamento : Uscita
(VM/intervallo VM) disattivata
0%
a× a× a×
a × 0,35 s 0,20 s 0,20 s 0,20 s
Uscita
Tempo
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se i dati di ingresso in S non rientrano nell’intervallo.
L’intervallo di impostazione dei dati di ingresso dipende
dall’impostazione del tipo di ingresso.
ON se i dati in C non rientrano nell’intervallo. L’intervallo
della variabile manipolata genera un errore solo quando il
tipo di ingresso viene impostato su variabile manipolata.
ON se il periodo di controllo in C+1 non rientra
nell’intervallo.
ON se la funzione di limite di uscita è attivata ma il limite
inferiore (C+2) o superiore (C+3) di uscita non rientrano
nell’intervallo.
ON se la funzione di limite di uscita è attivata ma il limite
inferiore di uscita (C+2) è minore o uguale al limite
superiore di uscita (C+3).
OFF in tutti gli altri casi.
755
Istruzioni di controllo dei dati Capitolo 3-18
000000
PID
Quando CIO 000000 passa da OFF a ON, PID(190)
S 0010 Ingresso PV legge i parametri, esegue il calcolo PID con
C D00200 Parametri PID l'ingresso del valore attuale (PV) di CIO 0010 e invia
la variabile manipolata (VM) a D00000.
D D00000 Variabile manipolata
Task ciclico
DI
PID
S Ingresso PV
C Parametri PID Ricezione non consentita
D Variabile
manipolata Task ad interrupt
TPO
Variabile
S manipolata
C Parametri
R Uscita a impulsi
EI
Ricezione consentita
Task ad interrupt
756
Istruzioni di controllo dei dati Capitolo 3-18
000000
TPO TPO(685) assume il rapporto di funzionamento di
D00010, lo converte in un'uscita proporzionale al
S D00010 Rapporto di funzionamento tempo e invia l'uscita a impulsi al bit 00 di CIO 00001.
C D00000 Parametri
R 000100 Uscita a impulsi
Simbolo programmazione
SCL(194)
ladder
S S: canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SCL(194)
Eseguita una sola volta per differenziazione @SCL(194)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Operandi Nel seguente diagramma è indicato il contenuto dei quattro canali a partire
dal primo canale parametro (P1).
757
Istruzioni di controllo dei dati Capitolo 3-18
15 0
P1
Caratteristiche operando
Area S P1 R
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6140 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W508 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H508 Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A000 ad A956 Da A448 a A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4092 T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4092 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32764 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32764 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32764 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
758
Istruzioni di controllo dei dati Capitolo 3-18
Area S P1 R
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SCL(194) viene utilizzata per convertire i dati binari senza segno contenuti nel
canale di origine S in dati BCD senza segno e inviare il risultato nel canale del
risultato R in base alla funzione lineare definita dai punti (As, Ad) e (Bs, Bd).
L’indirizzo del primo canale contenente le coordinate dei punti (As, Ar) e (Bs,
Br) viene specificato per il primo canale parametro P1. Questi punti
definiscono due valori (As e Bs) prima della funzione di scala e due valori (Ar
e Br) in seguito.
Per la conversione si utilizzano le seguenti equazioni:
(Bd – Ad)
R = Bd – × Conversione BCD di (Bs – S)
Conversione BCD di (Bs – As)
(Bd – Ad)
R = Bd –
Conversione BCD di (Bs – As)
759
Istruzioni di controllo dei dati Capitolo 3-18
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se il contenuto di C (Ar) o C+1 (Br) non è in formato
BCD.
ON se il contenuto di C+1 (As) e C+3 (Bs) sono uguali.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Avvertenze Se i valori per Ar (C) e Br (C+2) non sono in formato BCD o se i valori per As
(C+1) e Bs (C+3) sono uguali, si verificherà un errore e il flag di errore verrà
attivato.
Il flag di uguaglianza viene attivato quando il contenuto del canale D del
risultato è 0000.
D00000
P1
R
Valori negativi
In effetti, un modulo di ingresso analogico immette valori da FF38 a 1068
esadecimale per valori compresi tra 0,8 e 5,2 V. Con SCL(194), tuttavia, è
possibile gestire solo valori binari senza segno da 0000 a FFFF esadecimale
e non valori binari con segno inferiori a 1 V (0000 esadecimale), come quelli
compresi tra FF38 e FFFF esadecimale. In un’applicazione effettiva è quindi
necessario aggiungere 00C8 esadecimale a tutti i valori in modo che FF38
esadecimale venga rappresentato come 0000 esadecimale prima
dell’esecuzione di SCL(194). Osservare l’esempio seguente.
760
Istruzioni di controllo dei dati Capitolo 3-18
x+00C8 He
Il valore in CIO
0200 più 00C8
esadecimale
Punto A
Contenuto di D 00000 (S)
Punto
Punto B
Punto A
Punto B
761
Istruzioni di controllo dei dati Capitolo 3-18
Simbolo programmazione
SCL2(486)
ladder
S S: canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SCL2(486)
Eseguita una sola volta per differenziazione @SCL2(486)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Operandi Nel seguente diagramma è indicato il contenuto dei tre canali a partire dal
primo canale parametro (P1).
15 0
P1
∆X
Da 8000 a 7FFF (binario con segno)
15 0
P1+2
∆Y
Da 0000 a 9999 (BCD)
Caratteristiche operando
Area S P1 R
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6141 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W509 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H509 Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A000 ad A957 Da A448 a A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4093 T4095
762
Istruzioni di controllo dei dati Capitolo 3-18
Area S P1 R
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4093 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32765 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32765 E32767
Area EM con banco Da En_00000 a En_00000 ... Da En_00000 a
En_32767 En_32765 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SCL2(486) viene utilizzata per convertire i dati binari con segno contenuti nel
canale di origine S in dati BCD con segno (i dati BCD hanno il valore assoluto
e il flag di riporto indica il segno) e inviare il risultato nel canale del risultato R,
in base alla funzione lineare definita dalla pendenza (∆X, ∆Y) e dall'offset.
L'indirizzo del primo canale contenente ∆X, ∆Y e l'offset viene specificato per
il primo canale parametro P1. Il segno del risultato viene indicato dallo stato
del flag di riporto (ON: negativo; OFF: positivo).
Per la conversione si utilizzano le seguenti equazioni:
∆Y
R= x ((Conversione di S in BCD) – (Conversione offset in BCD))
Conversione in BCD
di ∆X
La pendenza della linea è ∆Y/∆X.
763
Istruzioni di controllo dei dati Capitolo 3-18
∆Y
∆Y
Offset ∆X
∆X
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)
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se il contenuto di C+1 (∆X) è 0000.
ON se il contenuto di C+2 (∆Y) non è BCD.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag di riporto CY ON se il risultato è negativo.
OFF se il risultato è zero o positivo.
Avvertenze Se il valore per ∆X (C+1) è 0000 o se il valore per ∆Y (C+2) non è BCD, si
verificherà un errore e verrà attivato il flag di errore.
Il flag di uguaglianza viene attivato quando il contenuto del canale D del
risultato è 0000.
Il flag di riporto viene attivato se il valore inviato al canale del risultato è
negativo.
764
Istruzioni di controllo dei dati Capitolo 3-18
Quando CIO 000000 è ON, il contenuto di CIO 0205 viene scalato utilizzando
la funzione lineare definita da ∆X (0FA0), ∆Y (0300) e l'offset (0). Tali valori si
trovano tra D00100 e D00102 e il risultato viene inviato in D00200.
P1
Contenuto di R (D00200)
R
P1: Offset
P1+1: ∆X
P1+2: ∆Y
1068
(∆X)
P1
Contenuto di R (D00200)
R
P1: D00100 Offset
P1+1: D00101 0 F A 0 ∆X
P1+2: D00102 ∆Y
Offset
07D0 0400 (∆Y)
Contenuto di S (CIO
765
Istruzioni di controllo dei dati Capitolo 3-18
Simbolo programmazione
SCL3(487)
ladder
S S: canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SCL3(487)
Eseguita una sola volta per differenziazione @SCL3(487)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
Operandi Nel seguente diagramma è indicato il contenuto dei cinque canali a partire dal
primo canale parametro (P1).
15 0
P1
∆X
Da 0001 a 9999 (BCD)
15 0
P1+2
∆Y
Da 8000 a 7FFF (binario con segno)
15 0
P1+3
Conversione massima
Da 8000 a 7FFF (binario con segno)
15 0
P1+4
Conversione minima
Da 8000 a 7FFF (binario con segno)
766
Istruzioni di controllo dei dati Capitolo 3-18
Caratteristiche operando
Area S P1 R
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6139 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W507 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H507 Da H000 a H511
Area bit ausiliaria Da A000 ad A447 Da A000 ad A443 Da A448 ad A959
Da A448 ad A959 Da A448 ad A955
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4091 T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4091 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32763 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32763 E32767
Area EM con banco Da En_00000 a En_00000 ... Da En_00000 a
En_32767 En_32763 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SCL3(487) viene utilizzata per convertire i dati BCD con segno (i dati BCD
hanno il valore assoluto e il flag di riporto indica il segno) contenuti nel canale
di origine S in dati binari con segno e inviare il risultato nel canale del risultato
R, in base alla funzione lineare definita dalla pendenza (∆X, ∆Y) e dall'offset.
Vengono specificati anche i valori relativi alla conversione massima e minima.
L'indirizzo del primo canale contenente ∆X, ∆Y, l'offset, la conversione
massima e la conversione minima viene specificato per il primo canale
parametro P1.
Il segno del risultato viene indicato dallo stato del flag di riporto (ON: negativo;
OFF: positivo). Per attivare e disattivare il flag di riporto, utilizzare STC(040) e
CLC(041).
Per la conversione si utilizzano le seguenti equazioni:
∆Y
R = Conversione in formato x ((Conversione di S in formato binario) + (Offset))
binario di ∆X
La pendenza della linea è ∆Y/∆X.
767
Istruzioni di controllo dei dati Capitolo 3-18
∆Y ∆Y
∆X ∆X
Min. Offset Offset S (BCD con segno)
conversione
S (BCD con segno)
Min. conversione
Offset di 0000
R (binario con segno)
Max.
conversione
∆Y
∆X
S (BCD con segno)
Min. conversione
SCL3(487) viene utilizzata per convertire i dati in formato binario con segno
per moduli di uscita analogica tramite una scala definita dall'utente. Ad
esempio, SCL3(487) può convertire da 0 a 200 °C in valori compresi tra 0000
e 0FA0 (esadecimale) e inviare un segnale di uscita analogica compreso tra 1
e 5 V dal modulo di uscita analogica.
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se il contenuto di S non è in formato BCD.
ON se il contenuto di C+1 (∆X) non è compreso tra 0001
e 9999 BCD.
OFF in tutti gli altri casi.
Flag di = ON se il risultato è 0.
uguaglianza OFF in tutti gli altri casi.
Flag negativo N ON quando l’MSB di R (il risultato) è 1.
OFF in tutti gli altri casi.
768
Istruzioni di controllo dei dati Capitolo 3-18
Esempi Quando un valore tra 0 e 200 viene scalato a un segnale analogico (ad
esempio da 1 a 5 V), un valore BCD con segno compreso tra 0000 e 0200
viene convertito (scalato) in un valore binario con segno compreso tra 0000 e
0FA0 per un modulo di uscita analogica. Nell'esempio seguente, quando CIO
000000 passa a ON, il contenuto di D00000 viene scalato utilizzando la
funzione lineare definita da ∆X (0200), ∆Y (0FA0) e l'offset (0). Questi valori
sono si trovano da D00100 a D00102. Il segno del valore BCD in D00000 è
indicato dal flag di riporto. Il risultato viene inviato a CIO 2011.
P1
R
Contenuto di R (2011, dati binari con segno)
P1: Offset
P1+1: ∆X
P1+2: ∆Y
P1+3: Max. conversione
P1+4: Min. conversione
∆Y (0FA0 Hex)
∆X (0200)
N N: numero di cicli
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON AVG(195)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
Non consentita OK OK OK
769
Istruzioni di controllo dei dati Capitolo 3-18
R: media
R+1: informazioni in corso di elaborazione
15 14 0
R+1
Caratteristiche operando
Area S N R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a Da #0001 a #0040 ---
#FFFF (binario)
(binario)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Descrizione Per i primi N–1 cicli, quando la condizione di esecuzione è impostata su ON,
AVG(195) scrive nei canali i valori di S in ordine, partendo da R+2. Ogni volta
che un valore viene scritto, il puntatore del valore precedente (bit compresi tra
00 e 07 di R+1) viene incrementato. Una volta scritto l’ennesimo valore, il
contenuto di S viene inviato in R inalterato e il flag di media valida (bit 15 di
R+1) resterà disattivato.
770
Istruzioni di controllo dei dati Capitolo 3-18
N: numero di cicli
R+1 Puntatore
Flag di media valida media
R+2
S Ciclo 1
R+3
S Ciclo 2
N valori
S Ciclo N
R+N+1
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se il contenuto di N è 0.
OFF in tutti gli altri casi.
Avvertenze Il contenuto del primo canale area di lavoro (D+1) viene azzerato (0000) ogni
volta che la condizione di esecuzione passa da OFF a ON.
Il contenuto del primo canale area di lavoro (D+1) non viene azzerato in
occasione della prima esecuzione del programma, all’avvio del
funzionamento. Se AVG(195) deve essere eseguita nella prima scansione del
programma, azzerare dal programma il primo canale dell’area di lavoro.
Se il contenuto di N (numero di cicli) è 0000, si verificherà un errore e verrà
attivato il flag di errore.
Nell’esempio seguente, quando CIO 000000 è ON, il contenuto di D00100
verrà memorizzato una volta a ogni scansione per il numero di scansioni
specificato in D00200. Il contenuto è memorizzato in sequenza nei dieci
canali compresi tra CIO 0302 e CIO 0311. La media del contenuto di questi
dieci canali sarà inviata in CIO 0300 e quindi verrà attivato il bit 15 di CIO
0301.
771
Istruzioni di controllo dei dati Capitolo 3-18
S: D00100
S
N N: D00200 (10 volte)
R
R: CIO 0300
Puntatore
R+1: CIO 0301
Flag di media valida Media
Esempi Nell’esempio che segue, il contenuto di CIO 0040 viene impostato su #0000 e
quindi incrementato di 1 a ogni ciclo. Nei primi due cicli, AVG(195) sposta il
contenuto di CIO 0040 in D01002 e D01003. Modifiche intervengono altresì
nel contenuto di D01001, che può essere utilizzato per confermare che i
risultati di AVG(195) hanno subito modifiche. A partire dal terzo ciclo,
AVG(195) calcola il valore medio del contenuto dei canali compresi tra
D01002 e D01004 e scrive tale valore in D01000.
@MOV
772
Subroutine Capitolo 3-19
3-19 Subroutine
3-19-1 SUBROUTINE CALL: SBS(091)
Scopo Richiama la subroutine con il numero di subroutine specificato ed esegue il
programma.
Simbolo programmazione
ladder SBS(091)
N N: numero subroutine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SBS(091)
Eseguita una sola volta per differenziazione @SBS(091)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area N
Area CIO ---
Area di lavoro ---
Area bit di ritentività ---
Area bit ausiliaria ---
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti Da 0 a 1023 decimale (vedere nota)
Registri dati ---
Registri indice ---
Indirizzamento indiretto ---
con i registri indice
Nota Per CPU CJ1M-CPU11 e CJ1M-CPU21, l’intervallo è compreso tra &0 e &255
decimale.
773
Subroutine Capitolo 3-19
Programma
principale
Programma di
subroutine
[tra SBN(092)
e RET(093)]
Fine programma
SBN 11 SBS 12
774
Subroutine Capitolo 3-19
Condizione di esecuzione ON
Programma
principale
Programma Condizione di
di subroutine esecuzione ON
n
Nidificazione
a 2 livelli
Programma
di subroutine
m
Fine
programma
1 1
3
1
5
1
Subroutine
0001 4 La subroutine
viene
nuovamente
2 eseguita.
775
Subroutine Capitolo 3-19
1
1
3
1
La subroutine non viene
eseguita nei cicli successivi.
000100
2
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se la nidificazione supera 16 livelli.
ON se il numero specificato di subroutine non esiste.
ON se una subroutine richiama se stessa.
ON se una subroutine in fase di esecuzione viene
richiamata.
ON se la subroutine specificata non è definita nel task in
esecuzione.
OFF in tutti gli altri casi.
776
Subroutine Capitolo 3-19
1
CIO 000000 ON
Programma
principale
777
Subroutine Capitolo 3-19
1
CIO 000000 ON
Programma
principale
CIO 000001 ON
Ordine di esecuzione
2 A→S1→B→S2→C
A→S1→B→C
A→B→S2→C
A→B→C
Subroutine
Fine programma
778
Subroutine Capitolo 3-19
1
CIO 000000 ON
1
Ordine di esecuzione
A→S1-1→S2→S1-2→B
2 Subroutine 1
A→S1-1→S1-2→B
CIO 000001 ON A→B
A→B
2
3
Subroutine 2
Simbolo programmazione
ladder MCRO(099)
N N: numero subroutine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MCRO(099)
Eseguita una sola volta per differenziazione @MCRO(099)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
779
Subroutine Capitolo 3-19
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area N S D
Area CIO --- Da CIO 0000 a CIO 6140
Area di lavoro --- Da W000 a W508
Area bit di ritentività --- Da H000 a H508
Area bit ausiliaria --- Da A000 ad A444 Da A448 ad A956
Da A448 ad A956
Area del temporizzatore --- Da T0000 a T4092
Area del contatore --- Da C0000 a C4092
Area DM --- Da D00000 a D32764
Area EM senza banco --- Da E00000 a E32764
Area EM con banco --- Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da 0 a 1023 ---
decimale (vedere
nota)
Registri dati ---
Registri indice ---
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da
–2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15, da
IR0+(++) a IR015+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
780
Subroutine Capitolo 3-19
MCRO(099)
Esecuzione della
subroutine tra
SBN(092) e
RET(093).
MCRO(099)
MCRO(099) può essere utilizzata per consolidare due o più subroutine con la
stessa struttura ma differenti indirizzi di ingresso e di uscita in un unico
programma di subroutine. All'esecuzione di MCRO(099), i dati di ingresso e
uscita specificati vengono trasferiti alla subroutine indicata.
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se la nidificazione supera 16 livelli.
ON se il numero specificato di subroutine non esiste.
ON se una subroutine richiama se stessa.
ON se una subroutine in fase di esecuzione viene
richiamata.
ON se la subroutine specificata non è definita nel task in
esecuzione.
OFF in tutti gli altri casi.
Avvertenze I quattro canali dei dati di ingresso (canali o bit) da A600 ad A603 and e i
quattro canali dei dati di uscita (canali o bit) da A604 ad A607 devono essere
utilizzati nella subroutine richiamata da MCRO(099). Non è possibile trasferire
più di quattro canali di dati.
È possibile nidificare le istruzioni MCRO(099), ma i dati nei canali di ingresso
e di uscita dell'area della macro (da A600 ad A607) devono essere salvati
prima che venga richiamata un'altra subroutine: tutte le istruzioni
MCRO(099), infatti, utilizzano gli stessi 8 canali.
Esempio Nell'esempio che segue, quando CIO 000000 è ON, due istruzioni
MCRO(099) trasferiscono alla subroutine 1 differenti dati di ingresso e di
uscita.
781
Subroutine Capitolo 3-19
Ingresso
1
Esecuzione della
subroutine 1
Uscita
I dati di uscita sono spostati
quando vengono restituiti dalla
Subroutine 1 Canali di uscita dell'area
subroutine.
delle macro
D: 0300 A604
D+1: 0301 A605
D+2: 0302 A606
D+3: 0303 A607
782
Subroutine Capitolo 3-19
Simbolo programmazione
ladder SBN(092)
N N: numero subroutine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SBN(092)
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita Non consentita OK OK
Caratteristiche operando
Area N
Area CIO ---
Area di lavoro ---
Area bit di ritentività ---
Area bit ausiliaria ---
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti Da 0 a 1023 (decimale)
Registri dati ---
Registri indice ---
Indirizzamento indiretto ---
con i registri indice
783
Subroutine Capitolo 3-19
SBS MCRO
n n
SBN
n Area
subroutine
RET
oppure
Area subroutine
784
Subroutine Capitolo 3-19
Non consentita OK
Task 1 Task
Task 2
Non
consentita
oppure
#10 #10
#10
Subroutine 10
785
Subroutine Capitolo 3-19
Simbolo programmazione
ladder RET(093)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RET(093)
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita Non consentita OK OK
Descrizione RET(093) indica la fine di una subroutine mentre SBN(092) ne indica l'inizio.
Per ulteriori informazioni sul funzionamento delle subroutine, consultare 3-19-3
SUBROUTINE ENTRY: SBN(092).
Quando l'esecuzione del programma raggiunge RET(093), torna
automaticamente all'istruzione successiva all’istruzione SBS(091) o
MCRO(099) che ha richiamato la subroutine. Quando la subroutine è
richiamata da MCRO(099), i dati di uscita da A604 ad A607 vengono scritti
nell'intervallo compreso tra D e D+3 prima che l'esecuzione del programma
riprenda.
Simbolo programmazione
GSBS(750)
ladder N: numero di subroutine globale
N
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON GSBS(750)
Eseguita una sola volta per differenziazione @GSBS(750)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
786
Subroutine Capitolo 3-19
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area N
Area CIO ---
Area di lavoro ---
Area bit di ritentività ---
Area bit ausiliaria ---
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti Da 0 a 1023 decimale (vedere nota)
Registri dati ---
Registri indice ---
Indirizzamento indiretto ---
con i registri indice
787
Subroutine Capitolo 3-19
000000 000001
GSBS GSBS
n n
Programma
principale
B C
B C
Task ad interrupt 0
GSBN
n
Programma di
subroutine globale
(da GSBN(751) a
GRET(752))
A A A
GRET
END
Nel task ad interrupt 0 è possibile definire più aree subroutine globali (da
GSBN(751) a GRET(752)).
788
Subroutine Capitolo 3-19
B
B
Condizione di
000001 esecuzione ON
GSBS
m
D D
END
Task ad interrupt 0
GSBN
n
A
GRET
Funzioni di subroutine
divise per task. GSBN
m
C C
GRET
END
789
Subroutine Capitolo 3-19
000000
GSBS
1
Task ciclico 2
000001
GSBS
1
Task ad interrupt 0
GSBN
1
Nuova
000001 esecuzione
DIFU
000100
GRET
790
Subroutine Capitolo 3-19
Task ciclico 1
000000
GSBS
1
GRET
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se la nidificazione supera 16 livelli (contando sia le
subroutine normali che quelle globali).
ON se la subroutine globale specificata non esiste.
ON se una subroutine globale richiama se stessa.
ON se una subroutine globale in fase di esecuzione viene
richiamata.
ON se la subroutine specificata non è definita nel task ad
interrupt 0.
OFF in tutti gli altri casi.
791
Subroutine Capitolo 3-19
Esempi Esempio 1
Nell'esempio seguente, quando CIO 000000 è ON, la subroutine globale 1
viene eseguita e l'esecuzione del programma torna all'istruzione successiva
alla GSBS(750).
Stato di CIO 000000 Ordine di esecuzione del programma
ON A→S→B
OFF A→S→B
A C
000000 000001
GSBS CIO 000000 ON GSBS
CIO 000000 ON
n n
B D
END END
Task ad interrupt 0
GSBN
1
Programma
di subroutine
globale S
GRET
END
Esempio 2
É possibile programmare due o più programmi di subroutine globale nel task
ad interrupt task 0, che in tal caso può essere diviso e utilizzato come task
della funzione di subroutine.
Quando CIO 000000 è ON, viene eseguito il programma di subroutine
globale 1.
792
Subroutine Capitolo 3-19
000000
GSBS
CIO 000000 ON
1
000001
GSBS CIO 000001 CIO 000001 ON
OFF
2
Programma di
subroutine S
END
GSBN
1
Programma di
subroutine globale
S1
GRET
GSBN
2
Programma di
subroutine globale S2
GRET
793
Subroutine Capitolo 3-19
Simbolo programmazione
ladder GSBN(751)
N: numero di subroutine globale
N
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON GSBN(751)
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita Non consentita --- OK
Caratteristiche operando
Area N
Area CIO ---
Area di lavoro ---
Area bit di ritentività ---
Area bit ausiliaria ---
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti Da 0 a 1023 decimale (vedere nota)
Registri dati ---
Registri indice ---
Indirizzamento indiretto ---
con i registri indice
Descrizione GSBN(751) indica l'inizio della subroutine globale con il numero di subroutine
specificato. La conclusione della subroutine è indicata da GRET(752).
L'area del programma che inizia alla prima istruzione GSBN(751) è l'area
subroutine. Una subroutine viene eseguita solo quando è stata richiamata da
GSBS(750).
794
Subroutine Capitolo 3-19
GSBS
n
Task ad interrupt 0
GSBN
n
Area
subroutine
globale
GRET
END
GSBN
n Area subroutine
globale
GRET
Questa parte del
programma non
sarà eseguita.
END
795
Subroutine Capitolo 3-19
GSBS GSBS
n n
END END
GSBN GSBN
n n
GRET GRET
END END
GSBN
SNXT
Non
STEP consentita
GRET
796
Subroutine Capitolo 3-19
000000
GSBS
#10
Task ad interrupt 0
GSBN
#10 Area subroutine
globale
GRET
END
Simbolo programmazione
GRET(752)
ladder
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON GRET(752)
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita Non consentita Non OK
consentita
797
Istruzioni di controllo degli interrupt Capitolo 3-20
Simbolo programmazione
ladder MSKS(690)
N N: identificatore di interrupt
S S: dati di interrupt
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MSKS(690)
Eseguita una sola volta per differenziazione @MSKS(690)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
798
Istruzioni di controllo degli interrupt Capitolo 3-20
Nota Tutti gli interrupt di ingresso rilevati verranno cancellati quando viene
modificata l'identificazione del fronte di salita o di discesa.
C200HS-INT01
Specifica dell'elaborazione degli interrupt di I/O e della maschera
Operando Contenuto
N Specificare il numero di modulo del modulo di ingresso ad
interrupt.
0: numero di modulo 0
1: numero di modulo 1
2: numero di modulo 2
3: numero di modulo 3
S Maschera di interrupt.
Impostare un valore compreso tra 0000 e 00FF esadecimale
(8 bit per modulo).
I bit singoli indicano quanto segue:
0: abilita interrupt
1: maschera interrupt
Nota Tutti gli interrupt di ingresso rilevati verranno cancellati quando viene
modificata l'identificazione del fronte di salita o di discesa.
799
Istruzioni di controllo degli interrupt Capitolo 3-20
Nota Tutti gli interrupt di ingresso rilevati verranno cancellati alla cancellazione della
maschera di interrupt.
La relazione tra i numeri di interrupt di ingresso e ad interrupt e i numeri di
task ad interrupt è illustrata nella tabella che segue.
Numero di interrupt di Numeri di task ad interrupt
ingresso
Interrupt di ingresso 0 140 CIO 296000
Interrupt di ingresso 1 141 CIO 296001
Interrupt di ingresso 2 142 CIO 296002
Interrupt di ingresso 3 143 CIO 296003
Nota Tutti gli interrupt di ingresso rilevati verranno cancellati quando viene
modificata l'identificazione del fronte di salita o di discesa.
800
Istruzioni di controllo degli interrupt Capitolo 3-20
Caratteristiche operando
Area N S
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A000 ad A447
Da A448 ad A959
Area del temporizzatore --- Da T0000 a T4095
Area del contatore --- Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @ D00000 a @ 32767
in binario Da @ E00000 a @ 32767
Da @ En_00000 a
@ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori specificati
Registri dati --- Da DR0 a DR15
801
Istruzioni di controllo degli interrupt Capitolo 3-20
Area N S
Registri indice ---
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0
a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a
IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Modulo N Significato
CS1W-INT01 o CJ1W- 2 o 3 N corrisponde al task ad interrupt di ingresso. S
INT01 indica il fronte di salita o di discesa come trigger
Ingressi ad interrupt Da 10 a 13 (l'impostazione predefinita utilizza il fronte di
integrati della CPU salita).
CJ1M
802
Istruzioni di controllo degli interrupt Capitolo 3-20
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se N non rientra nell'intervallo specificato compreso
tra 0 e 5 (da 0 a 15 per gli ingressi ad interrupt integrati
della CJ1M).
ON se S non rientra nell'intervallo specificato da 0000 a
00FF esadecimale quando N ha un valore compreso tra 0
e 3 (utilizzando un C200HS-INT01 e specificando
l'elaborazione degli interrupt di I/O).
ON se S non rientra nell'intervallo specificato da 0000 a
0003 esadecimale, utilizzando ingressi ad interrupt
integrati della CJ1M e specificando l'elaborazione degli
interrupt di I/O.
ON se S non rientra nell'intervallo specificato da 0000 a
270F esadecimale quando N è 4 o 5 (da 0005 a 270F
esadecimale per un ingresso ad interrupt integrato della
CJ1M con un'unità di 0,1 ms).
ON se l'istruzione è stata eseguita in un task ad interrupt.
OFF in tutti gli altri casi.
Flag di = OFF
uguaglianza
Flag negativo N OFF
Avvertenze Per i task ad interrupt sono supportati esclusivamente interrupt di ingresso dei
moduli di ingresso ad interrupt delle normali serie CS/CJ e C200H. Gli
interrupt di ingresso delle schede interne e dei moduli di I/O speciali non sono
supportati.
Montare il modulo di ingresso ad interrupt nel rack CPU. Se si utilizza una
CPU CJ1-H, montare il modulo negli slot da 0 a 4; nel caso di una CPU
CJ1M, montarlo negli slot da 0 a 2. Il modulo di ingresso ad interrupt deve
essere montato in uno di tali slot altrimenti non sarà possibile avviare il task
ad interrupt di I/O.
I canali sono assegnati a moduli di ingresso ad interrupt nello stesso ordine in
cui tali moduli vengono installati e cioè da sinistra a destra.
Gli interrupt presentano diversi gradi di priorità. A un interrupt di spegnimento
è assegnata la priorità massima, seguito dagli interrupt di I/O, dagli interrupt
esterni e infine dagli interrupt programmati. La priorità assegnata agli interrupt
di I/O dotati di numeri bassi è superiore a quella assegnata agli interrupt con
numeri alti.
Nel caso di un collegamento con un modulo di I/O speciale C200H o con un
sistema slave di I/O remoti SYSMAC BUS, assicurarsi che il task ad interrupt
803
Istruzioni di controllo degli interrupt Capitolo 3-20
non necessiti di più di 10 ms. Se durante l'I/O refresh è stato eseguito un task
ad interrupt più lungo di 10 ms con un modulo di I/O speciale C200H o un
sistema slave, viene generato un errore non fatale e attivato il flag di errore
task ad interrupt (A40213).
Quando IORF(097) viene eseguita in un task ad interrupt per aggiornare gli I/
O in un modulo di I/O speciale, è necessario che nella configurazione del PLC
l'aggiornamento ciclico di tale modulo di I/O speciale sia disabilitato. In caso
contrario, sarebbe possibile che IORF(097) venisse eseguita durante
l'aggiornamento ciclico generando un errore non fatale di duplicazione
aggiornamento e attivando il flag di errore task ad interrupt (A40213).
Esempi Esempi per CS1W-INT01 / CJ1W-INT01
Nell'esempio che segue, quando CIO 000000 passa a ON, MSKS(690)
smaschera (attiva) gli interrupt di ingresso nel modulo di ingresso ad interrupt 0.
000000
MSKS 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
D00100 0 0 1 1 1 1 1 1 0 0 1 0 0 1 1 1
N 0
S D00100
3 F 2 7
0: abilitato
1: mascherato
S D00101
0 5 0 2
0: fronte di salita
1: fronte di discesa
804
Istruzioni di controllo degli interrupt Capitolo 3-20
N N: identificatore di interrupt
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MSKR(692)
Eseguita una sola volta per differenziazione @MSKR(692)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
805
Istruzioni di controllo degli interrupt Capitolo 3-20
C200HS-INT01
Lettura delle maschere
Operando Contenuto
N Specificare il numero di modulo del modulo di ingresso ad interrupt.
0: numero di modulo 0
1: numero di modulo 1
2: numero di modulo 2
3: numero di modulo 3
D Stato della maschera di interrupt.
Da 0000 a 00FF esadecimale (8 bit per modulo).
I bit singoli indicano quanto segue:
0: interrupt abilitato
1: interrupt mascherato
806
Istruzioni di controllo degli interrupt Capitolo 3-20
Caratteristiche operando
Area N D
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A448 ad A959
Area del temporizzatore --- Da T0000 a T4095
Area del contatore --- Da C0000 a C4095
807
Istruzioni di controllo degli interrupt Capitolo 3-20
Area N D
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a
@ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori specificati ---
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0
a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a
IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se N non rientra nell’intervallo specificato compreso
tra 0 e 5 (da 0 a 15 per CJ1M).
OFF in tutti gli altri casi.
808
Istruzioni di controllo degli interrupt Capitolo 3-20
Avvertenze MSKR(692) può essere eseguita nel programma principale o nei task ad
interrupt.
S D00100
F 5 F 2
0: interrupt abilitato
1: interrupt mascherato
Nell'esempio che segue, quando CIO 000001 passa a ON, MSKS(690) legge
l'identificazione del fronte di salita o di discesa del modulo di ingresso ad
interrupt 0 e lo memorizza in D00101.
000001
MSKR 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
D00101 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1
N 2
S D00101
0 3 1 9
0: fronte di salita
1: fronte di discesa
809
Istruzioni di controllo degli interrupt Capitolo 3-20
N N: identificatore di interrupt
S S: dati di interrupt
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CLI(691)
Eseguita una sola volta per differenziazione @CLI(691)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
810
Istruzioni di controllo degli interrupt Capitolo 3-20
Caratteristiche operando
Area N S
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
811
Istruzioni di controllo degli interrupt Capitolo 3-20
Area N S
Area bit ausiliaria --- Da A000 ad A959
Area del temporizzatore --- Da T0000 a T4095
Area del contatore --- Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a
@ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da DR0 a DR15
Registri dati Solo valori specificati
Registri indice ---
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0
a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a
IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione In base al valore di N, CLI(691) elimina gli interrupt di I/O registrati specificati
oppure imposta il tempo che precede l'esecuzione del primo interrupt
programmato. Con CJ1M, è possibile utilizzarla anche al fine di eliminare gli
interrupt per i contatori veloci.
N = 0 o 1 (da 0 a 3 per C200HS-INT01 o da 6 a 9 per ingressi ad interrupt
integrati della CPU CJ1M)
I valori 0 e 1 (da 0 a 3) corrispondono ai moduli di ingresso ad interrupt 0 e 1
(da 0 a 3).
I bit da 0 a 7 di S coincidono con i numeri di ingresso ad interrupt da 0 a 7 del
modulo specificato. CLI(691) elimina un ingresso ad interrupt registrato
quando il bit corrispondente di S è ON e mantiene l'ingresso ad interrupt
registrato quando il bit corrispondente è OFF.
N. interrupt N. interrupt
di ingresso di ingresso
812
Istruzioni di controllo degli interrupt Capitolo 3-20
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se N non rientra nell’intervallo specificato compreso
tra 0 e 5 (0, 1 o da 4 a 11 per CJ1M).
ON se S non rientra nell'intervallo specificato da 0000 a
00FF esadecimale quando N ha un valore compreso tra 0
e 3 (solo per interrupt di I/O e C200HS-INT).
ON se S è diverso da 0000 o 0001 esadecimale (solo per
interrupt di contatori veloci e per ingressi ad interrupt
integrati della CJ1M).
ON se S non rientra nell'intervallo specificato da 0000 a
270F esadecimale per interrupt programmati.
OFF in tutti gli altri casi.
813
Istruzioni di controllo degli interrupt Capitolo 3-20
000000
CL1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
D00100 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 0
N 0
S D00100
F 5 F 2
Simbolo programmazione
ladder DI(693)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DI(693)
Eseguita una sola volta per differenziazione @ DI(693)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK Non consentita
814
Istruzioni di controllo degli interrupt Capitolo 3-20
Flag
Nome Etichetta Funzionamento
Flag di ER ON se DI(693) viene eseguita da un task ad interrupt.
errore OFF in tutti gli altri casi.
L'istruzione DI è valida
END
DI
L'istruzione DI è valida
END
815
Istruzioni di controllo degli interrupt Capitolo 3-20
Nel caso di CPU CS1D per sistemi a singola CPU oppure di CPU CS1-H,
CJ1-H o CJ1M, il task ad interrupt di spegnimento è disattivato e A530 viene
impostata su A5A5 esadecimale; la CPU sarà nuovamente impostata al
termine dell'esecuzione di EI(694) nel caso in cui venga rilevata una caduta di
tensione durante l'esecuzione delle istruzioni comprese tra DI(693) e EI(694).
Task n. 0
DI
END
La maschera
dell'elaborazione
dell'interrupt di
Task n. 1 spegnimento è abilitata.
EI
END
Esempi Nell'esempio che segue, quando CIO 000000 è ON, DI(693) disattiva tutti i
task ad interrupt tranne quello di spegnimento.
000000 Con CPU CS1D per sistemi a singola
CPU e CPU CS1-H, CJ1-H o CJ1M:
se il task ad interrupt di spegnimento è
disabilitato, è possibile disattivare
l'elaborazione dell'interrupt di
spegnimento nello stesso istante.
Disattiva l'esecuzione di tutti i
task ad interrupt (eccetto quello
di spegnimento).
Simbolo programmazione
ladder EI(694)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione EI(694)
normalmente ON
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
816
Istruzioni di controllo degli interrupt Capitolo 3-20
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK Non consentita
Flag
Nome Eti- Funzionamento
chetta
Flag di errore ER ON se EI(694) viene eseguita da un task ad interrupt.
OFF in tutti gli altri casi.
Esempi Nell'esempio seguente, EI(694) attiva tutti i task ad interrupt che erano stati
disabilitati da DI(693).
817
Istruzioni di controllo degli interrupt Capitolo 3-20
000000
Nota Quando il task ad interrupt di spegnimento è disattivato per CPU CS1-H, CJ1-
H e CJ1M o per CPU CS1D per sistemi a singola CPU, la procedura di
spegnimento verrà a sua volta abilitata nello stesso istante.
Task n. 0
DI
Disattivati tutti i
task ad interrupt.
END
Procedura di
spegnimento
Task n. 1 disattivata.
EI
END
818
Istruzioni di controllo degli interrupt Capitolo 3-20
Funzionamento di Alla prima accensione del PLC, sia i task ad interrupt di I/O che i task
MSKS(690) programmati sono mascherati (disattivati). Per smascherare e mascherare gli
interrupt di I/O e per impostare gli intervalli di tempo per gli interrupt
programmati, è possibile utilizzare l'istruzione MSKS(690).
Nell'esempio, MSKS(690) utilizza il contenuto di D00100 per smascherare gli
interrupt di ingresso da 0 a 3 e mascherare gli interrupt di ingresso da 4 a 7
dal modulo di ingresso ad interrupt 0.
F 0
Interrupt di ingresso dal modulo 0
Impostazioni della maschera di interrupt.
1 = maschera (disattiva) 0 = smaschera (attiva)
Task ad interrupt di I/O Quando due o più interrupt di ingresso vengono ricevuti contemporanea-
Livelli di priorità mente, sono eseguiti in base al loro numero di interrupt, dal più basso al più
alto (da 100 a 131).
Modulo Task ad interrupt
Modulo di ingresso ad Gli ingressi da 0 a 7 corrispondono ai task ad interrupt di I/O
interrupt 0 compresi tra 100 e 107.
Modulo di ingresso ad Gli ingressi da 0 a 7 corrispondono ai task ad interrupt di I/O
interrupt 1 compresi tra 108 e 115.
Modulo di ingresso ad Gli ingressi da 0 a 7 corrispondono ai task ad interrupt di I/O
interrupt 2 compresi tra 116 e 123.
Modulo di ingresso ad Gli ingressi da 0 a 7 corrispondono ai task ad interrupt di I/O
interrupt 3 compresi tra 124 e 131.
Funzionamento di Se un interrupt di ingresso viene ricevuto mentre un altro task ad interrupt di I/O
CLI(691) è in fase di esecuzione, il numero di interrupt di ingresso viene registrato
internamente fino al completamento del task corrente e di tutti i task con priorità
più elevata. È possibile utilizzare CLI(691) per eliminare interrupt registrati
prima dell'esecuzione, ma non i task ad interrupt in fase di esecuzione.
819
Istruzioni di controllo degli interrupt Capitolo 3-20
Interrupt di
ingresso 2
Interrupt registrati
Task ad
interrupt di I/O Task 3 Task 0 Task 3
820
Istruzioni di controllo degli interrupt Capitolo 3-20
821
Istruzioni di controllo degli interrupt Capitolo 3-20
Avvertenze Assicurarsi che l'intervallo programmato sia maggiore del tempo necessario
per eseguire il task ad interrupt programmato. Se l'intervallo è troppo breve, il
task ad interrupt sarà eseguito ininterrottamente e verrà generato un errore di
tempo di ciclo troppo lungo (un task ad interrupt programmato troppo lungo
può incidere seriamente sul tempo complessivo di esecuzione del programma
principale).
L'interrupt programmato è eseguito al termine dell'intervallo specificato e del
tempo di esecuzione di un'istruzione. In linea generale, il tempo necessario
per eseguire un'istruzione è irrisorio; se tuttavia un'istruzione richiede tempi
lunghi di esecuzione, è possibile che si verifichino errori eventualmente anche
nei temporizzatori (TIM e TIMH) e nella registrazione dei dati. Se nella
configurazione del PLC le unità per l'intervallo di tempo programmato sono
impostate su 0,5 ms o su 1, è necessario prestare particolare attenzione.
Gli interrupt vengono accettati anche quando un'istruzione è in fase di
esecuzione. Di conseguenza, se un interrupt viene accettato mentre è in
esecuzione un'istruzione che richiede tempi lunghi di elaborazione, i risultati
dell'elaborazione potrebbero non essere corretti, in quanto il task ad interrupt
e l'istruzione hanno accesso agli stessi dati. In tal caso, utilizzare DI(693) ed
EI(694) per disattivare e attivare l'interrupt.
Task ad interrupt
Interrupt
durante
l'esecuzione
Interrupt
disabilitati
822
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON INI(880)
Eseguita una sola volta per differenziazione @INI(880)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
823
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
P Porta
0100 esadecimale Ingresso ad interrupt 0 in modalità contatore
0101 esadecimale Ingresso ad interrupt 1 in modalità contatore
0102 esadecimale Ingresso ad interrupt 2 in modalità contatore
0103 esadecimale Ingresso ad interrupt 3 in modalità contatore
1000 esadecimale Uscita PWM(891) 0
1001 esadecimale Uscita PWM(891) 1
C: dati di controllo
La funzione dell'istruzione INI(880) è determinata dai dati di controllo C.
C Funzione di INI(880)
0000 esadecimale Inizia il confronto.
0001 esadecimale Interrompe il confronto.
0002 esadecimale Modifica il valore attuale.
0003 esadecimale Interrompe l'uscita a treno di impulsi.
Caratteristiche operando
Area P C NV
Area CIO --- --- Da CIO 0000 a CIO 6142
Area di lavoro --- --- Da W000 a W510
Area bit di ritentività --- --- Da H000 a H510
Area bit ausiliaria --- --- Da A448 ad A958
Area del temporizzatore --- --- Da T0000 a T4094
Area del contatore --- --- Da C0000 a C4094
Area DM --- --- Da D00000 a D32766
Area EM senza banco --- --- ---
Area EM con banco --- --- ---
Indirizzi DM/EM indiretti --- --- Da @ D00000 a @
in binario D32767
Indirizzi DM/EM indiretti --- --- Da *D00000 a *D32767
in BCD
Costanti Vedere la Vedere la ---
descrizione descrizione
dell'operando. dell'operando.
Registri dati --- --- ---
824
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Area P C NV
Registri indice --- --- ---
Indirizzamento indiretto --- --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da
,IR0 a
da –2048 a +2047 ,IR15
Da DR0 a DR15, da IR0
a IR15
Da ,IR0+(++) a
,IR15+(++)
Da ,–(– –)IR0 a
,–(– –)IR15
825
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Flag
Nome Etichetta Funzionamento
Flag di ER ON se viene superata la gamma specificata per P, C o NV.
errore ON se la combinazione di P e C non è consentita.
ON se è specificato l'inizio di un confronto ma non è stata registrata
alcuna tabella di confronto.
ON se viene specificato un nuovo valore attuale per una porta da cui
è in corso un'uscita di impulsi.
ON se viene specificata una modifica del valore attuale di un
contatore veloce per una porta non impostata come contatore veloce.
ON se come valore attuale per un ingresso ad interrupt in modalità
contatore viene specificato un valore non compreso nell'intervallo.
ON se viene eseguita l'istruzione INI(880) in un task ad interrupt per
un contatore veloce e si verifica un interrupt durante l'esecuzione di
CTBL(882).
ON se l'istruzione viene eseguita per una porta non impostata come
ingresso a interrupt in modalità contatore.
826
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
000001
@INI
#0000 Uscita a treno di impulsi 0
#0003 Interruzione uscita a treno di impulsi
0000 Non utilizzato
827
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON PRV(881)
Eseguita una sola volta per differenziazione @PRV(881)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
C: dati di controllo
La funzione dell'istruzione INI(880) è determinata dai dati di controllo C.
C Funzione di PRV(881) Variazioni
0000 esadecimale Legge il valore attuale. ---
0001 esadecimale Legge lo stato. ---
0002 esadecimale Legge i risultati dei ---
confronti a intervalli.
00@3 esadecimale P = 0000 o 0001: C = 0003 esadecimale:
legge la frequenza funzionamento normale
dell'uscita a treno di C = 0013 esadecimale:
impulsi dell'uscita a metodo con campionamento ogni
impulsi 0 o 1 10 ms per alte frequenze
P = 0010: (supportato solo dalle CPU CJ1M
legge la frequenza versione 3 o successive)
dell'ingresso del C = 0023 esadecimale:
contatore veloce 0. metodo con campionamento ogni
100 ms per alte frequenze
(supportato solo dalle CPU CJ1M
versione 3 o successive)
C = 0033 esadecimale:
metodo con campionamento ogni
singolo ms per alte frequenze
(supportato solo dalle CPU CJ1M
versione 3 o successive)
828
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
15 0
D Canale inferiore del valore attuale
D+1 Canale superiore del valore attuale
PV in due canali
Valore attuale dell'uscita a impulsi, valore attuale dell'ingresso
del contatore veloce, frequenza di ingresso del contatore veloce 0
15 0
D PV
PV in un canale
Valore attuale dell'interrupt di ingresso in modalità contatore, stato,
risultati del confronto a intervalli
Caratteristiche operando
Area P C D
Area CIO --- --- Da CIO 0000 a
CIO 6142
Area di lavoro --- --- Da W000 a W510
Area bit di ritentività --- --- Da H000 a H510
Area bit ausiliaria --- --- Da A448 ad A958
Area del temporizzatore --- --- Da T0000 a T4094
Area del contatore --- --- Da C0000 a C4094
Area DM --- --- Da D00000 a D32766
Area EM senza banco --- --- ---
Area EM con banco --- --- ---
Indirizzi DM/EM indiretti --- --- Da @ D00000 a @
in binario D32766
Indirizzi DM/EM indiretti --- --- Da *D00000 a *D32766
in BCD
Costanti Vedere la Vedere la ---
descrizione descrizione
dell'operando. dell'operando.
Registri dati --- --- ---
Registri indice --- --- ---
Indirizzamento indiretto --- --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da
,IR0 a
da –2048 a +2047 ,IR15
Da DR0 a DR15, da IR0
a IR15
Da ,IR0+(++) a
,IR15+(++)
Da ,–(– –)IR0 a
,–(– –)IR15
829
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
830
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
a treno di
Flag di stato dell'uscita a treno di impulsi
impulsi Disattivato: velocità costante
Attivato: accelerazione/decelerazione
viene Flag di overflow/underflow per il valore attuale
Disattivato: normale
memoriz- Attivato: errore
Ingresso Lo stato 15 0
contatoredel conta- D 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PWM(891) PWM(891) D 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
zata in D.
831
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Intervalli di frequenza
Valore di P Risultato della conversione
0000 o 0001 0000 0000 … 0001 86A0 esadecimale (0 … 100.000)
esadecimale
(lettura della frequenza
dell'uscita a treno di
impulsi 0 o 1)
0010 esadecimale Metodo dell'ingresso del contatore: qualsiasi metodo di
(lettura della frequenza ingresso eccetto la modalità a fasi differenziali 4×
del contatore veloce 0) Risultato = 00000000 … 000186A0 esadecimale
(0 … 100.000)
Nota Se viene immessa una frequenza superiore a
100 kHz, il valore dell'uscita rimarrà quello
massimo, ossia 000186A0 esadecimale.
Metodo dell'ingresso del contatore: 4modalità a fasi
differenziali 4×
Risultato = 00000000 … 00030D40 esadecimale
(0 … 200.000)
Nota Se viene immessa una frequenza superiore a
200 kHz, il valore dell'uscita rimarrà quello
massimo, ossia 00030D40 esadecimale.
832
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se viene superata la gamma specificata per P o C.
ON se la combinazione di P e C non è consentita.
ON se viene specificata la lettura dei risultati del
confronto a intervalli quando il confronto a intervalli non è
in esecuzione.
ON se viene specificata la lettura della frequenza di uscita
per un elemento diverso dal contatore veloce 0.
ON se viene specificata la lettura per una porta non
impostata come contatore veloce.
ON se l'istruzione viene eseguita per una porta non
impostata come ingresso a interrupt in modalità contatore.
Esempi
■ Esempio 1
Nel seguente esempio di programmazione, quando CIO 000000 è ON,
l'istruzione CTBL(882) registra una tabella di confronto a intervalli per il
contatore veloce 0 e inizia il confronto. Quando CIO 000001 è ON, l'istruzione
PRV(881) legge i risultati correnti del confronto a intervalli e li memorizza in
CIO 0100.
000000
@CTBL
#0000 Ingresso contatore veloce 0
#0001 Registrazione della tabella dei confronti
tra intervalli e avvio del confronto
D00100
000001
@PRV
#0010 Ingresso contatore veloce 0
#0002 Lettura dei risultati dei confronti a intervalli
0100
■ Esempio 2
Nel seguente esempio di programmazione, quando CIO 000100 è ON,
l'istruzione PRV(881) legge la frequenza corrente dell'impulso immesso nel
contatore veloce 0 e la memorizza come valore esadecimale in D00200 e
D00201.
000100
PRV
#0010 Ingresso contatore veloce 0
#0003 Lettura frequenza di ingresso
D00200
833
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Simbolo programmazione
ladder PRV2
C1 C1: dati di controllo
C2 C2: impulsi/rotazione
D D: primo canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON PRV2(883)
Eseguita una sola volta per differenziazione @PRV2(883)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Nota La seconda cifra di C (@) indica l'unità di misura e la terza cifra (*) indica il
metodo di calcolo della frequenza.
C1 0
Tipo di conversione
0 esadecimale: da frequenza a velocità
1 esadecimale: da valore attuale del contatore a numero totale di giri
C2: impulsi/rotazione
Specifica il numero di impulsi per rotazione (da 0001 a FFFF esadecimale).
D: primo canale di destinazione
Il valore attuale viene inviato a D o a D e D+1.
15 0
D Risultato della conversione (4 cifre all'estrema destra)
D+1 Risultato della conversione (4 cifre all'estrema sinistra)
Caratteristiche operando
Area C1 C2 D
Area CIO --- Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6142
Area di lavoro --- Da W000 a W511 Da W000 a W510
Area bit di ritentività --- Da H000 a H511 Da H000 a H510
Area bit ausiliaria --- Da A448 a A959 Da A448 ad A958
834
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Area C1 C2 D
Area del temporizzatore --- Da T0000 a T4095 Da T0000 a T4094
Area del contatore --- Da C0000 a C4095 Da C0000 a C4094
Area DM --- Da D00000 a Da D00000 a
D32767 D32766
Area EM senza banco --- --- ---
Area EM con banco --- --- ---
Indirizzi DM/EM indiretti --- Da @ D00000 a @ Da @ D00000 a @
in binario D32767 D32767
Indirizzi DM/EM indiretti --- Da *D00000 a Da *D00000 a
in BCD *D32767 *D32767
Costanti Vedere la --- ---
descrizione
dell'operando.
Registri dati --- --- ---
Registri indice --- --- ---
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a
da –2048 a +2047 ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione PRV2(883) converte l'ingresso della frequenza a impulsi del contatore ad alta
velocità 0 in base al metodo di conversione specificato in C1 e al coefficiente
impulsi/rotazioni specificato in C2 e invia il risultato a D e D+1.
Selezionare uno dei metodi di conversione riportati di seguito impostando C1
su 0000 o 0001 esadecimale.
Conversione della frequenza in velocità di rotazione (C1 = 0@*0
esadecimale)
Se C1 è 0@*0 esadecimale, l'istruzione PRV2(883) calcola la velocità di
rotazione (giri/min) in base ai dati della frequenza e all'impostazione di
impulsi/rotazione. La seconda cifra di C (@) indica l'unità di misura e la terza
cifra (*) indica il metodo di calcolo della frequenza.
1. Unità di misura della velocità di rotazione
• Unità di misura della velocità di rotazione = giri/min
Se la seconda cifra di C (@) è 0, l'istruzione PRV2(883) calcola la velocità
di rotazione (giri/min) in base ai dati della frequenza e all'impostazione di
impulsi/rotazione.
Velocità di rotazione (giri/min) = (frequenza ÷ impulsi/rotazione) × 60
• Unità di misura della velocità di rotazione = giri/s (solo CPU CJM1
versione 3.0 o successive)
Se la seconda cifra di C (@) è 1, l'istruzione PRV2(883) calcola la velocità
di rotazione (giri/s) in base ai dati della frequenza e all'impostazione di
impulsi/rotazione.
Velocità di rotazione (giri/s) = (frequenza ÷ impulsi/rotazione)
• Unità di misura della velocità di rotazione = giri/ora (solo CPU CJM1
versione 3.0 o successive)
Se la seconda cifra di C (@) è 2, l'istruzione PRV2(883) calcola la velocità
di rotazione (giri/ora) in base ai dati della frequenza e all'impostazione di
impulsi/rotazione.
Velocità di rotazione (giri/ora) = (frequenza ÷ impulsi/rotazione) × 60 × 60
• Intervalli dei risultati di conversione
• Metodo dell'ingresso del contatore: qualsiasi metodo eccetto la
modalità a fasi differenziali 4×
Risultato della conversione = 00000000 … 000186A0 esadecimale
(0 … 100.000)
835
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Esempi
■ Esempio 1
Nel seguente esempio di programmazione, quando CIO 000100 è ON,
l'istruzione PRV2(883) legge la frequenza corrente degli impulsi del contatore
veloce 0, converte tale valore in velocità di rotazione (giri/min) e invia il
risultato in formato esadecimale a D00201 e D00200.
836
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
000100
PRV2
#0000 Conversione della frequenza in velocità di rotazione
#0003 impulsi/rotazione
D00200
■ Esempio 2
Nel seguente esempio di programmazione, quando CIO 000100 è ON,
l'istruzione PRV2(883) legge il valore attuale del contatore, converte tale
valore nel numero di rotazioni e invia il risultato in formato esadecimale a
D00301 e D00300.
000100
PRV2
#0001 Conversione del valore attuale del contatore nel numero totale di rotazioni
#0003 impulsi/rotazione
D00300
Simbolo programmazione
ladder CTBL(882)
P P: identificatore della porta
C C: dati di controllo
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CTBL(882)
Eseguita una sola volta per differenziazione @CTBL(882)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
P Porta
0000 esadecimale Contatore veloce 0
0001 esadecimale Contatore veloce 1
C: dati di controllo
La funzione dell'istruzione CTBL(882) è determinata dai dati di controllo C,
come descritto nella seguente tabella.
837
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
C Funzione di CTBL(882)
0000 Registra una tabella di confronto contenente valori di riferimento e
esadecimale inizia il confronto.
0001 Registra una tabella di confronto contenente intervalli ed esegue un
esadecimale confronto.
0002 Registra una tabella di confronto contenente valori di riferimento. Il
esadecimale confronto verrà iniziato tramite l'istruzione INI(880).
0003 Registra una tabella di confronto contenente intervalli. Il confronto
esadecimale verrà iniziato tramite l'istruzione INI(880).
Nota Per qualsiasi intervallo, impostare sempre un limite superiore che sia
maggiore o uguale al limite inferiore.
838
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Caratteristiche operando
Area P C TB
Area CIO --- --- Da CIO 0000 a CIO 6143
Area di lavoro --- --- Da W000 a W511
Area bit di ritentività --- --- Da H000 a H511
Area bit ausiliaria --- --- Da A448 ad A959
Area del temporizzatore --- --- Da T0000 a T4095
Area del contatore --- --- Da C0000 a C4095
Area DM --- --- Da D00000 a D32767
Area EM senza banco --- --- ---
Area EM con banco --- --- ---
Indirizzi DM/EM indiretti --- --- Da @ D00000 a @
in binario D32767
Indirizzi DM/EM indiretti --- --- Da *D00000 a *D32767
in BCD
Costanti Vedere la Vedere la ---
descrizione descrizione
dell'operando. dell'operando.
Registri dati --- --- ---
Registri indice --- --- ---
Indirizzamento indiretto --- --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da
,IR0 a
da –2048 a +2047 ,IR15
Da DR0 a DR15, da IR0
a IR15
Da ,IR0+(++) a
,IR15+(++)
Da ,–(– –)IR0 a
,–(– –)IR15
Descrizione CTBL(882) registra una tabella di confronto e inizia il confronto per la porta
specificata in P utilizzando il metodo specificato in C. Una volta registrata, la
tabella di confronto resta valida finché non viene registrata una nuova tabella
o attivata la modalità PROGRAM per la CPU.
Ad ogni esecuzione dell'istruzione CTBL(882), il confronto viene avviato in
base alle condizioni specificate. Quando si utilizza CTBL(882) per iniziare un
confronto, in genere è sufficiente utilizzare la versione differenziata
dell'istruzione [@CTBL(882)] o una condizione di esecuzione che viene
impostata su ON per una sola scansione.
Nota Se si specifica un task ad interrupt non registrato, si verificherà un errore di
programma fatale alla prima generazione dell'interrupt.
■ Registrazione di una tabella di confronto (C = 0002 o 0003 esadecimale)
Se C viene impostato su 0002 o 0003 esadecimale, verrà registrata una
tabella di confronto, ma il confronto non verrà avviato. Il confronto viene
avviato tramite l'istruzione INI(880).
■ Registrazione di una tabella di confronto e avvio del confronto (C = 0000 o
0001 esadecimale)
Se C viene impostato su 0000 o 0001 esadecimale, verrà registrata una
tabella di confronto e il confronto verrà iniziato.
■ Interruzione del confronto
Il confronto viene sempre interrotto con l'istruzione INI(880),
indipendentemente dall'istruzione utilizzata per iniziarlo.
839
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
840
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se viene superata la gamma specificata per P o C.
ON se il numero di valori di riferimento specificati per il
confronto con valori di riferimento è impostato su 0.
ON se il numero di valori di riferimento specificati per il
confronto con valori di riferimento è superiore a 48.
ON se viene specificato più di una volta lo stesso valore di
riferimento nella medesima direzione del confronto per il
confronto con valori di riferimento.
ON se in un intervallo il limite superiore risulta minore del
limite inferiore.
ON se vengono disabilitati i valori impostati per tutti gli
intervalli durante un confronto a intervalli.
ON se il contatore veloce viene impostato per la modalità
a impulsi incrementale e nella tabella si imposta il
decremento come direzione del confronto.
ON se viene eseguita un'istruzione quando il contatore
veloce è impostato in modalità circolare e il valore
specificato supera il valore massimo del ciclo.
ON se viene specificata la lettura per una porta non
impostata come contatore veloce.
ON se l'istruzione viene eseguita per un metodo di
confronto diverso mentre è già in corso un confronto.
841
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SPED(885)
Eseguita una sola volta per differenziazione @SPED(885)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
M: modalità di uscita
Il valore di M determina la modalità di uscita.
15 12 11 87 4 3 0
M
Modalità
0 esadecimale: a tono continuo
1 esadecimale: indipendente
Direzione
0 esadecimale: CW
1 esadecimale: CCW
Metodo di uscita a impulsi (vedere nota)
0 esadecimale: CW/CCW
1 esadecimale: impulso + direzione
Sempre 0 esadecimale
Nota: utilizzare lo stesso metodo di uscita a impulsi per entrambe le uscite a impulsi 0 e 1.
Caratteristiche operando
Area P M F
Area CIO --- --- Da CIO 0000 a
CIO 6142
Area di lavoro --- --- Da W000 a W510
Area bit di ritentività --- --- Da H000 a H510
Area bit ausiliaria --- --- Da A448 ad A958
Area del temporizzatore --- --- Da T0000 a T4094
Area del contatore --- --- Da C0000 a C4094
Area DM --- --- Da D00000 a D32766
Area EM senza banco --- --- ---
Area EM con banco --- --- ---
Indirizzi DM/EM indiretti --- --- Da @ D00000 a @
in binario D32767
Indirizzi DM/EM indiretti --- --- Da *D00000 a *D32767
in BCD
842
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Area P M F
Costanti Vedere la Vedere la Vedere la descrizione
descrizione descrizione dell'operando.
dell'operando. dell'operando.
Registri dati --- --- ---
Registri indice --- --- ---
Indirizzamento indiretto --- --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da
,IR0 a da –2048 a
+2047, a ,IR15
Da DR0 a DR15, da IR0
a IR15
Da ,IR0+(++) a
,IR15+(++)
Da ,–(– –)IR0 a
,–(– –)IR15
Frequenza di
riferimento
Tempo
843
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Tempo
Esecuzione di SPED(885)
Modifica Modifi- Modifica della Modifica la SPED(885)
delle impo- care la velocità Frequenza degli impulsi frequenza (continua)
stazioni velocità in durante il fun- dell'uscita a treno di ↓
una sola zionamento Frequenza di impulsi (più alta o
fase riferimento più bassa) in una SPED(885)
(continua)
sola fase.
Frequenza attuale
Tempo
Esecuzione di SPED(885)
Tempo
Esecuzione di INI(880)
Interrom- Interruzione Frequenza degli impulsi Interrompe SPED(885)
pere immediata immediatamente (continua)
l'uscita a
Frequenza attuale
l'emissione degli ↓
treno di impulsi.
SPED(885)
impulsi
(continua,
frequenza di
Tempo riferimento di 0 Hz)
Esecuzione di SPED(885)
844
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
845
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se viene superata l'intervallo specificato per P, M o F.
ON se PLS2(887) o ORG(889) sono già in esecuzione
per il controllo dell'uscita a treno di impulsi sulla porta
specificata.
ON se si utilizza SPED(885) o INI(880) per cambiare la
modalità tra uscita continua e indipendente durante
l'uscita a treno di impulsi.
ON se si esegue SPED(885) in un task ad interrupt
quando è in esecuzione un'istruzione che controlla
l'uscita a treno di impulsi in un task ciclico.
ON se si esegue SPEC(885) in modalità indipendente
con un numero di impulsi assoluto senza che sia stata
stabilita l'origine.
@SPED
Frequenza degli impulsi
#0000
#0001 Frequenza di
D00110 riferimento:
500 Hz
5.000 impulsi
Tempo
Istruzioni PULS(881) e
SPED(885) eseguite
Simbolo programmazione
ladder PULS (886)
P
T P: identificatore della porta
T: tipo di impulsi
N N: numero di impulsi
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON PULS (886)
Eseguita una sola volta per differenziazione @PULS(886)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
846
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
T: tipo di impulsi
T specifica il tipo di impulsi inviati nel modo seguente:
T Tipo di impulsi
0000 esadecimale Relativi
0001 esadecimale Assoluti
Caratteristiche operando
Area P T N
Area CIO --- --- Da CIO 0000 a CIO 6142
Area di lavoro --- --- Da W000 a W510
Area bit di ritentività --- --- Da H000 a H510
Area bit ausiliaria --- --- Da A448 ad A958
Area del temporizzatore --- --- Da T0000 a T4094
Area del contatore --- --- Da C0000 a C4094
Area DM --- --- Da D00000 a D32766
Area EM senza banco --- --- ---
Area EM con banco --- --- ---
Indirizzi DM/EM indiretti --- --- Da @ D00000 a @
in binario D32767
Indirizzi DM/EM indiretti --- --- Da *D00000 a *D32767
in BCD
Costanti Vedere la Vedere la Vedere la descrizione
descrizione descrizione dell'operando.
dell'operando. dell'operando.
Registri dati --- --- ---
847
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Area P T N
Registri indice --- --- ---
Indirizzamento indiretto --- --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da
,IR0 a
da –2048 a +2047, a
,IR15
Da DR0 a DR15, da IR0
a IR15
Da ,IR0+(++) a
,IR15+(++)
Da ,–(– –)IR0 a
,–(– –)IR15
Descrizione È possibile utilizzare PULS(886) per impostare tipo e numero degli impulsi
specificati in T e N per la porta indicata in P. L'uscita effettiva degli impulsi
viene avviata in seguito dal programma tramite l'istruzione SPED(885) o
ACC(888) in modalità indipendente.
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se viene superato l'intervallo specificato per P, T o N.
ON se si esegue PULS(886) per una porta da cui è già in
corso un'uscita a treno di impulsi.
ON se si esegue PULS(886) in un task ad interrupt
quando è in esecuzione un'istruzione che controlla
l'uscita a treno di impulsi in un task ciclico.
Avvertenze • Se l'istruzione PULS(886) viene eseguita quando gli impulsi sono già in
uscita, si verificherà un errore. Per prevenire questo errore, utilizzare la
versione differenziata dell'istruzione [@PULS(886)] o una condizione di
esecuzione impostata su ON per una sola scansione.
• Il numero di impulsi in uscita calcolato per PULS(886) non verrà
modificato nemmeno se si utilizza INI(880) per modificare il valore attuale
dell'uscita a treno di impulsi.
• Se il numero di impulsi definito con PULS(881) è un valore assoluto, la
direzione impostata per SPED(885) o ACC(888) verrà ignorata.
• È possibile spostarsi all'esterno dell'intervallo del valore attuale del
numero di impulsi per l'uscita a treno di impulsi (da –2.147.483.648 a
2.147.483.647).
@SPED
#0000
#0001
D00110
848
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Simbolo programmazione
ladder PLS2(887)
P
M P: identificatore della porta
M: modalità di uscita
S
S: primo canale della tabella delle impostazioni
F F: primo canale della frequenza di avvio
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON PLS2(887)
Eseguita una sola volta per differenziazione @PLS2 (887)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
M: modalità di uscita
Il contenuto di M definisce i parametri per l'uscita a impulsi come descritto di
seguito:
15 12 11 87 4 3 0
M
Modalità
0 esadecimale: impulsi relativi
1 esadecimale: impulsi assoluti
Direzione
0 esadecimale: CW
1 esadecimale: CCW
Metodo di uscita a impulsi (vedere nota)
0 esadecimale: CW/CCW
1 esadecimale: impulso + direzione
Sempre 0 esadecimale.
Nota: utilizzare lo stesso metodo di uscita a impulsi per entrambe le uscite a impulsi 0 e 1.
849
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Specificare l'incremento o il decremento della frequenza a ogni periodo di controllo dell'impulso (4 ms).
Caratteristiche operando
Area P M S F
Area CIO --- --- Da CIO 0000 a CIO 6138 Da CIO 0000 a CIO 6142
Area di lavoro --- --- Da W000 a W506 Da W000 a W510
Area bit di ritentività --- --- Da H000 a H506 Da H000 a H510
Area bit ausiliaria --- --- Da A448 a A954 Da A448 ad A958
Area del temporizzatore --- --- Da T0000 a T4090 Da T0000 a T4094
Area del contatore --- --- Da C0000 a C4090 Da C0000 a C4094
Area DM --- --- Da D00000 a D32762 Da D00000 a D32766
Area EM senza banco --- --- --- ---
Area EM con banco --- --- --- ---
Indirizzi DM/EM indiretti --- --- Da @ D00000 a @ D32767 Da @ D00000 a @ D32767
in binario
Indirizzi DM/EM indiretti --- --- Da *D00000 a *D32767 Da *D00000 a *D32767
in BCD
Costanti Vedere la Vedere la --- Vedere la descrizione
descrizione descrizione dell'operando.
dell'operando. dell'operando.
Registri dati --- --- --- ---
850
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Area P M S F
Registri indice --- --- --- ---
Indirizzamento indiretto --- --- Da ,IR0 a ,IR15 Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 Da –2048 a +2047, da ,IR0
a a
da –2048 a +2047, a ,IR15 da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a Da DR0 a DR15, da IR0 a
IR15 IR15
Da ,IR0+(++) a ,IR15+(++) Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15 Da ,–(– –)IR0 a ,–(– –)IR15
Frequenza di riferimento B D
Frequenza di avvio A
Ora
851
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
852
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
853
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Frequenza
Numero di impulsi
degli impulsi
specificato tramite
PLS2(887)
Frequenza
di
riferimento
Ora
Esecuzione di
PLS2(887)
Ora
Esecuzione
di ACC(888)
(modalità Esecuzione
continua) di PLS2(887)
Interrupt di Frequenza
avanzamento fisso degli impulsi
Frequenza
attuale
Ora
Esecuzione di
ACC(888)
(modalità Esecuzione di PLS2(887) con le
continua) seguenti impostazioni:
• Numero di impulsi = numero di
impulsi fino ad arresto
• Specifica relativa degli impulsi
• Frequenza di riferimento =
frequenza attuale
• Valore di accelerazione = da
0001 a 07D0 esadecimale
• Valore di decelerazione = valore
di decelerazione di riferimento
854
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Flag
Nome Etichetta Operazione
Flag di errore ER ON se viene superata la gamma specificata per P, M, S o F.
ON se si esegue PLS2(887) per una porta da cui è già in
corso un'uscita a impulsi per SPED(885) o ORG(889).
ON se si esegue PLS2(887) in un task ad interrupt
quando è in esecuzione un'istruzione che controlla
l'uscita a impulsi in un task ciclico.
ON se si esegue PLS2(887) per un'uscita a impulsi
assoluti senza che sia stata stabilita l'origine.
100.000 impulsi
Frequenza di avvio
200 Hz
Ora
Simbolo programmazione
ladder
ACC(888)
P P: identificatore della porta
M M: modalità di uscita
855
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ACC(888)
Eseguita una sola volta per differenziazione @ACC(888)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
M: modalità di uscita
Il contenuto di M definisce i parametri per l'uscita a impulsi come descritto di
seguito:
15 12 11 87 4 3 0
M
Modalità
0 esadecimale: modalità continua
1 esadecimale: modalità indipendente
Direzione
0 esadecimale: CW
1 esadecimale: CCW
Metodo di uscita a impulsi (vedere nota)
0 esadecimale: CW/CCW
1 esadecimale: impulso + direzione
Sempre 0 esadecimale.
Nota: utilizzare lo stesso metodo di uscita a impulsi per entrambe le uscite a impulsi 0 e 1.
Specificare l'incremento o il decremento della frequenza a ogni periodo di controllo dell'impulso (4 ms).
Caratteristiche operando
Area P M S
Area CIO --- --- Da CIO 0000 a
CIO 6141
Area di lavoro --- --- Da W000 a W509
Area bit di ritentività --- --- Da H000 a H509
Area bit ausiliaria --- --- Da A448 ad A957
Area del temporizzatore --- --- Da T0000 a T4093
Area del contatore --- --- Da C0000 a C4093
Area DM --- --- Da D00000 a D32765
Area EM senza banco --- --- ---
Area EM con banco --- --- ---
856
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Area P M S
Indirizzi DM/EM indiretti --- --- Da @ D00000 a @
in binario D32767
Indirizzi DM/EM indiretti --- --- Da *D00000 a *D32767
in BCD
Costanti Vedere la Vedere la ---
descrizione descrizione
dell'operando. dell'operando.
Registri dati --- --- ---
Registri indice --- --- ---
Indirizzamento indiretto --- --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da
,IR0 a da –2048 a
+2047, a ,IR15
Da DR0 a DR15, da IR0
a IR15
Da ,IR0+(++) a
,IR15+(++)
Da ,–(– –)IR0 a
,–(– –)IR15
Valore di accelerazione/
decelerazione
Frequenza
di riferimento
Ora
857
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Ora
Esecuzione di
ACC(888)
Modifica delle Modificare Modifica graduale Frequenza degli impulsi Modifica la frequenza ACC(888) o
impostazioni gradual- della velocità attuale aumentandola SPED(885)
mente la durante il o diminuendola in (continua)
velocità funzionamento Frequenza di Valore di modo costante. La ↓
riferimento accelerazione/ frequenza può essere
decelerazione ACC(888)
Frequenza attuale accelerata o (continua)
decelerata.
Ora
Esecuzione di ACC(888)
858
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Ora
Esecuzione di ACC(888) Esecuzione di INI(880)
859
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Interru- Interrompere Interruzione imme- Frequenza degli impulsi L'uscita a impulsi PULS (886)
zione l'uscita a diata viene interrotta imme- ↓
dell'uscita impulsi Frequenza diatamente e gli
a impulsi (l'imposta- impulsi rimanenti ven- ACC(888)
attuale (indipen-
zione del gono cancellati.
numero di dente)
impulsi non ↓
viene conser- Ora INI(880)
vata).
Esecuzione Esecuzione
di ACC(888) di INI(880)
Interrompere Decelerazione fino Frequenza degli impulsi Decelera l'uscita a PULS (886)
gradual- ad arresto impulsi fino ad arre- ↓
mente sto.
l'uscita a Frequenza ACC(888) o
Valore di Nota Se il funziona- SPED(885)
impulsi attuale decelerazione
(l'imposta- mento è stato (indipen-
zione del avviato tramite dente)
Frequenza di ACC(888), il
numero di
riferimento = 0 Ora ↓
impulsi non valore origi-
viene conser- nale di accele- ACC(888)
Esecuzione di Esecuzione di razione/ (indipen-
vata).
PLS2(887) ACC(888) decelerazione dente, fre-
resterà valido. quenza di
Se il funziona- riferimento di
mento è stato 0 Hz)
avviato tramite PLS2(887)
SPED(885), il ↓
valore di acce-
lerazione/dece- ACC(888)
lerazione non (indipen-
sarà più valido dente, fre-
e l'uscita a quenza di
impulsi si inter- riferimento di
romperà imme- 0 Hz)
diatamente.
Frequenza
degli impulsi Numero di impulsi
specificato tramite
Frequenza PLS2(887)
di
riferimento
Ora
Esecuzione di
PLS2(887)
Flag
Nome Etichetta Operazione
Flag di ER Viene attivato se viene superata la gamma specificata per P,
errore M o S.
Viene attivato se gli impulsi vengono emessi utilizzando
l'istruzione ORG(889) per la porta specificata.
Viene attivato se si esegue ACC(888) per passare dalla
modalità indipendente a quella continua o viceversa per una
porta da cui è già in corso un'uscita a impulsi per SPED(885),
ACC(888) o PLS2(887).
Viene attivato se si esegue ACC(888) in un task ad interrupt
quando è in esecuzione un'istruzione che controlla l'uscita a
impulsi in un task ciclico.
Viene attivato se si esegue ACC(888) per un'uscita a impulsi
assoluti in modalità indipendente senza che sia stata stabilita
l'origine.
Frequenza di riferimento
1000 Hz
10 Hz/4 ms
500 Hz
20 Hz/4 ms
Ora
861
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ORG(889)
Eseguita una sola volta per differenziazione @ORG(889)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
C: dati di controllo
Il valore di C determina il metodo di ricerca dell'origine.
15 12 11 87 4 3 0
C
Sempre 0 esadecimale.
Sempre 0 esadecimale.
Metodo di uscita a impulsi (vedere nota)
0 esadecimale: CW/CCW
1 esadecimale: impulso + direzione
Modalità
0 esadecimale: ricerca dell'origine
1 esadecimale: ritorno all'origine
Nota: utilizzare lo stesso metodo di uscita a impulsi per entrambe le uscite a impulsi 0 e 1.
Caratteristiche operando
Area P C
Area CIO --- ---
Area di lavoro --- ---
Area bit di ritentività --- ---
Area bit ausiliaria --- ---
Area del temporizzatore --- ---
Area del contatore --- ---
Area DM --- ---
862
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Area P C
Area EM senza banco --- ---
Area EM con banco --- ---
Indirizzi DM/EM indiretti --- ---
in binario
Indirizzi DM/EM indiretti --- ---
in BCD
Costanti Vedere la descrizione Vedere la descrizione
dell'operando. dell'operando.
Registri dati --- ---
Registri indice --- ---
Indirizzamento indiretto --- ---
con i registri indice
863
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Flag
Nome Etichetta Operazione
Flag di ER ON se viene superata la gamma specificata per P o C.
errore ON se si specifica ORG(889) per una porta da cui è già in
corso un'uscita a impulsi per SPED(885), ACC(888) o
PLS2(887).
ON se si esegue ORG(889) in un task ad interrupt quando è in
esecuzione un'istruzione che controlla l'uscita a impulsi in un
task ciclico.
ON se i parametri di ricerca dell'origine o di ritorno all'origine
impostati nella configurazione del PLC non sono compresi
nella gamma.
ON se la velocità massima di ricerca dell'origine è minore o
uguale alla velocità di prossimità di ricerca dell'origine o se la
velocità di prossimità di ricerca dell'origine è minore o uguale
alla velocità iniziale della ricerca dell'origine.
ON se la velocità di riferimento di ritorno all'origine è minore o
uguale alla velocità iniziale del ritorno all'origine.
ON se si tenta di eseguire un'operazione di ritorno all'origine
quando l'origine non è stata stabilita.
864
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
Esempio Nel seguente esempio di programmazione, quando CIO 000000 viene impo-
stato su ON, l'istruzione ORG(889) avvia un'operazione di ritorno all'origine per
l'uscita a impulsi 0, emettendo impulsi con il metodo CW/CCW. In base alla
configurazione del PLC, la velocità iniziale è di 100 pps, la velocità di riferimento
è di 200 pps e i valori di accelerazione e decelerazione sono di 50 Hz/4 ms.
000000 Velocità
@ORG
Uscita a impulsi 0
#0000 200 pps
Ritorno all'origine,
#1000 metodo CW/CCW
100 pps
Ora
I parametri della configurazione del PLC sono impostati come riportato nella
seguente tabella.
Parametro Impostazione
Velocità iniziale dell'uscita a impulsi 0 per la ricerca 0000 0064 esadecimale:
dell'origine e il ritorno all'origine 100 pps
Velocità di riferimento di ritorno all'origine per l'uscita a 0000 00C8 esadecimale:
impulsi 0 200 pps
Valore di accelerazione del ritorno all'origine per l'uscita 0032 esadecimale:
a impulsi 0 50 esadecimale/4 ms
Valore di decelerazione del ritorno all'origine per l'uscita 0032 esadecimale:
a impulsi 0 50 esadecimale/4 ms
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON PWM(891)
Eseguita una sola volta per differenziazione @PWM(891)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
865
Istruzioni per contatore veloce e uscita a impulsi Capitolo 3-21
P Porta
1000 esadecimale Uscita a impulsi 0 (duty-cycle: in incrementi
(Solo CPU CJ1M versione 2.0) dell'0,1%)
1001 esadecimale Uscita a impulsi 1 (duty-cycle: in incrementi
(Solo CPU CJ1M versione 2.0) dell'0,1%)
F: frequenza
F specifica la frequenza dell'uscita a impulsi come valore compreso tra 0,1 e
6.553,5 Hz (in unità di 0,1 Hz, da 0001 a FFFF esadecimale). La precisione
della forma d'onda di PMW(891) effettivamente emessa (duty-cycle +5%/
−0%) è applicabile solo alle frequenze comprese tra 0,1 e 1.000,0 Hz a
causa delle limitazioni implicite dei circuiti di uscita.
D: duty-cycle
D specifica il duty-cycle dell'uscita a impulsi, vale a dire la percentuale di
tempo in cui l'uscita è attiva. Il valore di D deve essere compreso
nell'intervallo indicato di seguito.
• CPU CJ1m precedenti alla versione 2.0
0% e 100% (unità da 1%, da 0000 a 0064 esadecimale)
• CPU CJ1m versione 2.0
0,0% e 100,0% (unità da 0,1%, da 0000 a 03E8 esadecimale)
Caratteristiche operando
Area P F D
Area CIO --- Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6143
Area di lavoro --- Da W000 a W511 Da W000 a W511
Area bit di ritentività --- Da H000 a H511 Da H000 a H511
Area bit ausiliaria --- Da A448 a A959 Da A448 a A959
Area del --- Da T0000 a T4095 Da T0000 a T4095
temporizzatore
Area del contatore --- Da C0000 a C4095 Da C0000 a C4095
Area DM --- Da D00000 a D32767 Da D00000 a D32767
Area EM senza banco --- --- ---
Area EM con banco --- --- ---
Indirizzi DM/EM --- Da @ D00000 a @ Da @ D00000 a @
indiretti in binario D32767 D32767
Indirizzi DM/EM --- Da *D00000 a Da *D00000 a
indiretti in BCD *D32767 *D32767
Costanti Vedere la 0000 ... FFFF Da 0000 a 0064
descri- esadecimale esadecimale
zione
dell'ope-
rando.
Registri dati --- Da DR0 a DR15 Da DR0 a DR15
Registri indice --- --- ---
Indirizzamento --- Da ,IR0 a ,IR15
indiretto con i registri Da –2048 a +2047, da ,IR0 a da –2048 a
indice +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
866
Istruzioni di step Capitolo 3-22
Flag
Nome Etichetta Operazione
Flag di errore ER ON se viene superato l'intervallo specificato per P, F o D.
ON se gli impulsi vengono emessi utilizzando l'istruzione
ORG(889) per la porta specificata.
ON se si esegue PWM(891) in un task ad interrupt
quando è in esecuzione un'istruzione che controlla
l'uscita a impulsi in un task ciclico.
000001
@PWM
#0000 Uscita a impulsi 0
#07D0 Frequenza: 200,0 Hz
#0019 Duty-cycle: 25%
867
Istruzioni di step Capitolo 3-22
Corrisponde
Avvia l'area di programmazione step
a viene attivato
Procede fino allo step successivo
Processo A
b viene attivato
Processo B
c viene attivato
Processo C
Simboli programmazione
ladder SNXT(009)
B B: bit
868
Istruzioni di step Capitolo 3-22
Quando si definisce l'inizio di uno step, un bit di controllo viene specificato nel
modo seguente:
STEP(008)
B B: bit
Quando si definisce la fine di uno step, un bit di controllo non viene specificato
nel modo seguente:
STEP(008)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON STEP(008)/
SNXT(009)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma Aree di Subroutine Task ad interrupt
a blocchi programma step
Non consentita OK Non consentita Non consentita
Caratteristiche operando
Area B
Area CIO ---
Area di lavoro Da W00000 a W51115
Area bit di ritentività ---
Area bit ausiliaria ---
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SNXT(009)
L'istruzione SNXT(009) viene utilizzata nei seguenti tre modi:
869
Istruzioni di step Capitolo 3-22
870
Istruzioni di step Capitolo 3-22
Flag: STEP(008)
Nome Etichetta Operazione
Flag di errore ER ON se il bit B specificato non è nell'area WR.
ON se STEP(008) viene utilizzata come programma di
interrupt.
OFF in tutti gli altri casi.
Flag: SNXT(009)
Nome Etichetta Operazione
Flag di errore ER ON se il bit B specificato non è nell'area WR.
ON se SNXT(009) viene utilizzata come programma di
interrupt.
OFF in tutti gli altri casi.
871
Istruzioni di step Capitolo 3-22
Avvio
1 ciclo
Bit correlati
Nome Indirizzo Dettagli
Flag di step A20012 Viene attivato per un ciclo
quando viene avviato un
programma step tramite
l'istruzione STEP(008).
Può essere utilizzato per
reimpostare i timer ed
eseguire altre elaborazioni
quando si avvia un nuovo
step.
872
Istruzioni di step Capitolo 3-22
A eseguito
B eseguito
Normale
programma ladder Torna al normale
programma ladder
873
Istruzioni di step Capitolo 3-22
Programma ladder
step (B)
Normale programma
ladder
Fine
874
Istruzioni di step Capitolo 3-22
Fine
875
Istruzioni di step Capitolo 3-22
Step W00000
Programma ladder (A)
step (A)
Step W00002
Programma ladder (C)
step (C)
876
Istruzioni di step Capitolo 3-22
Controllo parallelo
Fine
877
Istruzioni di step Capitolo 3-22
Step W00003
Programma ladder (D)
step (D)
Programma ladder
Step W00004
step (E) (E)
878
Istruzioni di step Capitolo 3-22
Esempi di Nei seguenti tre esempi vengono mostrati i tre tipi di controllo di esecuzione
applicazione possibili con la programmazione step. Nell'Esempio 1 viene mostrata
l'esecuzione sequenziale, nell'Esempio 2 l'esecuzione di diramazione e
nell'Esempio 3 l'esecuzione parallela.
Solenoide 2
SW 1 Fotomicrosensore
SW 2 SW 4
SW 3
SW1
Processo A Caricamento
SW2
SW3
Processo C Ispezione/scaricamento
SW4
Fine
879
Istruzioni di step Capitolo 3-22
Processo A
Programmazione per
000100 LD 000002
processo A
000101 SNXT(009) W00001
000102 STEP(008) W00001
Reset
processo A
Avvio Processo B
processo B
000100 LD 000003
000101 SNXT(009) W00002
000102 STEP(008) W00002
Programmazione per
processo B
Processo C
000200 LD 000004
Reset
processo B 000201 SNXT(009) W00003
Avvio 000202 STEP(008) W00003
processo C
Programmazione per
processo C
Reset
processo C
Esempio 2: Il processo seguente richiede che un prodotto venga elaborato in uno di due
Esecuzione di modi, in base al peso, prima di essere stampato. Il processo di stampa è lo
diramazione stesso indipendentemente dal primo processo utilizzato. Vari sensori sono
posizionati sui segnali dove i processi devono iniziare e terminare.
Stampante
SW C1
SW D
Guida SW A1 SW A2
SW C2
Processo A
Nastro trasportatore A
Processo B
Nastro
trasportatore B
SW B1 SW B2
Scala peso
Processo C
880
Istruzioni di step Capitolo 3-22
SW A1 SW B1
Processo A Processo B
SW A2 SW B2
Processo C
SW D
Fine
881
Istruzioni di step Capitolo 3-22
Processo A
Programmazione per
processo A
000100 LD 000003
000101 SNXT(009) 010002
Reset
000102 STEP(008) 010001
processo A
Avvio
processo C Processo B
000100 LD 000004
000101 SNXT(009) 010002
000102 STEP(008) 010002
Programmazione per
processo B
Processo C
Reset
processo B 000200 LD 000005
Avvio 000201 SNXT(009) 024614
processo C
000202 STEP(008) ---
Programmazione per
processo C
Reset
processo C
882
Istruzioni di step Capitolo 3-22
Processo B
Processo E Nastro
trasportatore
Processo D E
Processo C SW4
SW2 Nastro trasportatore C Nastro trasportatore D SW6
SW 1 e SW2 entrambi ON
Processo A Processo C
SW3 SW4
Processo B Processo D
Processo E
SW7
Fine
883
Istruzioni di step Capitolo 3-22
Processo A
000100 LD 000002
000101 SNXT(009) W00001
Programmazione per processo A
000102 STEP(008) W00001
Reset
processo A Processo B
Avvio
processo B 000100 LD 000003
000101 OUT W00003
000101 AND 000004
000101 SNXT(009) W00004
Programmazione per processo B
000102 STEP(008) W00002
W00003 W00003 Usato per
disattivare
il processo Processo C
000200 LD 000003
Avvio
processo E 000201 SNXT(009) W00003
000202 STEP(008) W00003
Processo D
W00003
Reset
processo E
884
Istruzioni per moduli di I/O di base Capitolo 3-23
Simbolo programmazione
ladder IORF(097)
E E: canale finale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON IORF(097)
Eseguita una sola volta per differenziazione @IORF(097)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area St E
Area CIO Da CIO 0000 a CIO 0999Da
CIO 2000 a CIO 2959
Area ausiliaria ---
Area bit di ritentività ---
Area bit speciale ---
Area del temporizzatore ---
Area del contatore ---
Area DM ---
885
Istruzioni per moduli di I/O di base Capitolo 3-23
Area St E
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti in ---
binario
Indirizzi DM/EM indiretti in ---
BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a IR15
con i registri indice Da –2048 a +2047, da IR0 a IR15
Da DR0 a DR15, da IR0 a IR15,
Da IR0 a IR15+(++)
Da ,–(– –)IR0 a IR15
St Aggiorna-
mento I/O
Se tra St ed E vi sono dei canali per i quali non vi è alcun modulo montato,
non verrà eseguito alcun aggiornamento e verranno aggiornati soltanto i
canali assegnati ai moduli.
È possibile aggiornare con la stessa istruzione sia i moduli di I/O speciali
C200H, sia i moduli di I/O speciali CS (solo serie CS).
Tutti i canali assegnati ai moduli di I/O ad alta densità C200H gruppo 2
devono essere aggiornati contemporaneamente. I canali di I/O del modulo
verranno aggiornati se il primo canale assegnato al modulo è incluso
nell'intervallo dei canali di I/O specificato. I canali del modulo non verranno
aggiornati se il canale iniziale si trova dopo il primo canale assegnato al
modulo. Tuttavia, essi verranno aggiornati anche quando il canale finale è
prima dell'ultimo canale assegnato al modulo (solo serie CS).
È possibile utilizzare l'istruzione IORF(097) nei task ad interrupt, consentendo
tempi di risposta rapidi per i canali di I/O specifici aggiornati nel task ad
interrupt (vedere Avvertenze).
886
Istruzioni per moduli di I/O di base Capitolo 3-23
Moduli di I/O di base della serie CS, moduli di I/O di base C200H (solo serie
CS), moduli di I/O ad alta densità C200H gruppo 2 (solo serie CS), moduli di I/O
di base della serie CJ e moduli di I/O speciali (inclusi moduli ad alta densità).
Tutti i canali assegnati ai moduli possono essere aggiornati.
Nota I moduli che possono essere aggiornati tramite l'istruzione IORF(097) non
sono necessariamente gli stessi moduli che possono essere aggiornati
tramite aggiornamento immediato (!).
Flag
Nome Etichetta Operazione
Flag di errore ER ON se St è maggiore di E.
ON se St ed E si trovano in aree di memoria diverse.
Con le CPU CS1D: ON se non è stato possibile
sincronizzare le CPU attiva e in attesa.
OFF in tutti gli altri casi.
St: Aggiorna-
St mento I/O
E
E:
Aggiornamento dei canali nell'area dei bit del modulo di I/O speciale
Nell'esempio seguente viene mostrato come aggiornare 30 canali da CIO
2000 a CIO 2029 quando CIO 000000 viene impostato su ON.
Modulo I/O speciale
St: Aggiorna-
mento I/O
St
E
E:
887
Istruzioni per moduli di I/O di base Capitolo 3-23
Simbolo programmazione
ladder SDEC(078)
S S: canale di origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SDEC(078)
Eseguita una sola volta per differenziazione @SDEC(078)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area S Di D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
888
Istruzioni per moduli di I/O di base Capitolo 3-23
Area S Di D
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori ---
specificati
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Di
Numero di cifre
Prima cifra da
convertire
7 segmenti
Flag
Nome Etichetta Operazione
Flag di errore ER ON se le impostazioni in Di non sono incluse negli
intervalli specificati.
OFF in tutti gli altri casi.
Avvertenze Se per la conversione in Di sono state specificate più cifre, le cifre vengono
convertite in ordine verso la cifra più significativa. La cifra 0 è la cifra che
segue la cifra 3.
I risultati vengono memorizzati in D in ordine, partendo dalla parte specificata
verso i canali con indirizzo più alto. Se soltanto uno dei byte in un canale di
destinazione riceve i dati convertiti, l'altro byte resta invariato.
889
Istruzioni per moduli di I/O di base Capitolo 3-23
Di
Di: 0100 3
S: D00100
D:
Dati a 7 segmenti Nella tabella seguente sono riportate le conversioni dei dati da una cifra
esadecimale (4 bit) a un codice a 7 segmenti (8 bit).
Dati originali Codice convertito (segmenti) Visualizzazione
dati originali
Cifra Bit – g f e d c b a Esa
0 0 0 0 0 0 0 1 1 1 1 1 1 3F LSB
1 0 0 0 1 0 0 0 0 0 1 1 0 06 1 a
a
2 0 0 1 0 0 1 0 1 1 0 1 1 5B 1 b
3 0 0 1 1 0 1 0 0 1 1 1 1 4F 1 c f b
g
4 0 1 0 0 0 1 1 0 0 1 1 0 66 1 d
5 0 1 0 1 0 1 1 0 1 1 0 1 6D 1 e e c
6 0 1 1 0 0 1 1 1 1 1 0 1 7D 1 f
d
7 0 1 1 1 0 0 1 0 0 1 1 1 27 1 g
8 1 0 0 0 0 1 1 1 1 1 1 1 7F 0
9 1 0 0 1 0 1 1 0 1 1 1 1 6F MSB
A 1 0 1 0 0 1 1 1 0 1 1 1 77
B 1 0 1 1 0 1 1 1 1 1 0 0 7C
C 1 1 0 0 0 0 1 1 1 0 0 1 39
D 1 1 0 1 0 1 0 1 1 1 1 0 5E
E 1 1 1 0 0 1 1 1 1 0 0 1 79
F 1 1 1 1 0 1 1 1 0 0 0 1 71
890
Istruzioni per moduli di I/O di base Capitolo 3-23
Simbolo programmazione
ladder DSW(210)
I I: canale di ingresso
O O: canale di uscita
D D: primo canale del risultato
C1 C1: numero di cifre
C2 C2: canale di sistema
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DSW(210)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
D3 D0
D2 D1
4 cifre più a sinistra D1 D2 4 cifre più a destra
D0 D3
CS0
CS1
Flag di un round CS2 Segnali CS
Segnale di lettura RD0 CS3
15 12 11 8 7 4 3 0
D+1
(vedere nota)
Cifra 8 Cifra 7 Cifra 6 Cifra 5
891
Istruzioni per moduli di I/O di base Capitolo 3-23
Numero di cifre
0000 esadecimale: 4 cifre
0001 esadecimale: 8 cifre
Canale di sistema
(l'utente non può averne accesso)
Caratteristiche operando
Area I O D C1 C2
Area CIO Da CIO 0000 a CIO 6143 --- Da CIO 0000 a
CIO 6143
Area di lavoro Da W000 a W511 --- Da W000 a W511
Area bit di ritentività Da H000 a H511 --- Da H000 a H511
Area bit ausiliaria Da A000 Da A448 ad A953 --- Da A448 ad A959
ad A959
Area del Da T0000 a T4095 --- Da T0000 a
temporizzatore T4095
Area del contatore Da C0000 a C4095 --- Da C0000 a
C4095
Area DM Da D00000 a D32767 --- Da D00000 a
D32767
Area EM senza Da E00000 a E32767 --- Da E00000 a
banco E32767
Area EM con banco Da En_00000 a En_32767 --- Da En_00000 a
(n = da 0 a C) En_32767
(n = da 0 a C)
Indirizzi DM/EM Da @ D00000 a @ D32767 --- Da @ D00000 a
indiretti in binario Da @ E00000 a @ E32767 @ D32767
Da @ En_00000 a @ Da @ E00000 a
En_32767 @ E32767
(n = da 0 a C) Da @ En_00000
a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM Da *D00000 a *D32767 --- ---
indiretti in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- 0000 o ---
0001
esadeci
male
Registri dati Da DR0 a DR15 Da DR0 a DR15
892
Istruzioni per moduli di I/O di base Capitolo 3-23
Area I O D C1 C2
Registri indice ---
Indirizzamento Da ,IR0 a ,IR15 Da ,IR0 a ,IR15
indiretto con i registri Da –2048 a +2047, Da –2048 a
indice da ,IR0 a da –2048 a +2047, da ,IR0 a
+2047, a ,IR15 da –2048 a
Da DR0 a DR15, da +2047, a ,IR15
IR0 a IR15 Da DR0 a DR15,
Da ,IR0+(++) a da IR0 a IR15
,IR15+(++) Da ,IR0+(++) a
Da ,–(– –)IR0 a ,IR15+(++)
,–(– –)IR15 Da ,–(– –)IR0 a
,–(– –)IR15
893
Istruzioni per moduli di I/O di base Capitolo 3-23
Collegamenti esterni Come illustrato nel seguente diagramma, collegare il selettore digitale o
rotativo ai contatti del modulo di ingresso compresi tra 0 e 7 e ai contatti del
modulo di uscita compresi tra 0 e 4. L'esempio indica i collegamenti per un
selettore rotativo A7B.
Gli ingressi e le uscite possono essere collegati ai seguenti tipi di moduli di I/O
di base e moduli di I/O ad alta densità, purché non siano installati su un
sistema slave di I/O remoti SYSMAC BUS.
• Moduli di ingresso c.c. con 8 o più punti di ingresso
• Moduli di uscita a transistor con 8 o più punti di uscita
894
Istruzioni per moduli di I/O di base Capitolo 3-23
Diagramma di
funzionamento
I
Quattro cifre: 00 … 03
100 101 102 103 Dati di ingresso
Otto cifre: 00 ... 03, 04 ... 07 4 cifre 4 cifre
estrema sinistra estrema destra
O
D+1 D
00
Se vengono lette solo 4 cifre, si
utilizza esclusivamente il canale D.
01
Segnali CS
02
03
04 Segnale RD (lettura)
05 Flag di un round
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
895
Istruzioni per moduli di I/O di base Capitolo 3-23
Simbolo programmazione
ladder TKY(211)
I I: canale di ingresso
D1 D1: primo canale registro
D2 D2: canale di immissione tasto
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TKY(211)
Eseguita una sola volta per differenziazione @TKY(211)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
9 0
8 1
7 2
6 3 I bit da 00 a 09
4 corrispondono ai
5 tasti da 0 a 9.
15 12 11 8 7 4 3 0
D1+1
896
Istruzioni per moduli di I/O di base Capitolo 3-23
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
D2 − − − − −
ON quando viene
premuto un tasto 0
qualsiasi 1
9 2
ON quando viene premu-
ON quando viene premuto 8 3
to il tasto corrispondente
il tasto corrispondente 7 4
6 5 (ON fino a quando viene
(ON fino a quando viene premuto un altro tasto)
premuto un altro tasto)
Nota A differenza di altre istruzioni di I/O come HKY(212), TKY(211) non necessita
di un canale di sistema.
Caratteristiche operando
Area I D1 D2
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6142 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A958 Da A448 ad A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4094 T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4094 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32766 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32766 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32766 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione TKY(211) legge i dati numerici dal canale di ingresso I, che è assegnato a un
tastierino a dieci tasti collegato a un modulo di ingresso, e memorizza fino a 8
cifre di dati in formato BCD nei canali registro D1 e D1+1. Inoltre, ogni volta
che viene premuto un tasto, il bit corrispondente in D2 (0 ... 9) passa a ON e
resta attivato fino a quando non viene premuto un altro tasto. Il bit 10 di D2 è
impostato su ON se viene premuto un tasto qualsiasi e su OFF se non ne
viene premuto alcuno.
897
Istruzioni per moduli di I/O di base Capitolo 3-23
Collegamenti esterni Collegare il tastierino a dieci tasti in modo tale che i selettori per i tasti da 0 a
9 siano collegati ai contatti da 0 a 9 del modulo di ingresso come illustrato nel
diagramma che segue.
ID212 0
0
1
2
3
4
5
6
7
8
9
10
11 9
12
13
14 10 tasti
15
COM
COM
0V
È necessario che il modulo di ingresso sia c.c. o ad alta densità con almeno
16 ingressi e che non sia installato su un sistema slave di I/O remoti SYSMAC
BUS.
898
Istruzioni per moduli di I/O di base Capitolo 3-23
Diagramma di
funzionamento
I
D1+1 D1
00
Prima
dell'esecu 0 0 0 0 0 0 0 0
01
02 Immissione da 10 tasti
... 0 0 0 0 0 0 0 1
(1)
09
Immissione tasto "1"
D2
(2) 0 0 0 0 0 0 1 0
00
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
899
Istruzioni per moduli di I/O di base Capitolo 3-23
Simbolo programmazione
ladder HKY(212)
I I: canale di ingresso
O O: canale di uscita
D D: primo canale registro
C C: canale di sistema
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON HKY(212)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
0
1 I bit da 00 a 03 corrispondono
2 agli ingressi del modulo di
3 ingresso da 0 a 3.
0
1
I bit da 00 a 03
2
corrispondono alle uscite del
3
modulo di uscita da 0 a 3.
900
Istruzioni per moduli di I/O di base Capitolo 3-23
15 12 11 8 7 4 3 0
D+1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
D+2
15 0
14 1
13 2 ON quando viene premuto il
12 3 tasto corrispondente (ON fino
11 4 a quando viene premuto un
10 5 altro tasto)
9 6
8 7
C: canale di sistema
Specifica un canale di lavoro utilizzato dall'istruzione. Questo canale non può
venire utilizzato in altre applicazioni.
15 0
C
Canale di sistema
(l'utente non può averne accesso)
Caratteristiche operando
Area I O D C
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6141 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W509 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H509 Da H000 a H511
Area bit ausiliaria Da A000 Da A448 Da A448 ad A957 Da A448 ad A959
ad A957 ad A959
Area del Da T0000 a T4095 Da T0000 a Da T0000 a
temporizzatore T4093 T4095
Area del contatore Da C0000 a C4095 Da C0000 a Da C0000 a
C4093 C4095
Area DM Da D00000 a D32767 Da D00000 a Da D00000 a
D32765 D32767
Area EM senza Da E00000 a E32767 Da E00000 a Da E00000 a
banco E32765 E32767
Area EM con banco Da En_00000 a En_00000 ... Da En_00000 a
En_32767 En_32765 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM Da @ D00000 a @ D32767
indiretti in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
901
Istruzioni per moduli di I/O di base Capitolo 3-23
Area I O D C
Indirizzi DM/EM Da *D00000 a *D32767
indiretti in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
Registri indice ---
Indirizzamento Da ,IR0 a ,IR15
indiretto con i registri Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
indice
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
902
Istruzioni per moduli di I/O di base Capitolo 3-23
Collegamenti esterni Come illustrato nel seguente diagramma, collegare il tastierino esadecimale
ai contatti dei moduli di ingresso e di uscita compresi tra 0 e 3.
OD212
C D E F
0
1
8 9 A B 2
3
4 5 6 7 4
5
0 1 2 3 6
7
8
ID212 9
0 10
1 11
2
3 12
13
4
14
5
15
6
COM
7
COM
8
9
10
11
Modulo
di uscita
12
13
14
15
COM
COM
Modulo di ingresso
903
Istruzioni per moduli di I/O di base Capitolo 3-23
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
Simbolo programmazione
ladder MTR(213)
I I: canale di ingresso
O O: canale di uscita
D D: primo canale di destinazione
C C: canale di sistema
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MTR(213)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
904
Istruzioni per moduli di I/O di base Capitolo 3-23
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
0
1
2 I bit da 00 a 07
3 corrispondono agli ingressi
4 del modulo di ingresso da
5 0 a 7.
6
7
0
1
2
I bit da 00 a 07
3
corrispondono alle
4
uscite del modulo di
5
uscita da 0 a 7.
6
7
15 0
14 1
13 2
12 3 I bit da 00 a 15
11 4 corrispondono agli elementi
10 5 della matrice da 0 a 15.
9 6
8 7
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
D+1
15 0
14 1
13 2
12 3 I bit da 00 a 15
11 4 corrispondono agli elementi
10 5 della matrice da 16 a 31.
9 6
8 7
905
Istruzioni per moduli di I/O di base Capitolo 3-23
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
D+2
15 0
14 1
13 2
12 3 I bit da 00 a 15
11 4 corrispondono agli elementi
10 5 della matrice da 32 a 47.
9 6
8 7
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
D+3
15 0
14 1
13 2
12 3 I bit da 00 a 15
11 4 corrispondono agli elementi
10 5 della matrice da 48 a 63.
9 6
8 7
C: canale di sistema
Specifica un canale di lavoro utilizzato dall'istruzione. Questo canale non può
venire utilizzato in altre applicazioni.
15 0
C
Canale di sistema
(l'utente non può averne accesso)
Caratteristiche operando
Area I O D C
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 614 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W508 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H508 Da H000 a H511
Area bit ausiliaria Da A000 Da A448 Da A448 ad A956 Da A448 ad A959
ad A959 ad A959
Area del Da T0000 a T4095 Da T0000 a Da T0000 a
temporizzatore T4092 T4095
Area del contatore Da C0000 a C4095 Da C0000 a Da C0000 a
C4092 C4095
Area DM Da D00000 a D32767 Da D00000 a Da D00000 a
D32764 D32767
Area EM senza Da E00000 a E32767 Da E00000 a Da E00000 a
banco E32764 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32764 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM Da @ D00000 a @ D32767
indiretti in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM Da *D00000 a *D32767
indiretti in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati Da DR0 a DR15 --- Da DR0 a DR15
906
Istruzioni per moduli di I/O di base Capitolo 3-23
Area I O D C
Registri indice ---
Indirizzamento Da ,IR0 a ,IR15
indiretto con i registri Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
indice
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Collegamenti esterni Come illustrato nel seguente diagramma, collegare il tastierino esadecimale
ai contatti dei moduli di ingresso e di uscita compresi tra 0 e 3.
8a riga
7a riga
OD212
A8 A7 A6 A5 A4 A3 A2 A1 A0
B9 B8 B7 B6 B5 B4 B3 B2 B1 B0
1a riga
907
Istruzioni per moduli di I/O di base Capitolo 3-23
Diagramma di
funzionamento
00
01
02
03 Segnali di selezione
04
05
06
07
00
: Stato della matrice
32
:
64
00 Bit con indicazione dello
:
32 stato degli ingressi
:
64 (ON se l'ingresso è ON)
08 Flag di un round
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF
908
Istruzioni per moduli di I/O di base Capitolo 3-23
Simbolo programmazione
ladder 7SEG(214)
S S: canale di origine
O O: canale di uscita
C C: dati di controllo
D D: canale di sistema
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON 7SEG(214)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
15 12 11 8 7 4 3 0
S+1
Flag di un round
LE3 D0
LE2 D1
Uscite di blocco Uscita dei dati a 4 cifre
LE1 D2
LE0 D3
• Conversione di 8 cifre
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
O − − −
Flag di un round
LE3 D0
LE2 D1 Uscita dei dati a 4 cifre
Uscite di blocco LE1 D2 più a sinistra
LE0 D3
D0
D1
D2 Uscita dei dati a 4 cifre più a destra
D3
909
Istruzioni per moduli di I/O di base Capitolo 3-23
C: dati di controllo
Il valore di C indica il numero di cifre dei dati di origine e la logica per i moduli
di I/O, come illustrato nella seguente tabella (per logica si intende quella
dell'NPN o PNP dell'uscita a transistor).
Dati di Logica del display per i Logica del display per i C
origine dati in ingresso dati di uscita
4 cifre (S) Uguale al modulo di uscita Uguale al modulo di uscita 0000
Diversa dal modulo di uscita 0001
Diversa dal modulo di uscita Uguale al modulo di uscita 0002
Diversa dal modulo di uscita 0003
8 cifre Uguale al modulo di uscita Uguale al modulo di uscita 0004
(S, S+1) Diversa dal modulo di uscita 0005
Diversa dal modulo di uscita Uguale al modulo di uscita 0006
Diversa dal modulo di uscita 0007
D: canale di sistema
Specifica un canale di lavoro utilizzato dall'istruzione. Questo canale non può
venire utilizzato in altre applicazioni.
15 0
D
Canale di sistema
(l'utente non può averne accesso)
Caratteristiche operando
Area S O C D
Area CIO Da CIO 0000 a CIO 6143 --- Da CIO 0000 a
CIO 6143
Area di lavoro Da W000 a W511 --- Da W000 a W511
Area bit di ritentività Da H000 a H511 --- Da H000 a H511
Area bit ausiliaria Da A000 ad Da A448 ad --- Da A448 ad A959
A959 A959
Area del Da T0000 a T4095 --- Da T0000 a T4095
temporizzatore
Area del contatore Da C0000 a C4095 --- Da C0000 a C4095
Area DM Da D00000 a D32767 --- Da D00000 a
D32767
Area EM senza Da E00000 a E32767 --- Da E00000 a
banco E32767
Area EM con banco Da En_00000 a --- Da En_00000 a
En_32767 En_32767
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM Da @ D00000 a @ ---
indiretti in binario D32767
Da @ E00000 a @
E32767
Da @ En_00000 a @
En_32767
(n = da 0 a C)
Indirizzi DM/EM Da *D00000 a *D32767
indiretti in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- --- 0000 ... ---
0007
910
Istruzioni per moduli di I/O di base Capitolo 3-23
Area S O C D
Registri dati --- Da DR0 a --- Da DR0 a DR15
DR15
Registri indice ---
Indirizzamento Da IR0 a IR15, da –2048 --- Da ,IR0 a ,IR15
indiretto con i registri a +2047, da IR0 a IR15 Da –2048 a +2047,
indice Da DR0 a DR15, da IR0 da ,IR0 a da –2048 a
a IR15 +2047, a ,IR15
Da ,IR0+(++) a Da DR0 a DR15, da
,IR15+(++) IR0 a IR15
Da ,–(– –)IR0 a Da ,IR0+(++) a
,–(– –)IR15 ,IR15+(++)
Da ,–(– –)IR0 a
,–(– –)IR15
Descrizione 7SEG(214) legge i dati di origine, li converte nel formato per il display a 7
segmenti e invia tali dati (come 4 cifre più a sinistra da D0 a D3, 4 cifre più a
destra da D0 a D3, segnali di blocco in uscita da LE0 a LE3) ai dati a 7
segmenti per il display collegati all'uscita indicata da O. Il valore di C indica il
numero di cifre dei dati di origine (4 o 8 cifre) e la logica per i moduli di
ingresso e uscita.
7SEG(214) visualizza i dati a 4 o 8 cifre in 12 cicli, quindi ricomincia e
continua a visualizzare i dati.
Il flag di un round (bit 08 di O quando si convertono 4 cifre, bit 12 di O quando
si convertono 8 cifre) viene attivato per un ciclo ogni 12 cicli dopo che
7SEG(214) ha attivato ciascuno dei segnali di blocco in uscita. Dopo che i dati
a 7 segmenti sono stati emessi in 12 cicli, l'istruzione 7SEG(214) si avvia e
converte il contenuto attuale del canale o dei canali di origine dei 12 cicli
successivi.
Quando viene eseguita, l'istruzione 7SEG(214) comincia sull'uscita di blocco
0 all'inizio del round, indipendentemente dal punto in cui è stata interrotta
l'ultima istruzione.
Anche se il display a 7 segmenti collegato ha meno di 4 o 8 cifre visualizzate,
7SEG(214) invierà ancora 4 o 8 cifre di dati.
Collegamenti esterni Collegare il display a 7 segmenti al modulo di uscita, come mostrato nel
diagramma riportato di seguito. Nell'esempio è illustrato un display a 8 cifre.
Con un display a 4 cifre, le uscite dei dati (da D0 a D3) verrebbero collegate
alle uscite da 0 a 3 e le uscite di blocco (da LE0 a LE3) verrebbero collegate
alle uscite da 4 a 7. Quando è stato emesso un round di dati, verrà attivato il
punto di uscita 12 (per display a 8 cifre) o il punto di uscita 8 (per display a 4
911
Istruzioni per moduli di I/O di base Capitolo 3-23
OD212
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DC
COM
Modulo di uscita
Uscita dati da 00 a 03 da 00 a 03
da 04 a 07 100 101 102 103 Nota Da 0 a 3: uscita dati per canale S
Da 4 a 7: uscita dati per canale S+1
Uscita di blocco 0 04 08
Uscita di blocco 1 05 09
Uscita di blocco 2 06 10
Uscita di blocco 3 07 11
Flag di un round 08 12
1 2 3 4 5 6 7 8 9 10 11 12 1
Flag
Nome Etichetta Operazione
Flag di errore ER OFF
912
Istruzioni per moduli di I/O di base Capitolo 3-23
Avvertenze Non leggere o scrivere il canale di sistema (D) da altre istruzioni. 7SEG(214)
non funzionerà correttamente se al canale di sistema si accede da un'altra
istruzione. Il canale di sistema non viene inizializzato da 7SEG(214) nel primo
ciclo quando si avvia l'esecuzione del programma. Se 7SEG(214) deve
essere utilizzata dal primo ciclo, eliminare il canale di sistema dal programma.
7SEG(214) non funzionerà correttamente se non viene eseguito
l'aggiornamento I/O con il modulo di uscita collegato al display a 7 segmenti
dopo l'esecuzione dell'istruzione 7SEG(214). Pertanto, non collegare la
matrice esterna ai seguenti moduli:
• moduli di I/O di base o moduli di I/O ad alta densità montati sul rack di un
sistema slave di I/O remoto SYSMAC BUS,
• slave di comunicazione (slave DeviceNet o CompoBus/S).
Esempio In questo esempio, 7SEG(214) converte i dati BCD a 8 cifre in D00100 e
D00101 e li invia tramite CIO 0100 a un display a 7 segmenti collegato a un
modulo di uscita a transistor CS1W-OD211 con 16 punti di uscita.
Vengono dunque inviate 8 cifre di dati e la logica del display a 7 segmenti è la
stessa logica dell'unità di uscita, quindi i dati di controllo (C) vengono
impostati su 0004. D32000 viene utilizzato come canale di sistema, D.
P_On
7SEG(214)
Flag di sempre ON S D00100
O 0100
C 004
D D32000
Simbolo programmazione
ladder
IORD(222)
C C: dati di controllo
D D: destinazione di trasferimento
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON IORD(222)
Eseguita una sola volta per differenziazione @IORD(222)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
913
Istruzioni per moduli di I/O di base Capitolo 3-23
Caratteristiche operando
Area C S D
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6142 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A000 ad A958 Da A448 a A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4094 T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4094 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32766 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32766 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32766 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a Solo valori ---
#FFFF specificati
(binario)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione IORD(222) legge il numero di canali impostati in S+1 dall'area di memoria del
modulo di I/O speciale o dall'unità bus CPU il cui numero di modulo è
specificato da S e invia i dati a D. È possibile specificare soltanto moduli di I/O
speciali o unità bus CPU montate su rack CPU o rack I/O di espansione. Per
informazioni specifiche su ogni singola unità, consultare il manuale
dell'operatore del relativo modulo di I/O speciale o dell'unità bus CPU da cui
vengono letti i dati.
914
Istruzioni per moduli di I/O di base Capitolo 3-23
S
S+1
Numero modulo del modulo di
I/O speciale o dell'unità bus CPU
Lettura
del
numero
di canali
specific
Limitazioni La lettura di un'unità bus CPU è soggetta alle limitazioni esposte di seguito.
915
Istruzioni per moduli di I/O di base Capitolo 3-23
Flag
Nome Etichetta Operazione
Flag di errore ER ON se il numero di canali da trasferire (S) non è incluso
nell'intervallo da 0001 a 0080 esadecimale.
ON se il numero di modulo (S) non è incluso nell'intervallo
da 0000 a 005F esadecimale o da 8000 a 800F
esadecimale.
ON se è il modulo di I/O speciale specificato è su
SYSMAC BUS.
ON se è stato specificato un modulo di I/O speciale o
un'unità bus CPU non influenzati dall'istruzione
IORD(222).
ON se è stato specificato un modulo di I/O speciale con
un errore del modulo di I/O speciale o con un errore di
configurazione del modulo di I/O speciale.
ON se è stato specificato un modulo bus CPU con un
errore del modulo bus CPU o con un errore di
configurazione del modulo bus CPU.
Con le CPU CS1D: ON se non è stato possibile
sincronizzare le CPU attiva e in attesa.
OFF in tutti gli altri casi.
Flag di = ON se l'operazione di lettura è stata completata
uguaglianza regolarmente.
OFF se l'operazione di lettura non è stata completata
regolarmente.
916
Istruzioni per moduli di I/O di base Capitolo 3-23
B
IORD
C
S
D
=
A B
Esempio In questo esempio l'istruzione IORD(222) viene utilizzata per leggere i dati.
Quando CIO 000000 è impostato su ON, dall'unità di I/O speciale con
numero di unità 3 vengono letti 10 canali, che verranno memorizzati in
S+1 S
S
10 canali
917
Istruzioni per moduli di I/O di base Capitolo 3-23
Simbolo programmazione
ladder IOWR(223)
C C: dati di controllo
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON IOWR(223)
Eseguita una sola volta per differenziazione @IOWR(223)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area C S D
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6142
Area di lavoro Da W000 a W511 Da W000 a W510
Area bit di ritentività Da H000 a H511 Da H000 a H510
Area bit ausiliaria Da A000 a A959 Da A000 ad A958
Area del temporizzatore Da T0000 a T4095 Da T0000 a
T4094
Area del contatore Da C0000 a C4095 Da C0000 a
C4094
Area DM Da D00000 a D32767 Da D00000 a
D32766
Area EM senza banco Da E00000 a E32767 Da E00000 a
E32766
Area EM con banco Da En_00000 a En_32767 Da En_00000 a
(n = da 0 a C) En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
918
Istruzioni per moduli di I/O di base Capitolo 3-23
Area C S D
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #FFFF Solo valori
(binario) specificati
Registri dati Da DR0 a DR15 --- ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione IOWR(223) scrive il numero di canali impostati (D) dal primo canale di origine
(specificato da S) in avanti e li invia al modulo di I/O speciale o all'unità bus CPU
avente il numero di modulo indicato da D. È possibile specificare soltanto moduli
di I/O speciali o unità bus CPU montate su rack CPU o rack I/O di espansione.
D
D+1
Scrittura
del
numero di
canali
specificat
Limitazioni La scrittura di un'unità bus CPU è soggetta alle limitazioni esposte di seguito.
■ Limitazioni del modulo CPU
CPU CS1-H
La scrittura in un'unità bus CPU è possibile soltanto con i seguenti modelli di
CPU ed esclusivamente con CPU prodotte dal 18 aprile 2003 in poi (numero
di lotto 030418 o successivo).
• CS1G-CPU@@H
• CS1H-CPU@@H
Per determinare la data di produzione, verificare il numero di lotto riportato sul
lato o sulla parte inferiore della CPU. Nei numeri di lotto, la data di produzione
è indicata come segue:
AAMMGG nnnn
AA = le ultime due cifre dell'anno, MM = mese espresso come valore
numerico, GG = giorno del mese, nnnn = numero di serie
CPU CJ1-H, CJ1M e CS1D
La scrittura in un'unità bus CPU è possibile soltanto con le CPU versione 2.0
o successiva.
Nota Se IOWR(223) viene eseguita per un'unità bus CPU in esecuzione su un
modulo CPU che non supporta l'utilizzo di tale istruzione con le unità bus
CPU, si verificherà un errore e verrà attivato il flag ER.
■ Limitazioni per CX-Programmer
È possibile specificare i numeri di modulo per le unità bus CPU per S con CX-
Programmer versione 3.0 o successiva.
919
Istruzioni per moduli di I/O di base Capitolo 3-23
Flag
Nome Etichetta Operazione
Flag di ER ON se il numero di canali da trasferire (D) non è incluso
errore nell'intervallo da 0001 a 0080 esadecimale.
ON se il numero di modulo (D) non è incluso nell'intervallo da
0000 a 005F esadecimale o da 8000 a 800F esadecimale.
ON se S viene specificato da una costante quando il numero di
canali da trasferire (D+1) non è 0001 esadecimale.
ON se il modulo di I/O speciale specificato è su SYSMAC BUS.
ON se è stato specificato un modulo di I/O speciale o un'unità
bus CPU non influenzati dall'istruzione IOWR(223).
ON se è stato specificato un modulo di I/O speciale con un
errore del modulo di I/O speciale o con un errore di
configurazione del modulo di I/O speciale.
ON se è stato specificato un modulo bus CPU con un errore del
modulo bus CPU o con un errore di configurazione del modulo
bus CPU.
Con le CPU CS1D: ON se non è stato possibile sincronizzare le
CPU attiva e in attesa.
OFF in tutti gli altri casi.
Flag di = ON se l'operazione di scrittura è stata completata regolarmente.
ugua- OFF se l'operazione di scrittura non è stata completata
glianza regolarmente.
Avvertenze Quando per il numero di canali da trasferire (D+1) è stato specificato "0001",
è possibile definire i dati per S tramite una costante. Se per S viene impostata
una costante quando il numero di canali da trasferire non è "0001", si
verificherà un errore e verrà attivato il flag di errore.
Il flag di uguaglianza verrà attivato se l'operazione di scrittura è stata
completata regolarmente.
Il flag di uguaglianza verrà disattivato se l'operazione di scrittura non è stata
completata regolarmente a causa del modulo di I/O speciale occupato o
dell'unità bus CPU occupata.
Ogni volta che si verifica una delle seguenti condizioni, verrà generato un
errore e verrà attivato il flag di errore.
• In presenza di un errore di verifica del modulo di I/O, un errore di
configurazione del modulo di I/O speciale o un errore di modulo di I/O
speciale sul modulo di I/O speciale.
• In presenza di un errore di verifica del modulo di I/O, un errore di
configurazione dell'unità bus CPU o un errore di unità bus CPU sull'unità
bus CPU.
• Il numero di canali da trasferire (D) non è incluso nell'intervallo da 0001 a
0080 (esadecimale).
• Il numero di modulo (D) non è incluso nell'intervallo da 0000 a 005F
esadecimale o da 8000 a 800F esadecimale.
• Il modulo di I/O speciale specificato è su SYSMAC BUS.
• È stato specificato un modulo di I/O speciale o un'unità bus CPU non
influenzati dall'istruzione IOWR(223).
• È stato specificato un modulo di I/O speciale con un errore del modulo di
I/O speciale o con un errore di configurazione del modulo di I/O speciale.
• È stato specificato un modulo di I/O speciale con un errore del modulo di
I/O speciale o con un errore di configurazione del modulo di I/O speciale.
Quando viene eseguita l'istruzione IOWR(223), i risultati dell'esecuzione si
riflettono sui flag di condizione. In particolare, il flag di uguaglianza viene
impostato su ON quando la lettura è stata completata. Immettere i flag di
condizione come il flag di uguaglianza con diramazione di uscita dalle
medesime condizioni di ingresso dell'istruzione IOWR(223).
920
Istruzioni per moduli di I/O di base Capitolo 3-23
A = B
D+1 D
10 canali
921
Istruzioni per moduli di I/O di base Capitolo 3-23
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DLNK(226)
Eseguita una sola volta per differenziazione @ DLNK(226)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Descrizione DLNK(226) esegue l'aggiornamento immediato degli I/O dell'unità bus CPU
con il numero di modulo specificato. Vengono aggiornati i dati riportati di
seguito. Per le condizioni di esecuzione da utilizzare per l'aggiornamento
immediato, consultare più avanti la sezione Avvertenze.
922
Istruzioni per moduli di I/O di base Capitolo 3-23
1. I canali assegnati all'unità bus CPU nelle aree dell'unità bus CPU del PLC
(25 canali nell'area CIO e 100 canali nell'area).
2. Dati specifici dell'unità bus CPU, come i data link o i dati per le
comunicazioni con I/O remoti DeviceNet (aggiornati insieme ai dati nelle
aree dell'unità bus CPU).
Unità bus CPU Aggiornamento dei dati specifici del
modulo
Modulo Controller Link e modulo Aggiornamento del data link
SYSMAC Link
Modulo DeviceNet Aggiornamento delle comunicazioni degli
(non comprende moduli master I/O remoti
DeviceNet C200H)
CPU
Unità bus CPU con
Le aree di dati vengono utilizzate numero di modulo N
dall'unità bus CPU con numero di
modulo N
Canali allocati
nell'area CIO
Aggiornamento
Canali allocati
nell'area DM
DLNK(226) aggiorna i dati tra il modulo CPU e l'unità bus CPU specificata.
Quando si utilizza l'istruzione DLNK(226), vi sono due fattori speciali da
tenere in considerazione:
1,2,3... 1. Quando si scambiano i dati tramite un data link o una comunicazione con
I/O remoti DeviceNet, i dati non vengono scambiati con altri moduli durante
il periodo di tempo in cui viene eseguita l'istruzione DLNK(226). Lo
scambio di dati avverrà quando il ciclo di comunicazione della rete
raggiunge il modulo in questione e i dati verranno scambiati con tale
modulo. Pertanto, lo scambio effettivo dei dati potrebbe essere ritardato a
seconda del tempo del ciclo di comunicazione della rete.
2. Con l'istruzione DLNK(226) non è possibile eseguire l'aggiornamento I/O
se su tale unità bus CPU è in corso lo scambio di dati. Se DLNK(226) viene
eseguita troppo spesso, l'aggiornamento I/O non verrà effettuato. Si
consiglia pertanto di consentire un ritardo tra le esecuzioni di DLNK(226)
che sia superiore al tempo del ciclo di comunicazione.
923
Istruzioni per moduli di I/O di base Capitolo 3-23
Flag
Nome Etichetta Operazione
Flag di errore ER ON se il numero di modulo specificato non è compreso tra
0000 e 000F esadecimale (tra 0 e 15 decimale).
ON se il PLC non è dotato di un'unità bus CPU con il
numero di modulo specificato.
Con le CPU CS1D: ON se non è stato possibile
sincronizzare le CPU attiva e in attesa.
OFF in tutti gli altri casi.
Flag di = OFF se non è stato possibile aggiornare gli I/O poiché
uguaglianza sull'unità bus CPU era in corso l'aggiornamento dei dati.
OFF in presenza di un errore di unità bus CPU o di un
errore di impostazione dell'unità bus CPU nell'unità bus
CPU specificata.
OFF se DLNK(226) è stata eseguita in un task ad inter-
rupt o si è verificato un conflitto con il normale aggiorna-
mento I/O che ha provocato una sovrapposizione degli
aggiornamenti.
ON se l'aggiornamento I/O è stato completato
normalmente.
Avvertenze Se nell'unità bus CPU specificata si è verificato un errore di unità bus CPU
(A40207) o un errore di configurazione dell'unità bus CPU (A40203),
l'aggiornamento I/O non verrà eseguito.
Se si verifica un errore del bus di I/O mentre l'istruzione DLNK(226) sta
eseguendo l'aggiornamento I/O, tale aggiornamento verrà interrotto.
DLNK(226) aggiorna i dati tra il modulo CPU e l'unità bus CPU specificata. Lo
scambio dei dati con un'unità bus CPU necessita di un po' di tempo, ad
esempio un data link con un modulo Controller Link.
Se l'unità bus CPU sta scambiando i dati, l'istruzione DLNK(226) non verrà
eseguita e il flag di uguaglianza verrà disattivato. Si consiglia di programmare
le condizioni di esecuzione riportate di seguito in modo che l'esecuzione di
DLNK(226) venga ritentata automaticamente.
Condizione di
esecuzione b
DLNK
N
Flag di uguaglianza
a a
Flag di uguaglianza b
924
Istruzioni per moduli di I/O di base Capitolo 3-23
000000 W000
DLNK
&1
Flag di
uguaglianza W001
W001
Flag di
uguaglianza W000
Aggiornamento
del data link
Area del data link
Controller Link
925
Istruzioni per la comunicazione seriale Capitolo 3-24
926
Istruzioni per la comunicazione seriale Capitolo 3-24
TXD(236)
TXDU(256) Senza Porta seriale del modulo di comunicazione seriale (versione 1.2 o successiva)
e protocollo
RXDU(255) (personalizzata) Modulo di comunicazione seriale CPU
TXDU/RXDU
RXD
TXD
927
Istruzioni per la comunicazione seriale Capitolo 3-24
Simbolo programmazione
ladder PMCR(260)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON PMCR(260)
Eseguita una sola volta per differenziazione @PMCR(260)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di pro- Aree di Subroutine Task ad interrupt
gramma a blocchi programma step
OK OK OK OK
C1
C2
928
Istruzioni per la comunicazione seriale Capitolo 3-24
R
Qui vengono memorizzati
... i canali di dati ricevuti
Caratteristiche operando
Area C1 C2 S R
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447 Da A448 a
Da A448 a A959 A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
929
Istruzioni per la comunicazione seriale Capitolo 3-24
Area C1 C2 S R
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori Da 0000 a #0000 (binario)
specificati 03E7
esadecimale
(da 0 a 999)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
...
R
Dispositivo
...
esterno
Flag
Nome Etichetta Operazione
Flag di errore ER ON se il flag di abilitazione porte di comunicazione è OFF
per la porta logica specificata quando viene eseguita
l'istruzione PMCR(260).
ON se C1 non è incluso negli intervalli specificati. (Il flag
di errore non verrà attivato se i dati C2 non sono inclusi
negli intervalli specificati. Il codice di fine verrà
memorizzato nel codice di completamento per le porte di
comunicazione (da A203 a A210) dell'area ausiliaria).
ON se il numero di canali di S o R supera 249 (quando
vengono specificati i canali).
OFF in tutti gli altri casi.
930
Istruzioni per la comunicazione seriale Capitolo 3-24
Avvertenze I dati nell'area di invio specificata con S vengono inviati tramite il simbolo
opzione di lettura R( ) in un messaggio di invio.
I dati vengono effettivamente ricevuti nell'area di ricezione specificata da R
utilizzando il simbolo opzione di scrittura W( ) in un messaggio di ricezione.
Per informazioni sulle procedure per la designazione dei simboli R( ) e W( ),
consultare il CX-Protocol Operation Manual (W344).
È possibile eseguire l'istruzione PMCR(260) per una porta di comunicazione
seriale presente su una scheda di comunicazione seriale (solo serie CS) o su
un modulo di comunicazione seriale. È possibile montare sul rack CPU o sui
rack I/O di espansione fino a 16 moduli di comunicazione seriale. L'indirizzo
del modulo del partner di comunicazione deve essere impostato nei bit da 0 a
7 di C1 per specificare il modulo o la scheda da utilizzare e occorre impostare
il numero di porta seriale nei bit da 8 a 11. Gli indirizzi dei moduli sono indicati
nella tabella riportata di seguito.
Modulo/scheda Indirizzo modulo
Scheda di comunicazione seriale E1 esadecimale
(solo serie CS)
Modulo di comunicazione seriale Numero di modulo + 10 esadecimale
Moduli di comunicazione
seriale Scheda di comunicazione seriale
(solo serie CS)
PMCR(260)
931
Istruzioni per la comunicazione seriale Capitolo 3-24
CPU
PMCR(260)
PMCR(260)
932
Istruzioni per la comunicazione seriale Capitolo 3-24
Risposte di comunicazione
Codice Contenuto
1106 (esadecimale) Nessun numero di programma corrispondente
Non è stato registrato il numero della sequenza di invio/
ricezione specificato.
Modificare il numero della sequenza di invio/ricezione o
aggiungere tale numero mediante CX-Programmer.
2201 (esadecimale) Non utilizzabile a causa dell'esecuzione di una protocol
macro
Poiché è già stata eseguita una protocol macro, non
viene accettata nessuna esecuzione ulteriore.
Aggiungere al programma una condizione NC per il flag
di esecuzione Protocol macro.
2202 (esadecimale) Non utilizzabile a causa di un'interruzione
Poiché il protocollo è in corso di attivazione, non viene
accettata nessuna esecuzione ulteriore.
Aggiungere al programma una condizione NC per il flag
di modifica impostazione seriale.
2401 (esadecimale) Nessuna tabella di registrazione
Si è verificato un errore nei dati della protocol macro
oppure è in corso la trasmissione dei dati.
Trasmettere i dati della protocol macro utilizzando
CX-Programmer.
Altri Per informazioni sui codici di risposta, fare riferimento
al manuale CS/CJ-series Communications Commands
Reference Manual (W342).
933
Istruzioni per la comunicazione seriale Capitolo 3-24
934
Istruzioni per la comunicazione seriale Capitolo 3-24
Flag di Flag di
esecuzione abilitazione
Protocol porte di
macro comunicazione
R
3 0 1 0 0 Inviati
R(1),2: 2 byte inviati da
Utilizzati D00101
2 canali come area
di invio
2 0 2 0 0 Ricevuti
935
Istruzioni per la comunicazione seriale Capitolo 3-24
Impostazione
Buffer di
ricezione
Canali m
Sequenza di comunicazione
Buffer di Ricezione
Azzerato
ricezione
Errore
Dati azzerati
Area di ricezione memorizzati
(cominciando in R+1)
Sequenza di comunicazione
936
Istruzioni per la comunicazione seriale Capitolo 3-24
Simbolo programmazione
ladder TXD(236)
C C: canale di controllo
N: numero di byte
N Da 0000 a 0100 esadecimale (da 0 a 256)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TXD(236)
Eseguita una sola volta per differenziazione @TXD(236)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di pro- Aree di Subroutine Task ad interrupt
gramma a blocchi programma step
OK OK OK OK
Caratteristiche operando
Area S C N
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447
Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
937
Istruzioni per la comunicazione seriale Capitolo 3-24
Area S C N
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori Da #0000 a #0100
specificati (binario) o da &0 a
&256 (decimale)
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione TXD(236) legge N byte di dati dai canali da S a S+(N÷2)-1 e invia i dati grezzi
in modalità nessun protocollo dalla porta RS-232C integrata nel modulo CPU
o da una delle porte seriali della scheda di comunicazione seriale. (La porta di
uscita è specificata con i bit 8 - 11 di C).
Prima che i dati vengano emessi, vengono aggiunti i codici di inizio e di fine
specificati per la modalità nessun protocollo. I codici di inizio e di fine sono
specificati nella configurazione del PLC (per la porta RS-232C della CPU) o
nell'area di configurazione DM allocata (per le porte della scheda di
comunicazione seriale).
I dati possono essere trasmessi solo quando il flag Pronto per Trasmissione
della porta è attivato. Il flag Pronto per Trasmissione è A39205 per la porta
RS-232C del modulo CPU, A39605 per la porta 1 della scheda di
comunicazione seriale, A39613 per la porta 2 della scheda di comunicazione
seriale.
È possibile inviare fino a un massimo di 259 byte, compresi i dati di
trasmissione (N = 256 byte max.), il codice di inizio e il codice di fine.
938
Istruzioni per la comunicazione seriale Capitolo 3-24
Dati inviati
Flag
Nome Etichetta Operazione
Flag di errore ER ON se la porta RS-232C della CPU è specificata come
porta di invio, ma nella configurazione del PLC non è
stata impostata alcuna modalità nessun protocollo.
ON se una delle porte seriali della scheda di
comunicazione seriale è specificata come porta di invio,
ma nell'area di configurazione DM non è stata impostata
alcuna modalità nessun protocollo.
ON se il valore di C non è incluso nell'intervallo.
ON se il valore di N non è compreso tra 0000 e 0100
esadecimale.
ON se viene tentato un invio quando il flag Pronto per
Trasmissione è impostato su OFF. Il flag Pronto per
Trasmissione è A39205 per la porta RS-232C del modulo
CPU, A39605 per la porta 1 della scheda di
comunicazione seriale, A39613 per la porta 2 della
scheda di comunicazione seriale.
ON (flag ER nei task ad interrupt) se nel task ciclico è in
corso l'esecuzione di un'istruzione TXD(236) o RXD(235)
per la scheda di comunicazione seriale, se il task ciclico
viene interrotto e viene eseguita un'altra istruzione
TXD(236) o RXD(235) per la scheda di comunicazione
seriale nel task ad interrupt (vedere nota).
Nota Il flag di errore (ER) verrà attivato immediatamente
dopo un'altra istruzione TXD(236) o RXD(235) nel
task ad interrupt.
OFF in tutti gli altri casi.
939
Istruzioni per la comunicazione seriale Capitolo 3-24
Avvertenze È possibile utilizzare TXD(236) soltanto per la porta RS-232C della CPU o per
una delle porte seriali della scheda di comunicazione seriale. Inoltre, per la
porta deve essere impostata la modalità nessun protocollo.
È possibile impostare il seguente formato di frame per i messaggi di invio nella
configurazione del PLC (per la porta RS-232C della CPU) o nell'area di configu-
razione DM allocata (per le porte della scheda di comunicazione seriale).
• Codice di inizio: nessuno o da 00 a FF esadecimale.
• Codice di fine: nessuno, CR+LF o da 00 a FF esadecimale.
I dati verranno inviati con qualsiasi codice di inizio e/o di fine specificato nella
configurazione del PLC o nell'area di configurazione DM allocata. Se sono
stati specificati i codici di inizio e fine, tali codici verranno aggiunti ai dati da
inviare (N). In questo caso, il numero massimo di byte che è possibile
specificare per N è 256 byte.
I dati possono essere trasmessi solo quando il flag Pronto per Trasmissione
della porta è attivato. Il flag Pronto per Trasmissione è A39205 per la porta RS-
232C del modulo CPU, A39605 per la porta 1 della scheda di comunicazione
seriale, A39613 per la porta 2 della scheda di comunicazione seriale.
I dati vengono inviati nell'ordine specificato in C.
Se per N è stato specificato 0, non verrà eseguito alcun invio.
Se in C è stato specificato il controllo del segnale RS, come segnale RS verrà
utilizzato il bit 15 di S.
Se in C è stato specificato il controllo del segnale ER, come segnale ER verrà
utilizzato il bit 15 di S.
Se in C è stato specificato il controllo dei segnali RS ed ER, come segnale RS
verrà utilizzato il bit 15 di S e come segnale ER verrà utilizzato il bit 14 di S.
Se per il controllo dei segnali RS ed ER in C è stato specificato 1, 2 o 3
esadecimale, l'istruzione TXD(236) verrà eseguita senza tener conto dello
stato del flag Pronto per Trasmissione (A39205, A39605 o A39613, in base
alla porta utilizzata).
Se l'istruzione TXD(236) viene eseguita per una scheda che non supporta la
modalità nessun protocollo, ad esempio una scheda di comunicazione seriale
senza un numero di versione, verranno attivati i flag di disabilitazione servizio
scheda interna (A42404) e il flag di errore.
Si verificherà un errore e il flag di errore verrà attivato nei seguenti casi:
• La porta RS-232C della CPU è stata specificata, ma nella configurazione
del PLC non è stata impostata alcuna modalità nessun protocollo.
• Una delle porte seriali della scheda di comunicazione seriale è stata
specificata, ma nell'area di configurazione DM allocata non è stata
impostata alcuna modalità nessun protocollo per tale porta.
• È stata specificata una delle porte seriali della scheda di comunicazione
seriale ma la scheda non supporta la modalità nessun protocollo, ovvero
non ha un numero di versione.
• Il valore di C non è incluso nell'intervallo.
• Il valore di N non è compreso tra 0000 e 0100 esadecimale.
• È stato tentato un invio quando il flag Pronto per Trasmissione era
impostato su OFF. Il flag Pronto per Trasmissione è A39205 per la porta
RS-232C del modulo CPU, A39605 per la porta 1 della scheda di
comunicazione seriale, A39613 per la porta 2 della scheda di
comunicazione seriale.
• Nel task ciclico era in corso l'esecuzione di un'istruzione TXD(236) o
RXD(235) per la scheda di comunicazione seriale, il task ciclico è stato
interrotto ed è stata eseguita un'altra istruzione TXD(236) o RXD(235) per
la scheda di comunicazione seriale nel task ad interrupt.
940
Istruzioni per la comunicazione seriale Capitolo 3-24
941
Istruzioni per la comunicazione seriale Capitolo 3-24
Area ausiliaria
Flag Pronto per Trasmissione
Porta Indirizzo Contenuto
Porta RS-232C integrata nell'unità A39205 ON quando è possibile
bus CPU inviare i dati in modalità
Porta 1 della scheda di A39605 nessun protocollo.
comunicazione seriale
Porta 2 della scheda di A39613
comunicazione seriale
942
Istruzioni per la comunicazione seriale Capitolo 3-24
Esempio: invio di dati Nell'esempio seguente, quando CIO 000001 e il flag Pronto per Trasmissione
della porta RS-232C (A39205) sono impostati su ON, il segnale RS viene
impostato in base allo stato di D00300 bit 15, mentre il segnale ER viene
impostato in base allo stato di D00300 bit 14.
000001 A39205
TXD
Flag Pronto per
Trasmissione della S D00300
porta RS-232C
C D00400
N &0
15 12 11 8 7 4 3 0
C: D00400 0 0 3 0
15 14 13 12
S: D00300 1 0 0 0
Segnale ER impostato su 0
Segnale RS impostato su 1
S:
Inviati
nell'ordine
specificato
5 byte
ST 12 34 AB CD EF ED
ST: codice di inizio (ad esempio, 02 esadecimale)
ED: codice di fine (ad esempio, 03 esadecimale)
Inviati
943
Istruzioni per la comunicazione seriale Capitolo 3-24
Esempio: esecuzione del Nell'esempio seguente, quando CIO 000001 e il flag Pronto per Trasmissione
controllo dei segnali della porta RS-232C (A39205) sono impostati su ON, il segnale RS viene
impostato in base allo stato di D00300 bit 15, mentre il segnale ER viene
impostato in base allo stato di D00300 bit 14.
000001 A39205
TXD
Flag Pronto per
Trasmissione della S D00300
porta RS-232C
C D00400
N &0
C: D00400 0 0 3 0
Segnale ER impostato su 0
Segnale RS impostato su 1
Simbolo programmazione
ladder RXD(235)
C C: canale di controllo
N: numero di byte da memorizzare
N da 0000 a 0100 esadecimale (da 0 a 256 decimale)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RXD(235)
Eseguita una sola volta per differenziazione @RXD(235)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
944
Istruzioni per la comunicazione seriale Capitolo 3-24
15 12 11 8 7 4 3 0
C
Sempre 0
Caratteristiche operando
Area D C N
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 a A959 Da A000 ad A447
Da A448 a A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori Da #0000 a #0100
specificati (binario) o da &0 a
&256 (decimale)
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione RXD(235) legge i dati ricevuti in modalità nessun protocollo sulla porta RS-
232C integrata del modulo CPU o su una delle porte seriali della scheda di
comunicazione seriale (la porta è specificata con i bit da 8 a 11 di C), quindi
memorizza N byte di dati nei canali D - D+(N÷2)–1. Se N byte di dati non
vengono ricevuti sulla porta, saranno memorizzati unicamente i dati
effettivamente ricevuti.
945
Istruzioni per la comunicazione seriale Capitolo 3-24
I dati possono essere ricevuti solo quando il flag Pronto per Ricezione della
porta è attivato. Il flag Pronto per Ricezione è A39206 per la porta RS-232C
del modulo CPU, A39606 per la porta 1 della scheda di comunicazione seriale,
A39614 per la porta 2 della scheda di comunicazione seriale. Eseguire
RXD(235) solo quando il relativo flag Pronto per Ricezione è attivato.
È possibile ricevere fino a un massimo di 259 byte, compresi i dati di ricezione
(N = 256 byte max.), il codice di inizio e il codice di fine.
Nello schema seguente è illustrato l'ordine in cui verranno ricevuti i dati e il
contenuto del frame di ricezione per varie impostazioni del codice di inizio e di
fine.
Nessun codice di inizio o di fine
1 2 3 4 5 6 0...
Ricezione dei byte: specificati
Solo codice di inizio nella configurazione del PLC
1 2 3 4 5 6 0...
Ricezione dei byte prima di
ST: specificati nella
Solo codice di fine configurazione del PLC
1 2 3 4 5 6 0...
Ricezione dei byte
Codice di inizio e di fine prima di ED: 256 max.
1 2 3 4 5 6 0...
Ricezione dei byte tra
Codice di fine CR+LF ST ed ED: 256 max.
1 2 3 4 5 6 0... CR LF
Ricezione dei byte prima
Codice di inizio e codice di fine CR+LF di CR+LF: 256 max.
1 2 3 4 5 6 0...
Ricezione dei byte tra ST
e CR+LF: 256 max.
Ricevuti
1 2
3 4
5 6
946
Istruzioni per la comunicazione seriale Capitolo 3-24
Flag
Nome Etichetta Operazione
Flag di errore ER ON se la porta RS-232C della CPU è specificata come
porta di invio, ma nella configurazione del PLC non è
stata impostata alcuna modalità nessun protocollo.
ON se una delle porte seriali della scheda di
comunicazione seriale è specificata come porta di invio,
ma nell'area di configurazione DM non è stata impostata
alcuna modalità nessun protocollo.
ON se il valore di C non è incluso nell'intervallo.
ON se il valore di N non è compreso tra 0000 e 0100
esadecimale.
ON se viene tentato un invio quando il flag Pronto per
Trasmissione è impostato su OFF. Il flag Pronto per
Trasmissione è A39205 per la porta RS-232C del modulo
CPU, A39605 per la porta 1 della scheda di
comunicazione seriale, A39613 per la porta 2 della
scheda di comunicazione seriale.
ON (flag ER nei task ad interrupt) se nel task ciclico è in
corso l'esecuzione di un'istruzione TXD(236) o RXD(235)
per la scheda di comunicazione seriale, se il task ciclico
viene interrotto e viene eseguita un'altra istruzione
TXD(236) o RXD(235) per la scheda di comunicazione
seriale nel task ad interrupt (vedere nota).
Nota Il flag di errore (ER) verrà attivato immediatamente
dopo un'altra istruzione TXD(236) o RXD(235) nel
task ad interrupt.
OFF in tutti gli altri casi.
Avvertenze È possibile utilizzare RXD(235) soltanto per la porta RS-232C della CPU o
per una delle porte seriali della scheda di comunicazione seriale. Inoltre, per
la porta deve essere impostata la modalità nessun protocollo.
È possibile impostare il seguente formato di frame per i messaggi di ricezione
nella configurazione del PLC (per la porta RS-232C della CPU) o nell'area di
configurazione DM allocata (per le porte della scheda di comunicazione
seriale).
• Codice di inizio: nessuno o da 00 a FF esadecimale.
• Codice di fine: nessuno, CR+LF o da 00 a FF esadecimale. Se non è stato
impostato nessun codice di fine, il numero di byte da ricevere verrà impo-
stato da 00 a FF esadecimale (da 1 a 256 decimale; 00 specifica 256 byte).
Verrà attivato il flag di ricezione avvenuta (nota 1) quando viene ricevuto il
numero di byte specificati nella configurazione del PLC (per la porta RS-232C
della CPU) o nell'area di configurazione DM allocata (per le porte della
scheda di comunicazione seriale). Quando viene attivato il flag di ricezione
avvenuta, il numero di byte nel contatore di ricezione (nota 2) avrà lo stesso
valore del numero di byte ricevuti specificato nella configurazione del PLC o
nell'area di configurazione DM allocata Se vengono ricevuti più byte di quelli
specificati, verrà attivato il flag di overflow durante ricezione (nota 3).
Se nella configurazione del PLC o nell'area di configurazione DM allocata
viene specificato un codice di fine, verrà attivato il flag di ricezione avvenuta
(nota 1) quando viene ricevuto il codice di fine o 256 byte di dati. Se dopo
l'attivazione del flag di ricezione avvenuta (nota 1) vengono ricevuti più dati
del previsto, verrà attivato il flag di overflow durante ricezione (nota 3).
La ricezione verrà interrotta se vengono ricevuti 259 byte di dati. Se in seguito
vengono immessi più dati, verranno attivati i flag di errore di overrun (nota 5) e
di errore di trasmissione (nota 6).
Quando nella porta seriale della scheda di comunicazione seriale vengono
immessi più dati di quelli specificati in N, questi dati verranno scartati quando
viene eseguita l'istruzione RXD(235). Invece l'immissione di ulteriori dati nella
porta RS-232C della CPU non verrà scartata quando viene eseguita
l'istruzione RXD(235).
947
Istruzioni per la comunicazione seriale Capitolo 3-24
948
Istruzioni per la comunicazione seriale Capitolo 3-24
949
Istruzioni per la comunicazione seriale Capitolo 3-24
950
Istruzioni per la comunicazione seriale Capitolo 3-24
951
Istruzioni per la comunicazione seriale Capitolo 3-24
&10
C: D00200 0 0
Simbolo programmazione
ladder
TXDU(256)
N N: numero di byte
Da 0000 a 0100 esadecimale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TXDU(256)
Eseguita una sola volta per differenziazione @TXDU(256)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di Aree di Subroutine Task ad interrupt
programma a programma step
blocchi
OK OK OK OK
952
Istruzioni per la comunicazione seriale Capitolo 3-24
15 12 11 8 7 4 3 0
C
15 12 11 8 7 4 3 0
C+1
Nota È possibile specificare direttamente l'indirizzo del modulo della porta seriale
impostando il numero di porta seriale su 0 ed impostando l'indirizzo del modulo
di destinazione con l'indirizzo del modulo della porta seriale. (Impostare
l'indirizzo del modulo di destinazione su 80 esadecimale + 4 × numero di
modulo per la porta 1 o 81 esadecimale + 4 × numero di modulo per la porta 2).
Caratteristiche operando
Area S C D
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6142 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A000 ad A958 Da A000 a A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4094 T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4094 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32766 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32766 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32766 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
953
Istruzioni per la comunicazione seriale Capitolo 3-24
Area S C D
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori Da #0000 a #0100
specificati (binario) o da &0 a
&256 (decimale)
Registri dati --- --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione TXDU(256) legge N byte di dati dai canali da S a S+(N÷2)–1 e invia i dati
grezzi in modalità nessun protocollo dal modulo di comunicazione seriale
avente l'indirizzo di modulo specificato nei bit da 0 a 7 di C+1, tramite la porta
specificata con i bit da 8 a 11 di C+1. È possibile impostare il numero di porta
logica con un valore qualsiasi compreso tra 0 e 7, specificato con i bit da 12 a
15 di C+1.
Prima che i dati vengano inviati, vengono aggiunti i codici di inizio e di fine
specificati per la modalità nessun protocollo nell'area di configurazione DM
allocata. È possibile inviare fino a un massimo di 259 byte, compresi i dati di
trasmissione (N = 256 byte max.), il codice di inizio e il codice di fine.
È possibile inviare i dati soltanto quando è attivato il flag di abilitazione porte
di comunicazione per la porta logica specificata (da A20200 a A20207 per le
porte da 0 a 7) e quando è disattivato il flag di esecuzione istruzione TXDU
(nell'area di configurazione DM allocata).
Nota Il numero di porta logica può essere assegnato automaticamente impostando
i bit da 12 a 15 di C+1 su F. Per informazioni dettagliate, fare riferimento alla
sezione Allocazione automatica delle porte di comunicazione a pagina 979.
954
Istruzioni per la comunicazione seriale Capitolo 3-24
Dati
Invio dei byte tra ST e
CR+LF: 256 max.
Dati inviati
Flag
Nome Etichetta Operazione
Flag di errore ER ON se tutte le porte logiche sono in uso o se il flag di
abilitazione porte di comunicazione relativo alla porta
logica specificata è disattivato quando viene eseguita
l'istruzione.
ON se il valore di C non è incluso nell'intervallo.
ON se il valore di N non è compreso tra 0000 e 0100
esadecimale.
OFF in tutti gli altri casi.
Avvertenze È possibile utilizzare l'istruzione TXDU(256) solo per una porta seriale di un
modulo di comunicazione seriale impostata in modalità nessun protocollo.
È possibile impostare i seguenti formati di frame per i messaggi di invio
nell'area di configurazione DM allocata.
• Codice di inizio: nessuno o da 00 a FF esadecimale.
• Codice di fine: nessuno, CR+LF o da 00 a FF esadecimale.
I dati verranno inviati con qualsiasi combinazione di codici di inizio e/o di fine
specificata nell'area di configurazione DM allocata. Se sono stati specificati i
codici di inizio e fine, tali codici verranno aggiunti ai dati da inviare (N). In
questo caso, il numero massimo di byte che è possibile specificare per N è
256 byte.
955
Istruzioni per la comunicazione seriale Capitolo 3-24
I dati possono essere trasmessi solo quando il flag Pronto per Trasmissione
della porta è attivato. Il flag Pronto per Trasmissione è A39205 per la porta RS-
232C del modulo CPU, A39605 per la porta 1 del modulo di comunicazione
seriale, A39613 per la porta 2 del modulo di comunicazione seriale.
I dati vengono inviati nell'ordine specificato in C.
Se per N è stato specificato 0, non verrà eseguito alcun invio.
Se in C è stato specificato il controllo del segnale RS, come segnale RS verrà
utilizzato il bit 15 di S.
Se in C è stato specificato il controllo del segnale ER, come segnale ER verrà
utilizzato il bit 15 di S.
Se in C è stato specificato il controllo dei segnali RS ed ER, come segnale RS
verrà utilizzato il bit 15 di S e come segnale ER verrà utilizzato il bit 14 di S.
TXDU(256) utilizza una porta logica (poiché invia un comando interno FINS)
per impartire un comando della sequenza di invio al modulo di comunicazione
seriale (numero di versione 1.2 o successiva). Poiché anche le istruzioni
SEND(090), RECV(098), CMND(490), PMCR(260) e RXDU(255) utilizzano le
porte logiche da 0 a 7, non è possibile eseguire l'istruzione TXDU(256) per
una porta logica se tale porta è già utilizzata da una di queste istruzioni o da
un'altra istruzione TXDU(256).
Per essere sicuri che l'istruzione TXDU(256) non venga eseguita quando la
porta logica è occupata, programmare il flag di abilitazione porte di
comunicazione (da A20200 a A20207) come condizione normalmente aperta.
CPU
TXDU
TXDU
956
Istruzioni per la comunicazione seriale Capitolo 3-24
Canali e flag correlati Quando si esegue l'istruzione TXD(236), è possibile utilizzare le seguenti
impostazioni per la configurazione del PLC e per il flag dell'area ausiliaria.
Impostazioni dell'area di configurazione DM
(m = D30000 + 100 × numero modulo)
Canale area di Bit Nome Impostazioni
configurazione
Porta 1 Porta 2
m+2 m+12 15 Identificatore ritardo invio 0: impostazione predefinita
in modalità nessun (0 ms)
protocollo 1: utilizzare il ritardo nei bit
da 1 a 14.
Da 0 a Tempo di ritardo invio in Da 0000 a 7530
14 modalità nessun esadecimale
protocollo Da 0 a 300.000 ms
decimali (in unità di 10 ms)
m+4 m+14 Da 8 a Codice di inizio in Da 00 a FF esadecimale
15 modalità nessun
protocollo
Da 0 a 7 Codice di fine in modalità Da 00 a FF esadecimale
nessun protocollo
m+5 m+15 Da 12 a Identificatore codice di 0: nessuna
15 inizio in modalità nessun 1: utilizzo codice di inizio.
protocollo
Da 8 a Identificatore codice di 0: nessuna
11 fine in modalità nessun 1: utilizzo codice di fine.
protocollo 2: utilizzo di CR+LF.
Area ausiliaria
Nome Indirizzo Descrizione
Flag di abilitazione Da ON quando un'istruzione di comunicazione, inclusa
porte di A20200 TXDU(256), può essere eseguita con il numero di
comunicazione ad porta corrispondente. I bit da 00 a 07 corrispondono
A20207 alle porte di comunicazione da 0 a 7.
Il flag è OFF quando è in corso l'esecuzione di
un'istruzione di comunicazione ed è ON quando
l'esecuzione è stata completata (terminata
normalmente o con errori).
Codici di Da A203 Questi canali contengono i codici di completamento
completamento ad A210 per i numeri delle porte corrispondenti al termine
per le porte di dell'esecuzione di un'istruzione di comunicazione. I
comunicazione canali da A203 ad A210 corrispondono alle porte di
comunicazione da 0 a 7.
Il codice è 00 durante l'esecuzione dell'istruzione e
contiene il relativo codice quando l'esecuzione è stata
completata.
Questi canali vengono reimpostati su 0000 quando
comincia il funzionamento del PLC.
Flag di errore A219 ON quando si verifica un errore durante l'esecuzione
porte di di un'istruzione di comunicazione. Quando un flag è
comunicazione ON, controllare il codice di completamento in A203 -
A210 per risolvere l'errore.
OFF quando l'esecuzione è terminata normalmente. I
bit da 00 a 07 corrispondono alle porte di
comunicazione da 0 a 7.
Lo stato del flag viene mantenuto fino all'esecuzione
dell'istruzione di comunicazione successiva. Perfino
se si verifica un errore, un flag verrà azzerato la volta
successiva che viene eseguita un'istruzione di
comunicazione per tale porta.
957
Istruzioni per la comunicazione seriale Capitolo 3-24
Codici di completamento
Codice Significato
0205 Timeout risposta. Questo errore può verificarsi quando è impostata
esadecimale la modalità di comunicazione Host Link.
0401 Comando non definito. Questo errore può verificarsi quando è
esadecimale impostata la modalità di comunicazione Protocol macro, NT Link, test
echoback o gateway seriale.
1001 Il comando è troppo lungo.
esadecimale
1002 Il comando è troppo corto.
esadecimale
1003 Il numero specificato di elementi di dati non corrisponde alla quantità
esadecimale effettiva di dati inviati.
1004 Il formato del comando non è corretto.
esadecimale
110C Errore altro parametro
esadecimale
2201 Impossibile eseguire l'operazione durante il funzionamento
esadecimale (operazione disabilitata poiché il modulo è occupato nell'invio).
2202 Impossibile eseguire l'operazione al momento dell'interruzione
esadecimale (operazione disabilitata poiché il modulo sta commutando i
protocolli).
Esempio: funzionamento Nello schema seguente viene mostrato il funzionamento del flag di
del flag abilitazione porte di comunicazione e del flag di esecuzione istruzione TXDU.
Esecuzione
TXDU(256) istruzione
Flag di esecuzione ON
istruzione TXDU
Modulo di (bit 5 di n+9 o n+19,
comunicazione n = CIO 1500 + OFF
seriale 25 x numero modulo)
Esempio: invio di dati Nell'esempio seguente, quando CIO 000000 è impostato su ON, A20203 (il
flag di abilitazione porte di comunicazione) è attivato e CIO 155905 (il flag di
esecuzione istruzione TXDU per la porta 1) è disattivato, TXDU(256) invia i
dati tramite la porta seriale 1 del modulo di comunicazione seriale con
numero di modulo 2. I 5 byte dei dati di invio vengono letti dall'area DM
cominciando dal byte più a destra di D00100 e inviati tramite la porta logica 3
a un dispositivo generico, ad esempio una stampante.
958
Istruzioni per la comunicazione seriale Capitolo 3-24
15 12 11 8 7 4 3 0
C+0: D00200 0 0 0 1
15 12 11 8 7 4 3 0
C+1: D00201 3 1 1 2
15 8 7 0
S: D00100 3 4 1 2
D00101 C D A B
ST 12 34 AB CD EF ED
Codice di fine ST: codice di inizio (ad esempio, 02 esadecimale)
(03 esadecimale) ED: codice di fine (ad esempio, 03 esadecimale)
Codice di inizio
(02 esadecimale)
Identificatori codice di inizio e codice di fine Dati inviati
15 12 11 8 7 4 3 0
D30205: 1 1
959
Istruzioni per la comunicazione seriale Capitolo 3-24
Simbolo programmazione
ladder
RXDU(255)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RXDU(255)
Eseguita una sola volta per differenziazione @RXDU(255)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di pro- Aree di Subroutine Task ad interrupt
gramma a blocchi programma step
OK OK OK OK
15 12 11 8 7 4 3 0
C+1
Nota È possibile specificare direttamente l'indirizzo del modulo della porta seriale
impostando il numero di porta seriale su 0 ed impostando l'indirizzo del modulo
di destinazione con l'indirizzo del modulo della porta seriale. (Impostare
l'indirizzo del modulo di destinazione su 80 esadecimale + 4 × numero di
modulo per la porta 1 o 81 esadecimale + 4 × numero di modulo per la porta 2).
960
Istruzioni per la comunicazione seriale Capitolo 3-24
Caratteristiche operando
Area D C D
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6143 CIO 6142 CIO 6143
Area di lavoro Da W000 a W511 Da W000 a W510 Da W000 a W511
Area bit di ritentività Da H000 a H511 Da H000 a H510 Da H000 a H511
Area bit ausiliaria Da A000 a A959 Da A000 ad A958 Da A000 a A959
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4095 T4094 T4095
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4095 C4094 C4095
Area DM Da D00000 a Da D00000 a Da D00000 a
D32767 D32766 D32767
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32767 E32766 E32767
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32767 En_32766 En_32767
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori Da #0000 a #0100
specificati (binario) o da &0 a
&256 (decimale)
Registri dati --- --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione RXDU(255) legge i dati che ha ricevuto in modalità senza protocollo sul
modulo di comunicazione seriale con l'indirizzo di modulo specificato nei bit
da 0 a 7 di C+1, tramite la porta specificata con i bit da 8 a 11 di C+1, e
memorizza a tali dati cominciando da D. Se sulla porta sono stati ricevuti
meno byte di dati rispetto a N, verranno memorizzati soltanto i dati ricevuti. È
possibile impostare il numero di porta logica con un valore qualsiasi
compreso tra 0 e 7, specificato con i bit da 12 a 15 di C+1.
Eseguire l'istruzione RXDU(255) per leggere i dati ricevuti dal buffer quando il
flag di ricezione avvenuta (nell'area di configurazione DM) è ON.
È possibile ricevere fino a un massimo di 259 byte, compresi i dati di ricezione
(N = 256 byte max.), il codice di inizio e il codice di fine.
Nello schema seguente è illustrato l'ordine in cui verranno ricevuti i dati e il
contenuto del frame di ricezione per varie impostazioni del codice di inizio e di
fine.
Nota Il numero di porta logica può essere assegnato automaticamente impostando
i bit da 12 a 15 di C+1 su F. Per informazioni dettagliate, fare riferimento alla
sezione Allocazione automatica delle porte di comunicazione a pagina 979.
961
Istruzioni per la comunicazione seriale Capitolo 3-24
Dati ricevuti
15 87 0
D 2 1
D+1 4 3
D+2 6 5
Flag
Nome Etichetta Operazione
Flag di errore ER ON se tutte le porte logiche sono in uso o se il flag di
abilitazione porte di comunicazione relativo alla porta
logica specificata è disattivato quando viene eseguita
l'istruzione.
ON se il valore di C non è incluso nell'intervallo.
ON se il valore di N non è compreso tra 0000 e 0100
esadecimale.
OFF in tutti gli altri casi.
Avvertenze È possibile utilizzare l'istruzione RXDU(255) solo per una porta seriale di un
modulo di comunicazione seriale impostata in modalità nessun protocollo.
962
Istruzioni per la comunicazione seriale Capitolo 3-24
963
Istruzioni per la comunicazione seriale Capitolo 3-24
Per essere sicuri che l'istruzione RXDU(255) non venga eseguita quando la
porta logica è occupata, programmare il flag di abilitazione porte di
comunicazione (da A20200 a A20207) come condizione normalmente aperta.
CPU
RXDU
RXDU
964
Istruzioni per la comunicazione seriale Capitolo 3-24
Canali e flag correlati Al funzionamento dell'istruzione RXDU(255) sono correlati i seguenti canali.
Impostazioni dell'area di configurazione DM
(m = D30000 + 100 × numero modulo)
Canale area di Bit Nome Impostazioni
configurazione
Porta 1 Porta 2
m+4 m+14 Da 8 a Codice di inizio in Da 00 a FF esadecimale
15 modalità nessun
protocollo
Da 0 a 7 Codice di fine in modalità Da 00 a FF esadecimale
nessun protocollo
m+5 m+15 Da 12 a Identificatore codice di 0: nessuna
15 inizio in modalità nessun 1: utilizzo codice di inizio.
protocollo
Da 8 a Identificatore codice di 0: nessuna
11 fine in modalità nessun 1: utilizzo codice di fine.
protocollo 2: utilizzo di CR+LF.
Area ausiliaria
Nome Indirizzo Descrizione
Flag di abilitazione Da ON quando un'istruzione di comunicazione, inclusa
porte di A20200 RXDU(255), può essere eseguita con il numero di
comunicazione ad porta corrispondente. I bit da 00 a 07 corrispondono
A20207 alle porte di comunicazione da 0 a 7.
Il flag è OFF quando è in corso l'esecuzione
un'istruzione di comunicazione ed è ON quando
l'esecuzione è stata completata (terminata
normalmente o con errori).
Codici di Da A203 Questi canali contengono i codici di completamento
completamento ad A210 per i numeri delle porte corrispondenti al termine
per le porte di dell'esecuzione di un'istruzione di comunicazione. I
comunicazione canali da A203 ad A210 corrispondono alle porte di
comunicazione da 0 a 7.
Il codice è 00 durante l'esecuzione dell'istruzione e
contiene il relativo codice quando l'esecuzione è stata
completata.
Questi canali vengono reimpostati su 0000 quando
comincia il funzionamento del PLC.
Flag di errore A219 ON quando si verifica un errore durante l'esecuzione
porte di di un'istruzione di comunicazione. Quando un flag è
comunicazione ON, controllare il codice di completamento in A203 -
A210 per risolvere l'errore.
OFF quando l'esecuzione è terminata normalmente. I
bit da 00 a 07 corrispondono alle porte di
comunicazione da 0 a 7.
Lo stato del flag viene mantenuto fino all'esecuzione
dell'istruzione di comunicazione successiva. Perfino
se si verifica un errore, un flag verrà azzerato la volta
successiva che viene eseguita un'istruzione di
comunicazione per tale porta.
Codici di completamento
Codice Significato
0205 Timeout risposta. Questo errore può verificarsi quando è impostata
esadecimale la modalità di comunicazione Host Link.
0401 Comando non definito. Questo errore può verificarsi quando è
esadecimale impostata la modalità di comunicazione Protocol macro, NT Link, test
echoback o gateway seriale.
1001 Il comando è troppo lungo.
esadecimale
965
Istruzioni per la comunicazione seriale Capitolo 3-24
Codice Significato
1002 Il comando è troppo corto.
esadecimale
1004 Il formato del comando non è corretto.
esadecimale
110C Errore altro parametro
esadecimale
2201 Impossibile eseguire l'operazione durante il funzionamento
esadecimale (operazione disabilitata poiché il modulo è occupato nell'invio).
2202 Impossibile eseguire l'operazione al momento dell'interruzione
esadecimale (operazione disabilitata poiché il modulo sta commutando i
protocolli).
966
Istruzioni per la comunicazione seriale Capitolo 3-24
Esempio: funzionamento Nello schema seguente è illustrato il funzionamento di RXDU(255) e dei flag
del flag correlati.
Codice di fine o numero
specificato di byte ricevuti
Elaborazione ricezione
Elaborazione
ricezione
Modulo di
comunicazione
seriale
Flag di ricezione avvenuta ON
(Bit 6 di n+9 o n+19,
n = CIO 1500 + 25 x numero
di modulo)
OFF
Esecuzione
RXDU(255)
istruzione
Flag di abilitazione ON
porta di comunicazione
CPU (da A20200 a A20207
corrispondono alle porte
di comunicazione da 0 a 7) OFF
Elaborazione
Scrittura dei dati nell'area scrittura
dati della CPU
Esempio: ricezione di dati Nell'esempio seguente, quando CIO 000000 è impostato su ON, A20203 (il
flag di abilitazione porte di comunicazione) è attivato e CIO 155906 (il flag di
ricezione avvenuta per la porta 1) è disattivato, RXDU(255) legge i dati
ricevuti tramite la porta seriale 1 del modulo di comunicazione seriale con
numero di modulo 2. (Il numero di porta logica 3 è utilizzato per ricevere i dati
da un dispositivo generico, ad esempio un lettore di codici a barre). I 10 byte
di dati ricevuti vengono scritti nell'area DM cominciando dal byte più a destra
di D00100.
967
Istruzioni per la comunicazione seriale Capitolo 3-24
15 12 11 8 7 4 3 0
C: D00200 0 0 0 1
Sempre 0
15 12 11 8 7 4 3 0
C+1: D00201 3 1 1 2
15 12 11 8 7 4 3 0
C+1 3 0 8 8
15 8 7 0
D: D00100 3 4 1 2
D00101 7 8 5 6
968
Istruzioni per la comunicazione seriale Capitolo 3-24
Simbolo programmazione
ladder STUP(237)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON STUP(237)
Eseguita una sola volta per differenziazione @STUP(237)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di pro- Aree di Subroutine Task ad interrupt
gramma a blocchi programma step
OK OK OK Non consentita
Caratteristiche operando
Area C S
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a CIO 6134
Area di lavoro Da W000 a W511 Da W000 a W502
Area bit di ritentività Da H000 a H511 Da H000 a H502
Area bit ausiliaria Da A000 a A438 Da A000 a A438
Da A448 a A959 Da A448 a A950
Area del temporizzatore Da T0000 a T4095 Da T0000 a T4086
Area del contatore Da C0000 a C4095 Da C0000 a C4086
Area DM Da D00000 a D32767 Da D00000 a D32758
Area EM senza banco Da E00000 a E32767 Da E00000 a E32758
Area EM con banco Da En_00000 a En_32767 Da En_00000 a En_32758
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @ D00000 a @ D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
969
Istruzioni per la comunicazione seriale Capitolo 3-24
Area C S
Costanti Solo valori specificati #0000
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
970
Istruzioni per la comunicazione seriale Capitolo 3-24
Flag
Nome Etichetta Operazione
Flag di errore ER ON se i valori di C non sono inclusi nell'intervallo.
ON se l'istruzione STUP(237) viene eseguita per una
porta il cui flag di modifica parametri di comunicazione è
già ON.
ON se STUP(237) viene eseguita in un task ad interrupt.
OFF in tutti gli altri casi.
971
Istruzioni per la comunicazione seriale Capitolo 3-24
Trasferiti
... ...
972
Istruzioni di rete Capitolo 3-25
Numero di nodo 2
Modulo CPU
(rack)
Indirizzo di rete 00
(rete locale)
Indirizzo di rete 01
1,2,3... 1. Indirizzo di rete:
Indirizzo della rete (rete locale = 00)
2. Numero di nodo
Indirizzo logico sulla rete
3. Numero modulo
Numero modulo del modulo di destinazione
a) CPU: 00
b) Unità bus CPU: Numero modulo +10 esadecimale
c) Modulo di I/O speciale (ad eccezione dei moduli di I/O speciali della
serie C200H):
Numero modulo +20 esadecimale
973
Istruzioni di rete Capitolo 3-25
E1 Numero di
nodo
01
Numero di
nodo
974
Istruzioni di rete Capitolo 3-25
A CPU
Da PLC a computer
SEND(090),
RECV(098) o
CMND(490)
Bridge o gateway Bridge o gateway
975
Istruzioni di rete Capitolo 3-25
Comando
FINS FCS e terminatore
Host Link
Scheda di Modulo di
comunicazione seriale comunicazione seriale
Intestazione Host Link
Nota È possibile inviare tramite la rete una comunicazione Host Link. In questo
caso, il comando FINS viene inviato normalmente attraverso la rete. Quando il
comando raggiunge il sistema Host Link, l'intestazione e il terminatore Host
Link necessari vengono associati al comando FINS e il comando viene inviato
al computer host.
Computer host
Host Link
Comando FCS e
FINS terminatore
Comando FINS Host Link
Intestazione Host Link
976
Istruzioni di rete Capitolo 3-25
CMND
PLC
Modbus RTU
Cavo seriale
CMND
PLC
PLC
Slave Host Link
Computer host
Host Link
977
Istruzioni di rete Capitolo 3-25
Informazioni sui numeri Esistono 8 porte di comunicazione logiche, quindi è possibile eseguire
delle porte di contemporaneamente 8 istruzioni di comunicazione. Per ciascuna porta di
comunicazione comunicazione è possibile eseguire solo un'istruzione per volta. Quando
vengono eseguite più di 8 istruzioni è necessario utilizzare un controllo
esclusivo.
Questi 8 numeri delle porte di comunicazione vengono condivisi dalle
istruzioni di rete (SEND(090), RECV(098) e CMND(490)), dalle istruzioni di
comunicazione seriale (TXDU(256) e RXDU(255)) e dall'istruzione
PROTOCOL MACRO (PMCR(260)). Verificare di non avere specificato
contemporaneamente lo stesso numero di porta in due istruzioni.
Modulo Controller Link,
modulo Ethernet o modulo
di comunicazione seriale CPU
Port
Istruzione 1
Istruzione 2
Istruzione 3
Istruzione 4
Istruzione 5
Istruzione 6
Istruzione 7
Istruzione 8
978
Istruzioni di rete Capitolo 3-25
Reset B
Allocazione automatica
delle porte di
comunicazione
■ Panoramica
Tutte le istruzioni seguenti utilizzano una porta di comunicazione (porta
logica) tra le porte da 0 a 7.
• Istruzioni di comunicazione in rete: SEND(090), RECV(098) e
CMND(490)
• Istruzioni per la comunicazione seriale: PMCR(260), TXDU(256) e
RXDU(255)
In questa sezione si fa riferimento a queste istruzioni come istruzioni di
comunicazione.
Ogni porta di comunicazione può essere utilizzata solo da una istruzione per
volta. Per utilizzare le porte di comunicazione, è necessario che siano stati
eseguiti i passi riportati qui di seguito.
• Durante la programmazione, è necessario annotare le porte di comunica-
zione utilizzate per poterle designare negli operandi.
• Nel programma ladder, deve essere stata confermata la disponibilità delle
porte di comunicazione prima di utilizzarle.
979
Istruzioni di rete Capitolo 3-25
Condizione di b
esecuzione (Esecuzione) A20200
KEEP
a
(Esecuzione)
d (Esecuzione completata)
a (Esecuzione)
@Istruzione di
comunicazione
Porta di com-
unicazione: 0
c (Esecuzione)
@Istruzione di
comunicazione
Porta di com-
unicazione: 1
Per le CPU CS1-H, CJ1-H, CJ1M e CS1D con numero di lotto 020601 o
successivo (prodotte il 1° giugno 2002 o in seguito), il numero di porta può
essere specificato come "F" anziché con 0 ... 7 per allocare automaticamente
la porta di comunicazione, ossia per usare automaticamente la porta di
comunicazione successiva aperta.
@Istruzione di
comunicazione
980
Istruzioni di rete Capitolo 3-25
NO
NO
981
Istruzioni di rete Capitolo 3-25
2. Nella tabella seguente sono elencati i bit e i canali dell'area ausiliaria per
le porte di comunicazione specificate dall'utente.
Indirizzo Bit Nome Descrizione
A202 Da 00 a Flag di abilitazione porte diON quando un'istruzione di comunicazione può essere eseguita con
07 comunicazione il numero di porta corrispondente. I bit da 00 a 07 corrispondono alle
porte di comunicazione da 0 a 7.
Il completamento della comunicazione può essere confermato
monitorando il momento in cui si attiva un flag. Il flag si disattiva
quando viene avviata l'esecuzione di un'istruzione di
comunicazione.
Da A203 --- Codici di completamento per le Questi canali contengono i codici di completamento per i numeri
ad A210 porte di comunicazione delle porte corrispondenti al termine dell'esecuzione di un'istruzione
di comunicazione. I canali da A203 ad A210 corrispondono alle
porte di comunicazione da 0 a 7.
A219 Da 00 a Flag di errore porte di ON quando si verifica un errore durante l'esecuzione di
07 comunicazione un'istruzione di comunicazione. Quando un flag è ON, controllare il
codice di completamento in A203 - A210 per risolvere l'errore.
Viene disattivato se l'esecuzione viene completata normalmente.
I bit da 00 a 07 corrispondono alle porte di comunicazione da 0 a 7.
Completamento normale:
Flag del primo ciclo dopo ter-
mine della comunicazione di
rete (da A21400 a A2407)
ON per un ciclo
Errore completamento:
Flag di errore porte di
comunicazione (da A21900
a A21907)
982
Istruzioni di rete Capitolo 3-25
■ Metodi di applicazione
Per utilizzare l'allocazione automatica delle porte di comunicazione, impo-
stare il numero della porta di comunicazione su "F", quindi eseguire la pro-
grammazione come mostrato di seguito.
Completamento ed elaborazione degli errori dopo l'esecuzione delle
istruzioni di comunicazione
Condizione di esecuzione
KEEP
a
(Esecuzione)
d (Esecuzione completata)
Porta: F
983
Istruzioni di rete Capitolo 3-25
Porta: F
IR0
984
Istruzioni di rete Capitolo 3-25
Esempio di programmazione
W00000 A20201
Porta: 1
La comunicazione è stata precedentemente abilitata
da un'operazione di controllo esclusivo tramite
W00001 A20201 W00000 e W00001.
È stata ag-
giunta al pro-
Porta: 1 gramma
l'allocazione
automatica
della porta.
A volte questa istruzione può utilizzare la porta
di comunicazione 1. Anche se è attivato
W00000 o W00001, A20201 verrà disattivato
dall'esecuzione di questa istruzione
Porta: F PMCR(260), pertanto non verrà eseguita
nessuna delle istruzioni CMND(490).
985
Istruzioni di rete Capitolo 3-25
986
Istruzioni di rete Capitolo 3-25
Istruzioni per messaggi Le istruzioni seguenti, utilizzate specialmente per messaggi espliciti, sono
espliciti definite istruzioni per messaggi espliciti.
Istruzione Nome Profilo
EXPLT(720) EXPLICIT Invia un messaggio esplicito con qualsiasi codice di
MESSAGE servizio. Nota: a livello funzionale, questa istruzione
SEND è identica all'invio di un'istruzione CMND(490) con il
codice di un comando FINS di 2801 esadecimale.
EGATR(721) EXPLICIT GET Invia un messaggio esplicito con un codice di
ATTRIBUTE servizio di 0E esadecimale (GET ATTRIBUTE
SINGLE).
ESATR(721) EXPLICIT SET Invia un messaggio esplicito con un codice di
ATTRIBUTE servizio di 10 esadecimale (SET ATTRIBUTE
SINGLE).
EGATR(721) EXPLICIT Utilizza un messaggio esplicito per leggere i dati da
WORD READ una CPU.
EGATR(721) EXPLICIT Utilizza un messaggio esplicito per scrivere i dati in
WORD WRITE una CPU.
987
Istruzioni di rete Capitolo 3-25
1) Fine normale Viene inviato un messaggio esplicito e viene ricevuta una risposta normale.
Il flag di errore di comunicazione esplicita corrispondente (da A21300 a 07:
porta di comunicazione n. 0 ... 7) sarà OFF e il codice di risposta della comu-
nicazione di rete (da A203 a A210: porta di comunicazione n. 0 ... 7) conterrà
un codice di risposta normale messaggio esplicito di 0000 esadecimale.
Rete DeviceNet
Rack PLC
Nodo
DeviceNet
(ad es. slave)
Flag di abilitazione 1
porte di comunicazione 0
Istruzione Istruzione
Istruzione per in in
messaggi espliciti esecuzione esecuzione
Flag di errore 1
di comunicazione esplicita 0
Flag di abilitazione 1
Flag di errore 0
2) Fine con errore Esistono due possibilità di fine con errore, come descritto nelle due sezioni
successive.
a) Quando non è stato possibile inviare il messaggio esplicito
In questo caso, il messaggio esplicito non è mai stato inviato sulla rete,
ad esempio perché la rete non era in funzione. Qui, sia il flag di errore
di comunicazione esplicita (da A21300 a A21307: porta di comunicazione n.
0 ... 7) che il flag di errore porte di comunicazione (da A21900 a A21907:
porta di comunicazione n. 0 ... 7) verranno impostati su ON.
Dopo il completamento, il codice di completamento per le porte di
comunicazione (da A203 a A210: porta di comunicazione n. 0 ... 7) conterrà il
codice di errore messaggio FINS.
Rete DeviceNet
Rack PLC
Errore FINS Messaggio esplicito non inviato
OK
CPU Intestazione Unità bus
FINS Messaggio esplicito
CPU
(ad es.
Errore modulo
Intestazione DeviceNet)
FINS Risposta FINS Risposta esplicita
988
Istruzioni di rete Capitolo 3-25
Flag di abilitazione 1
porte di comunicazione 0
Istruzione Istruzione
Istruzione per in in
messaggi espliciti esecuzione esecuzione
Flag di errore di 1
comunicazione esplicita 0
1
Flag di abilitazione
di comunicazione esplicita 0
Nodo
DeviceNet
(ad es. slave)
Flag di abilitazione 1
porte di comunicazione 0
Istruzione Istruzione
Istruzione per in in
messaggi espliciti esecuzione esecuzione
Flag di errore di 1
comunicazione esplicita 0
1
Flag di abilitazione di
comunicazione esplicita 0
989
Istruzioni di rete Capitolo 3-25
990
Istruzioni di rete Capitolo 3-25
Condizione di
esecuzione
KEEP
a (Esecu-
zione)
d (Esecuzione completata)
Porta: F
Il numero di porta allocato automaticamente memorizzato in A218 (numeri di
MOV porta di comunicazione dell'applicazione 0 ... 7) viene spostato in un canale di
lavoro specificato dall'utente b (Porta).
A218
Rileva quando il flag del primo ciclo dopo termine della comunicazione di
b (Porta) rete per la porta di comunicazione allocata automaticamente è ON in A214,
ossia il bit corrispondente a b (Porta).
c (Standby) Rileva quando il flag di errore di comunicazione esplicita per la porta di
comunicazione allocata automaticamente è OFF in A213,
ossia il bit corrispondente a b (Porta).
a (Esecuzione) c (Standby)
TST d (Esecuzione completata)
A214
b (Porta)
TSTN Elaborazione dopo
A213 la comunicazione di rete
b (Porta)
Simbolo programmazione
ladder SEND(090)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON SEND(090)
Eseguita una sola volta per differenziazione @SEND(090)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
991
Istruzioni di rete Capitolo 3-25
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Nota 1. Il numero massimo di canali consentiti dipende dalla rete in uso. Per
Controller Link l'intervallo ammesso è da 0001 a 03DE (da 1 a 990 canali).
2. Impostare l'indirizzo della rete di destinazione su 00 per trasmettere
all'interno della rete locale. Quando sono montate due o più unità bus
CPU, l'indirizzo di rete sarà il numero di modulo del modulo avente il
numero di modulo più basso.
3. I due metodi riportati di seguito possono essere utilizzati per inviare dati al
computer host tramite una porta seriale con host link avviando la
comunicazione dal PLC.
a) Impostare l'indirizzo del modulo di destinazione (bit da 00 a 07 di C+2)
sull'indirizzo del modulo della CPU o della scheda/modulo di comuni-
cazione seriale e impostare il numero della porta seriale (bit da 08 a
11 di C+1) su 1 per la porta 1 o 2 per la porta 2.
Indirizzo Modulo Numero di porta Porta seriale
modulo seriale (C+1, bit da
(C+2, bit da 08 a 11)
00 a 07)
00 esadeci- CPU 1 esadecimale Porta RS-232C
male integrata
2 esadecimale Porta periferiche
10 esadeci- Modulo di comuni- 1 esadecimale Porta 1
male + cazione seriale 2 esadecimale Porta 2
numero (unità bus CPU)
modulo
E1 esadeci- Scheda di comuni- 1 esadecimale Porta 1
male cazione seriale 2 esadecimale Porta 2
(scheda interna)
(solo serie CS)
992
Istruzioni di rete Capitolo 3-25
Caratteristiche operando
Area S D C
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6139
Area di lavoro Da W000 a W511 Da W000 a W507
Area bit di ritentività Da H000 a H511 Da H000 a H507
Area bit ausiliaria Da A000 a A959 Da A000 a A955
Area del temporizzatore Da T0000 a T4095 Da T0000 a
T4091
Area del contatore Da C0000 a C4095 Da C0000 a
C4091
Area DM Da D00000 a D32767 Da D00000 a
D32763
Area EM senza banco Da E00000 a E32767 Da E00000 a
E32763
Area EM con banco Da En_00000 a En_32767 Da En_00000 a
(n = da 0 a C) En_32763
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione SEND(090) trasferisce i dati cominciando dal canale S agli indirizzi comin-
ciando in D nel dispositivo designato tramite il bus CPU del PLC o tramite una
rete. Il numero di canali da trasmettere è specificato in C.
Nodo locale Nodo destinazione
Numero
di canali
da tras-
mettere,
n
994
Istruzioni di rete Capitolo 3-25
Trasmissione tramite la SEND(090) può essere utilizzata per trasmettere i dati dal PLC all'area dati
rete specificata in un PLC o in un computer collegato tramite una rete Controller
Link o un link Ethernet.
Rete
Dati
Trasmissione tramite Host Quando la porta seriale integrata nella CPU, una scheda di comunicazione
Link seriale (solo serie CS) o un modulo di comunicazione seriale è in modalità
Host Link e collegato in modalità uno a uno con un computer host, è possibile
eseguire l'istruzione SEND(090) per trasmettere i dati dal PLC al computer
host la volta successiva che il PLC possiede i diritti di trasmissione. È possibile
inoltre trasmettere ad altri computer host collegati ad altri PLC in rete.
Computer host
Host Link
Dati
Porta seriale
Se l'istruzione SEND(090) viene inviata alla porta seriale della CPU, una
scheda di comunicazione seriale (solo serie CS) o un modulo di comunica-
zione seriale, verrà inviato un comando dalla porta seriale al computer host. Il
comando è un messaggio FINS racchiuso tra un'intestazione e un terminatore
Host Link. Il comando FINS è un comando MEMORY AREA WRITE (codice
di comando 0102) e il codice intestazione Host Link è 0F esadecimale.
È necessario creare un programma nel computer host per elaborare il
comando ricevuto (il comando FINS racchiuso tra l'intestazione e il termina-
tore Host Link).
Se la porta seriale di destinazione è il PLC locale, impostare l'indirizzo di rete
su 00 (rete locale) in C+1, impostare l'indirizzo del nodo su 00 (PLC locale) in
C+2 e impostare l'indirizzo del modulo su 00 (CPU), E1 (scheda interna (solo
serie CS)) o numero di modulo + 10 esadecimale (modulo porta seriale).
Invio di dati a un PLC slave Host Link collegato tramite gateway seriale
È possibile utilizzare la funzione di gateway seriale per inviare i dati a un PLC
collegato come slave Host Link a una scheda o a un modulo di comunica-
zione seriale. In questo caso, l'indirizzo del nodo di destinazione deve essere
impostato con il numero del modulo Host Link + 1.
995
Istruzioni di rete Capitolo 3-25
SEND
PLC
Impostare l'indirizzo del nodo di destinazione
sul numero di modulo Host Link + 1 = S+1.
Dati
Cavo seriale
PLC
Slave Host Link
Numero modulo Host Link: S
Flag
Nome Etichetta Operazione
di comuni- ER ON se il numero di porta seriale specificato in C+1 non è
cazione incluso nell'intervallo 00 - 04.
esplicita ON se il flag di abilitazione porte di comunicazione è OFF
per il numero della porta di comunicazione specificata in
C+3.
OFF in tutti gli altri casi.
Nella tabella seguente sono riportati i bit e i flag relativi all'area ausiliaria.
Nome Indirizzo Operazione
Flag di abilitazione Da Questi flag sono ON ad indicare che è possibile
porte di A20200 ad eseguire tali istruzioni di rete, inclusa PMCR(260),
comunicazione A20207 per le porte corrispondenti (da 00 a 07).
Un flag viene disattivato quando un'istruzione di
rete è in corso di esecuzione per la porta
corrispondente e riattivato quando l'istruzione è
stata completata.
Flag di errore porte Da Questi flag sono ON ad indicare che si è verificato
di comunicazione A21900 ad un errore sulle porte corrispondenti (da 00 a 07)
A21907 durante l'esecuzione di un'istruzione di rete.
Lo stato del flag viene mantenuto fino
all'esecuzione dell'istruzione di rete successiva.
Il flag verrà disattivato quando viene eseguita
l'istruzione successiva, anche se in precedenza si
è verificato un errore.
Codici di Da A203 Questi canali contengono i codici di
completamento per ad A210 completamento per le porte corrispondenti (da 00
le porte di a 07) dopo l'esecuzione di un'istruzione di rete.
comunicazione Il canale corrispondente conterrà 0000 mentre è in
corso l'esecuzione dell'istruzione di rete e il codice
di completamento verrà scritto quando l'istruzione
è stata completata. Questi canali vengono
cancellati quando viene eseguita un'istruzione.
996
Istruzioni di rete Capitolo 3-25
Esempio 2 Nell'esempio seguente, quando CIO 000000 e A20207 (il flag di abilitazione
porte di comunicazione per la porta 07) sono ON, i dieci canali da D00100 a
D00109 vengono trasmessi al numero di nodo 3 nella rete locale in cui ven-
gono scritti nei dieci canali da D00200 a D00209. Se non si riceve una rispo-
sta entro dieci secondi, la trasmissione dei dati verrà ripetuta fino a 3 volte.
997
Istruzioni di rete Capitolo 3-25
Simbolo programmazione
ladder RECV(098)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RECV(098)
Eseguita una sola volta per differenziazione @RECV(098)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Nota 1. Il numero massimo di canali consentiti dipende dalla rete in uso. Per
Controller Link l'intervallo ammesso è da 0001 a 03DE (da 1 a 990 canali).
2. Impostare l'indirizzo della rete di origine su 00 per specificare un'origine
all'interno della rete locale. Quando sono montate due o più unità bus
CPU, l'indirizzo di rete sarà il numero di modulo del modulo avente il
numero di modulo più basso.
3. I due metodi riportati di seguito possono essere utilizzati per ricevere dati
dal computer host tramite una porta seriale con Host Link avviando la
comunicazione dal PLC.
998
Istruzioni di rete Capitolo 3-25
4. Quando si specifica una porta seriale senza una tabella di routing per la
funzione di gateway seriale (conversione in FINS Host Link), impostare
l'indirizzo del modulo della porta seriale nel byte dell'indirizzo della rete di
origine.
5. L'indirizzo del modulo indica il modulo, come mostrato nella tabella
riportata di seguito.
Modulo Impostazione dell'indirizzo del modulo
CPU 00 esadecimale
Unità bus CPU 10 esadecimale + numero modulo
Modulo di I/O speciale (ad 20 esadecimale + numero modulo
eccezione dei moduli di I/O
speciali della serie C200H)
Scheda interna (solo serie CS) E1 esadecimale
999
Istruzioni di rete Capitolo 3-25
1000
Istruzioni di rete Capitolo 3-25
Numero di canali
da ricevere
Trasmissione tramite la RECV(098) può essere utilizzata per ricevere i dati trasmessi dall'area dati
rete specificata in un PLC o in un computer collegato tramite una rete Controller
Link o un link Ethernet e scrivere tali dati sul PLC locale nell'area dati
specificata.
PLC PLC
Rete
Dati
Trasmissione tramite Host Quando la porta seriale integrata nella CPU, una scheda di comunicazione
Link seriale (solo serie CS) o un modulo di comunicazione seriale è in modalità
Host Link e collegato in modalità uno a uno con un computer host, è possibile
eseguire l'istruzione RECV(098) per ricevere i dati dal computer host la volta
successiva che il PLC possiede i diritti di trasmissione dei comandi. È
possibile inoltre ricevere da altri computer host collegati ad altri PLC in rete.
Computer host
PLC
Host Link
Dati
Porta seriale
1001
Istruzioni di rete Capitolo 3-25
RECV
PLC
Impostare l'indirizzo del nodo di origine sul
numero di modulo Host Link + 1 = S+1.
Dati
Cavo seriale
PLC
Slave Host Link
Numero modulo Host Link: S
Flag
Nome Etichetta Operazione
di comunica- ER ON se il numero di porta seriale specificato in C+1 non è
zione esplicita inclusa nell'intervallo 00 - 04.
ON se il flag di abilitazione porte di comunicazione è OFF
per il numero della porta di comunicazione specificata in
C+3.
OFF in tutti gli altri casi.
Nella tabella seguente sono riportati i bit e i flag relativi all'area ausiliaria.
Nome Indirizzo Operazione
Flag di Da Questi flag sono ON ad indicare che è possibile
abilitazione porte A20200 a eseguire tali istruzioni di rete, inclusa PMCR(260),
di comunicazione A20207 per le porte corrispondenti (da 00 a 07).
Un flag viene disattivato quando un'istruzione di rete
è in corso di esecuzione per la porta corrispondente
e riattivato quando l'istruzione è stata completata.
1002
Istruzioni di rete Capitolo 3-25
Simbolo programmazione
ladder CMND(490)
S S: primo canale di
comando
D D: primo canale di risposta
C C: primo canale di
controllo
1003
Istruzioni di rete Capitolo 3-25
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CMND(490)
Eseguita una sola volta per differenziazione @CMND(490)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Operandi C: primo canale di controllo
I sei canali di controllo da C a C+5 specificano il numero di byte dei dati di
comando e dei dati di risposta, la destinazione e altre impostazioni riportate
nella tabella seguente.
Ca- Bit da 00 a 07 Bit da 08 a 15
nale
C Byte dei dati di comando: da 0002 al massimo consentito1
(esadecimali a 4 cifre)
C+1 Byte dei dati di risposta: da 0000 al massimo consentito1 - 3
(esadecimali a 4 cifre)
C+2 Indirizzo rete destinazione: Bit da 08 a 11: numero di porta seriale
da 00 a 074, 6 (porta fisica)
1 esadecimale:Porta 1
2 esadecimale:Porta 2
(non impostare 0, 3 o 4).
Bit da 12 a 15: sempre 0.
C+3 Indirizzo modulo di destinazione: Numero nodo di destinazione:
da 00 a FE5, 7, 9 da 00 al massimo consentito8
C+4 N. di tentativi: da 00 a 0F (da 0 a 15) Bit da 08 a 11:
numero della porta (porta logica
interna):
da 0 a 7
(F: allocazione automatica)10
Bit da 12 a 15: impostazione risposta
0: risposta richiesta.
8: nessuna impostazione richiesta.11
C+5 Tempo di monitoraggio della risposta: da 0001 a FFFF
(da 0,1 a 6553,5 secondi)
(L'impostazione predefinita 0000 imposta un tempo di monitoraggio di
2 secondi).
Nota 1. Il numero di byte dei dati di comando in C è da 0002 fino alla lunghezza
massima dei dati in esadecimale. Ad esempio, per i sistemi Controller Link
il numero di byte sarebbe da 0002 a 07C6 esadecimale (da 2 a
1.990 byte). Il numero di byte per la CPU locale è 07C6 esadecimale
(1.990 byte). Il numero di byte dei dati di comando dipende dalla rete.
2. Il numero di byte dei dati di risposta in C+1 è da 0000 fino alla lunghezza
massima dei dati in esadecimale. Ad esempio, per i sistemi Controller Link
il numero di byte sarebbe da 0000 a 07C6 esadecimale (da 0 a
1.990 byte). Il numero di byte per la CPU locale è 07C6 esadecimale
(1.990 byte). Il numero di byte dei dati di risposta dipende dalla rete.
3. Per ulteriori informazioni sulla lunghezza massima dei dati per i dati di
comando e i dati di risposta, fare riferimento al manuale d'uso della rete
specifica. Per tutti i comandi FINS inviati attraverso più reti, la lunghezza
massima dei dati per i dati di comando e i dati di risposta viene determinata
dalla rete con la lunghezza massima dei dati minore possibile.
4. Impostare l'indirizzo della rete di destinazione su 00 per trasmettere all'in-
terno della rete locale. Quando sono montate due o più unità bus CPU, l'in-
dirizzo di rete sarà il numero di modulo del modulo avente il numero di
modulo più basso.
1004
Istruzioni di rete Capitolo 3-25
5. Per inviare un comando FINS a un computer host tramite una porta seriale
con Host Link, inizializzando la comunicazione dal PLC, o tramite la
funzione di gateway seriale (convertito in CompoWay/F, Modbus-RTU o
Modbus-ASCII), è possibile utilizzare i due metodi esposti di seguito.
a) Impostare l'indirizzo del modulo di destinazione (bit da 00 a 07 di C+3)
sull'indirizzo del modulo della CPU o della scheda/modulo di
comunicazione seriale e impostare il numero della porta seriale (bit da
08 a 11 di C+2) su 1 per la porta 1 o 2 per la porta 2.
Indirizzo Modulo Numero di porta Porta
modulo seriale (C+2, bit da seriale
(C+3, bit da 08 a 11)
00 a 07)
00 esadeci- CPU 1 esadecimale Porta
male RS-232C
integrata
2 esadecimale Porta
periferiche
10 esadeci- Modulo di comunica- 1 esadecimale Porta 1
male + zione seriale 2 esadecimale Porta 2
numero (unità bus CPU)
modulo
E1 esadeci- Scheda di comunica- 1 esadecimale Porta 1
male zione seriale (scheda 2 esadecimale Porta 2
interna) (solo serie CS)
6. Quando si specifica una porta seriale senza una tabella di routing per la
funzione di gateway seriale (conversione in FINS Host Link), impostare
l'indirizzo del modulo della porta seriale nel byte dell'indirizzo della rete di
destinazione.
7. L'indirizzo del modulo indica il modulo, come mostrato nella tabella
riportata di seguito.
Modulo Impostazione dell'indirizzo del modulo
CPU 00 esadecimale
Unità bus CPU 10 esadecimale + numero modulo
Modulo di I/O speciale (ad 20 esadecimale + numero modulo
eccezione dei moduli di I/O
speciali della serie C200H)
1005
Istruzioni di rete Capitolo 3-25
1006
Istruzioni di rete Capitolo 3-25
Area S C D
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6138
Area di lavoro Da W000 a W511 Da W000 a W506
Area bit di ritentività Da H000 a H511 Da H000 a H506
Area bit ausiliaria Da A000 a A447 Da A448 a A959 Da A000 a A442
Da A448 a A959 Da A448 a A954
Area del temporizzatore Da T0000 a T4095 Da T0000 a
T4090
Area del contatore Da C0000 a C4095 Da C0000 a
C4090
Area DM Da D00000 a D32767 Da D00000 a
D32762
Area EM senza banco Da E00000 a E32767 Da E00000 a
E32762
Area EM con banco Da En_00000 a En_32767 Da En_00000 a
(n = da 0 a C) En_32763
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione L'istruzione CMND(490) trasferisce il numero specificato di byte dei dati del
comando FINS cominciando nel canale S al dispositivo designato tramite
l'unità bus CPU del PLC o tramite una rete. La risposta viene memorizzata in
memoria cominciando nel canale D.
Nodo locale Nodo destinazione
Comando
Dati del
comando Interpret
(n byte)
Risposta
1007
Istruzioni di rete Capitolo 3-25
PLC PLC
Rete
Comando FINS
1008
Istruzioni di rete Capitolo 3-25
Trasmissione tramite Host Quando la porta seriale integrata nella CPU, una scheda di comunicazione
Link seriale (solo serie CS) o un modulo di comunicazione seriale è in modalità
Host Link e collegato in modalità uno a uno con un computer host, è possibile
eseguire l'istruzione CMND(490) per trasmettere qualsiasi comando FINS dal
PLC al computer host la volta successiva che il PLC possiede i diritti di
trasmissione. È possibile inoltre trasmettere ad altri computer host collegati
ad altri PLC in rete.
Computer host
PLC
Host Link
Comando FINS
L'istruzione CMND(490) può essere eseguita sia per la porta seriale della
CPU, di una scheda di comunicazione seriale (solo serie CS) o di un modulo
di comunicazione seriale per inviare un comando al computer host collegato.
(Specificare la porta seriale come 1 esadecimale o 2 esadecimale nei bit da
08 a 11 di C+2.) Il comando è un messaggio FINS racchiuso tra un'intesta-
zione e un terminatore Host Link. È possibile inviare qualsiasi comando FINS;
il codice dell'intestazione Host Link è 0F esadecimale.
È necessario creare un programma nel computer host per elaborare il
comando ricevuto (il comando FINS racchiuso tra l'intestazione e il termina-
tore Host Link).
Se la porta seriale di destinazione è il PLC locale, impostare l'indirizzo di rete
su 00 (rete locale) in C+2, impostare l'indirizzo del nodo su 00 (PLC locale) in
C+3 e impostare l'indirizzo del modulo su 00 (CPU), E1 (scheda interna (solo
serie CS)) o numero di modulo + 10 esadecimale (modulo porta seriale).
Comunicazione tramite gateway seriale con un componente o uno slave
Host Link
È possibile inviare comandi FINS (o inviare e ricevere dati) a un componente
o a uno slave Host Link collegato al PLC tramite la rispettiva porta seriale con
la funzione di gateway seriale.
• Invio a un componente
(conversione in CompoWay/F, Modbus-RTU o Modbus-ASCII)
La funzione di gateway seriale può convertire i comandi FINS riportati di
seguito in comandi CompoWay/F, Modbus-RTU o Modbus-ASCII quando
il comando FINS viene inviato a una scheda di comunicazione seriale, alla
porta seriale di un modulo o a una delle porte seriali della CPU (periferica
o RS-232C).
Conversione in comando CompoWay/F: 2803 esadecimale
Conversione in comando Modbus-RTU: 2804 esadecimale (vedere nota)
Conversione in comando Modbus-ASCII: 2805 esadecimale (vedere nota)
Nota Non è possibile inviare i comandi Modbus-RTU e Modbus-ASCII alle
porte seriali della CPU.
1009
Istruzioni di rete Capitolo 3-25
CMND
PLC
Modbus RTU
Cavo seriale
SEND
PLC
Impostare l'indirizzo del nodo di destinazione
sul numero di modulo Host Link + 1 = S+1.
Dati
Cavo seriale
PLC
Slave Host Link
Numero modulo Host Link: S
Invio di un comando FINS La CPU che esegue CMND(490) può inviare un comando FINS a se stessa,
alla CPU che esegue ad eccezione delle CPU CS1 della serie CS prive del suffisso -V@). Ad
CMND(490) (ad eccezione esempio, i comandi per la memoria dei file (codici di comando 22@@
delle CPU CS1 della serie esadecimale) possono essere inviati per formattare la memoria dei file,
CS precedenti la versione eliminare e copiare i file ed eseguire altre operazioni. Per ulteriori
V1) informazioni, consultare la sezione 5-2 Manipulating Files del manuale CS/
CJ-series CPU Unit Programming Manual.
Verrà attivato il flag di operazione memoria file (A34313) quando un qualsiasi
comando FINS viene inviato alla CPU locale (perfino comandi FINS non
correlati alla memoria dei file). Utilizzare sempre A34313 in una condizione di
ingresso NC per l'istruzione CMND(490) per essere certi che per la CPU
venga eseguito solo un comando FINS per volta.
Comando FINS
PC
Scheda di
memoria
1010
Istruzioni di rete Capitolo 3-25
Flag
Nome Etichetta Operazione
di ER ON se il numero di porta seriale specificato in C+2 non è
comunicazione inclusa nell'intervallo 00 - 04.
esplicita ON se il flag di abilitazione porte di comunicazione è
OFF per il numero della porta di comunicazione
specificata in C+4.
ON se il comando FINS viene inviato alla CPU locale
mentre il flag di operazione memoria file (A34313) è ON.
OFF in tutti gli altri casi.
Nella tabella seguente sono riportati i bit e i flag relativi all'area ausiliaria.
Nome Indirizzo Operazione
Flag di abilitazione Da Questi flag sono ON ad indicare che è possibile
porte di A20200 a eseguire tali istruzioni di rete, inclusa
comunicazione A20207 PMCR(260), per le porte corrispondenti
(da 00 a 07).
Un flag viene disattivato quando un'istruzione di
rete è in corso di esecuzione per la porta corri-
spondente e riattivato quando l'istruzione è stata
completata.
Flag di errore porte Da Questi flag sono ON ad indicare che si è verifi-
di comunicazione A21900 a cato un errore sulle porte corrispondenti (da 00 a
A21907 07) durante l'esecuzione di un'istruzione di rete.
Lo stato del flag viene mantenuto fino
all'esecuzione dell'istruzione di rete successiva.
Il flag verrà disattivato quando viene eseguita
l'istruzione successiva, anche se in precedenza
si è verificato un errore.
Codici di Da A203 a Questi canali contengono i codici di completa-
completamento per A210 mento per le porte corrispondenti (da 00 a 07)
le porte di dopo l'esecuzione di un'istruzione di rete.
comunicazione Il canale corrispondente conterrà 0000 mentre è
in corso l'esecuzione dell'istruzione di rete e il
codice di completamento verrà scritto quando
l'istruzione è stata completata. Questi canali
vengono cancellati quando viene avviata
l'esecuzione del programma.
Flag di operazione A34313 ON quando un comando FINS viene inviato alla
memoria file CPU locale (perfino comandi FINS non correlati
alla memoria del file) oppure quando per la
memoria dei file viene eseguita una delle
istruzioni o operazioni indicate di seguito.
FREAD(700) o FWRIT(701)
Sovrascrittura del programma con bit di controllo
in memoria
Operazione di backup semplice
1011
Istruzioni di rete Capitolo 3-25
Per essere sicuri che l'istruzione CMND(490) non venga eseguita quando una
porta è occupata, programmare il flag di abilitazione porte di comunicazione
(da A20200 a A20207) come condizione normalmente aperta.
Quando si invia un comando FINS alla CPU locale, utilizzare sempre per
l'istruzione CMND(490) uno dei flag di abilitazione porte di comunicazione (da
A20200 a A20207) in una condizione di ingresso NO e il flag di operazione
memoria file (A34313) in una condizione di ingresso NC.
Il rumore e altri fattori possono deteriorare o provocare la perdita della
trasmissione. Pertanto si raccomanda di impostare il numero di tentativi su un
valore diverso da zero per provocare la ripetizione dell'esecuzione di
CMND(490) se non si riceve risposta entro il tempo di monitoraggio della
risposta.
Esempi Nella sezione di programma riportata di seguito viene illustrato un esempio di
invio di un comando FINS a un'altra CPU.
Quando CIO 000000 e A20207 (il flag di abilitazione porte di comunicazione
per la porta 07) sono ON, CMND(490) trasmette il comando FINS 0101
(MEMORY AREA READ) al numero di nodo 3. La risposta verrà memorizzata
in D00200 - D00211.
Il comando MEMORY AREA READ legge 10 canali da D00010 a D00019. La
risposta contiene il codice di comando a 2 byte (0101), il codice di completa-
mento a 2 byte e 10 canali di dati, per un totale di 12 canali o 24 byte.
Se non si riceve una risposta entro dieci secondi, la trasmissione dei dati
verrà ripetuta fino a 3 volte.
1012
Istruzioni di rete Capitolo 3-25
15 8 7 0
S: D00006 2 2 1 5 Codice comando: 2215 esadecimale (CREATE/DELETE DIRECTORY)
S+1: D00007 8 0 0 0 N. disco: 8000 esadecimale (scheda di memoria)
S+2: D00008 0 0 0 0 Parametro: 0000 esadecimale (creazione directory)
S+3: D00009 4 3 5 3
S+4: D00010 3 1 2 0
S+5: D00011 2 0 2 0
Nome sottodirectory: CS1@@@@@. @@@ (@= spazio)
S+6: D00012 2 0 2 0
S+7: D00013 2 E 2 0
S+8: D00014 2 0 2 0
S+9: D00015 0 0 0 6 Lunghezza nome directory: 0006 (6 caratteri)
S+10: D00016 5 C 4 F
S+11: D00017 4 D 5 2 Percorso assoluto directory: \OMRON
S+12: D00018 4 F 4 E
15 8 7 0
S: D00000 0 0 1 A Byte dei dati di comando: 001A (26 decimale)
S+1: D00001 0 0 0 4 Byte dei dati di risposta: 0004 (4)
S+2: D00002 0 0 0 0 Indirizzo rete destinazione: 00 esadecimale (rete locale)
S+3: D00003 0 0 0 0 Indirizzo modulo di destinazione: 00 esadecimale, Numero nodo di destinazione: 00 esadecimale (CPU sul nodo locale)
S+4: D00004 0 7 0 0 Risposta richiesta, numero di porta di 7, 0 tentativi
S+5: D00005 0 0 0 0 Tempo di monitoraggio della risposta: 0000 esadecimale (6553,5 secondi)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON EXPLT(720)
Eseguita una sola volta per differenziazione @EXPLT(720)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1013
Istruzioni di rete Capitolo 3-25
15 12 11 8 7 0
S+3 0 0
ID classe (esadecimale)
15 12 11 8 7 0
S+4 0 0
ID istanza (esadecimale)
15 12 11 8 7 0
S+5 0 0
ID attributo (esadecimale)
...
S+272
1014
Istruzioni di rete Capitolo 3-25
15 12 11 8 7 0
D+2 0 0
15 12 11 8 7 0
C+1
15 0
C+2
15 0
C+3
1015
Istruzioni di rete Capitolo 3-25
Caratteristiche operando
Area S D C
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6140
Area di lavoro Da W000 a W511 Da W000 a W508
Area bit di ritentività Da H000 a H511 Da H000 a H508
Area bit ausiliaria Da A000 a A959 Da A448 a A959 Da A000 a A956
Area del temporizzatore Da T0000 a T4095 Da T0000 a T4092
Area del contatore Da C0000 a C4095 Da C0000 a C4092
Area DM Da D00000 a D32767 Da D00000 a
D32764
Area EM senza banco Da E00000 a E32767 Da E00000 a
E32764
Area EM con banco Da En_00000 a En_32767 Da En_00000 a
(n = da 0 a C) En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1016
Istruzioni di rete Capitolo 3-25
A B C D
A B C D
Flag
Nome Etichetta Operazione
Flag di ER ON se il flag di abilitazione porte di comunicazione è OFF
errore per il numero della porta di comunicazione specificata in C.
OFF in tutti gli altri casi.
1017
Istruzioni di rete Capitolo 3-25
Nella tabella seguente sono riportati i bit e i flag relativi all'area ausiliaria.
Nome Indirizzo Operazione
Flag di Da Questi flag sono ON ad indicare che è possibile
abilitazione A20200 a eseguire tali istruzioni di rete, inclusa PMCR(260), per
porte di A20207 le porte corrispondenti (da 00 a 07).
comunicazione Un flag viene disattivato quando un'istruzione di rete è
in corso di esecuzione per la porta corrispondente e
riattivato quando l'istruzione è stata completata.
Flag di errore di Da Questi flag sono ON ad indicare che si è verificato un
comunicazione A21300 ad errore sulle porte corrispondenti (da 00 a 07) durante
esplicita A21307 l'esecuzione di una comunicazione di messaggio
esplicito.
I flag saranno ON se il messaggio esplicito non è
stato inviato o se è stato inviato ma è stata restituita
una risposta di errore.
Lo stato del flag viene mantenuto fino all'esecuzione
dell'istruzione di messaggio esplicito successiva.
Il flag verrà disattivato quando viene eseguita
l'istruzione successiva, anche se in precedenza si è
verificato un errore.
Flag di errore Da Questi flag sono ON ad indicare che il messaggio
porte di A21900 a esplicito non è stato inviato dalle porte corrispondenti
comunicazione A21907 (da 00 a 07) durante l'esecuzione di un'istruzione di
messaggio esplicito.
Lo stato del flag viene mantenuto fino all'esecuzione
dell'istruzione di rete successiva. Il flag verrà
disattivato quando viene eseguita l'istruzione
successiva, anche se in precedenza si è verificato un
errore.
Codici di Da A203 a Questi canali contengono i codici di completamento
completamento A210 per le porte corrispondenti (da 00 a 07) dopo
per le porte di l'esecuzione di un'istruzione di rete.
comunicazione Il canale corrispondente conterrà 0000 mentre il
flag di errore di comunicazione esplicita è OFF.
Il canale corrispondente conterrà un codice di
errore FINS quando il flag di errore di
comunicazione esplicita e il flag di errore porte di
comunicazione di tale porta sono entrambi ON.
Il canale corrispondente conterrà il codice di
errore appropriato relativo al messaggio esplicito
quando il flag di errore di comunicazione esplicita
di tale porta è ON e il flag di errore porte di
comunicazione di tale porta è OFF.
Il canale corrispondente conterrà 0000 mentre è in
corso l'esecuzione dell'istruzione di rete e il codice di
completamento verrà scritto quando l'istruzione è
stata completata. Questi canali vengono cancellati
quando viene avviata l'esecuzione del programma.
Avvertenze Assicurarsi che l'ordine dei byte nei dati di origine corrisponda all'ordine nel
frame del messaggio esplicito (ordine dei dati nella riga). Ad esempio, quando
i dati di servizio sono in unità di 2 o 4 byte, l'ordine dei dati nel frame sarà dal
più a sinistra al più a destra in coppie a 2 cifre, come mostrato nello schema
seguente.
Formato del comando
Esempio: indirizzo 1234 Esempio: tempo cumulativo 12345678
esadecimale memorizzato esadecimale memorizzato nell'ordine
nell'ordine 34 → 12 78 → 56 → 34 → 12
34 12 78 56 34 12
1018
Istruzioni di rete Capitolo 3-25
Frame 34 12
In questo caso, 1234
esadecimale viene
memorizzato dal byte
più a sinistra
nell'ordine 34 → 12. 15 08 07 00
D+3 3 4 1 2
Frame 34 12
In questo caso, 1234
esadecimale viene
memorizzato dal byte
più a destra
nell'ordine 34 → 12. 15 08 07 00
D+3 1 2 3 4
Frame 78 56 34 12
Frame 78 56 34 12
1019
Istruzioni di rete Capitolo 3-25
0E 09 03 66
ID attributo
ID istanza
ID classe
Codice di servizio
Indirizzo nodo di destinazione
Istruzione
CPU EXPLT(720)
S: D00000 0 0 0 A Numero di byte di dati: S+1 ... S+5 = 5 canali = 10 byte = 0A esadecimale
S+1: D00001 0 0 2 D Indirizzo del nodo slave = 45 = 2D esadecimale
S+2: D00002 0 0 0 E Codice di servizio = 0E esadecimale
S+3: D00003 0 0 0 9 ID classe = 09 esadecimale
S+4: D00004 0 0 0 3 ID istanza = 03 esadecimale (Ingresso 3)
S+5: D00005 0 0 6 6 ID attributo = 66 esadecimale
D: D00100 0 0 0 8 Contiene 08 esadecimale per 8 byte di dati ricevuti nel frame di risposta.
D+1: D00101 0 0 2 D Restituisce l'indirizzo del nodo slave = 45 = 2D esadecimale
D+2: D00102 0 0 8 E Codice di servizio = 8E esadecimale (normale completamento)
D+3: D00103 2 7 F E
D+4: D00104 2 9 0 0 Dati di servizio = 0029FE27 esadecimale (2.752.039 s decimale)
C: D00200 0 0 0 4 Impostare 5 canali = 0005 esadecimale poiché vi sono 5 canali in D ... D+5.
Ordine dei byte = 0 esadecimale (dal byte più a sinistra), porta di comunicazione = 6 esadecimale
C+1: D00201 0 6 1 2
(porta 6) e l'indirizzo modulo del modulo DeviceNet = 12 esadecimale
C+2: D00202 0 0 0 0 Tempo di monitoraggio risposta = 0000 esadecimale (2 s)
C+3: D00203 0 0 0 0 Tipo di formato esplicito = 0000 esadecimale (formato DeviceNet)
1020
Istruzioni di rete Capitolo 3-25
Simbolo programmazione
ladder
EGATR(721)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON EGATR(721)
Eseguita una sola volta per differenziazione @EGATR(721)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
15 12 11 8 7 0
S+1 0 0
ID classe (esadecimale)
15 12 11 8 7 0
S+2 0 0
ID istanza (esadecimale)
15 12 11 8 7 0
S+3 0 0
ID attributo (esadecimale)
1021
Istruzioni di rete Capitolo 3-25
...
D+267
15 12 11 8 7 0
C+1
15 0
C+3
Caratteristiche operando
Area S D C
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6140 CIO 6143 CIO 6140
Area di lavoro Da W000 a W508 Da W000 a W511 Da W000 a W508
Area bit di ritentività Da H000 a H508 Da H000 a H511 Da H000 a H508
Area bit ausiliaria Da A000 a A956 Da A000 a A959 Da A000 a A956
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4092 T4095 T4092
1022
Istruzioni di rete Capitolo 3-25
Area S D C
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4092 C4095 C4092
Area DM Da D00000 a Da D00000 a Da D00000 a
D32764 D32767 D32764
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32764 E32767 E32764
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32764 En_32767 En_32764
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767 (n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767 (n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
A B C D
1023
Istruzioni di rete Capitolo 3-25
A B C D
Flag
Nome Etichetta Operazione
Flag di ER ON se il flag di abilitazione porte di comunicazione è OFF
errore per il numero della porta di comunicazione specificata in C.
OFF in tutti gli altri casi.
1024
Istruzioni di rete Capitolo 3-25
Avvertenze Assicurarsi che l'ordine dei byte nei dati di origine corrisponda all'ordine nel
frame del messaggio esplicito (ordine dei dati nella linea). Ad esempio,
quando i dati di servizio sono in unità di 2 o 4 byte, l'ordine dei dati nel frame
sarà dal più a sinistra al più a destra in coppie a 2 cifre, come mostrato nello
schema seguente.
Formato del comando
Esempio: indirizzo 1234 Esempio: tempo cumulativo 12345678
esadecimale memorizzato esadecimale memorizzato nell'ordine
nell'ordine 34 → 12 78 → 56 → 34 → 12
34 12 78 56 34 12
Frame 34 12
1025
Istruzioni di rete Capitolo 3-25
Frame 34 12
In questo caso, 1234
esadecimale viene
memorizzato dal byte
più a destra nell'ordine
34 → 12. 15 08 07 00
D+1 1 2 3 4
Frame 78 56 34 12
Frame 78 56 34 12
Esempio In questo esempio si utilizza EGATR(721) per leggere lo stato generale di uno
slave DRT2 (terminale di I/O).
Flag di abilitazione porte di
comunicazione (Porta 6)
000000 A20206
EGATR
S D00000
D D00100
C D00200
1026
Istruzioni di rete Capitolo 3-25
0E 95 01 65
ID attributo
ID istanza
ID classe
Codice di servizio
Indirizzo nodo di destinazione
Istruzione
CPU
EGATR(721)
C: D00200 0 0 0 2 Impostare 2 canali = 0002 esadecimale poiché vi sono 2 canali in D ... D+1.
Ordine dei byte = 8 esadecimale (dal byte più a destra), porta di comunicazione = 6 esadecimale
C+1: D00201 8 6 1 2
(porta 6) e l'indirizzo modulo del modulo DeviceNet = 12 esadecimale
C+2: D00202 0 0 0 0 Tempo di monitoraggio risposta = 0000 esadecimale (2 s)
C+3: D00203 0 0 0 0 Tipo di formato esplicito = 0000 esadecimale (formato DeviceNet)
D: D00100 0 0 0 1 D contiene 0 esadecimale per 1 byte di dati restituiti nel byte più a destra di D+1.
Lo stato generale dello slave viene restituito nei bit da 00 a 07.
I dati vengono memorizzati nei bit 00 ... 07 poiché l'impostazione dell'ordine dei
D+1: D00101 0 0 4 8 byte in C+1 (bit 12 - 15) è stata impostata su 8 esadecimale (dal byte più a destra).
7 6 5 4 3 2 1 0
D 00101 0 1 0 0 1 0 0 0
1027
Istruzioni di rete Capitolo 3-25
Simbolo programmazione
ladder
ESATR(722)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ESATR(722)
Eseguita una sola volta per differenziazione @ESATR(722)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1028
Istruzioni di rete Capitolo 3-25
Impostare il numero di byte dei dati di origine dai canali S+1 in avanti.
Impostare, ad esempio, S su 0008 esadecimale se vi sono 4 canali di
dati (da S+1 a S+4). Non includere i 2 byte nel canale S stesso.
Includere i byte all'estrema sinistra di S+1 ... S+4, che contengono 00.
Inoltre, includere il numero di byte dei dati di servizio cominciando in
S+5. (Se il primo o l'ultimo canale contiene soltanto un byte di dati,
non contare il byte vuoto in tale canale).
15 12 11 8 7 0
S+1 0 0
15 12 11 8 7 0
S+2 0 0
ID classe (esadecimale)
15 12 11 8 7 0
S+3 0 0
ID istanza (esadecimale)
15 12 11 8 7 0
S+4 0 0
ID attributo (esadecimale)
...
S+271
15 0
C+2
1029
Istruzioni di rete Capitolo 3-25
Caratteristiche operando
Area S C
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a CIO 6141
Area di lavoro Da W000 a W511 Da W000 a W509
Area bit di ritentività Da H000 a H511 Da H000 a H509
Area bit ausiliaria Da A000 a A959 Da A000 ad A957
Area del temporizzatore Da T0000 a T4095 Da T0000 a T4093
Area del contatore Da C0000 a C4095 Da C0000 a C4093
Area DM Da D00000 a D32767 Da D00000 a D32765
Area EM senza banco Da E00000 a E32767 Da E00000 a E32765
Area EM con banco Da En_00000 a Da En_00000 a
En_32767 En_32765
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti in Da @D00000 a @D32767
binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767 (n = da 0 a C)
Indirizzi DM/EM indiretti in Da *D00000 a *D32767
BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767 (n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto con i Da ,IR0 a ,IR15
registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a
,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
A B C D
1030
Istruzioni di rete Capitolo 3-25
A B C D
Flag
Nome Etichetta Operazione
Flag di ER ON se il flag di abilitazione porte di comunicazione è OFF
errore per il numero della porta di comunicazione specificata in C.
OFF in tutti gli altri casi.
1031
Istruzioni di rete Capitolo 3-25
Avvertenze Assicurarsi che l'ordine dei byte nei dati di origine corrisponda all'ordine nel
frame del messaggio esplicito (ordine dei dati nella linea). Ad esempio,
quando i dati di servizio sono in unità di 2 o 4 byte, l'ordine dei dati nel frame
sarà dal più a sinistra al più a destra in coppie a 2 cifre, come mostrato nello
schema seguente.
Formato del comando
Esempio: indirizzo 1234 Esempio: tempo cumulativo 12345678
esadecimale memorizzato esadecimale memorizzato nell'ordine
nell'ordine 34 → 12 78 → 56 → 34 → 12
34 12 78 56 34 12
Frame 34 12
In questo caso, 1234
esadecimale viene
memorizzato dal byte più a
sinistra nell'ordine 34 → 12.
15 08 07 00
S+5 3 4 1 2
1032
Istruzioni di rete Capitolo 3-25
Frame 34 12
In questo caso, 1234
esadecimale viene
memorizzato dal byte
più a destra
nell'ordine 34 → 12. 15 08 07 00
S+5 1 2 3 4
Frame 78 56 34 12
Frame 78 56 34 12
1033
Istruzioni di rete Capitolo 3-25
10 08 02 68 F4 01 00 00
Dati di servizio:01F4Hex
ID attributo
ID istanza
ID classe
Codice di servizio
Indirizzo nodo di destinazione
CPU Istruzione
ESATR(722)
S D00000 0 0 0 C Numero di byte di dati: S+1 ... S+6 = 6 canali = 12 byte = 0C esadecimale
S:+1 D00001 0 0 0 A Indirizzo del nodo slave = 10 = 0A esadecimale
S+2: D00002 0 0 0 8 ID classe = 08 esadecimale
S+3: D00003 0 0 0 2 ID istanza = 02 esadecimale
S+4: D00004 0 0 6 8 ID attributo = 68 esadecimale
S+5: D00005 0 1 F 4 Dati di servizio = F401 esadecimale
S+6: D00006 0 0 0 0
C: D00201 8 6 1 2 Ordine dei byte = 8 esadecimale (dal byte più a destra), porta di comunicazione = 6 esadecimale
(porta 6) e l'indirizzo modulo del modulo DeviceNet = 12 esadecimale
C+1: D00202 0 0 0 0 Tempo di monitoraggio risposta = 0000 esadecimale (2 s)
C+2: D00203 0 0 0 0 Tipo di formato esplicito = 0000 esadecimale (formato DeviceNet)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ECHRD(723)
Eseguita una sola volta per differenziazione @ECHRD(723)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
1034
Istruzioni di rete Capitolo 3-25
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
15 12 11 8 7 0
C+1 0 0
15 12 11 8 7 0
C+2 0
15 0
C+4
Caratteristiche operando
Area S D C
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6139
Area di lavoro Da W000 a W511 Da W000 a W507
Area bit di ritentività Da H000 a H511 Da H000 a H507
Area bit ausiliaria Da A000 a A959 Da A448 a A959 Da A000 a A955
Area del temporizzatore Da T0000 a T4095 Da T0000 a T4091
Area del contatore Da C0000 a C4095 Da C0000 a C4091
Area DM Da D00000 a D32767 Da D00000 a
D32763
Area EM senza banco Da E00000 a E32767 Da E00000 a
E32763
Area EM con banco Da En_00000 a En_32767 Da En_00000 a
(n = da 0 a C) En_32763
(n = da 0 a C)
1035
Istruzioni di rete Capitolo 3-25
Area S D C
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione Legge il numero specificato di canali dal primo canale di lettura (specificato in
S) nella CPU remota con l'indirizzo di nodo specificato in C e memorizza i dati
nei canali di memoria della CPU locale cominciando da D.
Nota L'istruzione ECHRD(723) invia un messaggio esplicito con il codice di servizio
1C esadecimale (Byte Data Read).
Flag
Nome Etichetta Operazione
Flag di errore ER ON se il flag di abilitazione porte di comunicazione è OFF
per il numero della porta di comunicazione specificata in C.
OFF in tutti gli altri casi.
1036
Istruzioni di rete Capitolo 3-25
Nella tabella seguente sono riportati i bit e i flag relativi all'area ausiliaria.
Nome Indirizzo Operazione
Flag di Da Questi flag sono ON ad indicare che è possibile
abilitazione porte A20200 a eseguire tali istruzioni di rete, inclusa PMCR(260),
di comunicazione A20207 per le porte corrispondenti (da 00 a 07).
Un flag viene disattivato quando un'istruzione di rete
è in corso di esecuzione per la porta corrispondente
e riattivato quando l'istruzione è stata completata.
Flag di errore di Da Questi flag sono ON ad indicare che si è verificato
comunicazione A21300 ad un errore sulle porte corrispondenti (da 00 a 07)
esplicita A21307 durante l'esecuzione di una comunicazione di
messaggio esplicito.
I flag saranno ON se il messaggio esplicito non è
stato inviato o se è stato inviato ma è stata restituita
una risposta di errore.
Lo stato del flag viene mantenuto fino all'esecuzione
dell'istruzione di messaggio esplicito successiva.
Il flag verrà disattivato quando viene eseguita
l'istruzione successiva, anche se in precedenza si è
verificato un errore.
Flag di errore Da Questi flag sono ON ad indicare che il messaggio
porte di A21900 a esplicito non è stato inviato dalle porte
comunicazione A21907 corrispondenti (da 00 a 07) durante l'esecuzione di
un'istruzione di messaggio esplicito.
Lo stato del flag viene mantenuto fino all'esecuzione
dell'istruzione di rete successiva. Il flag verrà
disattivato quando viene eseguita l'istruzione
successiva, anche se in precedenza si è verificato
un errore.
Codici di Da A203 a Questi canali contengono i codici di completamento
completamento A210 per le porte corrispondenti (da 00 a 07) dopo
per le porte di l'esecuzione di un'istruzione di rete.
comunicazione Il canale corrispondente conterrà 0000 mentre il
flag di errore di comunicazione esplicita è OFF.
Il canale corrispondente conterrà un codice di
errore FINS quando il flag di errore di
comunicazione esplicita e il flag di errore porte di
comunicazione di tale porta sono entrambi ON.
Il canale corrispondente conterrà il codice di
errore appropriato relativo al messaggio esplicito
quando il flag di errore di comunicazione
esplicita di tale porta è ON e il flag di errore porte
di comunicazione di tale porta è OFF.
Il canale corrispondente conterrà 0000 mentre è in
corso l'esecuzione dell'istruzione di rete e il codice di
completamento verrà scritto quando l'istruzione è
stata completata. Questi canali vengono cancellati
quando viene avviata l'esecuzione del programma.
1037
Istruzioni di rete Capitolo 3-25
Messaggi
o esplicito
15 0 15 0
D: D00100 S: D00000
D+1: D00100 S+1: D00001
D+2: S+2: D00002
15 8 7 0
C: D00200 0 0 0 7 Indirizzo nodo della CPU remota da leggere = 07 esadecimale (nodo 07)
C+1: D00201 0 0 0 3 Dimensione dei dati di lettura (numero di canali) = 3 esadecimale
Porta di comunicazione = 6 esadecimale (porta 6)
C+2: D00202 0 6 1 2
e indirizzo modulo del modulo DeviceNet = 12 esadecimale
C+3: D00203 0 0 0 0 Tempo di monitoraggio risposta = 0000 esadecimale (2 s)
C+4: D00204 0 0 0 0 Tipo di formato esplicito = 0000 esadecimale (formato DeviceNet)
Simbolo programmazione
ladder
ECHWR(724)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON ECHWR(724)
Eseguita una sola volta per differenziazione @ECHWR(724)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1038
Istruzioni di rete Capitolo 3-25
15 12 11 8 7 0
C+1 0 0
15 12 11 8 7 0
C+2 0
15 0
C+3
15 0
C+4
Caratteristiche operando
Area S D C
Area CIO Da CIO 0000 a CIO 6143 Da CIO 0000 a
CIO 6139
Area di lavoro Da W000 a W511 Da W000 a W507
Area bit di ritentività Da H000 a H511 Da H000 a H507
Area bit ausiliaria Da A000 a A959 Da A448 a A959 Da A000 a A955
Area del temporizzatore Da T0000 a T4095 Da T0000 a T4091
Area del contatore Da C0000 a C4095 Da C0000 a C4091
Area DM Da D00000 a D32767 Da D00000 a
D32763
Area EM senza banco Da E00000 a E32767 Da E00000 a
E32763
Area EM con banco Da En_00000 a En_32767 Da En_00000 a
(n = da 0 a C) En_32763
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
1039
Istruzioni di rete Capitolo 3-25
Area S D C
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione Scrive il numero specificato di canali cominciando da S dalla CPU locale nella
destinazione di scrittura cominciando da D nella CPU remota con l'indirizzo
del nodo specificato in C.
Nota L'istruzione ECHWR(724) invia un messaggio esplicito con il codice di
servizio 1E esadecimale (Byte Data Write).
Flag
Nome Etichetta Operazione
Flag di ER ON se il flag di abilitazione porte di comunicazione è OFF
errore per il numero della porta di comunicazione specificata in C.
OFF in tutti gli altri casi.
1040
Istruzioni di rete Capitolo 3-25
Esempio In questo esempio si utilizza ECHWR(724) per scrivere i dati dalla memoria di
I/O della CPU locale nella memoria di I/O di una CPU della serie CJ sulla rete
DeviceNet.
Flag di abilitazione
porte di comunicazione (Porta 6)
000000 A20206
ECHWR
S D00000
D D00100
C D00200
1041
Istruzioni per la memoria dei file Capitolo 3-26
Messaggio
esplicito
S: D00000 D: D00100
S+1: D00001 D+1: D00101
S+2: D00002 D+2: D00102
15 8 7 0
C: D00200 0 0 0 7 Indirizzo nodo della CPU remota in cui scrivere = 07 esadecimale (nodo 07)
C+1: D00201 0 0 0 3 Dimensione dei dati di scrittura (numero di canali) = 3 esadecimale
Porta di comunicazione = 6 esadecimale (porta 6)
C+2: D00202 0 6 1 2
e indirizzo modulo del modulo DeviceNet = 12 esadecimale
C+3: D00203 0 0 0 0 Tempo di monitoraggio risposta = 0000 esadecimale (2 s)
C+4: D00204 0 0 0 0 Tipo di formato esplicito = 0000 esadecimale (formato DeviceNet)
Formato
Le schede di memoria sono già formattate al momento dell'acquisto, non è
quindi necessario formattarle. Per formattare una scheda usata, utilizzare
sempre la CPU e CX-Programmer o una console di programmazione.
Se la scheda di memoria viene formattata direttamente in un notebook o in un
altro computer, la CPU potrebbe non riconoscerla. In tal caso, non sarà
possibile utilizzare la scheda anche dopo averla riformattata nella CPU.
1042
Istruzioni per la memoria dei file Capitolo 3-26
1043
Istruzioni per la memoria dei file Capitolo 3-26
Per il formato binario (.IOM), i dati saranno come indicato di seguito quando
1234 esadecimale, 5678 esadecimale, 9ABC esadecimale e DEF0 esadeci-
male vengono memorizzati nel file ABC.IOM (anche se normalmente l'utente
non deve occuparsi di questa struttura):
XX
XX
48 byte (riservati
... per l'uso del
Memoria I/O 1234 sistema)
XX
5678 12
9ABC 34
DEF0 56
78
8 byte
9A
BC
DE
F0
Contenuto di ABC.IOM
Per il formato CSV dei canali (.CSV), i dati saranno come indicato di seguito
quando 1234 esadecimale, 5678 esadecimale, 9ABC esadecimale e DEF0
esadecimale vengono memorizzati nel file ABC.CSV (la struttura di base sarà
la stessa per i dati di testo (.TXT)):
31 1
32 2
4 byte
33 3
Memoria I/O 34 4
1234 Convertito in ASCII
2C , Delimitatore
5678 35 5
9ABC 1234,5678,9ABC,DEF0
36 6
DEF0 37 7 4 byte
38 8
File visualizzato come dati di
2C , Delimitatore testo
...
Contenuto di ABC.CSV
Per il formato CSV di canali lunghi (.CSV), i dati saranno come indicato di
seguito quando 1234 esadecimale, 5678 esadecimale, 9ABC esadecimale e
DEF0 esadecimale vengono memorizzati nel file ABC.CSV (la struttura di
base sarà la stessa per i dati di testo (.TXT)):
35 5
36 6
37 7
Convertito in ASCII 38 8
Memoria I/O 1234 (canale con indirizzo
31 1 8 byte
superiore per primo
5678 nel campo) 32 2
9ABC 33 3 56781234,DEF09ABC
DEF0 34 4
2C , Delimitatore
File visualizzato come dati di
... testo
Contenuto di ABC.CSV
1044
Istruzioni per la memoria dei file Capitolo 3-26
File \ABC\XYZ.IOM
CPU
Can. 0
+5 canali
Can. 5
10 canali Can. 14
Sovrascrittura
Simbolo programmazione
ladder FREAD(700)
C C: canale di controllo
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FREAD(700)
Eseguita una sola volta per differenziazione @FREAD(700)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1045
Istruzioni per la memoria dei file Capitolo 3-26
C 15 12 11 8 7 4 3 0
Nota 1. Ogni campo conterrà 1 canale di memoria di I/O per il tipo di dati del canale
e 2 canali di memoria di I/O per i tipi di dati a doppio canale.
2. Quando si leggono i dati con ritorni a capo, i bit da 00 a 11 di C devono
essere impostati tra 8 e D esadecimale.
3. Con i canali doppi, il primo canale di dati viene memorizzato nell'indirizzo
di memoria superiore, ossia verrebbe memorizzato 12345678 con 1234 in
D00001 e 5678 in D00000.
S1 e S1+1: numero di elementi letti
Il valore esadecimale a 8 cifre in S1 e S1+1 specifica la quantità di canali o
campi da leggere dalla memoria dei file. Se il numero di canali o campi
specificati supera il numero di canali nel file di dati, i dati nel file verranno
trasferiti normalmente e non si verificherà alcun errore.
S1+1 S1 S1+1 contiene le prime 4 cifre più a
sinistra e S1 contiene le prime 4 cifre
più a destra.
1046
Istruzioni per la memoria dei file Capitolo 3-26
Nota 1. S1+2 e S1+3 sono utilizzati soltanto per dati di tipo testo e CVS senza
ritorni a capo (ovvero bit da 08 a 11 di C impostati su 0 esadecimale) o per
dati binari. Impostare sempre S1+2 e S1+3 su 00000000 esadecimale
quando si leggono dati con ritorni a capo (ovvero bit da 08 a 11 di C
impostati su 8 - D esadecimale).
2. S1 - S1+3 devono essere nella stessa area dati.
3. S1 - S1+3 vengono utilizzati solo per la lettura dei dati.
4. Se il canale iniziale specificato supera il numero di canali nel file di dati,
verrà attivato il flag di errore lettura file (A34310) e i dati del file non
verranno letti.
S2: nome file
S2 è l'indirizzo iniziale dei canali contenenti il percorso assoluto e il nome file
in ASCII. Utilizzare ASCII a - z, A - Z e 0 - 9.
Il nome completo del percorso alla directory contenente il file di dati può
essere lungo fino a 65 caratteri, inclusa la barra iniziale (ASCII 5C). Il nome
del file può contenere fino a 8 caratteri, ma non sono ammessi caratteri nulli
(ASCII 00) poiché un carattere nullo viene usato per contrassegnare la fine di
ogni stringa di caratteri. Non includere l'estensione del nome file; l'estensione
.IOM verrà aggiunta automaticamente.
1047
Istruzioni per la memoria dei file Capitolo 3-26
S2 "\" "A" S2 5C 41
S2+1 "B" "C" S2+1 42 43
S2+2 "\" "X" S2+2 5C 58
S2+3 "Y" "Z" S2+3 59 5A
S2+4 NUL S2+4 00
D Numero di canali
specificato in S1 e S1+1
Nota I dati vengono memorizzati nell'ordine basato sugli indirizzi assoluti della
memoria interna. Quindi i dati inviati sovrascriveranno i dati dell'area dati suc-
cessiva se viene superata la capacità dell'area dati specificata in D. Per ulte-
riori informazioni, consultare Avvertenze.
Quando l'istruzione FREAD(700) viene eseguita, il numero di canali (o campi)
specificato in S1 e S1+1 viene scritto in A346 e A347 (numero di dati da
trasferire) e questo valore viene decrementato di 1 via via che ciascun canale
o campo viene trasferito. È possibile controllare il contenuto di questi canali
per verificare che sia stato trasferito il numero previsto di canali o campi.
Lettura del numero dei canali di dati (terza cifra di C=1)
FREAD(700) trova il numero di canali nel file specificato in S2 (con
estensione del nome file .IOM) e scrive il valore esadecimale a 8 cifre in D e
D+1.
File specificato
in S2 CPU
Numero di canali
Numero di scritti in D e D+1.
canali
1048
Istruzioni per la memoria dei file Capitolo 3-26
Caratteristiche operando
Area C S1 S2 D
Area CIO Da CIO 0000 Da CIO 0000 Da CIO 0000 a CIO 6143
a CIO6143 a CIO 6140
Area di lavoro Da W000 a Da W000 a Da W000 a W511
W511 W508
Area bit di ritentività Da H000 a Da H000 a Da H000 a W511
H511 508
Area bit ausiliaria Da A000 a Da A000 a Da A000 a Da A448 a
A959 A444 A447 A959
Da A448 ad Da A448 a
A956 A959
Area del Da T0000 a Da T0000 a Da T0000 a T4095
temporizzatore T4095 T4092
Area del contatore Da C0000 a Da C0000 a Da C0000 a C4095
C4095 C4092
Area DM Da D00000 a Da D00000 a Da D00000 a D32767
D32767 D32764
Area EM senza Da E00000 a Da E00000 a Da E00000 a E32767
banco E32767 E32764
Area EM con banco Da En_00000 Da En_00000 Da En_00000 a En_32767
a En_32767 a En_32764 (n = da 0 a C)
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM – Da @D00000 a @D32767
indiretti in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM – *Da D00000 a *D32767
indiretti in BCD *Da E00000 a *E32767
*Da En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori –
specificati
Registri dati –
Registri indice –
Indirizzamento Da ,IR0 a ,IR15
indiretto con i Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
registri indice
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Etichetta Operazione
Flag di ER ON se la memoria dei file specificata in C non esiste.
errore ON se le impostazioni in C non sono incluse nell'intervallo
specificato.
ON se il nome file specificato in S2 non soddisfa le
condizioni richieste.
ON se il flag di operazione memoria file era ON.
ON se non è stata specificata una costante per C (solo
CPU CS1 della serie CS precedenti la versione V1@).
ON se i dati specificati per S1 sono fuori intervallo (tutte le
CPU, ad eccezione delle CPU CS1 della serie CS
precedenti la versione V1@).
ON se per D è stata specificata un'area non valida.
Con le CPU CS1D: ON se non è stato possibile
sincronizzare le CPU attiva e in attesa.
OFF in tutti gli altri casi.
1049
Istruzioni per la memoria dei file Capitolo 3-26
1050
Istruzioni per la memoria dei file Capitolo 3-26
Ignorato
File \ABC\XYZ.IOM
CPU
Can. 0
+5 canali Can. 5
+10 canali
Can. 14
1051
Istruzioni per la memoria dei file Capitolo 3-26
Simbolo programmazione
ladder FWRIT(701)
C C: canale di controllo
D1: primo canale di
D1
destinazione
D2 D2: nome file
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FWRIT(701)
Eseguita una sola volta per differenziazione @FWRIT(701)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1052
Istruzioni per la memoria dei file Capitolo 3-26
Nota 1. Ogni campo conterrà 1 canale di memoria di I/O per il tipo di dati del canale
e 2 canali di memoria di I/O per i tipi di dati a doppio canale.
2. Con i canali doppi, il primo canale di dati viene letto dall'indirizzo di
memoria superiore, ossia 12345678 verrebbe scritto con 1234 da D00001
e 5678 da D00000.
3. Se è stata specificata la delimitazione, il delimitatore specificato verrà
aggiunto dopo ogni canale per il tipo di dati a canale singolo e dopo ogni
due canali per il tipo di dati a canale doppio. (Verrà aggiunto il codice di
virgola per la delimitazione tramite virgole e il codice di tabulazione per la
delimitazione tramite tabulazioni).
4. Se sono stati specificati canali o canali doppi senza limitazione, i dati per
tutti i campi verranno scritti in modo continuo senza alcun delimitatore.
5. Se sono stati specificati ritorni a capo, verrà aggiunto un ritorno a capo
dopo ciascuna serie del numero specificato di canali. Se non è stato
specificato nessun ritorno a capo, i dati verranno scritti in modo continuo
senza alcun ritorno a capo.
D1 e D1+1: numero di elementi scritti
Il valore esadecimale a 8 cifre in D1 e D1+1 specifica la quantità di canali o
campi da scrivere nella memoria dei file.
D1+1 D1 D1+1 contiene le prime 4 cifre più a
sinistra e D1 contiene le prime 4 cifre
più a destra.
Tipo di dati Bit da 12 a 15 di C Contenuto di D1 e D1+1
Binario 0 esadecimale (binario) Numero di canali da scrivere dalla
memoria dei file.
Da 00000000 a 3FFFFFFF esadecimale
Canale 1 esadecimale (non Numero di campi da scrivere dalla
delimitato), 3 esadecimale memoria dei file, ossia il numero di canali
(delimitato da virgole) o da scrivere dalla memoria dei file.
5 esadecimale (delimitato Da 00000000 a 1FFFFFFF esadecimale
da tabulazioni)
Doppio 2 esadecimale (non Numero di campi da scrivere dalla memo-
canale delimitato), 4 esadecimale ria dei file, ossia metà del numero di
(delimitato da virgole) o canali da scrivere dalla memoria dei file.
6 esadecimale (delimitato Da 00000000 a 0FFFFFFF esadecimale
da tabulazioni)
D1+2 e D1+3: primo canale di destinazione
Il valore esadecimale a 8 cifre in D1+2 e D1+3 specifica il canale iniziale di
scrittura dall'inizio del file.
D1+3 D1+2 D+1+3 contiene le prime 4 cifre più a
sinistra e D1+2 contiene le prime 4
cifre più a destra.
Tipo di dati Bit da 12 a 15 di C Contenuto di D1+2 e D1+3
Binario 0 esadecimale (binario) Il canale da cui si comincia la scrittura
dall'inizio della memoria dei file.
Da 00000000 a 3FFFFFFF
esadecimale
Canale 1 esadecimale (non Il campo da cui si comincia la scrittura
delimitato), 3 esadecimale dall'inizio della memoria dei file, ossia
(delimitato da virgole) o il numero di canali dall'inizio.
5 esadecimale (delimitato Da 00000000 a 1FFFFFFF
da tabulazioni) esadecimale
Doppio canale 2 esadecimale (non Il campo da cui si comincia la scrittura
delimitato), 4 esadecimale dall'inizio della memoria dei file, ossia
(delimitato da virgole) o metà del numero di canali dall'inizio.
6 esadecimale (delimitato Da 00000000 a 0FFFFFFF
da tabulazioni) esadecimale
Nota 1. D1+2 e D1+3 sono utilizzati soltanto per sovrascrive i dati e soltanto per 1)
dati di tipo testo e CVS senza ritorni a capo (ovvero bit da 08 a 11 di C
1053
Istruzioni per la memoria dei file Capitolo 3-26
1054
Istruzioni per la memoria dei file Capitolo 3-26
Sovrascrittura
Scheda di memoria o memoria dei
file nell'area EM (specificata dalla
prima cifra di C).
Aggiunta
Scheda di memoria o memoria
dei file nell'area EM (specificata
dalla prima cifra di C).
1055
Istruzioni per la memoria dei file Capitolo 3-26
Caratteristiche operando
Area C D1 D2 S
Area CIO Da CIO 0000 Da CIO 0000 Da CIO 0000 a CIO 6143
a CIO 6143 a CIO 6140
Area di lavoro Da W000 a Da W000 a Da W000 a W511
W511 W508
Area bit di ritentività Da H000 a Da H000 a Da H000 a H511
H511 508
Area bit ausiliaria Da A000 a Da A000 a Da A000 a A447
A959 A444 Da A448 a A959
Da A448 ad
A956
Area del Da T0000 a Da T0000 a Da T0000 a T4095
temporizzatore T4095 T4092
Area del contatore Da C0000 a Da C0000 a Da C0000 a C4095
C4095 C4092
Area DM Da D00000 a Da D00000 a Da D00000 a D32767
D32767 D32764
Area EM senza Da E00000 a Da E00000 a Da E00000 a E32767
banco E32767 E32764
Area EM con banco Da En_00000 Da En_00000 Da En_00000 a En_32767
a En_32767 a En_32764 (n = da 0 a C)
(n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM – Da @D00000 a @D32767
indiretti in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM – Da *D00000 a *D32767
indiretti in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori –
specificati
Registri dati –
Registri indice –
Indirizzamento Da ,IR0 a ,IR15
indiretto con i Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
registri indice
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1056
Istruzioni per la memoria dei file Capitolo 3-26
Flag
Nome Etichetta Operazione
Flag di errore ER ON se il tipo di memoria dei file specificato in C non
esiste.
ON se le impostazioni in C non sono incluse nell'intervallo
specificato.
ON se il nome file specificato in D2 non soddisfa le
condizioni richieste.
ON se il flag di operazione memoria file era ON.
ON se non è stata specificata una costante per C (solo
CPU CS1 della serie CS precedenti la versione V1).
ON se i dati specificati per D1 sono fuori intervallo (tutte le
CPU, ad eccezione delle CPU CS1 della serie CS
precedenti la versione V1).
ON se per S è stata specificata un'area non valida.
Con le CPU CS1D: ON se non è stato possibile
sincronizzare le CPU attiva e in attesa.
OFF in tutti gli altri casi.
Nella tabella seguente sono riportati i flag relativi nell'area ausiliaria.
Nome Indirizzo Operazione
Tipo di scheda di Da Contiene un numero binario che indica il tipo di
memoria A34300 scheda di memoria eventualmente installata.
ad (0: Nessuna, 4: ROM flash)
A34302
Flag di errore A34307 Viene attivato quando la scheda di memoria non è
formattazione formattata o si verifica un errore di formattazione.
scheda di memoria
Flag di errore A34308 Viene attivato quando si verifica un errore durante la
scrittura file scrittura nel file.
Flag di scrittura file A34309 Viene attivato quando non è possibile scrivere i dati
non possibile perché il file è protetto da scrittura o la quantità di
memoria disponibile è insufficiente.
Flag di file non A34311 ON quando la directory specificata non esiste
trovato durante la scrittura di un file.
Flag di operazione A34313 Viene attivato in ciascuno dei seguenti casi:
memoria file La CPU ha inviato un comando FINS utilizzando
CMND(490).
È in esecuzione un'istruzione FREAD(700) o
FWRIT(701).
È in corso la sovrascrittura del programma tramite
l'utilizzo di un bit di controllo.
È in corso un'operazione di backup semplice.
Flag di accesso al A34314 Viene attivato quando è in corso l'accesso ai dati del
file file.
Utilizzare questo flag come condizione di
esecuzione per evitare che venga eseguita
un'istruzione per la memoria dei file mentre un'altra
istruzione è in corso di esecuzione.
Flag di scheda di A34315 Viene attivato quando viene rilevata una scheda di
memoria rilevata memoria.
Banco di inizio per A344 Contiene il numero del banco di inizio dell'area EM
la formattazione che è stato formattato per essere utilizzato come
della memoria file memoria dei file nell'area EM. Contiene FFFF
nell'area EM laddove non è stata formattata nessuna area EM.
Per convertire l'area EM da utilizzare come memoria
dei file, è necessario impostare su 1 la memoria dei
file nell'area EM nella configurazione del PLC e
impostare il banco di inizio memoria file nell'area EM
(da 0 a C). Tutti i banchi EM compresi tra il primo e
l'ultimo banco vengono formattati come memoria per
i file.
1057
Istruzioni di visualizzazione: DISPLAY MESSAGE: MSG(046) Capitolo 3-27
Avvertenze Il flag di operazione memoria file (A34313) verrà attivato quando viene
eseguita FWRIT(701). Se A34313 è già ON, si verificherà un errore e
l'istruzione non verrà eseguita.
Verrà attivato il flag di scrittura file non possibile (A34309) e l'istruzione non
verrà eseguita se non è stato possibile scrivere i dati poiché il file era protetto
da scrittura oppure perché la memoria disponibile era insufficiente.
Il flag di errore di scrittura file (A34308) verrà attivato e l'istruzione non verrà
eseguita se il file specificato non contiene il tipo di dati corretto o se i dati del
file sono danneggiati.
Dopo l'inserimento, sono sufficienti pochi secondi per il riconoscimento della
scheda di memoria da parte della CPU. Se si ha intenzione di accedere a una
scheda di memoria subito dopo l'attivazione dell'alimentazione o dopo aver
inserito una scheda di memoria, utilizzare il flag di scheda di memoria rilevata
(A34315) in una condizione di ingresso NA per essere certi che la scheda di
memoria sia stata rilevata, come mostrato di seguito.
Condizione di
esecuzione A34315 A34313
FWRIT
C
Flag di scheda Flag di operazione
di memoria memoria file D1
rilevata D2
S
Simbolo programmazione
ladder MSG(046)
N: numero del
N messaggio
M: primo canale del
M messaggio
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MSG(046)
Eseguita una sola volta per differenziazione @MSG(046)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
1058
Istruzioni di visualizzazione: DISPLAY MESSAGE: MSG(046) Capitolo 3-27
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1059
Istruzioni di visualizzazione: DISPLAY MESSAGE: MSG(046) Capitolo 3-27
Flag
Nome Etichetta Operazione
Flag di errore ER ON se il contenuto di S non è 0000 – 0007 esadecimale.
OFF in tutti gli altri casi.
Avvertenze I messaggi registrati vengono aggiornati ogni volta che viene eseguita l'istru-
zione MSG(046).
Tutti i caratteri del messaggio che seguono il carattere nullo (00) vengono
convertiti in spazi sul display della console di programmazione.
Il carattere memorizzato nel byte più a sinistra viene visualizzato prima del
carattere nel byte più a destra.
Esempi Nello schema seguente viene mostrato il modo in cui i 16 canali di dati esade-
cimali vengono convertiti in un messaggio visualizzato sulla console di pro-
grammazione.
Visualizzazione sulla console di programmazione
N 4
N+1 4
16 canali MSG
N+2 4
(32 caratteri) A B C D E F
N+15 B
16 caratteri × 2 righe
N
M
1060
Istruzioni per l'orologio Capitolo 3-28
ASCII
Quattro bit più a sinistra
SP
1061
Istruzioni per l'orologio Capitolo 3-28
Secondi: da 00 a 59 (BCD)
Minuti: da 00 a 59 (BCD)
15 8 7 0
C+1
Ora: da 00 a 23 (BCD)
Giorno: da 01 a 31 (BCD)
15 8 7 0
C+2
Mese: da 01 a 12 (BCD)
Anno: da 00 a 99 (BCD)
Secondi: da 00 a 59
(BCD)
Minuti: da 00 a 59 (BCD)
15 0
T+1
1062
Istruzioni per l'orologio Capitolo 3-28
Secondi: da 00 a 59
(BCD)
Minuti: da 00 a 59 (BCD)
15 8 7 0
R+1
Ora: da 00 a 23 (BCD)
Giorno: da 01 a 31 (BCD)
15 8 7 0
R+2
Mese: da 01 a 12 (BCD)
Anno: da 00 a 99 (BCD)
Caratteristiche operando
Area C T R
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6141 CIO 6142 CIO 6141
Area di lavoro Da W000 a W509 Da W000 a W510 Da W000 a W509
Area bit di ritentività Da H000 a H509 Da H000 a H510 Da H000 a H509
Area bit ausiliaria Da A000 ad A957 Da A000 ad A958 Da A448 ad A957
Area del Da T0000 a T4093 Da T0000 a T4094 Da T0000 a T4093
temporizzatore
Area del contatore Da C0000 a C4093 Da C0000 a C4094 Da C0000 a C4093
Area DM Da D00000 a Da D00000 a Da D00000 a
D32765 D32766 D32765
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32765 E32766 E32765
Area EM con banco Da En_00000 a Da En_00000 a Da En_00000 a
En_32765 En_32766 3En_2765
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM Da @D00000 a @D32767
indiretti in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM Da *D00000 a *D32767
indiretti in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori ---
specificati
Registri dati ---
1063
Istruzioni per l'orologio Capitolo 3-28
Area C T R
Registri indice –
Indirizzamento Da ,IR0 a ,IR15
indiretto con i registri Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
indice
Da DR0 a DR15, da IR0 a IR15
Da ,IR005+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
C Minuti Secondi
C+1 Gior Ora
C+2 Anno Mese
T Minuti Secondi
T+1 Ore
R Minuti Secondi
R+1 Gior Ora
R+2 Anno Mese
Flag
Nome Etichetta Operazione
Flag di errore ER ON se i dati del calendario compresi tra C e C+2 non
sono inclusi negli intervalli specificati.
ON se i dati temporali in T e T+1 non sono inclusi negli
intervalli specificati.
OFF in tutti gli altri casi.
Esempi Nell'esempio seguente, quando CIO 000000 è impostato su ON, i dati relativi
al calendario in D00100 - D00102 (anno, mese, giorno, ore, minuti, secondi)
vengono aggiunti ai dati temporali in D00200 e D00201 (ore, minuti, secondi)
e il risultato viene inviato a D00300 - D00302.
C
T C:
18:30:20
R 99 12 10.12.99
T: 10 minuti, 15 secondi
06 00 600 ore
R: 18:40:35
04 18
00 01 04.01.00
1064
Istruzioni per l'orologio Capitolo 3-28
Simbolo programmazione
ladder CSUB(731)
C: primo canale del
C
calendario
T: primo canale del
T
tempo
R R: primo canale del
risultato
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CSUB(731)
Eseguita una sola volta per differenziazione @CSUB(731)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Secondi: da 00 a 59 (BCD)
Minuti: da 00 a 59 (BCD)
15 8 7 0
C+1
Ora: da 00 a 23 (BCD)
Giorno: da 01 a 31 (BCD)
15 8 7 0
C+2
Mese: da 01 a 12 (BCD)
Anno: da 00 a 99 (BCD)
1065
Istruzioni per l'orologio Capitolo 3-28
Secondi: da 00 a 59
(BCD)
Minuti: da 00 a 59 (BCD)
15 0
T+1
Secondi: da 00 a 59
(BCD)
Minuti: da 00 a 59 (BCD)
15 8 7 0
R+1
Ora: da 00 a 23 (BCD)
Giorno: da 01 a 31 (BCD)
15 8 7 0
R+2
Mese: da 01 a 12 (BCD)
Anno: da 00 a 99 (BCD)
Caratteristiche operando
Area C T R
Area CIO Da CIO 0000 a Da CIO 0000 a Da CIO 0000 a
CIO 6141 CIO 6142 CIO 6141
Area di lavoro Da W000 a W509 Da W000 a W510 Da W000 a W509
Area bit di ritentività Da H000 a H509 Da H000 a H510 Da H000 a H509
Area bit ausiliaria Da A000 ad A957 Da A000 ad A958 Da A448 ad A957
Area del temporizzatore Da T0000 a Da T0000 a Da T0000 a
T4093 T4094 T4093
Area del contatore Da C0000 a Da C0000 a Da C0000 a
C4093 C4094 C4093
Area DM Da D00000 a Da D00000 a Da D00000 a
D32765 D32766 D32765
1066
Istruzioni per l'orologio Capitolo 3-28
Area C T R
Area EM senza banco Da E00000 a Da E00000 a Da E00000 a
E32765 E32766 E32765
Area EM con banco En_00000 ... Da En_00000 a En_00000 ...
En_32765 En_32766 3En_2765
(n = da 0 a C) (n = da 0 a C) (n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Solo valori ---
specificati
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR005+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione CSUB(731) sottrae i dati relativi all'orario (canali T e T+1) dai dati del
calendario (canali da C a C+2) e invia il dati risultanti relativi al calendario
nell'intervallo compreso tra R ed R+2.
C Minuti Secondi
C+1 Gior Ora
C+2 Anno Mese
T Minuti Secondi
T+1 Ore
R Minuti Secondi
R+1 Gior Ora
R+2 Anno Mese
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i dati del calendario compresi tra C e C+2 non
sono inclusi negli intervalli specificati.
ON se i dati dell'orario compresi tra T e T+1 non sono
inclusi negli intervalli specificati.
OFF in tutti gli altri casi.
Esempi Nell'esempio che segue, quando CIO 000000 passa a ON, i dati relativi
all'orario in D00200 e D00201 (ore, minuti, secondi) sono sottratti dai dati del
calendario compresi tra D00100 e D00102 (anno, mese, giorno, ora, minuti,
secondi) e il risultato viene inviato nell'intervallo da D00300 a D00302.
1067
Istruzioni per l'orologio Capitolo 3-28
C: 18:30:20
C 10 luglio 1998
T
R
T:
50 ore, 10 minuti, 15 secondi
R: 16:20:05
8 luglio 1998
Simbolo programmazione
ladder SEC(065)
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Secondi: da 00 a 59
(BCD)
Minuti: da 00 a 59 (BCD)
15 0
S+1
1068
Istruzioni per l'orologio Capitolo 3-28
15 0
D+1
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori specificati ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1069
Istruzioni per l'orologio Capitolo 3-28
Minuti Secondi
Ore
Secondi
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i dati in minuti in S (bit da 08 a 15) non sono BCD
e nell'intervallo compreso tra 00 e 59.
ON se i dati in secondi in S (bit da 00 a 07) non sono
BCD e nell'intervallo compreso tra 00 e 59.
OFF in tutti gli altri casi.
Flag di = ON se il contenuto di D è 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Avvertenze Il valore massimo per i dati di origine è pari a 9.999 ore, 59 minuti e
59 secondi (35.999.999 secondi).
Esempi Nell'esempio che segue, quando CIO 000000 passa a ON, i dati con formato
ore/minuti/secondi in D00200 e D00201 (34 ore, 17 minuti e 36 secondi) sono
convertiti in dati espressi esclusivamente in secondi e il risultato viene inviato
a D00100 e D00101.
17 minuti, 36 secondi
34 ore
Ore/minuti/secondi → secondi
123.456 secondi
Simbolo programmazione
ladder HMS(066)
D D: primo canale di
destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON HMS(066)
Eseguita una sola volta per differenziazione @HMS(066)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
1070
Istruzioni per l'orologio Capitolo 3-28
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Secondi: da 00 a 59
(BCD)
Minuti: da 00 a 59 (BCD)
15 0
D+1
Area S D
Area CIO Da CIO 0000 a CIO 6142
Area di lavoro Da W000 a W510
Area bit di ritentività Da H000 a H510
Area bit ausiliaria Da A000 ad A958 Da A448 ad A958
Area del temporizzatore Da T0000 a T4094
Area del contatore Da C0000 a C4094
Area DM Da D00000 a D32766
Area EM senza banco Da E00000 a E32766
Area EM con banco Da En_00000 a En_32766
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
1071
Istruzioni per l'orologio Capitolo 3-28
Area S D
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da 00000000 a 35999999 ---
(BCD)
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione HMS(066) converte i dati BCD a 8 cifre espressi solo in secondi in S ed S+1
in dati BCD a 8 cifre con formato ore/minuti/secondi e invia il risultato in D e in
D+1.
Secondi
Minuti Secondi
Ore
Flag
Nome Etichetta Funzionamento
Flag di ER ON se i dati in secondi in S ed S+1 non sono BCD e
errore nell'intervallo compreso tra 0 e 35.999.999.
OFF in tutti gli altri casi.
Flag di = ON se il contenuto di D è 0000 dopo l'esecuzione.
uguaglianza OFF in tutti gli altri casi.
Avvertenze Il valore massimo per i dati di origine è pari a 35.999.999 secondi (9.999 ore,
59 minuti e 59 secondi).
Esempi Nell'esempio che segue, quando CIO 000000 passa a ON, i dati espressi in
secondi in D00100 e D00101 (123.456 secondi) sono convertiti nel formato
ore/minuti/secondi e il risultato viene inviato a D00200 e D00201.
S: 123.456 secondi
Secondi → Ore/minuti/secondi
D: 17 minuti, 36 secondi
34 ore
1072
Istruzioni per l'orologio Capitolo 3-28
Simbolo programmazione
ladder DATE(735)
S: primo canale di
S
origine
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DATE(735)
Eseguita una sola volta per differenziazione @DATE(735)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Operandi Da S a S+3: nuova impostazione dell'orologio
Definire la nuova impostazione dell'orologio da S a S+3, come indicato dal
seguente diagramma.
S - S+3 devono essere tutti nella stessa area dati.
15 8 7 0
S
Secondi: da 00 a 59 (BCD)
Minuti: da 00 a 59 (BCD)
15 8 7 0
S+1
Ora: da 00 a 23 (BCD)
Giorno: da 01 a 31 (BCD)
15 8 7 0
S+2
Mese: da 01 a 12 (BCD)
Anno: da 00 a 99 (BCD)
15 8 7 0
S+3
1073
Istruzioni per l'orologio Capitolo 3-28
Caratteristiche operando
Area S
Area CIO Da CIO 0000 a CIO 6140
Area di lavoro Da W000 a W508
Area bit di ritentività Da H000 a H508
Area bit ausiliaria Da A000 a A956
Area del temporizzatore Da T0000 a T4092
Area del contatore Da C0000 a C4092
Area DM Da D00000 a D32764
Area EM senza banco Da E00000 a E32764
Area EM con banco Da En_00000 a En_32764
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Orologio interno
1074
Istruzioni di debug Capitolo 3-29
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se la nuova impostazione dell'orologio da S a S+3
non è nell'intervallo specificato.
OFF in tutti gli altri casi.
Avvertenze Anche se l'orologio interno viene impostato su una data inesistente (ad
esempio, 31 novembre) non si verificherà alcun errore.
Esempi Nell’esempio seguente, quando CIO 000000 passa a ON, l'orologio interno
viene impostato sulle 20:15:30 di martedì 9 ottobre 1998.
S:
Minuti Secondo
Giorno Ora
del mese
Anno Mese
Simbolo programmazione
ladder TRSM(045)
Variazioni
Variazioni Eseguita a ogni ciclo TRSM(045)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1075
Istruzioni di debug Capitolo 3-29
Memoria di registrazione
Dati da
indirizzo m
memorizzati
in memoria di Memoria di registrazione
registrazione
Nota Per ulteriori informazioni sulla registrazione dei dati, fare riferimento al
manuale dell'operatore del dispositivo periferico.
1076
Istruzioni di debug Capitolo 3-29
1077
Istruzioni di debug Capitolo 3-29
Avvertenze TRSM(045) viene elaborata come NOP(000) quando la registrazione dei dati
non viene eseguita o se l'intervallo di campionamento definito nei parametri
con un dispositivo periferico non è impostato in modo da effettuare il campio-
namento durante l'esecuzione dell'istruzione TRSM(045).
Non attivare o disattivare il bit di avvio campionamento (A50815) dal pro-
gramma, ma esclusivamente mediante un dispositivo periferico.
Vedere nota
Simbolo programmazione • Per generare o cancellare errori non fatali definiti dall'utente
ladder
FAL(006)
N N: numero FAL
FAL(006)
N
N: numero FAL (valore in A529)
S
S: primo canale contenente il
codice di errore e dettagli
sull'errore stesso
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FAL(006)
Eseguita una sola volta per differenziazione @FAL(006)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Operandi Quando FAL(006) viene utilizzata per generare o cancellare errori definiti
dall'utente funziona in modo leggermente diverso rispetto a quando la si
utilizza per generare errori di sistema (solo CPU CS1-H, CJ1-H, CJ1M e
CS1D).
1079
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Caratteristiche operando
Area N S
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A000 a A959
Area del temporizzatore --- Da T0000 a T4095
Area del contatore --- Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti da 0 a 511 Da #0000 a #FFFF
(binario)
Registri dati ---
1080
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Area N S
Registri indice ---
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da
–2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1,2,3... 1. Viene attivato il flag di errore FAL (A40215) (il PLC continua a funzionare).
2. Viene attivato il flag dei numeri di FAL eseguiti per il numero FAL
corrispondente. I flag da A36001 ad A39115 corrispondono ai numeri di
FAL da 0001 a 01FF (da 1 a 511).
3. Il codice di errore viene scritto in A400. I codici di errore da 4101 a 42FF
corrispondono ai numeri di FAL da 0001 a 01FF (da 1 a 511).
Nota In caso di errore fatale o di errore non fatale grave durante
l'esecuzione dell'istruzione FAL(006), il codice di errore dell'errore
più grave verrà scritto in A400.
4. Il codice di errore e il momento in cui tale errore si è verificato vengono
scritti nell'area del log degli errori (da A100 ad A199).
Nota Con CPU CS1-H, CJ1-H e CJ1M, il registro degli errori non viene
scritto nell'area del log degli errori nel caso in cui il PLC sia stato
impostato in modo tale che gli errori generati da FAL(006) non
vengano registrati, cioè se il bit 15 dell'indirizzo 129 della console di
programmazione è impostato su 1.
5. L'indicatore ERR della CPU lampeggia.
6. Se è stato specificato un indirizzo del canale in S, il messaggio che inizia
in S viene registrato e visualizzato sul dispositivo di programmazione.
Flag di errore FAL attivato
L'esecuzione Flag dei numeri di FAL eseguiti corrispondente attivato
di FAL(006) Codice di errore scritto in A400
genera un
errore non Codice di errore e ora scritti nell'area del log
fatale con degli errori
numero FAL N. L'indicatore ERR lampeggia
Nella tabella seguente sono riportati i codici di errore e i flag di errore FAL per
FAL(006).
Numero FAL Codici di errore FAL Flag numeri di FAL eseguiti
Da 1 a 511 Da 4101 a 42FF Da A36001 ad A39115
decimale
1081
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
1082
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Come disabilitare le registrazioni di log degli errori per gli errori definiti
dall'utente (solo CS1-H, CJ1-H, CJ1M o CS1D)
In genere, quando FAL(006) genera un errore definito dall'utente, il codice di
errore e il momento in cui tale errore si verifica vengono scritti nell'area del log
degli errori (da A100 ad A199). È possibile impostare la configurazione del
PLC in modo tale che gli errori definiti dall'utente e generati con FAL(006) non
vengano registrati nel log degli errori.
Sebbene l'errore non sia registrato nel log degli errori, vengono attivati il flag
di errore FAL (40215) nonché il flag corrispondente nei flag dei numeri di FAL
eseguiti (da A36001 ad A39115) e il codice di errore viene scritto in A400.
Se si desidera registrare soltanto gli errori generati dal sistema, disabilitare la
registrazione di log degli errori per gli errori FAL (006) definiti dall'utente. Ad
1083
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Anche se il bit 15 del canale 129 nella configurazione del PLC è impostato su
1 (non registrare errori FAL nel log degli errori), gli errori elencati qui di
seguito vengono comunque registrati.
• Errori irreversibili generati da FALS(007)
• Errori di sistema reversibili
• Errori di sistema irreversibili
• Errori di sistema reversibili generati in modo intenzionale con FAL(006) o
FPD(269)
• Errori di sistema irreversibili generati in modo intenzionale con FALS(007)
Come cancellare gli errori non fatali senza il dispositivo di
programmazione
1. Cancellazione degli errori non fatali definiti dall'utente
Se FAL(006) viene eseguita con N impostato su 0, è possibile cancellare
gli errori non fatali. Come illustrato nella tabella seguente, il valore di S
determina l'elaborazione.
S Elaborazione
Da &1 a &511 (da 0001 a 01FF Viene cancellato l'errore FAL del numero
esadecimale) specificato.
FFFF esadecimale Tutti gli errori non fatali, compresi quelli di
sistema, vengono cancellati.
Da 0200 a FFFE esadecimale Errore non fatale più grave (anche se
o specifica del canale reversibile di sistema) mai verificatosi. Nel caso
di più errori FAL, viene cancellato quello con il
numero di FAL più piccolo.
1084
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Nelle tabelle qui di seguito sono riportati i canali e i flag relativi nell'area
ausiliaria.
• Solo canali dell'area ausiliaria / flag per errori definiti dall'utente
Nome Indirizzo Funzionamento
Flag di errore FAL A40215 ON quando viene generato un errore con
l'istruzione FAL(006).
Flag numeri di FAL Da Quando si genera un errore con FAL(006),
eseguiti A36001 ad il flag corrispondente viene attivato. I flag da
A39115 A36001 ad A39115 corrispondono ai numeri
FAL da 0001 a 01FF.
• Solo canali dell'area ausiliaria / flag per errori di sistema (solo CPU CS1-
H, CJ1-H, CJ1M e CS1D)
Nome Indirizzo Funzionamento
Numero FAL/ A529 Quando un errore di sistema viene generato
FALS generato con FAL(006), viene utilizzato un numero FAL/
dal sistema FALS fittizio. Impostare lo stesso numero FAL/
FALS fittizio in questo canale (da 0001 a 01FF
esadecimale, da 1 a 511 decimale).
• Solo canali dell'area ausiliaria / flag per errori definiti dall'utente ed errori
di sistema
Nome Indirizzo Funzionamento
Area del log degli Da A100 L'area del log degli errori contiene i codici di
errori ad A199 errore e l'indicazione di ora e giorno dell'evento
relativi ai 20 errori più recenti, compresi quelli
generati da FAL(006).
Codice di errore A400 Quando si verifica un errore, il relativo codice
viene memorizzato in A400. I codici di errore
per i numeri FAL da 0001 a 01FF vanno
rispettivamente da 4101 a 42FF.
Quando si verificano due o più errori
contemporaneamente, il codice di errore
dell'errore più grave viene memorizzato in A400.
Avvertenze N deve essere tra 0000 e 01FF. Se N non rientra nell'intervallo specificato, si
verificherà un errore e verrà attivato il flag di errore.
1085
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
31
M M: 4C 4F
57 20
56 4F
MESSAGE
4C 54 LOW VOLTAGE
41 47
45 00
1,2,3... 1. Se si tratta dell'errore più grave, il codice di errore specificato (0400) viene
scritto in A400.
2. Il codice di errore e il momento in cui tale errore si è verificato vengono
scritti nell'area del log degli errori (da A100 ad A199).
1086
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
FAL
N 10
S D00200
Valori
corrispon
A529CH 000A
Codice di errore: 0400 (errore di configurazione dell'unità
S: D00200 0400 bus della CPU)
D00201 0001 Numero di modulo di errore: 1
N N: numero FALS
FALS(007)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FALS(007)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1087
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Come generare errori irreversibili dal sistema (solo CS1-H, CJ1-H, CJ1M
o CS1D)
Nella tabella che segue viene illustrato il funzionamento di ciascun operando.
Nota Il valore dell'operando N deve essere uguale al contenuto di A529
(numero FAL/FALS generato dal sistema).
Operando Funzione
N Da 1 a 511 (questi numeri FALS sono condivisi con numeri FAL)
S Codice dell'errore che verrà generato (vedere Descrizione più avanti).
S+1 Codice dei dettagli dell'errore che verrà generato (vedere Descrizione
più avanti).
Caratteristiche operando
Area N S
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A000 ad A959
Area del temporizzatore --- Da T0000 a T4095
Area del contatore --- Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori Da #0000 a #FFFF
specificati (binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048
a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1088
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Descrizione FALS(007) genera un errore fatale. Con CPU CS1-H, CJ1-H, CJ1M e CS1D è
possibile utilizzare FALS(007) anche per generare errori di sistema
irreversibili nonché errori fatali definiti dall'utente (se il valore di N è uguale al
contenuto di A529, viene generato un errore di sistema).
Come generare errori fatali definiti dall'utente
Se FALS(007) viene eseguita con N impostato su un numero FALS (da 1 a
511) diverso dal contenuto di A529 (numero FAL/FALS generato dal sistema),
verrà generato un errore fatale con tale numero FALS e avrà luogo la
seguente procedura:
1089
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
1090
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Nota Diversamente che con gli errori fatali generati dall'utente, gli errori di sistema
generati da FALS(007) azzerano la memoria di I/O nel caso in cui in bit di
ritentività IOM sia OFF. Il contenuto dei seguenti elementi viene cancellato:
area CIO, area di lavoro, flag e valori attuali del temporizzatore, registri indice
e registri dati.
Nella tabella che segue viene indicato come specificare i codici e i dettagli di
errore in S ed S+1.
Nome errore S S+1
Codice Dettagli errore
di errore
Errore di 80F1 • Bit da 00 a 09: posizione dell'errore di memoria
memoria esadeci Bit 00: programma utente
male Bit 04: configurazione del PLC
Bit 05: tabella di I/O registrata
Bit 07: tabella di routing
Bit 08: configurazione dell'unità bus della CPU
Bit 09: errore di trasferimento tramite la scheda di
memoria
• Bit da 10 a 15: non validi
Errore del bus 80C0 • Bit da 00 a 07: numero dello slot in cui si è verificato
degli I/O esadeci l'errore del bus di I/O
male Slot da 0 a 9: da 00 a 09 esadecimale
Slot sconosciuto: 0F esadecimale
• Bit da 08 a 15: numero del rack in cui si è verificato
l'errore del bus di I/O
Slot da 0 a 7: da 00 a 07 esadecimale
Rack sconosciuto: 0F esadecimale
Errore di 80E9 Numero di modulo duplicato dell'unità bus CPU
duplicazione esadeci Da 0000 a 000F esadecimale
numero unità male
Numero di modulo duplicato del modulo di I/O speciale
Da 8000 a 805F esadecimale
Errore di 80EA Numero duplicato di rack (assegnazioni di canali
duplicazione esadeci sovrapposti)
numero rack male Da 0000 a 0006 esadecimale
Errore 82F0 Causa dell'errore
irreversibile esadeci Bit da 00 a 03: errore definito dalla scheda interna
della scheda male Bit da 04 a 15: non validi
interna
1091
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se N non rientra nell'intervallo specificato compreso
tra 0001 e 01FF (da 1 a 511 decimale).
ON se un errore di sistema irreversibile è in fase di
generazione (solo con CS1-H, CJ1-H, CJ1M e CS1D),
ma il codice di errore o i dettagli di errore specificati sono
scorretti.
OFF in tutti gli altri casi.
Nelle tabelle qui di seguito sono riportati i canali e i flag relativi nell'area
ausiliaria.
• Solo canali dell'area ausiliaria / flag per errori definiti dall'utente
Nome Indirizzo Funzionamento
flag di errore FALS A40106 ON quando viene generato un errore con
l'istruzione FAL(007).
• Solo canali dell'area ausiliaria / flag per errori di sistema (solo CPU CS1-
H, CJ1-H, CJ1M e CS1D)
Nome Indirizzo Funzionamento
Numero FAL/FALS A529 Quando un errore di sistema è generato con
generato dal sistema FALS(007), viene utilizzato un numero FAL/
FALS fittizio. Impostare lo stesso numero FAL/
FALS fittizio in questo canale (da 0001 a 01FF
esadecimale, da 1 a 511 decimale).
• Solo canali dell'area ausiliaria / flag per errori definiti dall'utente ed errori
di sistema
Nome Indirizzo Funzionamento
Area del log Da A100 L'area del log degli errori contiene i codici di
degli errori ad A199 errore e l'indicazione di ora e giorno dell'evento
relativi ai 20 errori più recenti, compresi quelli
generati da FALS(007).
Codice di errore A400 Quando si verifica un errore, il relativo codice
viene memorizzato in A400. I codici di errore per i
numeri FALS da 0001 a 01FF (da 1 a 511
decimale) vanno rispettivamente da C101 a C2FF.
Quando si verificano due o più errori
contemporaneamente, il codice di errore
dell'errore più grave viene memorizzato in A400.
1093
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
31
M
M: 4C 4F
57 20
56 4F
MESSAGE
4C 54
LOW VOLTAGE
41 47
45 00
1,2,3... 1. Se si tratta dell'errore più grave, il codice di errore specificato (80E1) viene
scritto in A400.
2. Il codice di errore e il momento in cui tale errore si è verificato vengono
scritti nell'area del log degli errori (da A100 ad A199).
3. Il flag di superamento del numero di punti di I/O massimo (A40111) viene
attivato.
4. L'indicatore ERR della CPU si accende e il funzionamento del PLC viene
interrotto.
5. Viene visualizzato un messaggio (TOO MANY I/O PNT) sulla console di
programmazione che segnala che si è verificato un errore di superamento
del numero di punti di I/O massimo.
000000
MOV
#000A
A529
FALS
N 10
S D00200
Valori
corrispondenti
A529CH 000A
Codice di errore: 80E1 (errore di superamento del numero di
S:D00200 80E1 punti di I/O massimo)
D00201 A009 Numero di rack di espansione: 9
1094
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Simbolo programmazione
ladder
FPD(269)
C C: canale di controllo
T: tempo di
T
monitoraggio
R R: primo canale registro
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FPD(269)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
Non consentita OK OK Non consentita
T: tempo di monitoraggio
T deve essere compreso tra 0 e 9.999 decimale (tra 0000 e 270F esadeci-
male). Il valore 0 disattiva il monitoraggio del tempo, mentre i valori compresi
tra 1 e 270F impostano il tempo di monitoraggio tra 0,1 e 999,9 secondi.
R: primo canale registro
Le funzioni dei canali registro sono descritte a pagina 1098.
Caratteristiche operando
Area C T R
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A000 ad A447 Da A448 ad A959
Da A448 ad A959
1095
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Area C T R
Area del temporizzatore --- Da T0000 a T4095
Area del contatore --- Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Solo valori Da #0000 a #270F ---
specificati (binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a
+2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
T
R
Blocco di
Blocco di istruzioni elaborazione
successivo dell'errore
Blocco dell'analisi diagnostica della logica* (opzionale)
Condizione di esecu-
zione dell'analisi diag-
nostica della logica C
Uscita diagnostica B
Nota *Il blocco dell'analisi diagnostica della logica inizia con la prima istruzione LD
(non LD TR) oppure LD NOT dopo FPD(269) e termina con la prima
istruzione OUT (non OUT TR) o altra istruzione sul lato destro.
1096
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Flag di riporto
Generato errore non fatale
Nota L'uscita diagnostica deve essere attivata entro il tempo di monitoraggio. Per
impostare il tempo di monitoraggio in modo automatico, è possibile utilizzare
la funzione di autoimpostazione.
Quando viene attivato il flag di riporto, avviene la seguente elaborazione
(purché il numero FAL non sia impostato su 000 in C).
1,2,3... 1. Viene attivato il flag di errore FAL (A40215) (il PLC continua a funzionare).
2. Viene attivato il flag dei numeri di FAL eseguiti per il numero FAL
specificato. I flag da A36001 ad A39115 corrispondono ai numeri FAL da
001 a 1FF.
3. Il codice di errore corrispondente viene scritto in A400. I codici di errore da
4101 a 42FF corrispondono ai numeri FAL da 001 a 1FF.
Se contemporaneamente si è verificato un errore più grave, cioè un errore
con un codice di errore più alto, il codice di errore di tale errore viene
memorizzato in A400.
4. Il codice di errore e il momento in cui tale errore si è verificato vengono
scritti nell'area del log degli errori (da A100 ad A199).
5. L'indicatore ERR della CPU lampeggia.
6. Se la modalità di uscita è stata impostata per l'output di indirizzo e
messaggio bit (cifra più a sinistra di C impostata su 8), viene visualizzato
il messaggio ASCII memorizzato da R+2 a R+10 come messaggio di
errore non fatale.
Funzione di analisi diagnostica della logica
Per ogni ciclo in cui la condizione di esecuzione di FPD(269) è impostata su
ON, l'istruzione individua il bit di ingresso che determina la disattivazione
dell'uscita diagnostica e scrive l'indirizzo di tale bit nell'area di registro che
inizia in R.
Nell'esempio che segue, se i bit di ingresso compresi tra CIO 000000 e
CIO 000003 sono tutti impostati su ON, FPD(269) consente di evincere che la
condizione di CIO 000002, normalmente chiusa, è responsabile della
disattivazione prolungata del CIO 000100 di uscita. FPD(269) attiverebbe il
flag di indirizzo bit trovato (bit 15 di R) scrivendo l'indirizzo del bit nei canali
registro da R+2 a R+4.
Blocco dell'analisi
diagnostica della logica
Condizione di esecuzione
dell'analisi diagnostica della logica
1097
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
La funzione di analisi diagnostica della logica viene eseguita a ogni ciclo fino
a quando la condizione di esecuzione di FPD(269) è impostata su ON. La
funzione di analisi diagnostica della logica prescinde da quella di
monitoraggio del tempo.
Quando due o più bit di ingresso impediscono l'attivazione dell'uscita
diagnostica, l'indirizzo del primo bit di ingresso nella condizione di esecuzione
(sulla riga più alta dell'istruzione e più vicina alla barra di distribuzione
sinistra) viene inviato nell'intervallo compreso tra R+2 ed R+4.
La funzione di analisi diagnostica della logica verifica i bit di ingresso nelle
istruzioni LD, LD NOT, AND, AND NOT, OR e OR NOT, comprese le variazioni
di aggiornamento differenziato e immediato. Non verranno controllati i bit di
ingresso di altre istruzioni e operandi indirizzati indirettamente tramite indirizzi
indice.
Il blocco dell'analisi diagnostica della logica inizia con la prima istruzione LD
(non LD TR) oppure LD NOT dopo FPD(269) e termina con la prima
istruzione OUT (non OUT TR) o altra istruzione sul lato destro.
Le modalità di uscita diagnostica sono due e si impostano con la cifra più a
sinistra di C.
Funzioni del canale I canali registro contengono i risultati della funzione di diagnostica ed
registro eventualmente anche un messaggio ASCII di errore che viene visualizzato se
la funzione di monitoraggio del tempo genera un errore. La funzione dei canali
registro dipende dalla modalità di uscita diagnostica impostata con la cifra più
a sinistra di C.
1098
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Utilizzo impossibilitato
Tipo di ingresso
0: normalmente aperto
1: normalmente chiuso
Flag di indirizzo bit trovato
0: non ancora trovato
1: indirizzo bit trovato
15 0
R+1
Utilizzo impossibilitato
R+2 R+3
Utilizzo
Tipo di ingresso impossibilitato
0: normalmente aperto
1: normalmente chiuso
Flag di indirizzo bit trovato
0: non ancora trovato
1: indirizzo bit trovato
15 0
R+1
Utilizzo impossibilitato
1099
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
15
R+2 W 5
R+3 1 1 Indirizzo bit scritto in ASCII
R+4 1 5
Per W51115 i canali registro compresi tra R+2 ed R+5 avrebbero i seguenti
valori:
Canale Bit da 8 a 15 Bit da 0 a 7
R+2 W 5
R+3 1 1
R+4 1 5
R+5 2D (esadecimale) Tipo di ingresso (esadecimale)
30: normalmente aperto
31: normalmente chiuso
1100
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Nella tabella qui di seguito sono riportati i canali e i flag relativi nell'area
ausiliaria.
Nome Indirizzo Funzionamento
Flag di errore A40215 ON se viene registrato un errore (FAL) non-fatale nel
FAL monitoraggio del tempo.
Flag numeri Da Quando viene registrato un errore (FAL) non fatale nel
di FAL A36001 ad monitoraggio del tempo, viene attivato il flag
eseguiti A39115 corrispondente. I flag da A36001 ad A39115
corrispondono ai numeri FAL da 0001 a 01FF.
Area del log Da A100 L'area del log degli errori contiene i codici di errore e
degli errori ad A199 l'indicazione di ora e giorno dell'evento relativi ai 20 errori
più recenti, compresi quelli generati da FPD(269).
Codice di A400 Quando si verifica un errore, il relativo codice viene
errore memorizzato in A400. I codici di errore per i numeri FAL
da 0001 a 01FF vanno rispettivamente da 4101 a 42FF.
Quando si verificano due o più errori
contemporaneamente, il codice di errore dell'errore più
grave viene memorizzato in A400.
Bit di A59800 Attivare questo bit per impostare automaticamente
autoimposta (funzione di autoimpostazione) il tempo di monitoraggio
zione FPD quando viene eseguita l'istruzione FPD(269).
Avvertenze Durante l'utilizzo della funzione di monitoraggio del tempo è necessario che la
condizione di esecuzione di FPD(269) resti impostata su ON per tutto il tempo
di monitoraggio impostato in T.
La condizione di esecuzione di FPD(269) deve essere composta da una
combinazione di ingressi normalmente aperti e normalmente chiusi.
Il blocco di elaborazione dell'errore è opzionale Se si include un blocco di ela-
borazione dell'errore, verificare che vengano utilizzate le uscite o altre istru-
zioni sul lato destro. In questa fase non è possibile utilizzare LD ed LD NOT.
FPD(269) può essere specificata più di una volta, ma è necessario che ogni
istruzione presenti un'impostazione univoca di registro(R).
1101
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
T &100
R
Blocco di
elaborazione
dell'errore
(opzionale)
Blocco dell'analisi diagnostica della logica
Condizione di esecuzione dell'analisi diagnostica della logica
Uscita diagnostica
Numero FAL = 10
Modalità di uscita diagnostica = 0
Flag di indirizzo bit trovato (output di indirizzo bit)
1: indirizzo bit trovato
Tipo di ingresso
0: normalmente aperto
R: Non utilizzato
Non utilizzato
1102
Istruzioni di diagnostica per malfunzionamento Capitolo 3-30
Numero FAL = 10
Modalità di uscita diagnostica = 8 (output di indirizzo e messaggio bit)
Flag di indirizzo bit trovato
1: indirizzo bit trovato Tipo di ingresso
0: normalmente aperto
R: D00300
R+1: D00301 Non utilizzato
R+2: D00302 30 31
R+3: D00303 30 30 Contiene l'indirizzo bit in ASCII
(010000 viene convertito in ASCII)
R+4: D00304 30 30
R+5: D00305 2D 30
R+6: D00306 54 25
R+7: D00307 25 F4
Il messaggio di errore FAL impostato
25 00 dall'utente viene inviato a un
R+8: D00308
00 00 dispositivo periferico dalla funzione di
R+9: D00309 monitoraggio del tempo. Il dispositivo
R+10: D00310 00 00 segnala: 010000-0 ERROR.
Uscita diagnostica
1103
Altre istruzioni Capitolo 3-31
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON STC(040)
Eseguita una sola volta per differenziazione @STC(040)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1104
Altre istruzioni Capitolo 3-31
Flag
Nome Etichetta Funzionamento
Flag di errore ER OFF o non modificato (vedere nota)
Flag di = OFF o non modificato (vedere nota)
uguaglianza
Flag di riporto CY ON
Flag negativo N OFF o non modificato (vedere nota)
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1-H, CJ1-H, CJ1M e CS1D questi flag vengono lasciati inalterati.
Avvertenze ROL(027), ROLL(572), ROR(028) e RORL(573) utilizzano il flag di riporto
nelle loro operazioni di scorrimento a rotazione. Per impostare e cancella re il
flag di riporto durante una di tali istruzioni, utilizzare STC(040) CLC(041).
3-31-2 CLEAR CARRY: CLC(041)
Scopo Disattiva il flag di riporto (CY).
Simbolo programmazione
ladder
CLC(041)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CLC(041)
Eseguita una sola volta per differenziazione @CLC(041)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Nota Nelle CPU CS1 e CJ1 questi flag sono impostati su OFF.
Nelle CPU CS1-H, CJ1-H, CJ1M e CS1D questi flag vengono lasciati
inalterati.
1105
Altre istruzioni Capitolo 3-31
Simbolo programmazione
ladder
EMBC(281)
N: numero del banco
N EM
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON EMBC(281)
Eseguita una sola volta per differenziazione @EMBC(281)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1106
Altre istruzioni Capitolo 3-31
Area N
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione EMBC(281) modifica l'attuale banco EM (area di memoria dei dati estesa) in
quello indicato dal numero banco EM (N). Allo stesso tempo, il nuovo numero
banco EM viene inviato ad A301.
Nell'area EM sono disponibili fino a 13 banchi (da 0 a C) in ognuno dei quali vi
sono 32.768 canali (da E00000 a E32767). Gli indirizzi EM possono essere
identificati nei due modi descritti qui di seguito. Se si utilizza il primo metodo,
è necessario specificare EMBC(281) per modificare l'attuale banco EM.
1,2,3... 1. Per specificare indirizzi nell'attuale banco EM, è possibile indicare indirizzi
EM senza numero di banco, ad esempio, da E00000 a E32767.
2. Per specificare indirizzi in un determinato banco EM, è possibile indicare
indirizzi EM con numero di banco, ad esempio, da En_00000 a En_32767
(n = da 0 a C).
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se N non rientra nell'intervallo specificato da 0000 a
000C.
ON se N indica un numero di banco EM inesistente.
Tale errore si verifica se il banco EM specificato è stato
registrato come memoria per i file nelle impostazioni del
PLC.
OFF in tutti gli altri casi.
Avvertenze Se un'operazione viene invertita tra task, è mantenuto l'attuale numero banco
EM modificato in un task ciclico. Ad esempio, se EMBC(281) viene utilizzato
nel task 1 per modificare l'attuale numero banco EM dal banco B al banco C,
quest'ultimo sarà il banco EM corrente per tutti i task ciclici anche quando
l'operazione passa al task 2.
L'attuale numero banco EM modificato in un task ad interrupt è valido solo
durante l'esecuzione dell'interrupt in cui ha subito la modifica. Il precedente
numero banco EM verrà restituito al completamento dell'esecuzione del task
ad interrupt.
Se il banco EM specificato è stato registrato come memoria per i file nelle
impostazioni del PLC, si verifica un errore.
Esempi Nell'esempio seguente, quando CIO 000000 passa a ON , l'attuale numero
banco EM viene modificato in banco C e il nuovo numero banco (000C
esadecimale ) viene inviato in A301.
1107
Altre istruzioni Capitolo 3-31
Simbolo programmazione
ladder
WDT(094)
T: impostazione del
T
temporizzatore
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON WDT(094)
Eseguita una sola volta per differenziazione @WDT(094)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area T
Area CIO ---
Area di lavoro ---
Area bit di ritentività ---
Area bit ausiliaria ---
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti Da 0000 a 0F9F (binario)
Registri dati ---
Registri indice ---
Indirizzamento indiretto ---
con i registri indice
1108
Altre istruzioni Capitolo 3-31
Descrizione WDT(094) prolunga il tempo di ciclo massimo nel ciclo in cui viene eseguita
l'istruzione. L'impostazione del temporizzatore watchdog nella configurazione
del PLC viene aumentata di un intervallo di T × 10 ms (da 0 a 39.990 ms).
Nella tavola seguente sono riportate le impostazioni del temporizzatore
watchdog nella configurazione del PLC. Il valore predefinito per il tempo di
ciclo massimo è 1.000 ms, ma è possibile impostare qualsiasi valore
compreso tra 1 e 40.000 ms in unità di 10 ms.
Nome Funzione Impostazioni
Tempo ciclo Se il tempo di ciclo supera 0: impostazione predefinita
di monito- l'impostazione massima, verrà (1.000 ms)
raggio registrato un errore di superamento del 1: impostazione tempo utente
tempo di ciclo massimo (fatale).
Imposta il tempo di ciclo massimo Da 0001 a 0FA0
(l'impostazione è valida solo quando la (da 1 a 40.000 ms in unità di
prima impostazione è predefinita su 1). 10 ms)
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se l'impostazione del temporizzatore watchdog
supera 40 secondi.
OFF in tutti gli altri casi.
Nella tabella qui di seguito sono riportati i flag e i canali relativi nell'area
ausiliaria.
Nome Indirizzo Funzionamento
Flag di superamento A40108 ON quando il tempo di ciclo corrente supera il
del tempo di ciclo tempo di ciclo massimo (tempo ciclo di
massimo monitoraggio) impostato nella configurazione del
PLC. Si tratta di un errore fatale che determina
l'interruzione dell'esecuzione del programma.
Tempo di ciclo A262 e Questi canali contengono il tempo di ciclo
massimo A263 massimo in formato binario a 32 bit. Il valore
viene aggiornato a ogni ciclo.
Tempo di ciclo A264 e Questi canali contengono il tempo di ciclo attuale
attuale A265 in formato binario a 32 bit. Il valore viene
aggiornato a ogni ciclo.
Avvertenze È possibile utilizzare WDT(094) più di una volta in un ciclo. In tal caso, gli
aumenti del tempo di ciclo vengono sommati, ma il totale non deve superare
40.000 ms. Se il ciclo è stato già prolungato fino a 40.000 ms, non è più
possibile eseguire WDT(094).
Esempi Nell'esempio viene utilizzato il tempo di ciclo massimo predefinito di 1.000 ms.
1,2,3... 1. Quando CIO 000000 passa a ON, la prima istruzione WDT(094) aumenta
il tempo di ciclo massimo di 300 ms (30 × 10 ms). In questo caso il tempo
di ciclo massimo sarà di 1.300 ms.
2. Quando CIO 000001 passa a ON, la seconda istruzione WDT(094) tenta
di aumentare il tempo di ciclo massimo di altri 39.000 ms. Poiché il nuovo
tempo di ciclo massimo (40.300 ms) è maggiore del limite superiore di
40.000 ms, i 300 ms in eccesso vengono ignorati. Di conseguenza, la
seconda istruzione WDT(094) prolunga il tempo di ciclo massimo di
38.700 ms effettivi.
3. Quando CIO 000002 passa a ON, la terza istruzione WDT(094) tenta di
aumentare il tempo di ciclo massimo di altri 1.000 ms. Poiché il tempo di
ciclo massimo ha già raggiunto il limite superiore di 40.000 ms, la terza
istruzione non verrà eseguita.
1109
Altre istruzioni Capitolo 3-31
Simbolo programmazione
ladder CCS(282)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CCS(282)
Eseguita una sola volta per differenziazione @CCS(282)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1110
Altre istruzioni Capitolo 3-31
CCS
CCS
CCL
CCL
Tra cicli
A
CCL(283) viene eseguita per leggere lo
CCS
stato nel ciclo successivo all'esecuzione
B dell'istruzione di memorizzazione dello
CCL stato CCS(282).
Nota 1. Non è possibile salvare/caricare lo stato dei flag di condizione tra un task
ciclico e uno ad interrupt.
2. Quando viene eseguita, CCS(282) sovrascrive le informazioni esistenti sui
flag di condizione.
Nel passaggio da un task all'altro vengono eliminati tutti i flag di condizione.
Per salvare e caricare lo stato dei flag di condizione tra task o cicli, utilizzare
le istruzioni CCS(282) e CCL(283).
Ad esempio, CCS(282) e CCL(283) consentono di utilizzare lo stato del flag
CY (errore diagnostico del monitoraggio del tempo) dall'esecuzione di
FPD(269) a una fase successiva del programma e non necessariamente solo
in seguito all'esecuzione dell'istruzione.
Task
Istruzione A
1111
Altre istruzioni Capitolo 3-31
000000
CMP Nell'esempio, quando CIO 000000 è ON,
D00000 CMP(020) confronta il contenuto di D00000 e
D00300 e il risultato di tale confronto viene
D00300
conservato da CCS(282).
CCS
=
MOV L'istruzione MOV(021) viene eseguita se il
D00000 risultato di CMP(020) ha determinato
D00200 l'attivazione del flag di uguaglianza.
Simbolo programmazione
ladder CCL(283)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CCL(283)
Eseguita una sola volta per differenziazione @CCL(283)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1112
Altre istruzioni Capitolo 3-31
Task
Istruzione A
Simbolo programmazione
ladder FRMCV(284)
S: canale contenente l'indirizzo di
S memoria del PLC della serie CV
D D: registro indice di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FRMCV(284)
Eseguita una sola volta per differenziazione @FRMCV(284)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1113
Altre istruzioni Capitolo 3-31
FRMCV
D00000
IR1
D00000 #2001
Memorizzazione
3. L'indirizzo di memoria del PLC
delle serie CS/CJ viene
memorizzato in D.
D00000 conversione
2000Hex
D00001 2001Hex S
Specificare in S l'indirizzo di memoria
del PLC della serie CV (in questo caso,
Indirizzo area E32765 FFFDHex 2001 esadecimale è l'indirizzo di
dati memoria del PLC di D00001).
corrispondente Serie CS/CJ
0000CH 0C000Hex
0001CH 0C001Hex
Nota Se nella serie CS/CJ non c'è alcun equivalente all'indirizzo di memoria del
PLC della serie CV specificato, si verifica un errore: viene attivato il flag di
errore e l'indirizzo non sarà convertito.
Se come operando si specifica un registro indice con un prefisso ",IR",
l'istruzione verrà applicata al canale indicato dall'indirizzo di memoria del PLC
nel registro indice, non al registro indice stesso. Una volta memorizzato
l'indirizzo prescelto di memoria del PLC in un registro indice, è possibile
utilizzare questo stesso registro in qualità di operando per un'istruzione.
1114
Altre istruzioni Capitolo 3-31
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6143 ---
Area di lavoro Da W000 a W511 ---
Area bit di ritentività Da H000 a H511 ---
Area bit ausiliaria Da A448 ad A959 ---
Area del temporizzatore Da T0000 a T4095 ---
Area del contatore Da C0000 a C4095 ---
Area DM Da D00000 a D32767 ---
Area EM senza banco Da E00000 a E32767 ---
Area EM con banco Da En_00000 a En_32767 ---
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767 ---
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767 ---
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Tutte le costanti tranne 09FF ---
esadecimale, da 0A00 a 0AFF
esadecimale o da 0D00 a 0E3F
esadecimale
Registri dati Da DR0 a DR15 ---
Registri indice --- Da IR0 a IR15
Indirizzamento indiretto Da ,IR0 a ,IR15 ---
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048
a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se S specifica uno dei seguenti indirizzi di memoria
del PLC inesistenti nelle serie CS/CJ:
Area di memorizzazione temporanea (TR) (09FF
esadecimale)
Area del link CPU Bus (G) (da 0A00 a 0AFF
esadecimale)
Aree SFC (da 0D00 a 0E3F esadecimale)
OFF in tutti gli altri casi.
1115
Altre istruzioni Capitolo 3-31
MOV FRMCV
S #1234 S D00000
D D IR0
In questo caso, il valore in D00000 è 0200 esadecimale. In questo caso, il valore in D00000 è 0200 esadecimale.
Il corrispondente indirizzo area dati è CIO 0512, per cui #1234 L'indirizzo area dati corrispondente per la serie CV è CIO
viene trasferito a CIO 0512. 0512. L'indirizzo di memoria del PLC della serie CS/CJ
Indirizzo del canale: per CIO 0512 è 0000C200 esadecimale; tale valore viene
Indirizzo di memoria del quindi memorizzato in IR0. L'operando di destinazione in
D00000 0200 esadecimale PLC delle serie CS/CJ
MOV(021) indirizza indirettamente il contenuto di IR0,
per cui #1234 viene trasferito in CIO 0512.
Indirizzo di memoria del
Indirizzo del canale: PLC delle serie CS/CJ
CIO 0512 #1234 Indirizzo del canale
0200 esadecimale
della serie CS/CJ: 0200 esadecimale
MOV(021) D00000
Indirizzo di
#1234 memoria di PLC
Indirizzo del canale della serie CV
della serie CV: 0200 esadecimale FRMCV
CIO0512 (284)
equivalente Indirizzo di
memoria del PLC
delle serie CS/CJ:
Indirizzo del canale della OC0200 esadecimale
serie CS/CJ: CIO 0512
Indirizzo del canale della
serie CS/CJ: IR0 000OC0200 esadecimale Indirizzo di
memoria del PLC
Indirizzo del canale della delle serie CS/CJ: MOV
serie CS/CJ: CIO 0512 #1234 OC0200 esadecimale (021)
MOV(021)
#1234
1116
Altre istruzioni Capitolo 3-31
000000
000000
Programma equivalente
FRMCV
MOV
S #0200
S #0200
D IR0
D IR0
0200 esadecimale
In questo caso, l'indirizzo di memoria del PLC della serie
CV 0200 esadecimale corrisponde a CIO 0512.
L'indirizzo di memoria del PLC della serie CS/CJ per CIO
0512 è 0000C200 esadecimale; tale valore viene quindi
IR0 #0200 memorizzato in IR0.
Indirizzo del
canale della CIO 0512
Indirizzo di memoria del
serie CS/CJ PLC delle serie CS/CJ:
00C200 esadecimale
IR #000C200
Simbolo programmazione
ladder TOCV(285) S: registro indice contenente
S l'indirizzo di memoria del PLC
della serie CS/CJ
D D: canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TOCV(285)
Eseguita una sola volta per differenziazione @TOCV(285)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
1117
Altre istruzioni Capitolo 3-31
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
TOCV
IR1
D00100
1118
Altre istruzioni Capitolo 3-31
D00000 conversione
10000 esadecimale
D00001 10001 esadecimale S
Specificare in S l'indirizzo di
memoria del PLC della serie
EC_32767 FFFFF esadecimale CS/CJ (in questo caso,
10001 esadecimale è
Serie CV l'indirizzo di memoria del
Indirizzo area PLC di D00001).
dati 0000CH 0000 esadecimale
corrispondente 0001CH 0001 esadecimale
Il corrispondente indirizzo di
D00000 conversione 2000 esadecimale memoria del PLC della serie
CV viene memorizzato in D (in
D00001 2001 esadecimale questo caso, l'indirizzo area
dati D00001 viene convertito
E32765 FFFD esadecimale nell'indirizzo di memoria del
PLC 2001 esadecimale e
memorizzato).
D: D00100 2001 esadecimale
Nota 1. Se nella serie CV non c'è alcun equivalente all'indirizzo di memoria del
PLC della serie CS/CJ specificato, si verifica un errore: viene attivato il flag
di errore e l'indirizzo non sarà convertito.
2. I dati relativi all'indirizzo di memoria del PLC della serie CV memorizzati
da TOCV(285) possono essere trasferiti mediante CX-Programmer in un
PLC della serie CV.
3. Nel programma della serie CV è possibile specificare lo stesso indirizzo
area dati utilizzato nel programma della serie CS/CJ mediante l'indirizza-
mento indiretto del registro indice (prefisso ",IR") o l'indirizzamento indiret-
to DM in modalità binaria (*DM).
Caratteristiche operando
Area S D
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A448 ad A959
Area del temporizzatore --- Da T0000 a T4095
Area del contatore --- Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Vedere nota 1 ---
Registri dati --- Da DR0 a DR15
1119
Altre istruzioni Capitolo 3-31
Area S D
Registri indice Da IR0 a IR15 ---
Indirizzamento indiretto --- Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da
–2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Nota 1. Se S indica uno dei seguenti indirizzi di memoria del PLC, inesistenti nella
serie CV, si verificherà un errore e verrà attivato il flag di errore:
Area o indirizzi Indirizzi di memoria del PLC
Area dei flag dei task Da 0000 B800 a 0000 B801 esadecimale
Da A512 ad A959 Da 0000 BA40 a 0000 BBFF esadecimale
Da CIO 2556 a CIO 6143 Da 0000 C9FC a 0000 D7FF esadecimale
Da T1024 a T4095 Da 0000 BE40 a 0000 BEFF esadecimale e
da 0000 E400 a 0000 EFFF esadecimale
Da C1024 a C4095 Da 0000 BF40 a 0000 BFFF esadecimale e
da 0000 F400 a 0000 FFFF esadecimale
Area HR Da 0000 D800 a 0000 D9FF esadecimale
Area WR Da 0000 DE00 a 0000 DFFF esadecimale
Da D24576 a D32767 Da 0001 6000 a 0001 7FFF esadecimale
Specifica del banco EM Da 0001 8000 a 000F 7FFF esadecimale
Da E32766 a D32767 Da 000F FFFE a 000F FFFF esadecimale
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se S specifica un indirizzo di memoria del PLC
inesistente nei PLC della serie CV.
ON se S non è una costante o un registro indice.
OFF in tutti gli altri casi.
1120
Altre istruzioni Capitolo 3-31
• Programma per la serie CS/CJ • Programma per la serie CS/CJ • Programma della serie CV
(programmare utilizzando
l'indirizzamento del registro indice)
000000 000001 000000
MOV TOCV MOV
S #1234 S IR0 S #1234
D ,IR0 D D00200 D *D00200
Simbolo programmazione
ladder IOSP(287)
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON IOSP(287)
Eseguita una sola volta per differenziazione @IOSP(287)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK Non consentita
Descrizione Per disabilitare i tipi di gestione delle periferiche specificati qui di seguito,
utilizzare IOSP(287) in un task ciclico in modalità di elaborazione parallela
con accesso alla memoria sincrono o asincrono. La gestione delle periferiche
verrà nuovamente abilitata all'esecuzione di IORS(288), l'istruzione ENABLE
PERIPHERAL SERVICING.
1121
Altre istruzioni Capitolo 3-31
L'esecuzione della
gestione delle periferiche
è disabilitata tra
IOSP(287) e IORS(288).
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se IOSP(287) viene eseguita in un task ad
interrupt.
OFF in tutti gli altri casi.
1122
Altre istruzioni Capitolo 3-31
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON IORS(288)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK Non consentita
1123
Istruzioni di programmazione a blocchi Capitolo 3-32
3-32-1 Introduzione
Programmi a blocchi
Fino a 128 programmi a blocchi nel programma utente completo (tutti i task)
nella serie CS/CJ. L'esecuzione di ogni programma a blocchi viene controllata
da un'unica condizione di esecuzione. Quando la condizione di esecuzione di
BPRG(096) viene impostata su ON, tutte le istruzioni tra BPRG(096) e
BEND(801) vengono eseguite incondizionatamente. Ad eccezione di
BPRG(096), l'esecuzione di tutte le istruzioni di programmazione a blocchi
non è influenzata dalla condizione di esecuzione. Ciò consente di raggrup-
pare in un programma a blocchi la programmazione da eseguire con un'unica
condizione di esecuzione.
Ciascun blocco viene avviato da una condizione di esecuzione nel dia-
gramma ladder e tutte le istruzioni del blocco sono scritte in forma mnemo-
nica. Il programma a blocchi è quindi una combinazione di istruzioni ladder e
mnemoniche.
I programmi a blocchi consentono operazioni di programmazione che risulte-
rebbero complesse con i diagrammi ladder, come le diramazioni condizionali
e le progressioni step.
1124
Istruzioni di programmazione a blocchi Capitolo 3-32
Aree di programmazione a
1
Quando CIO 000000 è ON, verrà
eseguito il contenuto del programma a
blocchi 1. Vengono eseguite
incondizionatamente le istruzioni
MOV(021) e SET e il programma a
blocchi terminerà.
2 Aree di programmazione a
Quando CIO 000001 è ON, verrà
eseguito il contenuto del programma a
blocchi 2. Se CIO 000003 e CIO 000004
sono entrambi ON, viene eseguita
l'addizione binaria (CIO 0002 +
#000A→D00001).
Se uno di tali bit o entrambi sono OFF,
#0001 viene spostato in D00001.
CIO 000015 viene quindi impostato
incondizionatamente e il programma a
blocchi terminerà.
1125
Istruzioni di programmazione a blocchi Capitolo 3-32
Programma
Task 1 Programma a blocchi 001
N. programma a blocchi
Task 2
Task n
"A" eseguito
(tra IF e IEND)
1126
Istruzioni di programmazione a blocchi Capitolo 3-32
Utilizzati Impossibile
come utilizzarli
condizione come
di ese- condizione
cuzione di ese-
per IF. cuzione per
MOV(021).
1127
Istruzioni di programmazione a blocchi Capitolo 3-32
BEND(801)
1128
Istruzioni di programmazione a blocchi Capitolo 3-32
Variazioni BPRG(096)
Variazioni Eseguita a ogni ciclo con condizione ON BPRG(096)
Eseguita una sola volta per differenziazione Non supportata
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
BEND(801)
Variazioni Eseguita sempre nel programma a
blocchi
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
(vedere nota) OK OK OK
Nota BPRG(096) è consentita una sola volta all'inizio di ogni programma a blocchi.
Caratteristiche operando
(BPRG(096)) Area N
Area CIO ---
Area di lavoro ---
Area bit di ritentività ---
Area bit ausiliaria ---
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti in binario ---
Indirizzi DM/EM indiretti in BCD ---
Costanti Da 0 a 127 (decimale)
Registri dati ---
Registri indice ---
Indirizzamento indiretto con i ---
registri indice
Programma a blocchi
Eseguito quando la condizione
di esecuzione è ON.
1129
Istruzioni di programmazione a blocchi Capitolo 3-32
Flag BPRG(096)
Nome Etichetta Funzionamento
Flag di errore ER ON se BPRG(096) è stata già eseguita.
ON se N non è tra 0 e 127.
ON se viene usato più di una volta lo stesso numero di
programma a blocchi.
OFF in tutti gli altri casi.
BEND(801)
Nome Etichetta Funzionamento
Flag di errore ER ON se un programma a blocchi non è in fase di
esecuzione.
OFF in tutti gli altri casi.
Avvertenze All'interno del programma utente ciascun numero di programma a blocchi può
essere utilizzato una sola volta.
I programmi a blocchi non possono venire nidificati.
Nidificazione non consentita
1130
Istruzioni di programmazione a blocchi Capitolo 3-32
Esempi Nell'esempio seguente, quando CIO 000000 è passa a ON, viene eseguito il
programma a blocchi 0. Quando CIO 000000 è OFF, il programma a blocchi
non verrà eseguito.
Programma a
blocchi 0
Simbolo programmazione
ladder BPPS(811) N N: numero programma a
BPRS(812) N blocchi
Variazioni
Variazioni Eseguita sempre nel programma a blocchi
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1131
Istruzioni di programmazione a blocchi Capitolo 3-32
Area N
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti in binario ---
Indirizzi DM/EM indiretti in BCD ---
Costanti Da 0 a 127 (decimale)
Registri dati ---
Registri indice ---
Indirizzamento indiretto con i ---
registri indice
... ...
Istruzione Istruzione BPRS(812)
... BPPS(811) eseguita ... eseguita dal
dal programma a programma a blocchi n.
blocchi n.
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se BPPS(811) o BPRS(812) non sono in un
programma a blocchi.
ON se N non è tra 0 e 127.
OFF in tutti gli altri casi.
1132
Istruzioni di programmazione a blocchi Capitolo 3-32
0
Programma a blocchi 0
1
Programma a Se l'istruzione BPPS(811) nel programma a
blocchi 1 blocchi 0 è stata eseguita, il programma a
blocchi 1 non viene eseguito anche se CIO
000002 è ON.
Simbolo programmazione
ladder IF(802) B B: bit operando
IF(802)
IF(802) NOT B
ELSE(803)
IEND(804)
Variazioni
Variazioni Eseguita sempre nel programma a blocchi
1133
Istruzioni di programmazione a blocchi Capitolo 3-32
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Caratteristiche operando
Area B
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit di ritentività Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A44715
Da A44800 ad A95915
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, >, =, <, N, OF, UF, >=, <>, <=, ON, OFF, AER
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1134
Istruzioni di programmazione a blocchi Capitolo 3-32
Condizione di
Condizione di
esecuzione esecuzione ON?
"A" eseguito
(tra IF e IEND)
Bit operando
ON?
Bit operando
ON?
"A" eseguito
(tra IF e IEND)
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se le istruzioni di diramazione non sono in un
programma a blocchi.
ON se le diramazioni nidificate sono più di 254.
OFF in tutti gli altri casi.
1135
Istruzioni di programmazione a blocchi Capitolo 3-32
Nidificazione delle Nella diramazione di livello più elevato è possibile nidificare fino a 253
diramazioni diramazioni.
1136
Istruzioni di programmazione a blocchi Capitolo 3-32
1137
Istruzioni di programmazione a blocchi Capitolo 3-32
Variazioni
Variazioni Eseguita sempre nel programma a blocchi EXIT(806)
EXIT(806) B
EXIT NOT(806) B
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Nota EXIT(806) ed EXIT NOT(806) devono essere utilizzate nelle aree di program-
mazione a blocchi anche per subroutine e task ad interrupt.
Caratteristiche operando
Area B
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit di ritentività Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A44715
Da A44800 ad A95915
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, >, =, <, N, OF, UF, >=, <>, <=, ON, OFF, AER
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1138
Istruzioni di programmazione a blocchi Capitolo 3-32
Condizione di Condizione di
esecuzione esecuzione
OFF ON
A eseguito A eseguito
Condizione di
esecuzione
B eseguito
A eseguito A eseguito
B eseguito
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se EXIT(806) o EXIT NOT(806) non sono in un
programma a blocchi.
OFF in tutti gli altri casi.
1139
Istruzioni di programmazione a blocchi Capitolo 3-32
Simbolo programmazione
ladder WAIT(805)
WAIT(805) B B: bit operando
WAIT(805) NOT B
Variazioni
Variazioni Eseguita sempre nel programma a blocchi
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Nota WAIT(805) e WAIT(805) NOT devono essere utilizzate nelle aree di program-
mazione a blocchi anche per subroutine e task ad interrupt.
Caratteristiche operando
Area B
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit di ritentività Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A44715
Da A44800 ad A95915
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, >, =, <, N, OF, UF, >=, <>, <=, ON, OFF, AER
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
1140
Istruzioni di programmazione a blocchi Capitolo 3-32
Area B
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Condizione di
B eseguito
esecuzione
C C C eseguito
eseguito eseguito
Attesa
1141
Istruzioni di programmazione a blocchi Capitolo 3-32
B eseguito
C C C eseguito
eseguito eseguito
Attesa
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se WAIT(805) o WAIT(805) NOT non sono in un
programma a blocchi.
OFF in tutti gli altri casi.
Avvertenze WAIT(805) e WAIT(805) NOT possono essere utilizzate per progressioni step
all'interno dei programmi a blocchi.
Se WAIT(805) o WAIT(805) NOT non sono in un programma a blocchi, si
verifica un errore e viene attivato il flag di errore.
Nota Gli indirizzi di programma delle istruzioni WAIT con operandi specificati e gli
indirizzi di programma della prima istruzione che crea le condizioni di
esecuzione per le istruzioni WAIT senza operandi vengono registrati in
memoria per consentire il proseguimento dell'esecuzione in base alla
condizione di esecuzione o al bit operando. Se si esegue la modifica in linea
da un dispositivo periferico, tuttavia, lo stato di WAIT è cancellato e il
programma a blocchi viene nuovamente eseguito dall'inizio.
1,2,3... 1. Fino a quando CIO 000001 resta impostato su OFF, non verrà eseguito
alcuno dei programmi a blocchi. Quando CIO 000001 passa a ON, "A"
viene eseguito.
2. Se CIO 000002 è OFF dopo l'esecuzione di "A", la parte restante del
programma a blocchi non viene eseguita fino a quando CIO 000002 passa
a ON. Quando CIO 000002 passa a ON, "B" viene eseguito.
3. Se CIO 000003 è OFF dopo l'esecuzione di "B", la parte restante del
programma a blocchi non viene eseguita fino a quando CIO 000003 passa
a ON. Quando CIO 000003 passa a ON, "C" viene eseguito e
l'elaborazione dell'esecuzione viene ripetuta.
1142
Istruzioni di programmazione a blocchi Capitolo 3-32
CIO 00000
1 ON, CIO 000001,
CIO 00000 CIO 00000 CIO 00002 e
CIO 000 1 ON e 2 ON e CIO 000003
0 001 CIO 00000 CIO 00000 ON
OFF 2 OFF 3 OFF
1143
Istruzioni di programmazione a blocchi Capitolo 3-32
Variazioni
Variazioni Eseguita sempre nel programma a blocchi
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK Non consentita
Caratteristiche operando
Area N SV
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A000 ad A447
Da A448 a A959
Area del temporizzatore Da 0000 a 4095 Da T0000 a T4095
Area del contatore --- Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a
@ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
1144
Istruzioni di programmazione a blocchi Capitolo 3-32
Area N SV
Costanti --- BCD:
da #0000 a 9999 (BCD).
Impossibile utilizzare “&”
Binario:
da &0 a &65535 (decimale)
da #0000 a #FFFF
(esadecimale)
Registri dati --- Da DR0 a DR15
Registri indice --- ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
A eseguito
ed SV
preim-
postato
Tempo trascorso
B eseguito
C eseguito
1145
Istruzioni di programmazione a blocchi Capitolo 3-32
Flag
Nome Etichetta Funzionamento
Flag di ER ON se TIMW(813)/TIMWX(816) non sono in un programma
errore a blocchi.
ON se viene utilizzata un'identificazione IR indiretta per N in
modalità BCD e l'indirizzo non è per il valore attuale di un
temporizzatore.
ON se in modalità BCD con SV non BCD.
OFF in tutti gli altri casi.
Il temporizzatore fi-
nisce di cronometrare.
1146
Istruzioni di programmazione a blocchi Capitolo 3-32
1 4
Variazioni
Variazioni Eseguita sempre nel programma a blocchi
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1147
Istruzioni di programmazione a blocchi Capitolo 3-32
Caratteristiche operando
Area N SV I
Area CIO --- Da CIO 0000 a CIO 6143 Da CIO 000000 a
CIO 614315
Area di lavoro --- Da W000 a W511 Da W00000 a
W51115
Area bit di ritentività --- Da H000 a H511 Da H00000 a
H51115
Area bit ausiliaria --- Da A000 ad A447 Da A00000 ad
Da A448 ad A959 A44715
Da A44800 ad
A95915
Area del temporizzatore --- Da T0000 a T4095 Da T0000 a T4095
Area del contatore Da C0000 Da C0000 a C4095 Da C0000 a
a C4095 C4095
Flag dei task --- Da TK0000 a
TK0031
Flag di condizione --- ER, CY, >, =, <, N,
OF, UF, >=, <>,
<=, ON,OFF, AER
Impulsi di clock --- 0,02 s, 0,1 s, 0,2
s, 1 s, 1 min
Area DM --- Da D00000 a D32767 ---
Area EM senza banco --- Da E00000 a E32767 ---
Area EM con banco --- Da En_00000 a En_32767 ---
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @D00000 a @D32767 ---
in binario Da @ E00000 a
@ E32767
Da @ En_00000 a @
En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767 ---
in BCD Da *E00000 a *E32767
Da *En_00000 a
*En_32767
(n = da 0 a C)
Costanti --- BCD: ---
da #0000 a 9999 (BCD).
Impossibile utilizzare "&"
Binario:
da &0 a &65535
(decimale)
da #0000 a #FFFF
(esadecimale)
Registri dati --- Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1148
Istruzioni di programmazione a blocchi Capitolo 3-32
A
eseguito
SV preimpostato
Conteggio raggiunto
B eseguito
C eseguito C C
eseguito eseguito
Flag
Nome Etichetta Funzionamento
Flag di ER ON se CNTW(814)/CNTWX(818) non sono in un
errore programma a blocchi.
ON se viene utilizzata un'identificazione IR indiretta per N in
modalità BCD e l'indirizzo non è per il valore attuale di un
contatore.
ON se, impostata la modalità BCD, il valore impostato non è
BCD.
OFF in tutti gli altri casi.
1149
Istruzioni di programmazione a blocchi Capitolo 3-32
Esempi Nell'esempio che segue, quando CIO 000000 è ON, "A" viene eseguito,
mentre l'esecuzione del resto del programma a blocchi "B" dovrà attendere
fino a 7.000 conteggi di CIO 000100.
0 Conteggiato
CIO 000100.
Aggior-
nato Aggiornato
Completamento
del conteggio
1 4
1150
Istruzioni di programmazione a blocchi Capitolo 3-32
Variazioni
Variazioni Eseguita sempre nel programma a blocchi
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK Non consentita
Caratteristiche operando
Area N SV
Area CIO --- Da CIO 0000 a CIO 6143
Area di lavoro --- Da W000 a W511
Area bit di ritentività --- Da H000 a H511
Area bit ausiliaria --- Da A000 ad A447
Da A448 ad A959
Area del temporizzatore Da 0000 a 4095 Da T0000 a T4095
Area del contatore --- Da C0000 a C4095
Area DM --- Da D00000 a D32767
Area EM senza banco --- Da E00000 a E32767
Area EM con banco --- Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a
@ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti --- Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- BCD:
da #0000 a 9999 (BCD).
Impossibile utilizzare "&"
Binario:
da &0 a &65535 (decimale)
da #0000 a #FFFF
(esadecimale)
Registri dati --- Da DR0 a DR15
Registri indice --- ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1151
Istruzioni di programmazione a blocchi Capitolo 3-32
A
eseguito
SV preimpostato
Tempo trascorso
B eseguito
C eseguito
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se TMHW(815)/TMHWX(817) non sono in un
programma a blocchi.
ON se viene utilizzata un'identificazione IR indiretta per N
in modalità BCD e l'indirizzo non è per il valore attuale di
un temporizzatore.
ON se in modalità BCD con SV non BCD.
OFF in tutti gli altri casi.
1152
Istruzioni di programmazione a blocchi Capitolo 3-32
1153
Istruzioni di programmazione a blocchi Capitolo 3-32
Caratteristiche operando
Area B
Area CIO Da CIO 000000 a CIO 614315
Area di lavoro Da W00000 a W51115
Area bit di ritentività Da H00000 a H51115
Area bit ausiliaria Da A00000 ad A44715
Da A44800 ad A95915
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Flag dei task Da TK0000 a TK0031
Flag di condizione ER, CY, >, =, <, N, OF, UF, >=, <>, <=, ON,OFF, AER
Impulsi di clock 0,02 s, 0,1 s, 0,2 s, 1 s, 1 min
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1154
Istruzioni di programmazione a blocchi Capitolo 3-32
Condizione di esecuzione
Ciclo ripetuto
Ciclo ripetuto
1155
Istruzioni di programmazione a blocchi Capitolo 3-32
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se un'istruzione di controllo del ciclo non è in un
programma a blocchi.
OFF in tutti gli altri casi.
1156
Istruzioni di programmazione a blocchi Capitolo 3-32
Ripetizione
1157
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Nel caso in cui vi sia un numero pari di caratteri, il valore 0000 esadecimale
(due codici NUL) viene memorizzato nei byte più a sinistra e più a destra del
canale successivo all'ultimo.
Esempio: stringa di testo ABCD
42
=
Per eseguire al PLC i vari tipi di elaborazione delle stringhe di testo (dati
prodotto e così via), che in precedenza venivano effettuati al computer host, è
possibile utilizzare le istruzioni di elaborazione delle stringhe di testo.
1158
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Elaborazione
delle stringhe Computer host Computer host
di testo
PLC Elaborazione
Stringa di testo delle stringhe
di testo
Caratteri ASCII Nella tabella che segue sono indicati i caratteri ASCII gestibili dalle istruzioni
di elaborazione delle stringhe di testo.
S
P
Quattro bit più a destra
Simbolo programmazione
ladder
MOV$(664)
1159
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MOV$(664)
Eseguita una sola volta per differenziazione sul @MOV$(664)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
...
S + il numero massimo di
canali 2.047
...
D + il numero massimo di
canali 2.047
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447 Da A448 ad A959
Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
1160
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Area S D
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione MOV$(664) prende i dati della stringa di testo specificata in S e, così come
sono, li trasferisce in D come dati della stringa di testo, incluso il NUL finale. Il
numero massimo di caratteri che può essere specificato da S è 4.095 (0FFF
esadecimale).
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i caratteri specificati da S sono più di 4.095.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON se il valore 0000 (esadecimale) viene trasferito in D.
uguaglianza OFF in tutti gli altri casi.
0
S: D:
Simbolo programmazione
ladder
+$(656)
1161
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Variazioni
VariazioniEseguita a ogni ciclo con condizione ON +$(656)
Eseguita una sola volta per differenziazione sul @+$(656)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
...
S1 + il numero massimo di
canali 2.047
...
S2 + il numero massimo di
canali 2.047
...
D + il numero massimo di
canali 2.047
Caratteristiche operando
Area S1 S2 D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447 Da A448 ad A959
Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a 32767
(n = da 0 a C)
1162
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Area S1 S2 D
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0V a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione +$(664) collega i dati della stringa di testo specificata da S1 alla stringa di
testo indicata da S2 e invia il risultato in D come dati della stringa di testo
(compreso il NUL finale).
Il numero massimo di caratteri che può essere specificato da S1 ed S2 è
4.095 (0FFF esadecimale). In assenza di un NUL tra 4.096 caratteri, verrà
generato un errore e verrà attivato il flag di errore. Inoltre, il risultato della
concatenazione non può essere superiore a 4.095 caratteri (0FFF
esadecimale). Se il risultato della concatenazione è superiore, solo i primi
4.095 caratteri verranno inviati in D, con NUL aggiunto in qualità di carattere
n. 4.096.
Se c'è un NUL sia per S1 che per S2, i due caratteri NUL (0000 esadecimale)
vengono inviati in D.
→ → → →
+
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i caratteri specificati da S1 ed S2 sono più di
4.095.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON se il valore 0000 (esadecimale) viene trasferito in D.
uguaglianza OFF in tutti gli altri casi.
1163
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Esempio Qui +$(656) viene utilizzata per collegare le stringhe di testo ABCD ed EFG e
inviare il risultato in D.
Simbolo programmazione
ladder
LEFT$(652)
S1: primo canale della
S1
stringa di testo
S2 S2: numero di caratteri
D: primo canale di
D destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON LEFT$(652)
Eseguita una sola volta per differenziazione sul @LEFT$(652)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
...
S1 + il numero massimo di
canali 2.047
...
D + il numero massimo di
canali 2.047
1164
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Caratteristiche operando
Area S1 S2 D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447 Da A448 ad A959
Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a ---
#0FFF (binario) o
da &0 a &4095
Registri dati --- Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione LEFT$(652) legge il numero di caratteri specificati da S2, dalla sinistra (inizio)
del primo canale della stringa di testo indicata da S1 fino al codice NUL (00
esadecimale) e invia i risultati in D, con NUL aggiunto alla fine.
Se il numero di caratteri letti supera quello dei caratteri specificati da S1, in D
viene inviata l'intera stringa S1.
Se viene indicato il valore 0 (0000 esadecimale) come numero di caratteri da
leggere, i due caratteri NUL (0000 esadecimale) verranno inviati in D.
1165
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i caratteri specificati da S1 sono più di 4.095.
ON se i caratteri specificati da S2 sono più di 4.095
(0FFF esadecimale).
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON se il valore 0000 (esadecimale) viene inviato in D.
uguaglianza OFF in tutti gli altri casi.
Esempio L'istruzione LEFT$(652) viene qui utilizzata per leggere quattro caratteri.
Stringa di testo ABCDE Stringa di testo ABCD
S2: D00200
S1: D: D00300
43 44 Letti quattro
caratteri (byte).
D
Simbolo programmazione
ladder
RGHT$(653)
S1: primo canale della
S1
stringa di testo
S2 S2: numero di caratteri
D: primo canale di
D
destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RGHT$(653)
Eseguita una sola volta per differenziazione sul @RGHT$(653)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1166
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
...
S1 + il numero massimo di
canali 2.047
...
D + il numero massimo di
canali 2.047
Caratteristiche operando
Area S1 S2 D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447 Da A448 ad A959
Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a ---
#0FFF (binario) o
da &0 a &4095
Registri dati --- Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1167
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i caratteri specificati da S1 sono più di 4.095.
ON se i caratteri specificati da S2 sono più di 4.095
(0FFF esadecimale).
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON se il valore 0000 (esadecimale) viene inviato in D.
uguaglianza OFF in tutti gli altri casi.
Simbolo programmazione
ladder
MID$(654)
S1: primo canale della
S1
stringa di testo
S2 S2: numero di caratteri
1168
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON MID$(654)
Eseguita una sola volta per differenziazione sul @MID$(654)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
...
S1 + il numero massimo di
canali 2.047
...
D + il numero massimo di
canali 2.047
Caratteristiche operando
Area S1 S2 S3 D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447 Da A448 ad
Da A448 ad A959 A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a 32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
1169
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Area S1 S2 S3 D
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a Da #0001 a ---
#0FFF #0FFF
(binario) o da (binario) o da
&0 a &4095 &1 a &4095
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione All'interno della stringa di testo individuata dal primo canale designato da S1
fino al codice NUL (00 esadecimale), MID$(654) legge il numero di caratteri
specificati da S2, dal primo canale indicato da S3 e invia il risultato in D come
dati della stringa di testo con NUL aggiunto alla fine.
Se il numero dei caratteri da leggere supera la fine della stringa di testo
specificata da S1, la stringa viene inviata fino alla fine.
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i caratteri specificati da S1 sono più di 4.095.
ON se i caratteri specificati da S2 sono più di 4.095
(0FFF esadecimale).
ON se i dati in S3 sono nell'intervallo compreso tra 1 e
4.095 (da 0001 a 0FFF esadecimale).
ON se S3 è maggiore di S1.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON se il valore 0000 (esadecimale) viene inviato in D.
uguaglianza OFF in tutti gli altri casi.
1170
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Esempio L'istruzione MID$(654) viene qui utilizzata per leggere tre caratteri.
Stringa di testo ABCDEFGHIJ Stringa di testo EFG
S2: D00200
S1:
D: D00300
S3: Letti tre caratteri.
S3: D00400
Dal quinto carattere
(byte più a sinistra di D00102).
Simbolo programmazione
ladder
FIND$(660)
S1: primo canale della stringa di
S1
testo di origine
S2: primo canale della stringa di
S2
testo di ricerca
D D: primo canale di destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON FIND$(660)
Eseguita una sola volta per differenziazione sul @FIND$(660)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
...
S1 + il numero massimo di
canali 2.047
...
S2 + il numero massimo di
canali 2.047
1171
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Caratteristiche operando
Area S1 S2 D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447 Da A448 ad A959
Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i caratteri specificati da S1 o S2 sono più di 4.095.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON se il valore 0000 (esadecimale) viene inviato in D.
uguaglianza OFF in tutti gli altri casi.
1172
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Esempio L'istruzione FIND$(660) viene qui utilizzata per cercare un carattere in una
stringa di testo.
Stringa di testo: ABCDEF Stringa di testo C
S2: D00200
S1: D00100 D: D00300
Simbolo programmazione
ladder
LEN$(650)
S: primo canale della
S stringa di testo
D: primo canale di
D destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON LEN$(650)
Eseguita una sola volta per differenziazione sul @LEN$(650)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
...
S + il numero massimo di
canali 2.047
Nota I dati compresi tra S ed S + il numero massimo di canali 2.047 devono essere
nella stessa area.
Caratteristiche operando
Area S D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447 Da A448 ad A959
Da A448 ad A959
1173
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Area S D
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati --- Da DR0 a DR15
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione LEFT$(650) calcola il numero di caratteri dal primo canale della stringa di
testo specificati da S fino al codice NUL incluso (00 esadecimale) e invia il
risultato in D come dati binari. Se all'inizio della stringa di testo c'è un NUL, il
risultato calcolato è pari a 0000 esadecimale.
→ 1 2
3 4
5
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se il risultato calcolato supera 4.095 caratteri.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON se il risultato calcolato è 0.
uguaglianza OFF in tutti gli altri casi.
1174
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Esempio L'istruzione LENS$(650) viene qui utilizzata per calcolare il numero dei
caratteri e inviare il risultato.
Stringa di testo: ABCDE
S: 41 42 D: D00200
43 44
45 00
Simbolo programmazione
ladder
RPLC$(661) S1: primo canale della stringa di testo
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON RPLC$(661)
Eseguita una sola volta per differenziazione sul @RPLC$(661)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
...
S1 + il numero massimo di
canali 2.047
...
S2 + il numero massimo di
canali 2.047
1175
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
...
S2 + il numero massimo di
canali 2.047
Caratteristiche operando
Area S1 S2 S3 S4 D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447 Da A448
Da A448 ad A959 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 Da #0001 ---
a #0FFF a #0FFF
(binario) o (binario) o
da &0 a da &1 a
&4095 &4095
Registri dati --- Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1176
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Descrizione RPLC$(661) sostituisce parte della stringa di testo designata da S1, dalla
posizione iniziale designata da S4, con la stringa di testo specificata da S2 e
invia il risultato in D come dati della stringa di testo (compreso il NUL finale). Il
numero di caratteri da sostituire è specificato da S3.
Il numero massimo dei caratteri nel risultato è 4.095 (0FFF esadecinale). Se il
numero è maggiore, verranno inviati solo 4.095 caratteri (con NUL aggiunto
come carattere n. 4.096).
È possibile sostituire da 0 a 4.095 caratteri (da 0000 a 0FFF esadecimale). Se
il numero è 0, la stringa di testo designata da S1 viene inviata in D senza
subire alcuna modifica. Se la stringa di testo in S2 è NUL, l'operazione sarà
equivalente all'eliminazione dell'intervallo di testo designato in S1.
Se la stringa di testo in S1 è completamente sostituita da NUL, due caratteri
NUL (0000 esadecimale) vengono inviati in D.
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i caratteri specificati da S1 o S2 sono più di 4.095.
ON se i caratteri designati da S3 sono più di 4.095 (0FFF
esadecimale).
ON se i dati in S4 sono nell'intervallo compreso tra 1 e
4.095 (da 0001 a 0FFF esadecimale).
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON se il valore 0000 (esadecimale) viene inviato in D.
uguaglianza OFF in tutti gli altri casi.
1177
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Esempio L'istruzione RPLC$(654) viene qui utilizzata per leggere tre caratteri.
Stringa di testo ABCDEFGHI Stringa di testo ABCDHI
S3: D00300
S1: D:
Sostituiti tre caratteri
D2: D00200
Stringa di testo M
D4 D00500
Dal byte n. 5
Simbolo programmazione
ladder
S1: primo canale della
DEL$(658)
stringa di testo
S1 S2: numero di caratteri
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DEL$(658)
Eseguita una sola volta per differenziazione sul @DEL$(658)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
...
S1 + il numero massimo di
canali 2.047
...
D + il numero massimo di
canali 2.047
1178
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Caratteristiche operando
Area S1 S2 S3 D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447 Da A448 ad
Da A448 ad A959 A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a Da #0001 a ---
#0FFF #0FFF
(binario) o da (binario) o da
&0 a &4095 &1 a &4095
Registri dati --- Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione All'interno della stringa di testo designata da S1, DEL$(658) elimina il numero
di caratteri designati da S2, dal primo canale specificato da S3, e invia il
risultato in D come dati della stringa di testo con NUL aggiunto alla fine.
1179
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i caratteri specificati da S1 sono più di 4.095.
ON se i caratteri specificati da S2 sono più di 4.095
(0FFF esadecimale).
ON se i dati in S3 sono nell'intervallo compreso tra 1 e
4.095 (da 0001 a 0FFF esadecimale).
ON se S3 è maggiore di S1.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON quando il valore 0000 esadecimale viene inviato in
uguaglianza D.
OFF in tutti gli altri casi.
Esempio L'istruzione DEL$(658) viene qui utilizzata per leggere tre caratteri.
Simbolo programmazione
ladder
XCHG$(665)
Ex1: primo canale di
Ex1 scambio 1
Ex2 Ex2: primo canale di
scambio 2
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON XCHG$(665)
Eseguita una sola volta per differenziazione sul @XCHG$(665)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
1180
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
...
Ex1 + il numero massimo di
canali 2.047
...
Ex2 + il numero massimo di
canali 2.047
Nota 1. I dati compresi tra Ex1 ed Ex1 + il numero massimo di canali 2.047 e tra
Ex2 ed Ex2 + il numero massimo di canali 2.047 devono essere nella
stessa area.
2. Il dati compresi tra Ex2 ed Ex2 + il numero massimo di canali 2.047 e tra
Ex ed Ex + il numero massimo di canali 2.047 non possono essere
sovrapposti.
Caratteristiche operando
Area Ex1 Ex2
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
1181
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Ex2 Ex2
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i caratteri designati da Ex1 o Ex2 sono più di
4.095.
ON se i dati di Ex1 ed Ex2 si sovrappongono.
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Avvertenze Il numero massimo di caratteri che può essere designato da Ex1 o Ex2 è
4.095 (0FFF esadecimale). In caso di superamento, viene generato un errore
e verrà attivato il flag di errore.
Se i dati della stringa di testo designati da Ex1 ed Ex2 si sovrappongono,
verrà generato un errore e verrà attivato il flag di errore.
Esempio L'istruzione XCHG$(665) viene qui utilizzata per scambiare due stringe di
testo.
Simbolo programmazione
ladder
CLR$(666)
S: primo canale della
S
stringa di testo
1182
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON CLR$(666)
Eseguita una sola volta per differenziazione sul @CLR$(666)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
...
S + il numero massimo di
canali 2.047
Nota I dati compresi tra S ed S + il numero massimo di canali 2.047 devono essere
nella stessa area.
Caratteristiche operando
Area S
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1183
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Descrizione CLR$(666) sostituisce con NUL (00 esadecimale) tutta la di testo stringa dal
primo canale designato da S fino al codice NUL (00 esadecimale). Il numero
massimo di caratteri che è possibile cancellare è 4.096. Se prima del carat-
tere n. 4.096 non c'è alcun NUL, verranno cancellati soltanto 4.096 caratteri.
S A B S
C D
NUL
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Esempio L'istruzione CLR$(666) viene qui utilizzata per cancellare la stringa di testo
ABCDE.
Simbolo programmazione
ladder
INS$(657) S1: primo canale della stringa di
testo di base
S1 S2: primo canale della stringa di
testo inserito
S2 S3: posizione iniziale
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON INS$(657)
Eseguita una sola volta per differenziazione sul @INS$(657)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
...
S1 + il numero massimo
di canali 2.047
1184
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
...
S2 + il numero massimo di
canali 2.047
...
D + il numero massimo di
canali 2.047
Caratteristiche operando
Area S1 S2 S3 D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447 Da A448 ad
Da A448 ad A959 A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti --- Da #0000 a ---
#0FFF
(binario) o da
&0 a &4095
Registri dati --- Da DR0 a ---
DR15
1185
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Area S1 S2 S3 D
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
→ →
Caratteri immessi
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i caratteri specificati da S1 o S2 sono più di 4.095.
ON se S3 è maggiore di 4.095 (0FFF esadecimale).
ON se il flag di abilitazione porte di comunicazione
specificato come numero di porta Com per l'esecuzione
in background è OFF quando viene specificata
l'elaborazione in background.
OFF in tutti gli altri casi.
Flag di = ON se il valore 0000 (esadecimale) viene inviato in D.
uguaglianza OFF in tutti gli altri casi.
1186
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Esempio L'istruzione INS$(657) viene qui utilizzata per inserire due caratteri.
Stringa di testo JK
Stringa di testo ABCDEFGHI S2: D00200 Stringa di testo ABCDEFJKGHI
S3: D00400
S1: D:
Simbolo programmazione
ladder
LD
Simbolo
Simbolo
OR (collegamento parallelo)
Simbolo
Variazioni
VariazioniCrea una condizione di Istruzioni di confronto di stringhe
esecuzione con stato ON a
ogni ciclo se il confronto
risulta vero
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
1187
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
...
S1 + il numero massimo di
canali 2.047
...
S2 + il numero massimo di
canali 2.047
Caratteristiche operando
Area S1 S2
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A447
Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti ---
Registri dati ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
1188
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Metodi di confronto
Di seguito vengono descritti i metodi di confronto.
Il primo carattere (byte) di ogni stringa di testo viene messo a confronto con
l'elemento corrispondente dell'altra stringa come codice ASCII. Se i due
codici ASCII non equivalgono, tale rapporto maggiore/minore diventa il
rapporto maggiore/minore per le due stringhe di testo. Se i due codici ASCII
equivalgono, avrà luogo il confronto tra i caratteri successivi. Pertanto, se
questi due codici ASCII non equivalgono, tale rapporto maggiore/minore
diventa il rapporto maggiore/minore per le due stringhe di testo.
1189
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i caratteri specificati da S1 o S2 sono più di 4.095.
OFF in tutti gli altri casi.
Flag di > ON se i risultati del confronto in S1 sono maggiori di
maggiore quelli in S2.
OFF in tutti gli altri casi.
Flag di >= ON se i risultati del confronto in S1 sono uguali a quelli di
maggiore o S2 o maggiori.
uguale OFF in tutti gli altri casi.
Flag di = ON se i risultati del confronto in S1 equivalgono a quelli
uguaglianza in S2.
OFF in tutti gli altri casi.
Flag di non <> ON se i risultati del confronto in S1 non equivalgono a
uguaglianza quelli in S2.
OFF in tutti gli altri casi.
Flag di minore < ON se i risultati del confronto in S1 sono minori di quelli
in S2.
OFF in tutti gli altri casi.
Flag di minore <= ON se i risultati del confronto in S1 sono uguali a quelli di
o uguale S2 o minori.
OFF in tutti gli altri casi.
1190
Istruzioni di elaborazione delle stringhe di testo Capitolo 3-33
Avvertenze Dopo queste istruzioni, specificare un'istruzione sul lato destro. Le istruzioni
di confronto di stringhe non possono comparire sul lato destro del diagramma
ladder.
Non è possibile utilizzarle sull'ultimo rung di un blocco logico.
Il numero massimo dei caratteri che è possibile confrontare è 4.095 (0FFF
esadecinale). Se tale numero di caratteri è maggiore, cioè in assenza di un
NUL entro il carattere n. 4.096, si verificherà un errore e verrà attivato il flag di
errore. In questo caso, una condizione di esecuzione OFF verrà inviata
all'istruzione successiva.
000000
000001
---
000002
000003
<> ---
000004
> = <>
1191
Istruzioni di controllo dei task Capitolo 3-34
Una volta messe in ordine alfabetico, le stringhe saranno così: birra, gazzosa,
latte.
>$ Due stringhe che iniziano con D00100 e D00200 vengono messe a
confronto in ordine ASCII, dalla minore alla maggiore. Se la stringa
di testo che inizia con D00100 è maggiore in ordine ASCII rispetto a
quella che inizia con D00200, la posizione delle due verrà invertita.
>$ Due stringhe che iniziano con D00200 e D00300 vengono messe a
confronto in ordine ASCII, dalla minore alla maggiore. Se la stringa di
testo che inizia con D00200 è maggiore in ordine ASCII rispetto a
quella che inizia con D00300, la posizione delle due verrà invertita.
D00100: latte Le stringhe del latte e Gazzosa Le stringhe del latte Gazzosa Le stringhe della Birra
della gazzosa sono e della birra sono gazzosa e della birra
D00200: gazzosa messe a confronto e Latte messe a confronto Birra sono messe a Gazz
D00300: birra le loro posizioni e le loro posizioni
Birra vengono invertite Latte
confronto e le loro
Latte
vengono invertite posizioni vengono
perché l > g. perché l > b. invertite perché g > b.
In questo modo, tre stringhe di testo possono essere riorganizzate in ordine alfabetico.
Simbolo programmazione
ladder
TKON(820)
N N: numero di task
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TKON(820)
Eseguita una sola volta per differenziazione sul @TKON(820)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK Non consentita
1192
Istruzioni di controllo dei task Capitolo 3-34
• Task ciclici:
N deve essere una costante compresa tra 0 e 31 decimale (i valori da 0 a
31 indicano i task ciclici da 0 a 31).
• Task ciclici supplementari (solo CPU CS1-H, CJ1-H, CJ1M e CS1D):
N deve essere una costante compresa tra 8000 e 8255 decimale (i valori
da 8000 a 8255 indicano i task ciclici da 0 a 255).
Caratteristiche operando
Area N
Area CIO ---
Area di lavoro ---
Area bit di ritentività ---
Area bit ausiliaria ---
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti Da 00 a 31 o da 8000 a 8255 (decimale)
Registri dati ---
Registri indice ---
Indirizzamento indiretto ---
con i registri indice
1193
Istruzioni di controllo dei task Capitolo 3-34
Task m Task n
Diventa
eseguibile
Diventa
nel ciclo
eseguibile in
successivo
quel ciclo
Task n Task m
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se N non è una costante compresa tra 00 e 31 o tra
8000 e 8255 (solo CPU CS1-H, CJ1-H e CJ1M).
ON se il task specificato con N non esiste.
ON se TKON(820) viene eseguita in un task ad interrupt.
OFF in tutti gli altri casi.
1194
Istruzioni di controllo dei task Capitolo 3-34
Task 1
03
Task 3
Task 1
Task 3
1195
Istruzioni di controllo dei task Capitolo 3-34
Simbolo programmazione
ladder
TKOF(821)
N N: numero di task
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON TKOF(821)
Eseguita una sola volta per differenziazione sul @TKOF(821)
fronte di salita
Eseguita una sola volta per differenziazione sul Non supportata
fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK Non consentita
Caratteristiche operando
Area N
Area CIO ---
Area di lavoro ---
Area bit di ritentività ---
Area bit ausiliaria ---
Area del temporizzatore ---
Area del contatore ---
Area DM ---
Area EM senza banco ---
Area EM con banco ---
Indirizzi DM/EM indiretti ---
in binario
Indirizzi DM/EM indiretti ---
in BCD
Costanti Da 00 a 31 o da 8000 a 8255 (decimale)
Registri dati ---
Registri indice ---
Indirizzamento indiretto ---
con i registri indice
1196
Istruzioni di controllo dei task Capitolo 3-34
Task m Task n
In stato di In stato di
attesa in attesa al
quel ciclo ciclo
successivo
Task n Task m
1197
Istruzioni di controllo dei task Capitolo 3-34
che l'esecuzione del programma raggiunga il suo numero di task, non verrà
eseguito.
A differenza di TKON(820), è possibile specificare questa istruzione nei task
ad interrupt e in quelli ciclici.
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se N non è una costante compresa tra 00 e 31 o tra
8000 e 8255 (solo CPU CS1-H, CJ1-H e CJ1M).
ON se il task specificato con N non esiste.
ON se TKOF(821) viene eseguita in un task ad interrupt.
OFF in tutti gli altri casi.
Task 1
03
1198
Istruzioni di conversione del modello (solo CPU versione 3.0 o successiva) Capitolo 3-35
Task 1
01
1199
Istruzioni di conversione del modello (solo CPU versione 3.0 o successiva) Capitolo 3-35
Nota Le differenze nel funzionamento dei flag di condizione sono illustrate qui di
seguito. Per ulteriori informazioni, fare riferimento alle descrizioni dei flag di
condizione di ciascuna istruzione.
• Se il contenuto di un'area DM utilizzata per l'indirizzamento indiretto non
è BCD (*BCD) o se non viene rispettato l'intervallo di indirizzamento
dell'area DM, il funzionamento dei flag di condizione varia da
un'istruzione all'altra.
• Per DISTC(566), il funzionamento dei flag di condizione è diverso da
quello dei modelli C200H, C1000H e C2000H per quanto riguarda
l'operazione PUSH ONTO STACK.
• Per COLLC(567), il funzionamento dei flag di condizione è diverso da
quello dei modelli C200H, C1000H e C2000H per quanto riguarda
l'operazione STACK DATA READ.
Differenze dalle istruzioni delle serie CS/CJ precedenti
Nome Istruzione di Istruzione Differenze dalle istruzioni delle serie CS/CJ precedenti
conversione del corrispondente
modello (CPU versione per la serie C
3.0 o successiva)
Mnemonico Mnemonico
(codice funzione) (codice funzione)
BLOCK XFERC(565) XFER(70) Il tipo di dati per il primo operando (numero di canali da trasferire) è BCD
TRANSFER (da 0000 a 9999) invece che binario (da 0000 a FFFF esadecimale).
SINGLE DISTC(566) DIST(80) Oltre all'operazione di distribuzione dei dati, è supportata un'operazione
WORD PUSH ONTO STACK.
DISTRIBUTE Il tipo di dati per il terzo operando (dati offset) è BCD (distribuzione dei
dati: da 0000 a 7999, PUSH ONTO STACK: da 0000 a 9999) invece che
binario (da 0000 a FFFF esadecimale).
1200
Istruzioni di conversione del modello (solo CPU versione 3.0 o successiva) Capitolo 3-35
Nome Istruzione di Istruzione Differenze dalle istruzioni delle serie CS/CJ precedenti
conversione del corrispondente
modello (CPU versione per la serie C
3.0 o successiva)
Mnemonico Mnemonico
(codice funzione) (codice funzione)
DATA COLLC(567) COLL(81) Oltre all'operazione di distribuzione dei dati, è supportata un'operazione
COLLECT STACK DATA READ.
Il tipo di dati per il secondo operando (dati offset) è BCD (distribuzione dei
dati: da 0000 a 7999, STACK DATA READ per FIFO: da 9000 a 9999,
STACK DATA READ per LIFO: da 8000 a 8999) invece che binario (da
0000 a FFFF esadecimale).
MOVE BIT MOVBC(568) MOVB(82) Il tipo di dati per le specifiche del bit di origine e di destinazione nel
secondo operando (dati di controllo) è BCD (da 00 a 15) invece che
binario (da 00 a 0F esadecimale).
BIT BCNTC(621) BCNT(67) Il tipo di dati per il primo operando (numero di canali da conteggiare) è
COUNTER BCD (da 0000 a 9999) invece che binario (da 0000 a FFFF esadecimale).
Il tipo di dati memorizzati per il terzo operando (risultati del conteggio) è
BCD (da 0000 a 9999) invece che binario (da 0000 a FFFF esadecimale).
Nota Le differenze nel funzionamento dei flag di condizione sono illustrate qui di
seguito. Per ulteriori informazioni, fare riferimento alle descrizioni dei flag di
condizione di ciascuna istruzione.
• Se i dati per gli operandi sopra menzionati non sono BCD, verrà attivato il
flag di errore.
• Per DISTC(566), il funzionamento dei flag di condizione era stato
implementato per l'operazione PUSH ONTO STACK.
• Per COLLC(567), il funzionamento dei flag di condizione era stato
implementato per l'operazione STACK DATA READ.
3-35-1 BLOCK TRANSFER: XFERC(565)
Scopo Trasferisce il numero di canali consecutivi specificato.
Simbolo programmazione
ladder
XFERC(565)
N N: numero di canali
S: primo canale di
S
origine
D: primo canale di
D
destinazione
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON XFERC(565)
Eseguita una sola volta per differenziazione @XFERC(565)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Operandi N: numero di canali
Specifica il numero di canali da trasferire. L'intervallo possibile per il valore di
N è compreso tra 0000 e 9999 BCD.
S: primo canale di origine
Specifica il primo canale di origine.
15 0
S
... ...
S+(N−1)
1201
Istruzioni di conversione del modello (solo CPU versione 3.0 o successiva) Capitolo 3-35
... ...
D+(N−1)
Caratteristiche operando
Area N S D
Area CIO Da CIO 0000 a CIO 6143
Area di lavoro Da W000 a W511
Area bit di ritentività Da H000 a H511
Area bit ausiliaria Da A000 ad A959 Da A448 ad A959
Area del temporizzatore Da T0000 a T4095
Area del contatore Da C0000 a C4095
Area DM Da D00000 a D32767
Area EM senza banco Da E00000 a E32767
Area EM con banco Da En_00000 a En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da @D00000 a @D32767
in binario Da @ E00000 a @ E32767
Da @ En_00000 a @ En_32767
(n = da 0 a C)
Indirizzi DM/EM indiretti Da *D00000 a *D32767
in BCD Da *E00000 a *E32767
Da *En_00000 a *En_32767
(n = da 0 a C)
Costanti Da #0000 a #9999 --- ---
(BCD)
Registri dati Da DR0 a DR15 ---
Registri indice ---
Indirizzamento indiretto Da ,IR0 a ,IR15
con i registri indice Da –2048 a +2047, da ,IR0 a da –2048 a +2047, a ,IR15
Da DR0 a DR15, da IR0 a IR15
Da ,IR0+(++) a ,IR15+(++)
Da ,–(– –)IR0 a ,–(– –)IR15
Descrizione XFERC(565) copia N canali che iniziano con S (da S a S+(N–1)) negli N
canali che iniziano con D (da D a D+(N–1)).
N canali
... ...
S+(N−1) D+
(N−1)
1202
Istruzioni di conversione del modello (solo CPU versione 3.0 o successiva) Capitolo 3-35
XFERC
#0010
&10
Flag
Nome Etichetta Funzionamento
Flag di errore ER ON se i dati in N (numero dei canali) non sono in formato
BCD.
Nota Nei PLC della serie C, l'istruzione BLOCK TRANSFER (XFER) provoca
l'attivazione del flag di errore se il contenuto di un canale DM (*DM) indirizzato
indirettamente non è BCD o se viene superato il contorno dell'area DM. In
questi casi XFERC(565) non provoca l'attivazione del flag di errore.
Esempio Quando CIO 000000 è ON, i 10 canali da D00100 a D00109 vengono copiati
nell'intervallo compreso tra D00200 e D00209.
XFERC
#0010
10
canali
Simbolo programmazione
ladder
DISTC(566)
S S: canale di origine
Bs: indirizzo base di
Bs
destinazione
Of Of: offset
1203
Istruzioni di conversione del modello (solo CPU versione 3.0 o successiva) Capitolo 3-35
Variazioni
Variazioni Eseguita a ogni ciclo con condizione ON DISTC(566)
Eseguita una sola volta per differenziazione @DISTC(566)
sul fronte di salita
Eseguita una sola volta per differenziazione Non supportata
sul fronte di discesa
Aggiornamento immediato Non supportata
Aree di programma
applicabili Aree di programma a Aree di programma Subroutine Task ad
blocchi step interrupt
OK OK OK OK
Bs
...
...
Bs+Of