Professional Documents
Culture Documents
Nuevas instrucciones
Soporte Tcnico
ndice
Formato instrucciones Direccionamientos Tareas Interrupciones Temporizadores Bloques de programa Tablas de datos Cadenas de caracteres Saltos Instrucciones de Lazo FOR-NEXT
Desplazar/Rotar Increment/Decrement Comparacin Conversin Coma Flotante Calendario Ficheros de Memoria Control de datos Comunicaciones Cambios en Intrucc.
Soporte Tcnico
Formato instrucciones
Flancos de subida y bajada Refresco inmediato
Soporte Tcnico
Formato de instrucciones
Flanco de subida @
La instruccin se ejecuta con el flanco de subida de la condicin de ejecucin. La entrada se activa con el flanco de subida.
Flanco de bajada %
La instruccin se ejecuta con el flanco de bajada de la condicin de ejecucin. La entrada se activa con el flanco de bajada.
Refresco inmediato !
La instruccin hace un refresco de las variables al ejecutarse. Puede combinar el flanco de subida o bajada.
Soporte Tcnico 4
Ejemplo de Formatos
% LD 0000.00 Se activa durante un ciclo de programa con el flanco de bajada de 0000.00
LD 0000.00 % SET 0001.00 ! MOV(21) 0000 DM00000 0000.00 !@MOV(21) 0001 DM00001
Se ejecuta con el flanco de bajada de 0000.00 Hace un refresco inmediato del canal 0000 y lo mueve al DM00000
Se ejecuta con el flanco de subida de 0000.00 y hace un refresco inmediato del canal 0001 para moverlo al DM00001
Soporte Tcnico
TST(350) TSTN(351)
Soporte Tcnico
0000.00
TSTN(351) DM00000 &11
0010.04 La salida 0010.04 se activa cuando la entrada 0000.00 est a 1 y el bit 11 del DM0000 est a 0.
Soporte Tcnico
SETA(530) RSTA(531)
Soporte Tcnico
SETA(530) RSTA(531)
@SETA(530) W000 &4 &36 Pone a 1 36 bits consecutivos desde el bit 4 de la palabra W000
1111 1111 1111 0000 1111 1111 1111 1111 0000 0000 1111 1111
Pone a 0 36 bits consecutivos desde el bit 4 de la palabra W000 W000 W001 W002 0000 0000 0000 1111 0000 0000 0000 0000 1111 1111 0000 0000
Soporte Tcnico
Direccionamientos
Addessing
Soporte Tcnico
10
Direccionamientos
Ejemplos
MOV(21) &12 W000 MOV(21) #1A34 W000 MOV(21) W000 W001 MOV(21) #1A *D00000
Soporte Tcnico
Escribe C (12 traducido a binario) en W000 Inmediato traducido a binario Directo Escribe 1A34 binario en W000 Inmediato binario Directo Escribe el contenido de W000 en W001 Directo Directo Escribe 1A en la direccin(BCD)indicada en D00000 Inmediato Indirecto BCD
12
Ejemplos
MOV(21) W000 @D00000 MOV(21) #1A ,IR0 MOV(21) #1A +23,IR0 MOV(21) #1A DR0,IR0
Soporte Tcnico
Escribe el contenido de W000 en la direccin (Binaria) indicada en D00000 Directo Indirecto Binario Escribe 1A en la direccin indicada en IR0 Inmediato Indexado Escribe 1A en la direccin indicada en (IR0+23) Inmediato Indexado Escribe 1A en la direccin indicada en (IR0+DR0) Inmediato Indexado
13
Ejemplos
MOV(21) #1A ,IR0+ MOV(21) #1A ,IR0++ MOV(21) #1A ,-IR0 MOV(21) #1A ,--IR0
Soporte Tcnico
Escribe 1A en la direccin indicada en IR0 y aumenta IR0 una unidad Inmediato Indexado Escribe 1A en la direccin indicada en IR0 y aumenta IR0 dos unidades Inmediato Indexado Escribe 1A en la direccin indicada en (IR0-1) y disminuye IR0 una unidad Inmediato Indexado Escribe 1A en la direccin indicada en (IR0-2) y disminuye IR0 dos unidades Inmediato Indexado
14
MOVR(560)
MOVR(560) S D
@MOVR(560) S D
Soporte Tcnico
15
MOVRW(561)
Soporte Tcnico
16
MOVR(560) MOVRW(561)
MOVR(560) T0000 IR0
Guarda el Valor presente PV del temporizador T0000 en el registro ndice IR0
IR0
0000 0195
Soporte Tcnico
17
Tareas
Divisin del programa en tareas
Soporte Tcnico
18
Programa y Tareas
Tarea Cclica 01
Tarea Cclica 02
Tarea Cclica 31
Soporte Tcnico 19
Programa y Tareas
Programa A 00-01-03
Programa B 00-02-03
Soporte Tcnico
20
Tarea cclica
0031. Estas tareas se ejecutan por orden de numeracin: La tarea 00 es la inicial, luego la 01, ... hasta la 31 que es la ltima. Cada una de estas tareas acaba con la instruccin END(001). En cada ciclo de scan se puede elegir qu tareas queremos que se ejecuten y cuales no.Una tarea puede activar a otras.
21
Soporte Tcnico
CX-Programer
Globales:
Sirven para todas las tareas (cclicas y de interrupcin) y no se pueden duplicar los nombres. Son nicas para cada PLC.
Locales:
Slo tienen validez en la tarea donde se han creado, bien sea cclica o de interrupcin. Estas variables se pueden repetir en otras tareas, pero nunca en la misma tarea.
Soporte Tcnico 22
Control de Tareas
TKON (820)
pone a 1 el flag de la tarea TK00 a TK31. Slo se puede ejecutar esta instruccin desde una tarea cclica, de otro modo da un error ER a 1.
TKON(820) N @TKON(820) N
Soporte Tcnico
24
TKON(820)
entre #0 y #31. Debe Existir la tarea N. Si la instruccin TKON(820) es ejecutada desde la tarea cclica m, la tarea N se ejecutar segn:
TKOF (821)
el flag de la tarea TK00 a TK31. Se puede ejecutar esta instruccin desde una tarea cclica o desde una tarea de interrupcin.
TKOF(821) N @TKOF(821) N
Soporte Tcnico
26
TKOF(821)
entre #0 y #31. Debe existir la tarea N. Si la instruccin TKOF(821) es ejecutada desde la tarea cclica m, la tarea N se pondr en stand by segn:
Soporte Tcnico
27
0000.01 TKON(820) 2
Cuando la entrada 0000.01 est a uno se ejecuta el programa A con las tareas 00, 02, 03.
TKOF(821) 1
Soporte Tcnico
28
Interrupciones
Control de interrupciones
Soporte Tcnico
29
Control de Interrupciones
se puede controlar mediante instrucciones. Las instrucciones para controlar interrupciones son:
MSKS(690), MSKR(692), CLI(691), EI(694), DI(693)
Soporte Tcnico 30
MSKS(690)
@MSKS(690) N S
31
MSKS(690) - N y S
Soporte Tcnico
32
MSKS(690)- N y S
N es la entrada de interrupcin:
Unidad de interrupcin (0,1,2,3). Interrupcin programada (2, 3).
de interrupcin asociadas a la entrada N. Si N es 4 5 se tratan de tareas de interrupcin programadas. En este caso S es el intervalo entre interrupciones en unidades de 10 ms o de 1 ms. Si S es 0, enmascaramos la tarea de interrupcin.
33
Soporte Tcnico
MSKS(690) Ejemplo
MSKS(690) #0 #00FE
MSKS(690) #4 #0000 MSKS(690) #5 #03E8 Desenmascara la entrada 0 de la unidad de interrupcin 0.
Soporte Tcnico
34
MSKR(692)
@MSKR(692) N D
35
CLI(691)
@CLI(692) N S
CLI(691)
Soporte Tcnico
CLI(691) Ejemplo
Resetea las entradas grabadas 3 y 6 de la unidad de interrupcin 2. Entrada 7654 3210 0000 0000 0100 1000
CLI(691) #2 #0048
CLI(690) #5 #1388
Soporte Tcnico
38
DI(693)
Soporte Tcnico
39
EI(694)
Soporte Tcnico
40
Task 5
DI
Interrupciones Deshabilitadas.
EI
Interrupciones Habilitadas.
END
Soporte Tcnico
41
Ejemplo Interrupciones
Soporte Tcnico
42
Ejemplo Interrupciones 1
Tarea principal: Tarea cclica 00
A200.11 First Cycle MSKS(690) 4 &1000 MSKS(690) 0 #00FE Tiempo de Interrupcin programada 02 es de: 1000 x 10ms = 10s Desenmascara la Entrada 0 de la Unidad de Interrupcin 0
END(001)
Soporte Tcnico
43
Ejemplo Interrupciones 2
Tarea Interrupcin de fallo de alimentacin: Es necesario desde PC-SETUP (consola 255): Habilitar la interrupcin Tiempo de deteccin de fallo de alimentacin
CF113 P_On ++(590) D00000 DM00000 cuenta las veces que ha ocurrido un fallo de alimentacin
END(001)
Soporte Tcnico
44
Ejemplo Interrupciones 3
Tarea Interrupcin Programada 02: Es necesario desde PC-SETUP (consola 195): Unidad de tiempo de las interrupciones programadas.
CF113 P_On ++(590) D00010 DM00010 cuenta las veces que se ha ejecutado la interrupcin programada 02
END(001)
Soporte Tcnico
45
Ejemplo Interrupciones 4
Tarea Interrupcin 100: Es la tarea de interrupcin de la Entrada 0 de la unidad de interrupcin 0.
CF113 P_On ++(590) D00020 DM00020 cuenta las veces que se ha ejecutado la tarea de interrupcin 100
END(001)
Soporte Tcnico
46
Ejemplo Interrupciones 5
Tarea Interrupcin 15: Es necesario asignar el nmero de interrupcin en la unidad que provoca la interrupcin.
CF113 P_On ++(590) D00030 PMCR(260) #11E1 #1 D00100 D00200 END(001) DM00030 cuenta las veces que se ha ejecutado la tarea de interrupcin 15
Soporte Tcnico
47
Temporizadores
Nuevos temporizadores
Soporte Tcnico
48
Temporizadores
se encuentran en saltos o interlocks. Si IOM hold bit (A50012) est a ON, el PV y el flag de finalizado se mantienen al desconectar alimentacin o pasar a PROGRAM.
49
Soporte Tcnico
CNR(545)
@CNR(545) N1 N2
TMHH(540)
TIML(542)
TIML(542)
D1 D2+1 S+1 0000 0000 0000 000 1 Flag de finalizacin D2 S Valor actual del temporizador PV Tiempo total SV debe estar entre 0 y 9999 9999
D2 y S deben estar en BCD. El PV y el flag de finalizacin estn en reas de datos, por tanto se refrescan cada vez que se ejecuta la instruccin. Si el tiempo de ciclo es mayor de 100ms el temporizador falla. No usar las palabras D2 ni D2+1 con otras instrucciones para no cambiar el valor PV del temporizador. En saltos JMP y en interlocks el PV no se modifica.
Soporte Tcnico
53
MTIM(543)
MTIM(543)
D1 0000 00 0 0 1 1 1 1 1 1 1 1 Flags de finalizacin de cada SV Flag de reset Flag de pausa D2 S S+1 S+2 S+3 S+4 S+5 S+6 S+7
Soporte Tcnico
Valores de los SV de cada salida Cuando el PV alcanza el valor de cada SV se activa el flag correspondiente al SV PV SV 1 SV2
Flag de finalizacin 1 Flag de finalizacin 2
55
Bloques de Programa
En mnemnico
Soporte Tcnico
56
Bloque de Programa
bajo una misma condicin de ejecucin. Se pueden hacer hasta 128 bloques de programa. Slo se pueden utilizar una vez. Los bloques de programa que no se ejecutan no consumen tiempo de ejecucin. Las instrucciones se escriben en mnemnico.
57
Soporte Tcnico
Bloque de Programa
Soporte Tcnico
Bloque de Programa
Soporte Tcnico
59
BPRG(096) y BEND(801)
Soporte Tcnico
60
BPPS(811) y BPRS(812)
Soporte Tcnico
61
utilizar una condicin de ejecucin anterior. ELSE: Se ejecuta si no es cierta la condicin de la instruccin IF. IEND: Final de la instruccin IF. Se pueden anidar hasta 254 IFs.
IF A ELSE B IEND
IF
SI
NO
Se ejecuta A IEND
Se ejecuta B
Soporte Tcnico
62
0.01 ON
A B C
C
63
Soporte Tcnico
64
TIMW(813)
Soporte Tcnico
65
TIMHW(815)
Soporte Tcnico
66
CNTW(814)
Soporte Tcnico
67
Soporte Tcnico
0.01 ON
LD 0.00 BPRG #1 A LOOP B LEND 0.01 C BEND
0.01 OFF
0.01 OFF
0.01 OFF
0.01 ON
B
C
B C
Soporte Tcnico
69
Tablas de datos
Tablas basadas en pilas Tablas basadas en registros
Soporte Tcnico
70
Tablas de Datos
Soporte Tcnico
71
Pila (Stack)
Soporte Tcnico
SSET(630)
@SSET(630) TB N
73
SSET(630) Ejemplo
SSET(630) D00000 &10
D00000 D00001 D00002 D00003 D00004 D00005 D00006 D00007 D00008 D00009
0009 0001 0004 0001 0000 0000 0000 0000 0000 0000
Datos
Soporte Tcnico
74
PUSH(632)
Soporte Tcnico
75
PUSH(632) Ejemplo
@PUSH(632) Escribe 9012 en la tabla que empieza en D00000 D00000 direccin donde punta el puntero D00006. #9012 D00000 D00001 D00002 D00003 D00004 D00005 D00006 D00007 D00008 D00009
Soporte Tcnico
0009 0001 0006 0001 1234 5678 9012 0000 0000 0000
76
FIFO(633)
@FIFO(633) TB D
77
FIFO(633) Ejemplo
FIFO(633) D00000 W000 D00000 D00001 D00002 D00003 D00004 D00005 D00006 D00007 D00008 D00009
Soporte Tcnico
W000 1234
0009 0000 0007 0000 1234 5678 9012 0000 0000 0000 0009 0001 0006 0001 5678 9012 9012 0000 0000 0000
78
Puntero
LIFO(634)
LIFO(634) TB D
@LIFO(634) TB D
Soporte Tcnico
79
LIFO(364) Ejemplo
LIFO(634) D00000 W000 D00000 D00001 D00002 D00003 D00004 D00005 D00006 D00007 D00008 D00009
Soporte Tcnico
W000 9012
0009 0000 0006 0000 1234 5678 9012 0000 0000 0000 0009 0001 0005 0001 1234 5678 9012 0000 0000 0000
80
Puntero - 1 Tabla
Puntero
Tablas de registros
Soporte Tcnico
81
DIM(631)
@DIM(631) N LR NR TB
82
DIM(631) Ejemplo
@DIM(631) &12 &5 &3 D00000 Tabla nmero 12 Registros de 5 palabras 3 Registros Empieza en la direccin D00000 D00000
Registro 1
D00004 D00005 Registro 2
5 Palabras
5 Palabras
5 Palabras
SETR(635)
@SETR(635) N R D
SETR(635) Ejemplo
@SETR(635) &12 &2 IR11 Tabla 12 Registro 2
Tabla 12
D00000 Registro 1 5 Palabras
IR11
D00005
5 Palabras
GETR(636)
@GETR(636) N IR D
GETR(636) Ejemplo
@GETR(636) &12 IR11 W000 Tabla 12 Registro ndice 11 N de registro D00000 Registro 1 IR11 W000 D00005 0002 D00004 D00005 Registro 2 5 Palabras 5 Palabras
Tabla 12
5 Palabras
Soporte Tcnico
87
SRCH(181)
C R1 Cd
SRCH(181)
C C+1 X 000 0000 0000 0000 0: No muestra el nmero de coincidencias DR00 intacto. 1: Muestra el nmero de coincidencias en DR00. R1 Nmero de palabras en el rango
Rango de bsqueda
R1+(C-1)
Soporte Tcnico 89
SRCH(181) Ejemplo
@SRCH(181) W000 D00100 W002 W000 W001 D00100 D00101 D00102 D00103 D00104 D00105 D00106 D00107 D00108 D00109
Soporte Tcnico
000A 10 Palabras 8000 Guarda el N de coincidencias 1234 6589 8778 5569 3365 1234 1254 3365 5698 3365
W002 3365
MAX(182)
@MAX(182) C R1 D
MAX(182)
C C+1 X Y 00 0000 0000 0000 0: No muestra la direccin en IR00. 1: Muestra la direccin en IR00. 0: Datos en binario sin signo. 1: Datos en binario con signo. R1 Nmero de palabras en el rango
Rango de bsqueda
R1+(C-1)
Soporte Tcnico 92
MAX(182) Ejemplo
@MAX(182) W000 D00100 W002 W000 W001 D00100 D00101 D00102 D00103 D00104 D00105 D00106 D00107 D00108 D00109
Soporte Tcnico
000A 10 Palabras C000 Binario con signo Guarda la direccin en IR00 IR00 D00101
1234 6589 8778 5569 3365 1234 1254 3365 5698 3365
93
W002
6589
MIN(183)
@MIN(183) C R1 D
MIN(183)
C C+1 X Y 00 0000 0000 0000 0: No muestra la direccin en IR00. 1: Muestra la direccin en IR00. 0: Datos en binario sin signo. 1: Datos en binario con signo. R1 Nmero de palabras en el rango
Rango de bsqueda
R1+(C-1)
Soporte Tcnico 95
MIN(183) Ejemplo
@MIN(183) W000 D00100 W002 W000 W001 D00100 D00101 D00102 D00103 D00104 D00105 D00106 D00107 D00108 D00109
Soporte Tcnico
1234 6589 8778 5569 3365 1234 1254 3365 5698 3365
IR00 W002
D00101 8778
96
SWAP(637)
SWAP(637) N R1
@SWAP(637) N R1
Soporte Tcnico
97
SWAP(637) Ejemplo
@SWAP(637) &6 D00100
00 02 04 06 08 10
01 03 05 07 09 11
01 03 05 07 09 11
00 02 04 06 08 10
Soporte Tcnico
98
Cadenas de caracteres
Instrucciones de texto
Soporte Tcnico
99
Cadenas de caracteres
como cdigo ASCII de 8 bits. Se considera que pertenece a una cadena de caracteres todos los datos que hay desde la direccin inicial hasta que encuentra el cdigo NUL (00 HEX). Las cadenas se leen byte izquierdo, byte derecho y de menor a mayor direccin. La longitud mxima de caracteres es de 4.095 + el carcter NUL.
100
Soporte Tcnico
LEN$(650)
Soporte Tcnico
101
LEN$(650) Ejemplo
@LEN$(664) W000 W100 S W000 O M W001 R O W002 N W000 4F 4D W001 52 4F W002 4E 00 D
W000 0006
Soporte Tcnico
102
MOV$(664)
Soporte Tcnico
103
MOV$(664) Ejemplo
@MOV$(664) W000 W100 S W000 O M W001 R O W002 N W000 4F 4D W001 52 4F W002 4E 00 D W100 4F 4D W101 52 4F W102 4E 00
Soporte Tcnico
104
+$(656)
@+$(656) S1 S2 D
+$(656) Ejemplo
@+$(656) W000 W100 D00000 S1 W000 4F 4D W001 52 4F W002 4E 00 OMRON S2 D D00000 D00001 D00002 D00003 D00004 D00005 4F 52 4E 50 49 00 4D 4F 53 41 4E 00
&
OMRON SPAIN
Soporte Tcnico 106
LEFT$(652)
@LEFT$(652) S1 S2 D
LEFT$(652) Ejemplo
LEFT$(652) W000 &5 D00000 S1 W000 W001 W002 W002 W002 W002 4F 52 4E 53 41 4E 4D 4F 20 50 49 00 D D00000 4F 4D D00001 52 4F D00002 4E 00 OMRON
OMRON SPAIN
Soporte Tcnico 108
RGHT$(653)
@RGHT$(653) S1 S2 D
RGHT$(653) Ejemplo
RGHT$(653) W000 &5 D00000 S1 W000 W001 W002 W002 W002 W002 4F 52 4E 53 41 4E 4D 4F 20 50 49 00 D D00000 53 50 D00001 41 49 D00002 4E 00 SPAIN
OMRON SPAIN
Soporte Tcnico 110
MID$(654)
@MID$(654) S1 S2 S3 D
MID$(654) Ejemplo
@MID$(654) W000 &5 &4 D00000 S1 W000 W001 W002 W002 W002 W002 4F 52 4E 53 41 4E 4D 4F 20 50 49 00 D D00000 4F 4E D00001 20 53 D00002 50 00 ON SP
OMRON SPAIN
Soporte Tcnico 112
FIND$(660)
FIND$(660) S1 S2 D
Soporte Tcnico 113
@FIND$(660) S1 S2 D
FIND$(660) Ejemplo
@FIND$(660) D00000 W100 W000 S1 D00000 D00001 D00002 D00003 D00004 D00005 4F 52 4E 50 49 00 4D 4F 53 41 4E 00 S2 W100 53 50 W101 41 49 W102 4E 00 SPAIN D W000 0006
OMRON SPAIN
Soporte Tcnico 114
RPLC$(661)
Soporte Tcnico
RPLC$(661) Ejemplo
RPLC$(661) D00000 W100 &5 &6 D00100 D00000 D00001 D00002 D00003 D00004 D00005 4F 52 4E 50 49 00
S1 4D 4F 53 41 4E 00
D 4D 4F 20 55 00 00
SUR
OMRONSPAIN
Soporte Tcnico 116
OMRON SUR
DEL$(658)
@DEL$(658) S1 S2 S3 D
DEL$(658) Ejemplo
@DEL$(658) W000 &6 &6 D00000 S1 W000 W001 W002 W002 W002 W002 4F 52 4E 53 41 4E 4D 4F 20 50 49 00 W100 W101 W102 W102 W102 W102 D 4F 52 4E 00 00 00 4D 4F 00 00 00 00
OMRON SPAIN
Soporte Tcnico 118
OMRON
XCHG$(665)
Soporte Tcnico
119
XCGH$(665) Ejemplo
@XCHG$(665) W000 W100 Ex1 W000 4F 4D W001 52 4F W002 4E 00 Ex2 W100 4F 4D W101 52 4F W102 4E 00
Soporte Tcnico
120
CLR$(666)
CLR$(666) S
@CLR$(666) S
Soporte Tcnico
121
CLR$(666) Ejemplo
@CLR$(666) W000
Soporte Tcnico
122
INS$(657)
@INS$(657) S1 S2 S3 D
INS$(657) Ejemplo
@INS$(657) D00000 W100 &5 D00100 S1 D00000 D00001 D00002 D00003 D00004 D00005 4F 52 4E 50 49 00 4D 4F 53 41 4E 00 S2 W100 20 00 D00100 D00101 D00102 D00103 D00104 D00105
D 4F 52 4E 53 41 4E 4D 4F 20 50 49 00
OMRONSPAIN
Soporte Tcnico 124
OMRON SPAIN
Comparacin de cadenas
Soporte Tcnico
125
Comparacin de cadenas
=$(670) S1 S2 S1 = S2 <$(672) S1 S2 S1 < S2 longitud >$(674) S1 S2 S1 > S2 longitud
<>$(671) S1 S2 S1 S2
Soporte Tcnico
<=$(673) S1 S2 S1 S2 longitud
126
>=$(675) S1 S2 S1 S2 longitud
Comparacin Ejemplo
0000.00 =$(670) D00000 W000 0001.01 <$(672) D00000 W000 0001.02 >$(674) D00000 W000
Soporte Tcnico 127
LD
0000.01
AND
0000.02
OR
Saltos
Saltos condicionales
Soporte Tcnico
128
Saltos
Tabla comparativa de los saltos y los saltos condicionales.
JMP(4) CJP(510) CJPN(511) JMP0(515) JME(5) JME(5) JME(5) JME0(516) OFF ON OFF OFF 1.024 en total Sin lmite No se ejecutan NOP(000) Bits y palabras mantienen su estado anterior Continan temporizando Siempre ON OFF No permitido
Soporte Tcnico
129
CJP(510)/CJPN(511)
cuando la condicin de ejecucin es ON. CJPN(511): Salta hasta el primer JME(005) cuando la condicin de ejecucin es OFF.
N: Nmero de salto.
CJPN(511) N
130
JME(005) N
JMP0(515)/JME0(516)
ejecucin es OFF. Las instrucciones intermedias se ejecutan como NOP(000). Se pueden poner tantas como se quiera, no hay lmite.
JMP0(515) JME0(516)
Soporte Tcnico
131
Instrucciones de lazo
FOR, NEXT, BREAK
Soporte Tcnico
132
Instrucciones de Lazo
como FOR, NEXT, BREAK. Estas instrucciones permiten ejecutar varias veces en un mismo ciclo las instrucciones entre FOR y NEXT. Hay que tener especial cuidado con el tiempo de ciclo, no caer en un ciclo demasiado largo, por hacer excesivos bucles. Pueden dar errores.
133
Soporte Tcnico
FOR(512) y NEXT(513)
FOR(512) S
Instrucciones repetidas N veces NEXT(513)
Soporte Tcnico 134
FOR(512) y NEXT(513)
Soporte Tcnico
FOR(512) y NEXT(513)
FOR(512) &3 A FOR(512) &2
B
NEXT(513) C NEXT(513)
Soporte Tcnico 136
FOR-NEXT Ejemplo
FOR(512) &3 MOV(021) D00100 @D00200 ++ D00200 NEXT(513)
Soporte Tcnico
D00200
#0000
137
BREAK(514)
finaliza el bucle FOR-NEXT actual. En el caso de bucles FOR-NEXT anidados, es necesario una instruccin BREAK para cada bucle. Las instrucciones siguientes hasta el prximo NEXT se tratan como NOP.
BREAK(514)
Soporte Tcnico
138
Soporte Tcnico
139
Desplazamiento y rotacin
De todos o N bits en una y dos palabras
Soporte Tcnico
140
Desplazamiento y rotacin
Soporte Tcnico
141
De N bits
1 Canal Desplazamiento NASL(580) de N bits NASR(581) Desplazamiento NSFL(578) de N bits como dato NSFR(579)
Soporte Tcnico
142
NASL(580)
NASL(580) D C
@NASL(580) D C
Soporte Tcnico
143
NASL(580) ejemplo
C: Palabra de control.
15 12 7 0
1011000110011111
CY
1 0001100111110000
Soporte Tcnico
144
NSLL(582)
Soporte Tcnico
145
NASR(581)
NASR(581) D C
@NASR(581) D C
Soporte Tcnico
146
NASR(581) ejemplo
C: Palabra de control.
15 12 7 0
1011000110011111
CY
0000101100011001 1
Soporte Tcnico
147
NSRL(583)
Soporte Tcnico
148
NSFL(578)
@NSFL(578) D C R
NSFR(579)
@NSFL(578) D C R
1011000110011111
CY
1 1010001100110111
Bits 3 a 12
1011000110011111
CY
1010100011001111 1
Soporte Tcnico
151
Incrementar Decrementar
Autoincremento y Autodecremento
Soporte Tcnico
152
++(590) ++L(591)
dgitos Wd en una unidad. ++L incrementa en binario la palabra de 8 dgitos Wd en una unidad.
Wd: Palabra a incrementar ++(590) Wd ++L(591) Wd @++(590) Wd @++L(591) Wd
153
Soporte Tcnico
--(592) --L(593)
dgitos Wd en una unidad. --L decrementa en binario la palabra de 8 dgitos Wd en una unidad.
Wd: Palabra a incrementar --(592) Wd --L(593) Wd @--(592) Wd @--L(593) Wd
154
Soporte Tcnico
Binario Ejemplos
++(590) D00000 ++L(591) D00000
D0 0019 +1 D0 001A
D0 0019
D1 FFFF +1
D0 001A
D1 0000
155
++B(594) ++BL(595)
dgitos Wd en una unidad. ++BL incrementa en BCD la palabra de 8 dgitos Wd en una unidad.
Wd: Palabra a incrementar ++B(594) Wd ++BL(595) Wd @++B(594) Wd @++BL(595) Wd
156
Soporte Tcnico
--B(596) --BL(597)
dgitos Wd en una unidad. --BL decrementa en BCD la palabra de 8 dgitos Wd en una unidad.
Wd: Palabra a incrementar --B(596) Wd --BL(597) Wd @--B(596) Wd @--BL(597) Wd
157
Soporte Tcnico
BCD Ejemplos
++B(594) D00000 ++BL(595) D00000
D0 0019 +1 D0 0020
D0 0019
D1 9999 +1
D0 0020
D1 0000
158
Comparacin
=, <, <=, >, >=, <>
Soporte Tcnico
159
Comparacin de palabras
Comparacin de palabras
Smbolo =(300) =L(301) =S(302) =SL(303) <>(305) <>L(306) <>S(307) <>SL(308) <(310) <L(311) <S(312) <SL(313) <=(315) <=L(316) <=S(317) <=SL(318) >(320) >L(321) >S(322) <SL(323) >=(325) >=L(326) >=S(327) >=SL(328) Formato -: Sin signo -: Sin signo S: Con signo S: Con signo -: Sin signo -: Sin signo S: Con signo S: Con signo -: Sin signo -: Sin signo S: Con signo S: Con signo -: Sin signo -: Sin signo S: Con signo S: Con signo -: Sin signo -: Sin signo S: Con signo S: Con signo -: Sin signo -: Sin signo S: Con signo S: Con signo Longitud -: 1 palabra L: 2 palabras -: 1 palabra -: 2 palabras -: 1 palabra L: 2 palabras -: 1 palabra -: 2 palabras -: 1 palabra L: 2 palabras -: 1 palabra -: 2 palabras -: 1 palabra L: 2 palabras -: 1 palabra -: 2 palabras -: 1 palabra L: 2 palabras -: 1 palabra -: 2 palabras -: 1 palabra L: 2 palabras -: 1 palabra -: 2 palabras
Soporte Tcnico
161
Comparacin Ejemplo
<LS(313) D0000 D0002
LD
0000.00 Activa la salida 0000.00 si D00000 y D00001 es menor que D00002 y D00003 Tiene en cuenta el signo. Activa la salida 0000.00 si D00000 es menor que D00001 y D00002 es igual 0000.00 que D00003 Tiene en cuenta el signo.
AND
<S(312) D0000 D0001 =S(302) D0002 D0003
OR
0000.00 Activa la salida 0000.00 si D00000 es menor que D00001 o D00002 es igual que D00003
162
Soporte Tcnico
163
SIGN(600)
Soporte Tcnico
164
BINS(470)
Soporte Tcnico
165
BINS(470)
C=0000 (-999 a 999)
000 1 xxxx xxxx xxxx El bit 12 de S indica el signo (1 negativo). Los bits 13 a 15 deben ser 0.
Soporte Tcnico
166
BISL(472)
BISL(472) C S R
Soporte Tcnico 167
@BISL(472) C S R
BISL(472)
C=0000 (-999 9999 a 999 9999)
000 1 xxxx xxxx xxxx El bit 12 de S+1 indica el signo (1 negativo). Los bits 13 a 15 deben ser 0.
Soporte Tcnico
168
BCDS(471)
@BCDS(471) C S R
BDSL(473)
@BDSL(473) C S R
Soporte Tcnico
171
Soporte Tcnico
172
Soporte Tcnico
173
/, - dan como resultado NaN. Overflow () y Underflow (0). Es ms peligroso el Overflow al convertir el resultado a entero (binario con signo). Los decimales se truncan al convertirlos a entero (binario con signo). Cualquier operacin con un NaN como operando da como resultado NaN.
174
Soporte Tcnico
IEEE754
(-1)s2e-127(1+f2-23) 1#10000000#11000000000000000000000
Soporte Tcnico
formato coma flotante IEEE754. No es necesario conocer este formato, slo que ocupan 32 bits.
176
Soporte Tcnico
FIX(450)
@FIX(450) S R
177
FIXL(451)
@FIXL(451) S R
178
D00002 0000000000000000 -58.720.256 D00003 1100110001100000 D00102 0000000000000000 -58.720.256 D00103 1111110010000000
Soporte Tcnico
179
FLT(452)
@FLT(452) S R
180
FLTL(453)
@FLTL(453) S R
181
Soporte Tcnico
182
+F(454)
@+F(454) Au Ad R
-F(455)
@-F(455) Mi Su R
+F, -F Ejemplo
D00000 D00001 D00002 D00003 +F(454) D00000 D00002 D00100 0000 0000 0000 0000 0100 0000 0110 0000 3.5 0000 0000 0000 0000 0100 0000 1100 0000 6
3.5 D00100 0000 0000 0000 0000 +6 D00101 0100 0001 1110 0000 9.5
3.5 D00100 0000 0000 0000 0000 - 6 D00101 1100 0000 0010 0000 -2.5
185
*F(456)
@*F(456) Md Mr R
/F(457)
@/F(457) Dd Dr R
*F, /F Ejemplo
D00000 D00001 D00002 D00003 *F(456) D00000 D00002 D00100 0000 0000 0000 0000 0100 0000 0110 0000 3.5 0000 0000 0000 0000 0100 0000 1100 0000 6
3.5 D00100 0000 0000 0000 0000 * 6 D00101 0100 0001 1011 0000 21
3.5 D00100 0101 0101 0101 0101 6 D00101 0011 1111 0101 1010 0.583333
188
RAD(458)
Soporte Tcnico
189
DEG(459)
Soporte Tcnico
190
/2 90
0000 0000 0000 0000 3/2 270 0011 1111 1000 0000 1 rad 0010 1110 1110 0000 0100 0010 0110 0101 57.29578
191
SIN(460)
Soporte Tcnico
192
COS(461)
Soporte Tcnico
193
TAN(462)
Soporte Tcnico
194
30=0.523599 rad
D00100 0000 0000 0000 0000 D00101 0000 0000 0000 0000 sen30 = 0.5 D00100 1011 0011 1101 0111 D00101 0011 1111 0101 1101 cos30= 0.866 D00100 1100 1101 0011 1010 D00101 0011 1111 1001 0011 tg30=0.577
195
ASIN(463)
Soporte Tcnico
196
ACOS(464)
Soporte Tcnico
197
ATAN(465)
Soporte Tcnico
198
0.5
D00000 0000 1010 1001 0001 arcsen 0.5= D00001 0011 1111 0000 0110 0.523599 rad D00000 0000 1010 1001 0001 arccos 0.5= D00001 0011 1111 1000 0110 1.1047197 rad D00100 0110 0011 1000 1000 arctg 0.5= D00101 0100 0000 1110 1101 0.4636479 rad
199
SQRT(466)
Soporte Tcnico
200
PWR(840)
@PWR(840) B E R
D00100 0000 0000 0000 0000 D00101 0100 0000 0100 0000
9=3
D00100 1011 1111 0001 0000 D00101 0100 1001 0000 0001
202
96=531.441
EXP(467)
@EXP(467) S R
LOG(468)
Soporte Tcnico
204
D00100 0000 0000 0000 0000 D00101 0000 0000 0000 0000
L1 = 0
D00100 1111 1000 0101 0100 D00101 0100 0000 1010 1101
205
e1=2.71828
Instrucciones de calendario
Fecha y hora
Soporte Tcnico
206
Instrucciones de Calendario
necesario insertar la batera. Una vez insertada hay que poner en hora el reloj interno del PLC. Se puede hacer mediante
el CX-Programer o con la consola o mediante la instruccin DATE.
DATE(735)
DATE(735) S
@DATE(735) S
Soporte Tcnico
208
DATE(735)
S 0101 1001 0101 1001 Segundos 00 59 Minutos 00 59 S+1 0011 0001 0010 0011 Hora 00 23 Da 01 31 S+2 1001 1001 0001 1100 Mes 01 12 Ao 00 99 S+3 0000 0000 0000 0110 Da semana 00(Domingo) 06(Sbado) Siempre 0
Soporte Tcnico
209
DATE(735)
La fecha y hora se guardan en los registros auxiliares: Direccin Contenido
A35100 A35107
A35108 A35115 A35100 A35207
Segundos 00 59
Minutos 00 59 Hora 00 23
A35108 A35215
A35100 A35307 A35108 A35315 A35100 A35407 A35108 A35415
Soporte Tcnico
Da 01 31
Mes 01 12 Ao 00 99 Da Semana 00 06 Minutos 00 59
210
DATE(735) Ejemplo
@DATE(735) D00000 D0000 D0001 D0002 D0003 15 05 99 00 30 16 16:15:30 05 5 de Mayo de 1.999 04 Mircoles
Soporte Tcnico
211
CADD(730)
CADD(730) C T R
@CADD(730) C T R
Soporte Tcnico
212
CADD(730)
C 0101 1001 0101 1001 Segundos 00 59 Minutos 00 59 C+1 0011 0001 0010 0011 Este mismo formato es Hora 00 23 el del resultado R a R+2 Da 01 31 C+2 1001 1001 0001 1100 Mes 01 12 Ao 00 99 T 0101 1001 0101 1001 Segundos 00 59 Minutos 00 59 T+1 0011 0001 0010 0011 Hora 0000 9999
Soporte Tcnico 213
CADD(730) Ejemplo
CADD(730) D00000 D00003 D00100 D0000 15 30 D0001 05 16 16:15:30 D0002 99 05 5 de Mayo de 1.999 D0003 15 20 D0004 05 16 516h 15 20
CSUB(731)
CSUB(731) C T R
@CSUB(731) C T R
Soporte Tcnico
215
CSUB(731)
C 0101 1001 0101 1001 Segundos 00 59 Minutos 00 59 C+1 0011 0001 0010 0011 Este mismo formato es Hora 00 23 el del resultado R Da 01 31 C+2 1001 1001 0001 1100 Mes 01 12 Ao 00 99 T 0101 1001 0101 1001 Segundos 00 59 Minutos 00 59 T+1 0011 0001 0010 0011 Hora 0000 9999
Soporte Tcnico 216
CSUB(731) Ejemplo
CSUB(731) D00000 D00003 D00100 D0000 15 30 D0001 05 16 16:15:30 D0002 99 05 5 de Mayo de 1.999 D0003 10 40 D0004 05 16 516h 15 20
SEC(065)
SEC(065) S D
@SEC(065) S D
Soporte Tcnico
218
SEC(065)
S 0101 1001 0101 1001 Segundos 00 59 Minutos 00 59 S+1 1001 1001 1000 1001 Hora 0000 9999
R 1001 1001 1001 1001 R+1 0011 0101 1001 1001 Segundos 0 35.999.999
Soporte Tcnico
219
HMS(066)
HMS(066) S D
@HMS(066) S D
Soporte Tcnico
220
HMS(066)
S 1001 1001 1001 1001 S+1 0011 0101 1001 1001
Segundos 0 35.999.999
0101 1001 0101 1001 Segundos 00 59 Minutos 00 59 R+1 1001 1001 1001 1001 Hora 0000 9999
Soporte Tcnico
221
D00000 0011 0100 0101 0110 D00001 0000 0000 0001 0010 123.456 Segundos
D00100
D00101
0001 0111 0011 0110 36 Segundos 17 Minutos 0000 0000 0011 0100 34 Horas
Soporte Tcnico
222
Ficheros de Memoria
Lectura / Escritura de ficheros
Soporte Tcnico
223
Ficheros de Memoria
FREAD(700)
FREAD(700) C S1 S2 D
Soporte Tcnico
FREAD(700)
C 0000 0000 0001 0001 0: Tarjeta de memoria 1: Memoria EM 0: Leer datos 1: Leer nmero de palabras
S1+1
S1
Nmero de palabras del fichero que se quieren leer (en hexadecimal). Palabra del fichero por la que se empieza a leer (en hexadecimal).
S1+3
S1+2
Soporte Tcnico
226
FREAD(700)
S2: Primera palabra del nombre del fichero que se quiere leer. S2 \ A B C D \ X Y Z
D: Direccin donde se guardan los datos del fichero ledo. Si se lee el nmero de palabras se almacenan en D y D+1 D+1 D Nmero de palabras del fichero ledo (en hexadecimal).
227
Soporte Tcnico
FREAD(700) Ejemplo
0000.00 A343.13 @FREAD(700) #0000 D00200 D00300 D00400
Lee 10 palabras desde la 5 hasta la 14 del fichero \ABCD\XY de la tarjeta de memoria y las guarda en D00400 hasta D00409
00 00 00 00 5C 42 44 58
Soporte Tcnico
228
FWRIT(701)
FWRIT(701) C D1 D2 S
Soporte Tcnico
FWRIT(701)
C 0000 0000 0001 0001 0: Tarjeta de memoria 1: Memoria EM 0: Aadir al final 1: Sobrescribir
D1+1
D1
Nmero de palabras de memoria que se quieren guardar (en hexadecimal). Palabra del fichero por donde se empieza a escribir (en hexadecimal) slo si se sobreescribe.
230
D1+3
D1+2
Soporte Tcnico
FWRIT(701)
D2: Primera palabra del nombre del fichero a escribir. D2 \ A B C D \ X Y Z
S: Primera direccin de memoria a guardar en el fichero. Si se guardan ms palabras de las que hay en ese rea de memoria, se contina guardando palabras del rea siguiente. S Direccin de la primera palabra de memoria que se quiere guardar.
231
Soporte Tcnico
FWRIT(701) Ejemplo
0000.01 A343.13 @FWRIT(701) #0010 D00200 D00300 D00400
Guarda 10 palabras desde DM00400 hasta DM00409 en el fichero \ABCD\XY de la tarjeta de memoria empezando en la palabra (inicio del fichero + 5).
00 00 00 00 5C 42 44 58
Soporte Tcnico
232
Control de datos
Control de datos analgicos
Soporte Tcnico
233
LMT(680)
LMT(680) S C D
@LMT(680) S C D
Soporte Tcnico
234
LMT(680) Ejemplo
@LMT(680) D00000 D00001 D00100
D (binario)
C: Lmite inferior C+1: Lmite superior El lmite inferior puede ser positivo o negativo. El lmite superior debe ser mayor que el inferior.
Soporte Tcnico 235
BAND(681)
BAND(681) S C D
@BAND(681) S C D
Soporte Tcnico
236
BAND(681) Ejemplo
BAND(681) D00000 D00001 D00100
D (binario)
Lmite Inferior C
C: Lmite inferior C+1: Lmite superior El lmite inferior puede ser positivo o negativo. El lmite superior debe ser mayor que el inferior.
Soporte Tcnico 237
ZONE(682)
ZONE(682) S C D
@ZONE(682) S C D
Soporte Tcnico
238
ZONE(682) Ejemplo
ZONE(682) D00000 D00001 D00100
D (binario)
C: Lmite inferior C+1: Lmite superior El lmite inferior puede ser positivo o negativo. El lmite superior debe ser mayor que el inferior.
Soporte Tcnico 239
SCL2(486)
Soporte Tcnico
240
SCL2(486)
P1 P1+1 P1+2 Offset X Y
Soporte Tcnico
241
SCL3(487)
Soporte Tcnico
242
SCL3(487)
P1 P1+1 P1+2 P1+3 P1+4 Offset X Y Lmite superior Lmite inferior
Lmite inferior
Soporte Tcnico
243
Soporte Tcnico
244
Comunicaciones
Soporte Tcnico
PMCR(260)
@PMCR(260) C1 C2 S R
PMCR(260)
C1 0111 0001 1110 0001 10 + N de unidad E1 N de puerto serie (puerto 1 o puerto 2) N de puerto lgico (07) Unidad de comunicaciones (SCU). Tarjeta interna (SCB).
C2 S
N de secuencia de comunicaciones.
Soporte Tcnico
247
PMCR(260) Ejemplo
PMCR(260) D00000 D00001 D00100 D01000
D00000 D00001
Ejecuta la secuencia de comunicaciones 1 de la ComBoard. Utiliza el puerto 1 (puerto fsico). Ocupa el puerto lgico 0.
Soporte Tcnico
248
SEND(090)
SEND(090) S D C
@SEND(090) S D C
Soporte Tcnico
249
SEND(090)
C C+1 C+2 C+3 Byte bajo 07 Byte alto 815 Nmero de palabras: 0001 hasta el mximo de la red. Red destino 007F Puerto serie 0104 (Host Link) Unidad destino Nodo destino 00 al mximo N de reintentos bits 811: puerto lgico 1215: 0 con respuesta 8 sin respuesta Tiempo de monitorizacin de la respuesta 0001FFFF (0.16553.5 seg.)
C+4
Soporte Tcnico
250
RECV(098)
Soporte Tcnico
251
RECV(098)
C C+1 C+2 C+3 Byte bajo 07 Byte alto 815 Nmero de palabras: 0001 hasta el mximo de la red. Red fuente 007F Puerto serie 0104 (Host Link) Unidad fuente Nodo fuente: 00 al mximo N de reintentos bits 811: puerto lgico 1215: 0 con respuesta 8 sin respuesta Tiempo de monitorizacin de la respuesta 0001FFFF (0.16553.5 seg.)
C+4
Soporte Tcnico
252
CMND(490)
Soporte Tcnico
253
CMND(490)
C+5
Byte bajo 07 Byte alto 815 Nmero de Bytes del comando a enviar: 0002 hasta el mximo. Nmero de Bytes del comando a recibir: 0002 hasta el mximo Red fuente 007F Puerto serie 0104 (Host Link) Unidad fuente Nodo fuente: 00 al mximo N de reintentos bits 811: puerto lgico 1215: 0 con respuesta 8 sin respuesta Tiempo de monitorizacin de la respuesta 0001FFFF (0.16553.5 seg.)
Soporte Tcnico
254
Cambio en Instrucciones
Instrucciones que ya no existen o han sido modificadas
Soporte Tcnico
255
Instrucciones no soportadas
SCAN LMSG TERM MPRF XFR2 XDMR INT CMCR DSW TKY HKY MTR 7SEG
Soporte Tcnico
Impone un tiempo mnimo de ciclo de programa. Muestra un mensaje de 32 bits en la consola de programacin. Coloca la consola de programacin en modo terminal. Refresco de unidades de alta densidad. Transferir bloque EM. Leer banco de expansin EM. Gestin de interrupciones. Macro de la tarjeta PCMCIA. Entrada de interruptor digital. Entrada de teclado decimal. Entrada de teclado hexadecimal. Entrada de matriz. Conversin a 7 segmentos.
256
Instrucciones modificadas
FAL/FALS WSFT PMCR MSG TTIM SEND/RECV FCS SRCH MAX/MIN SUM PID IORD/IOWR Alarma de fallos. Shift de palabra. Protocol Macro Mensaje. Temporizador totalizador. Network Enviar y Recibir. Frame checksum. Bsqueda. Encontrar mximo y mnimo. Suma. Control PID. Leer/Escribir unidades I/O especiales.
Soporte Tcnico
257