ch5 PDF
ch5 PDF
APÍTULO
INSTRUCCIONES RLL DEL
PLC DL06
5
En este capítulo
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–2
Usando instrucciones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–5
Instrucciones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–10
Instrucciones de comparación booleanas . . . . . . . . . . . . . . . . . . . .5–26
Instrucciones de acción inmediata . . . . . . . . . . . . . . . . . . . . . . . .5–32
Instrucciones de temporizadores, contadores y Shift Register . . . .5–39
Operaciones de carga y copia con el acumulador y Stack . . . . . .5–52
Instrucciones lógicas (Acumulador) . . . . . . . . . . . . . . . . . . . . . . . .5–69
Instrucciones aritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–86
Instrucciones de funciones transcendentales . . . . . . . . . . . . . . . .5–118
Instrucciones de operación con bits . . . . . . . . . . . . . . . . . . . . . .5–120
Instrucciones de conversión de números (Acumulador) . . . . . . . .5–127
Instrucciones de tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–141
Instrucciones de fecha y hora . . . . . . . . . . . . . . . . . . . . . . . . . . .5–171
Instrucciones de control de la CPU . . . . . . . . . . . . . . . . . . . . . . .5–173
Instrucciones de control de programa . . . . . . . . . . . . . . . . . . . . .5–175
Instrucciones de Interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–183
Instrucciones de mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–186
Instrucciones de MODBUS RTU . . . . . . . . . . . . . . . . . . . . . . . . . .5–201
Instrucciones de texto ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . .5–210
Instrucciones de tipo Intelligent Box (IBox) . . . . . . . . . . . . . . . . .5–230
Capítulo 5: Instrucciones
Introducción
1 Los PLCs DL06 ofrecen una amplia variedad de instrucciones para realizar diversos tipos de
operaciones. Este capítulo le muestra cómo utilizar cada instrucción normal de lógica ladder de
2 relevadores (RLL). Además de estas instrucciones, usted puede también necesitar referirse a las
instrucciones de tambor (DRUM) en el capítulo 6, o a las instrucciones de programación por
etapas en el capítulo 7.
3 Hay dos formas de encontrar rápidamente la instrucción que usted necesita.
• Si sabe la categoría de la instrucción (booleana, comparativos booleanos, etc.) use el título en la parte
4 superior de las páginas para encontrar las páginas que discuten las instrucciones en esa categoría.
• Si usted sabe el nombre individual de la instrucción, utilice el índice siguiente para encontrar la
5 Instrucción
página que discute la instrucción.
Página Instrucción Página
6 Accumulating Fast Timer (TMRAF) 5–42 And Store (AND STR) 5–16
Accumulating Timer (TMRA) 5–42 And with Stack (ANDS) 5–72
7 Add (ADD)
Add Binary (ADDB)
5–86
5–99
Arc Cosine Real (ACOSR)
Arc Sine Real (ASINR)
5–119
5–118
1 Or Out (OROUT)
Or Out Immediate (OROUTI)
5–17
5–34
Shuffle Digits (SFLDGT)
Sine Real (SINR)
5–139
5–118
Or Positive Differential (ORPD) 5–21 Source to Table (STT) 5–156
2 Or Store (ORSTR) 5–16 Square Root Real (SQRTR) 5–119
Or with Stack (ORS) 5–76 Etapas Contador (SGCNT) 5–47
3 Out (OUT) 5–17 Stop (STOP) 5–173
Out (OUT) 5–18 Store (STR) 5–10
4 Out Bit-of-Word (OUT) 5–64 Store (STR) 5–29
Out Double (OUTD) 5–64 Store Bit-of-Word (STRB) 5–11
5 Out Formatted (OUTF) 5–65 Store If Equal (STRE) 5–26
Out Immediate (OUTI) 5–34 Store If Not Equal (STRNE) 5–26
4 END
5 Contactos en serie
6 Use la instrucción AND para unir dos o más contactos en serie. El ejemplo siguente muestra
dos contactos en serie y una salida en una bobina. Las instrucciones usadas serían el STR X0,
AND X1 seguidos por OUT Y0.
7 DirectSOFT
Direct SOFT32 ProgramadorH2-HPP
Programador D2-HPP
8 X0 X1 Y0
OUT
STR X0
AND X1
OUT Y0
9 END
END
10
Salidas en el medio del renglón
11 A veces es necesario usar salidas en el medio del renglón para obtener salidas adicionales que son
condiciones a otros contactos. No se deben colocaar más instrucciones en un renglón después
de una rama que conecta a una salida. El ejemplo siguiente muestra cómo se puede utilizar la
12 instrucción AND para continuar un renglón con más salidas condicionales.
13 DirectSOFT
Direct SOFT32 ProgramadorH2-HPP
Programador D2-HPP
14 X0 X1 Y0
OUT
STR X0
AND X1
OUT Y0
AND X2
A X2 Y1 OUT Y1
AND X3
OUT OUT Y2
B X3 Y2
END
OUT
C
END
D
Elementos en paralelo
Usted puede también tener que unir contactos en paralelo. La instrucción OR permite hacer
esto. El ejemplo siguiente muestra dos contactos en paralelo y una sola salida. Las instrucciones 1
serían el STR X0, OR X1, seguidos por OUT Y0.
DirectSOFT
Direct SOFT32 Programador D2-HPP
ProgramadorH2-HPP
2
X0 Y0
OUT
STR X0
OR X1
3
OUT Y0
X1 END
4
END 5
Uniendo ramas conectadas en serie y en paralelo
A menudo es necesario unir varios grupos de elementos en serie en paralelo. La instrucción OR
6
STORE (ORSTR) permite esta operación. El ejemplo siguiente muestra un circuito con
elementos en serie unidos en paralelo. 7
DirectSOFT
X0 X1
Direct SOFT32
Y0
ProgramadorH2-HPP
Programador D2-HPP
STR X0
8
OUT AND X1
X2 X3
STR X2
AND X3
9
ORSTR
OUT Y0
END END 10
Ramas en paralelo que se unen en serie 11
Usted puede también unir una o más ramas paralelas en serie. La instrucción AND STORE
(ANDSTR) permite esta operación. El ejemplo siguiente muestra un circuito simple con ramas
de contactos en serie con contactos en paralelo.
12
DirectSOFT
X0
Direct SOFT32
X1 Y0
Programador D2-HPP
ProgramadorH2-HPP
STR X0
13
OUT STR X1
X2
OR X2
ANDSTR
OUT Y0
14
END
END A
Circuitos combinación
Usted puede combinar varios tipos de X0 X2 X5 Y0
OUT
B
ramas en serie y paralelas para solucionar
la mayoría de problemas de lógica. El
ejemplo siguiente muestra un circuito
X1 X3 X4
C
simple de combinación. X6
D
END
Comparación booleana
Algunos fabricantes de PLCs hacen realmente difícil el hacer una comparación simple de dos
1 números. Algunos requieren mover los datos a varios lugares antes de que se pueda realizar
realmente la comparación. Los PLCs DL06 tienen instrucciones boleanas comparativas que le
2 permiten solucionar rápida y fácilmente este problema. La comparación booleana permite
evaluación de dos valores de 4 dígitos usando contactos boleanos (los valores deben ser del
mismo tipo, tal como, BCD, decimal. etc). Las evaluaciones válidas son: igual a, no igual a, igual
3 a o mayor que, y menor que.En el ejemplo siguiente cuando el valor en la dirección de memoria
V1400 es igual al valor constantee 1234, Y3 se energizará.
4 Stack booleano
Y3
V1400 K1234
OUT
Hay límites de cuántos elementos usted puede incluir en
5 un renglón. Esto es porque el PLC DL06 usa una memoria
o stack booleano de 8 niveles para evaluar los varios elementos de lógica. El stack booleano es
6 un área de almacenamiento temporal que soluciona la lógica en el renglón. Cada vez que el
programa encuentra una instrucción STR, la instrucción se pone en el nivel superior del stack.
Cualquiera otras instrucciones STR ya en el stack booleano se van hacia abajo un nivel. Las
7 instrucciones ANDSTR y ORSTR combinan niveles del stack booleano cuando se encuentran
en la lógica. Ocurrirá un error durante la compilación del programa si la CPU encuentra un
8 renglón que use más que los 8 niveles del stack.
El ejemplo siguiente muestra cómo se usa el stack para solucionar lógica booleana.
9
X0 X1 ORSTR AND X4 Y0
STR
10 STR OUT Salida discreta
X2 AND X3
ANDSTR
11 STR
X5 OR
12
STR X0 STR X1 STR X2 AND X3
13 1
2
STR X0 1
2
STR X1
STR X0
1
2
STR X2
STR X1
1
2
X2 AND X3
STR X1
3 3 3 STR X0 3 STR X0
14 4
5
4
5
4
5
4
5
6 6 6 6
A 7 7 7 7
8 8 8 8
B ORSTR
1 X1 o (X2 AND X3)
AND X4
1 X4 AND {X1 o (X2 AND X3)}
ORNOT X5
1 NOT X5 OR X4 AND {X1 OR (X2 AND X3)}
C 2
3
STR X0 2
3
STR X0 2
3
STR X0
. . .
. . .
D 8 8 8
ANDSTR
9
LOGIC 06
K oyo
TERM
10
PORT1 PORT2 RUN STOP
11
Barrido de la CPU
Escribe salidas
OFF X1
C
Escribe salidas a módulos de especialidad
Diagnósticos
D
Instrucciones booleanas
1 La instrucción Store(STR)
2 DS5 Usado
HPP Usado
Comienza un nuevo renglón o una rama adicional en un
renglón con un contacto normalmente abierto. El estado del
Aaaa
8 Relevadores de control . . . . . . . . . . . . . . . . . . . C
Etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S
0–1777
0–1777
Temporizador . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377
9 Contador C . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT
Relevadores especialesl . . . . . . . . . . . . . . . . . SP
0–177
0–777
X1 Y2 $ B ENT
12 OUT
GX
STR
C
1
ENT
OUT 2
13
14
En el siguiente ejemplo, cuándo la entrada X1 está OFF, se activará la salida Y2.
A DirectSOFT
Direct SOFT32 Programador D2-HPP
X1 Y2 SP B
B OUT STRN
GX C
1
ENT
ENT
OUT 2
C
D
B1400.12 Y2 9
OUT
10
Programador D2-HPP
11
STR SHFT B V 1 4 0 0
K 1 2 ENT 12
OUT 2 ENT
OUT A
B
Programador D2-HPP
STRN SHFT B V 1 4 0 0
C
OUT
K 1
2
2
ENT
ENT
D
X1 Y5 $ B ENT
STR 1
11 OUT
Q
OR
C
2
ENT
X2
12 GX
OUT
F
5
ENT
B X2
R
ORN
C
2
ENT
GX F ENT
C OUT 5
OUT
9
B1400.7
Programador D2-HPP
10
STR
OR SHFT
1
B
ENT
V 1 4 0 0
11
OUT
K 7
7
ENT
ENT
12
En el ejemplo siguiente de la instrucción OR, cuando la entrada X1 está activada o el bit 7 de 13
V1400 no está activado, se energizará la salida Y5.
14
DirectSOFT
DirectSOFT32
X1 Y7 A
OUT
B1400.7 B
Programador D2-HPP
STR 1 ENT C
ORN SHFT B V 1 4 0 0
K 7 ENT D
OUT 7 ENT
11 X1 X2 Y5
OUT
$
STR
B
1
ENT
V C
12 AND
GX F
2
ENT
ENT
OUT 5
13
En el siguiente ejemplo de ANDN, cuándo la entrada X1 está ON y X2 está apagada, se activará
14 la salida Y5.
A DirectSOFT
Direct SOFT32 Programador D2-HPP
X1 X2 Y5
B OUT
$
STR
B
1
ENT
W C ENT
ANDN 2
C GX
OUT
F
5
ENT
En el ejemplo siguiente de Bit of Word, cuando la entrada X1 y el bit 4 de V1400 están ON,
7
se energizará la salida Y5. Note que en DirectSOFT se usa “B”1400.4.
DirectSOFT
DirectSOFT32 8
X1 B1400.4 Y5
OUT
9
Programador D2-HPP
10
STR
AND SHFT
1
B
ENT
V 1 4 0 0
11
K 4 ENT
OUT 5 ENT
12
13
En el siguiente ejemplo de And Not Bit-of-Word, cuando la entrada X1 está ON y el bit 4 de
V1400 está OFF, se energizará la salida Y5. 14
DirectSOFT
DirectSOFT32
X1 B1400.4 Y5
OUT
A
B
Programador D2-HPP
STR 1 ENT C
ANDN SHFT B V 1 4 0 0
K 4 ENT D
OUT 5 ENT
OUT
DS5 Implied
con dos ramas de un renglón en paralelo. Ambas
4 HPP Usado
ramas deben comenzar con la instrucción STR. 2
5
En el siguiente ejemplo, la rama compuesta de los contactos X2, X3, y X4 se ha operado AND
6 con la rama compuesta del contacto X1.
DirectSOFT
Direct SOFT32 Programador D2-HPP
7 X1 X2 X3 Y5 $ B ENT
STR 1
8 X4
OUT
$
STR
C
2
ENT
V D
9 Q
AND
E
3
ENT
ENT
OR 4
10 L
ANDST
ENT
GX F
11 OUT 5
ENT
X1 X2 Y5 $ B ENT
14 OUT
V
STR
C
1
ENT
AND 2
X3 X4
A $
STR
D
3
ENT
V E
B M
AND 4
ENT
ENT
ORST
C GX
OUT
F
5
ENT
OUT
Y2 $
STR
B
1
ENT 7
GX C ENT
OUT 2
OUT
Y5
GX
OUT
F
5
ENT
8
La instrucción Or Out (OROUT) 9
La instrucción OROUT permite que más de un renglón de
DS5 Usied
HPP Usado
lógica discreta controle una sola salida. Pueden ser usadas
A aaa
OROUT
10
múltiples instrucciones OROUT que referencian la misma
bobina de salida, ya que todos los contactos que controlan la
salida son operados con la función OR. Si el estado de cualquier
11
renglón está ON, la salida estará también ON.
Tipo de operando de datos Rango del DL06
12
A
Entradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X
aaa
0–777
13
Salidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0-777
Relevadores de control . . . . . . . . . . . . . . . . . . . C 0–1777 14
En el ejemplo siguiente, cuando una o las dos salidas X1 o X4 están ON, en cualquier parte del
programa, se energizará la salida Y2 . A
DirectSOFT
Direct SOFT32 Programador D2-HPP
X1 Y2
OR OUT
$
STR
B
1
ENT
B
O D F C
INST#
$
3
E
5
ENT ENT
2
ENT
C
ENT
STR 4
X4 Y2
OR OUT
O
INST#
D
3
F
5
ENT ENT C
2
ENT D
X1 B1400.3
7 OUT
8 Programador D2-HPP
B1401.6
OUT
STR 1 ENT
9 OUT SHFT B V 1 4 0 0
K 3 ENT
10 OUT SHFT B V 1 4 0 1
K 6 ENT
X1 Y2
Programador D2-HPP
$ B ENT
3
STR 1
OUT
SHFT N
TMR
O
INST#
T
MLR
ENT 4
GX C ENT
OUT 2
5
NOTE: DirectSOFT Release 1.1i and later supports the use of the NOT instrucción. The above example
renglón is merely intended to show the visual representation of the NOT instrucción. The NOT instrucción can
6
only be selected in DirectSOFT from the Instrucción Browser. The renglón cannot be created or displayed in
DirectSOFT versions earlier than 1.1i. 7
La instrucción Positive Differential (PD)
La instrucción PD se conoce típicamente como A aaa
8
DS5 Usado "one shot". Cuándo la lógica de entrada produce PD
HPP Usado una transición de OFF para ON, la salida se 9
Tipo de operando de datos Rango del DL06 10
....................................A aaa
Entradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X
Salidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y
0–777
0–777
11
Relevadores de control . . . . . . . . . . . . . . . . . . . C 0–1777
12
activará por un barrido de la CPU.
En el ejemplo siguiente, cada vez que X1 hace una transición de OFF para ON, C0 se activará 13
DirectSOFT
DirectSOFT32 Programador D2-HPP 14
X1 C0 $ B ENT
STR 1
PD
SHFT P
CV
SHFT D
3
A
0
A
por un barrido.
B
C
D
11 En el ejemplo siguiente, cada vez que X1 hace la transición de OFF para ON, Y4 se activará por
un barrido.
12 DirectSOFT
DirectSOFT32 Programador D2-HPP
X1 $ SHFT P D B ENT
13 OUT
Y4
GX
STR
E
CV
ENT
3 1
OUT 4
14
En el ejemplo siguiente, cada vez que X1 hace la transición de ON para OFF, la salida Y4 se
A activará por un barrido.
DirectSOFT
B DirectSOFT32
X1 Y4
Programador D2-HPP
$
STR
SHFT N
TMR
D
3
B
1
ENT
OUT
C GX
OUT
E
4
ENT
X1 Y5
$
STR
B
1
ENT 12
OUT Q SHFT P D C ENT
X2 GX
OUT
OR
F
CV
5
3
ENT
2
13
14
En el ejemplo siguiente, se activará la salida Y5 cuando X1 está ON o también por un barrido
de la CPU cuando haya una transición en X2 desde ON a OFF. A
DirectSOFT
DirectSOFT32 Programador D2-HPP
B
$ B ENT
Y5
X1
OUT Q
STR
OR
SHFT N
TMR
1
D
3
C
2
ENT
C
X2 GX
OUT
F
5
ENT
D
DirectSOFT
12 DirectSOFT32
X1 X2
Programador D2-HPP
$ B ENT
Y5 STR 1
13 OUT Q
OR
SHFT P
CV
D
3
C
2
ENT
GX F
ENT
OUT 5
14 En el ejemplo siguiente, se activará Y5 cuando X1 está ON y al mismo tiempo en un barrido de
la CPU cuando haya una transición en X2 desde ON a OFF.
A
B DirectSOFT
DirectSOFT32
X1 X2 Y5
Programador D2-HPP
$ B ENT
STR 1
C OUT Q
OR
SHFT N
TMR
D
3
C
2
ENT
GX F
ENT
OUT 5
D
DS5 Usado
Esta instrucción vuelve a 0, a OFF o apaga un punto de
memoria imagen o un rango consecutivo de memorias A aaa
.
de memoria
aaa 4
HPP Usado imagen. Una vez que la localización de memoria es RST
OFF no es necesario que el renglón permanezca ON. 5
Tipo de operando de datos Rango del DL06 6
....................................A aaa
Entradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777 7
Salidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0–777
Relevadores de control . . . . . . . . . . . . . . . . . . . C
Etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S
0–1777
0–1777
8
Temporizador . . . . . . . . . . . . . . . . . . . . . . . . . . . T 0–377
Contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CT 0–177 9
En el ejemplo siguiente cuando X1 está ON, Y2 hasta Y5 se activarán o se harán ON y
permanecerán energizadas. 10
DirectSOFT
DirectSOFT32
X1
Programador D2-HPP
11
Y2 Y5 $ B ENT
STR 1
SET
X
SET
C
2
F
5
ENT
12
13
En el ejemplo siguiente cuando X1 está ON, las salidas Y2 hasta Y5 será vueltas a OFF y
14
permanecerán desenergizadas.
A
DirectSOFT
DirectSOFT32 Programador D2-HPP B
X2 $ B
Y2 Y5 ENT
RST
S
STR
C
1
F ENT
C
RST 2 5
8 X1
B1400.1
SET
9
10 Programador D2-HPP
STR 1 ENT
11 SET SHFT B V 1 4 0 0
K 1 ENT
12
En el ejemplo siguiente cuando X2 se activa ON, el bit 1 en V1400 se va al estado OFF.
13 DirectSOFT
DirectSOFT32
X2
B1400.1
14 RST
A Programador D2-HPP
B STR 2 ENT
RST SHFT B V 1 4 0 0
C K 1 ENT
PAUSE 7
Ya que el programador D2-HPP no tiene una tecla específica de Pause, usted puede utilizar el
8
número correspondiente de la instrucción para la entrada (# 960), o puede teclear cada letra del
comando. 9
Programador D2-HPP
$ B ENT
10
STR 1
O
INST#
J
9
G
6
A
0
ENT ENT D
3
F
5
ENT 11
En algunos casos, usted puede querer que ciertos puntos de salida en el rango especificado en la 12
instrucción Pause funcionen normalmente. En ese caso, use AUX 58 para cancelar la
instrucción Pause. 13
14
A
B
C
D
V2000 K4933 Y3
Programador D2-HPP
$
STR
SHFT E
4
C
2
A
0
A
0
A
0
OUT
11 GX
E
4
J
D
9
D
ENT
3
D
3
ENT
OUT 3
12
En el ejemplo siguiente, cuando el valor BCD en la memoria V2000 no sea igual a 5060, se
13 activará la salida Y3.
14 DirectSOFT
DirectSOFT32 Programador D2-HPP
Y3 SP SHFT E C A A A
V2000 K5060
A OUT
STRN
F
5
A
4
0
G
6
A
2
0
ENT
0 0 0
GX D
B OUT 3
ENT
C
D
V2000 K4500 Y3
Programador D2-HPP
$
STR
SHFT E
4
C
2
A
0
A
0
A
0
9
OUT
V2002 K2345
E
Q
4
F
5
SHFT
A
E
0
A
0
C
ENT
A A C
10
OR 4 2 0 0 2
C
GX
2
D
3
E
D
4
F
5
ENT
11
ENT
OUT 3
12
En el ejemplo siguiente, cuando el valor en la dirección de memoria V2000 es igual a 3916 o
V2002 es diferente a 2500, se energizará la salida Y3. 13
DirectSOFT
DirectSOFT32 Programador D2-HPP
14
$ E C A A A
V2000 K3916 Y3
OUT D
STR
J
SHFT
B
4
G ENT
2 0 0 0
A
3 9 1 6
V2002 K2500 R
C
ORN
F
SHFT E
A
4
A
C
2
A
0
A
0
C
2 B
ENT
2 5 0 0
GX
OUT
D
3
ENT C
D
9 DirectSOFT
DirectSOFT32 Programador D2-HPP
10 OUT
F
STR
5
A
0
A
4
0
A
0
ENT
2 0 0 0
V E C A A C
11 C
AND
SHFT
D E
4
F ENT
2 0 0 2
2 3 4 5
12 GX
OUT
D
3
ENT
14 DirectSOFT
DirectSOFT32 Programador D2-HPP
A OUT
F
5
A
0
A
0
A
0
ENT
V SHFT E C A A C
B C
AND
2
D
3
E
4
4
F
5
ENT
2 0 0 2
GX D ENT
C OUT 3
OUT
STR
B
1
A
0
A
AND
0
A
2
0
ENT
0 0 0
10
GX D
OUT 3
ENT
11
12
En el ejemplo siguiente, cuando el valor en la dirección de memoria V2000 es menor que 4050,
se energizará la salida Y3. 13
DirectSOFT
DirectSOFT32 Programador D2-HPP
14
V2000 K4050 Y3
OUT
SP
STRN
E
SHFT
A
V
F
AND
C
A
2
A
0
A
0
A
0 A
ENT
4 0 5 0
GX
OUT
D
3
ENT B
C
D
La instrucciónOr comparativa(OR)
La instrucción OR comparativa conecta un contacto
1 DS5 Implied
comparativo normalmente abierto en paralelo con otro A aaa B bbb
HPP Usado
contacto. El contacto será encendido cuando Aaaa es igual o
2 mayor que Bbbb.
La instrucción Or Not compArativa(ORN)
3 DS5 Implied
La instrucción ORN comparativa conecta un contacto
A aaa B bbb
comparativo normalmente cerrado en paralelo con otro
HPP Usado
4 contacto. El contacto estará encendido cuando Aaaa es
menor que Bbbb.
5 Tipo de operando de datos Rango del DL06
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A/B aaa bbb
6 Memoria V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
PUnterO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p
Vea el mapa de memoria
Vea el mapa de memoria
Vea el mapa de memoria
Vea el mapa de memoria
Constante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K –– 0–9999
7 Temporizador . . . . . . . . . . . . . . . . . . . . . . . . . TA 0–377
Contador . . . . . . . . . . . . . . . . . . . . . . . . . . . . CTA 0–177
8 En el ejemplo siguiente, cuando el valor BCD en la dirección de memoria V2000 = 6045 o
V2002 욷 2345, se energizará la salida Y3.
9
DirectSOFT Programador D2-HPP
10 DirectSOFT32
V2000 K6045 Y3
$
STR
SHFT E
4
C
2
A
0
A
0
A
0
OUT G A E F ENT
11 V2002 K2345 Q
6
OR
0
SHFT
4
V
AND
5
C
2
A
0
A
0
C
2
C D E F
12 GX
OUT
2 3
D
4
3
ENT
5
ENT
13
14 En el ejemplo siguiente, cuando el valor BCD en la dirección de memoria V2000 = 1000 o
V2002 es menor que 2500, se energizará la salida Y3.
A DirectSOFT
DirectSOFT32 Programador D2-HPP
$ E C A A A
B V2000 K1000 Y3
OUT B
STR
1
SHFT
A
0
A
4
0
A
0
ENT
2 0 0 0
C V2002 K2500
R
C
ORN
F
SHFT
A
V
A
AND
C
ENT
2
A
0
A
0
C
2
2 5 0 0
D GX
OUT
D
3
ENT
F
STR
A
SHFT E
A
4
A
C
2
ENT
A
0
A
0
A
0
10
5 0 0 0
V
C
AND
D
SHFT
E
V
F
AND
C
2
ENT
A
0
A
0
C
2 11
2 3 4 5
GX
OUT
D
3
ENT
12
13
En el ejemplo siguiente, cuando el valor en la dirección de memoria V2000 es igual a 7000 y
V2002 es menor que 2500, se energizará la salida Y3. 14
DirectSOFT
DirectSOFT32 Programador D2-HPP
$ E C A A A
A
V2000 K7000 V2002 K2500 Y3 SHFT
STR 4 2 0 0 0
OUT H
7
A
0
A
0
A
0
ENT B
W SHFT V C A A C
ANDN AND 2 0 0 2
C
2
F
5
A
0
A
0
ENT C
GX SHFT Y D ENT
OUT AND 3
D
X1 Y2
Programador D2-HPP
$ SHFT I B ENT
STR 8 1
10 OUT
GX
OUT
C
2
ENT
C
8
B
1
ENT
ENT
OUT 2
13
La instrucción Or Immediate (ORI)
14 DS5 Implied
La instrucción ORI conecta dos contactos en paralelo. El estado
del contacto será igual que el estado del punto asociado de la X aaa
HPP Usado
A entrada en el momento que se ejecuta la instrucción. La memoria
imagen no es actualizada.
B La instrucción Or Not Immediate (ORNI)
La instrucción ORNI conecta dos contactos en paralelo. El
DS5 Implied X aaa
C HPP Usado
estado del contacto será opuesto al estado del punto asociado de
la entrada en el momento que se ejecuta la instrucción. La memoria
imagen no es actualizada.
D
Entradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X
aaa
0–777
1
En el ejemplo siguiente, cuando X1 o X2 están encendidas, se energizará la salida Y5.
DirectSOFT
DirectSOFT32 Programador D2-HPP
2
X1 Y5 $ B ENT
X2
OUT
Q
STR
OR
SHFT I
1
8
C
2
ENT
3
GX F ENT
$
STR
B
1
ENT
5
OUT
X2
R
ORN
GX
OUT
SHFT I
F
8
5
ENT
C
2
ENT
6
La instrucción And Immediate (ANDI) 7
DS5 Implied
La instrucción ANDI conecta dos contactos en serie. El estado del contacto será igual que el
HPP Usado
estado del punto asociado de entrada en el momento que se ejecuta la instrucción. La memoria
imagen no es actualizada.
8
La instrucción And Not Immediate (ANDNI) X aaa 9
La instrucción ANDNI conecta dos contactos en serie. El
DS5 Implied
HPP Usado
estado del contacto será opuesto al estado del punto
asociado de entrada en el momento que se ejecuta la
10
instrucción. La memoria imagen no es actualizada.
X aaa 11
12
Tipo de operando de datos Rango del DL06
aaa
13
Entradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X 0–777
OUT
Programador D2-HPP
$
STR
B
1
ENT
A
V SHFT I C ENT
AND
GX
OUT
F
8
5
ENT
2
B
En el ejemplo siguiente, cuando X1 está encendida y X2 está apagada, se energizará Y5.
DirectSOFT
DirectSOFT32 Programador D2-HPP
C
X1 X2 Y5
OUT
$
W
ANDN
STR
SHFT
B
I
1
8
ENT
C
2
ENT
D
GX F ENT
OUT 5
X1 Y2 $ B ENT
12 OUTI
O
STR
D F
1
A ENT ENT
INST# 3 5 0
13 C
2
ENT
$
STR
B
1
ENT
OR OUTI O D F A
B X4 Y2
INST#
C
3
2
ENT
5 0
ENT ENT
OR OUTI
C $
O
STR
D
E
F
4
ENT
A ENT ENT
INST# 3 5 0
D C
2
ENT
OUTIF Y30
11
K8
$ A
14
NEXT NEXT NEXT NEXT ENT
STR 0
SHFT L
ANDST
D
3
I
8
F
5
B
1
A
0
I
8
ENT A
GX I F D A I
OUT
SHFT
8 5 3 0 8
ENT
B
C
D
10 DirectSOFT
DirectSOFT32
X1 Y2 Y5
Programador D2-HPP
$ B ENT
STR 1
11 SETI X
SET
SHFT I
8
C
2
F
5
ENT
12
13 En el ejemplo siguiente, cuándo X1 está ON, Y5 hasta Y22 se colocará OFF en la memoria
imagen y en el o los módulos correspondiente de salidas físicas.
14 DirectSOFT
DirectSOFT32
Programador D2-HPP
A X1 Y5 Y22
RSTI
$
STR
B
1
ENT
S SHFT I F C C ENT
B RST 8 5 2 2
C
D
V40400
Dirección
V40400
X17 X16 X15 X14 X13 X12 X11 X10 X7
ON OFF ON ON OFF ON OFF OFF ON OFF ON ON OFF ON OFF ON
X6 X5 X4 X3 X2 X1 X0
10
Carga las entradas desde X0
hasta X17 al acumulador
inmediatamente
Los bits no usados del
11
acumulador son colocados en cero
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OUTI
Acum. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 12
V40502
SHFT L
ANDST
D
3
I
8
E
4
A
0
E
4
A
0
A
0
ENT C
GX I E A F A C
OUT
SHFT
8
NEXT
4 0 5 0 2
ENT
D
8 DirectSOFT
DirectSOFT32
Dirección Constante
C0
LDIF X10 X17 X16 X15 X14 X13 X12 X11 X10
9 K8
consecutivas discretas al
Los bits no usados del
acumulador, comenzando en X10
10 Acum. 0
acumulador son colocados en cero.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8
0
7 6 5
1 0 1
4 3
1 0
2
1 0
1 0
1
11 OUTIF Y30
K8
13
Programador D2-HPP
14 $
STR
NEXT NEXT NEXT NEXT A
0
ENT
SHFT L D I F B A I ENT
A GX
ANDST
SHFT I
3
F
8 5
D A
1 0
I
8
ENT
OUT 8 5 3 0 8
B
C
D
X1
0 1 2 3 4 5 6 7 8 X1
TMR
K30
T1 6
T1
Valor prefijado del temporizador 7
T1 Y0
Valor
corriente
0 10 20 30 40
1/10 de segundo
50 60 0
OUT
8
Hay algunos usos que necesitan un temporizador acumulador, queriendo decir que tiene la
capacidad de medir el tiempo, parar y después reanudar de donde paró. El temporizador
9
acumulador trabaja en forma similar al temporizador regular, pero se requieren dos entradas. La
entrada "enable" parte y para el temporizador. Cuando el temporizador para, se mantiene el 10
tiempo transcurrido. Cuando el temporizador comienza otra vez, el conteo de tiempo continúa
a partir del tiempo transcurrido. Cuando se activa la entrada "reset", el tiempo transcurrido es
apagado y el temporizador comenzará en 0 cuando se parte nuevamente. Hay bases de tiempo
11
de un décimo de segundo y un centésimo de segundo disponibles con un tiempo máximo de
9999999,9 y 999999,99 segundos respectivamente. El diagrama que mide el tiempo abajo 12
muestra la relación entre la entrada del temporizador, reset del temporizador, bit discreto
asociado, valor corriente y valor prefijado del temporizador.
Segundo
13
0 1 2 3 4 5 6 7 8 X1
TMRA T0
X1 Enable
K30 14
X2
X2
A
Reset
T0 B
Valor 0 10 10 20 30 40 50 0
corriente 1/10 de segundo
C
.NOTA: No se usa la coma decimal en este temprozador, pero hay una coma implicada. Los valores corriente
y prefijado de todo los tipos de tempriozadores están en formato BCD. D
B NOTA: * Con el programador D2-HPP, los bits discretos de estado y el valor corriente del temporizador
se obtienen con la misma referencia. DirectSOFT usa referencias separadas, tal como "T2" para el
C bit de estado y "TA2" para el valor corriente del temporizador T2.
Usted puede realizar funciones cuando el temporizador alcanza el valor prefijado especificado
D usando el bit de estado. O, usando contactos de comparación para realizar funciones en
intervalos diferentes de tiempo, basado en un temporizador. Los ejemplos siguientes muestran
OUT
T2 5
Programador D2-HPP
$
STR
B
1
ENT
Valor
Y0
corriente
0 10 20 30 40 50 60 0
6
N C D A 1/10 de segundo
$
TMR
STR
SHFT
2
T
MLR
C
3
2
ENT
0
ENT
7
GX A
OUT 0
ENT
8
Ejemplo de temporizador con contactos de comparación
En el ejemplo siguiente, se usa un temporizador con un valor prefijado de 4,5 segundos. Los
contactos de comparación se usan para activar Y3, Y4, y Y5 en un intervalo de un segundo
9
respectivamente. Cuándo X1 se apaga, el temporizador vuelve a 0 y los contactos de
comparación se abren con lo cual Y3, Y4 y Y5 se apagarán. 10
DirectSOFT
11
Direct SOFT32
X1
TMR T20
Diagrama de tiempos
Segundos
12
K45 0 1 2 3 4 5 6 7 8
TA20 K10 Y3
OUT
X1
13
Y3
TA20 K20 Y4
OUT
Y4
14
Y5
1/10 de segundo
TA20 K30 Y5
OUT
Valor
T2
0 10 20 30 40 50 60 0
A
corriente
Programador D2-HPP
$ B
B
ENT
STR 1
N
$
TMR
C
SHFT
2
A
T
0
C
E
A
4
F
5
B
ENT
A ENT
C
STR MLR 2 0 1 0
GX
$
OUT
D
SHFT
3
ENT
T C A C A ENT
D
STR MLR 2 0 2 0
GX E ENT
OUT 4
D Los ejemplos siguientes muestran dos métodos de programar los temporizadores. Uno ejecuta la
función cuando el temporizador alcanza el valor prefijado usando de valor del bit de estado y el otro
X1
0 1 2 3
Segundos
4 5 6 7 8
4
K30
C10
C10
5
Y7 T6
T6
OUT Valor
corriente
0 10 10 20 30 40 50 0
6
Programador D2-HPP Programador D2-HPP (continuación)
$
STR
B
1
ENT D
3
A
0
ENT 7
$ SHFT C B A ENT $ SHFT T G ENT
STR 2 1 0 STR MLR 6
N
TMR
SHFT A
0
G
6
GX
OUT
B
1
A
0
ENT 8
Ejemplo de temporizador acumulador usando contactos de comparación
En el ejemplo siguiente, un temporizador se usa con un valor prefijado de 4,5 segundos. Los
9
contactos de comparación se usan para activar las salidas Y3, Y4 y Y5 en intervalos de un
segundo respectivamente. Los contactos de comparación se apagarán cuando el valor corriente 10
del temporizador vuelve a 0.
Contactos
Direct SOFT32
X1
Diagrama de tiempos
11
Segundos
TMRA T20 0 1 2 3 4 5 6 7 8
C10
K45 X1 12
C10
TA20 K10 Y3 Y3
13
OUT
TA20 K20 Y4
Y4
Y5
14
OUT
TA20 K30 Y5
OUT
Current
Value
T20
0 10 10 20 30 40 50 0
A
Programador D2-HPP
$ B
Programador D2-HPP (continuación)
GX E ENT
B
ENT OUT 4
STR 1
$
N
STR
SHFT
A
C
2
B
C
1
A
A
0
ENT
E F
$
D
STR
A
SHFT
ENT
T
MLR
C
2
A
0 C
SHFT ENT 3 0
TMR 0 2 0 4 5
$
GX
STR
SHFT
D
T
MLR
ENT
C
2
A
0
B
1
A
0
ENT
GX
OUT
F
5
ENT
D
OUT 3
$
Usando Contadores
Los contadores se utilizan para contar eventos. Los contadores disponibles son contadores
1 ascendentes, contadores incrementales/decrementales y contadores de etapas (usados con
programas RLLPLUS).
2 El contador ascendente (CNT) tiene dos entradas, una entrada de conteo (UP) y una entrada
RESET. El valor de conteo máximo es 9999. El diagrama de tiempos abajo muestra la relación entre
3 la entrada , el reset, el bit de estado asociado, el valor corriente y el valor prefijado del contador.
X1
CNT CT1
4 X1
X2
Up K3
X2
5 CT1
Reset
El contador incremental/decremental (UDC) tiene tres entradas, una entrada para contar
7 ascendiendo (UP), otra para contar descendiendo (Down) y el reset. El valor de conteo máximo
es 99999999. El diagrama de tiempos abajo muestra la relación entre las entradas, reset, bit de
8 estado asociado, valor corriente y valor prefijado del contador.
X1
UDC CT2
9 X1
X2
Up K3
X2
10 X3
X3
Down
CT2
11 Valor corriente 1 2 1
Conteos
2 3 0
Reset
El contador de etapas (SGCNT) tiene una entrada de conteo y es vuelto a cero por la
14 instrucción RST. Esta instrucción es útil cuando la programación se usa la programación
estructurada RLLPLUS. El valor de cuenta máximo es 9999. El diagrama de tiempos abajo
A muestra la relación entre la entrada, el bit de estado asociado, el valor corriente, el valor prefijado
B X1 X1
SGCNT CT2
K3
C CT2
Valor 1 2 3 4 0
corriente Conteos Valor prefijado del contador
D RST
CT2
4 CNT
K3
CT2
X1
C10
C10
5 CT2 Y7
CT2 o
Y7
OUT 1 2 3 4 0
6 Valor corriente
7 $
$
STR
B
SHFT
1
ENT
C B A ENT
$
GX
STR
SHFT
B
C
A
2
SHFT
ENT
T
MLR
C
2
ENT
STR 2 1 0 OUT 1 0
8 GY
CNT
C
2
D
3
ENT
12 X1
CNT CT2
X1
K3
C10
13 Y3
C10
Y3
CTA2 K1
14 CTA2 K2
OUT
Y4
Y4
Y5
OUT
A CTA2 K3 Y5
OUT
Valor
corriente
1 2 3 4 0
B Programador D2-HPP
$ B ENT $
Programador D2-HPP(cont)
SHFT C SHFT T C
STR 1 STR 2 MLR 2
C $
GY
CNT
STR
SHFT
C
2
C
2
B
D
1
3
A
ENT
0
ENT
GX
OUT
C
2
ENT
E
4
ENT
$ C T C $ C T C
D STR
B
1
SHFT
ENT
2
SHFT
MLR 2 STR
D
3
SHFT
ENT
2
SHFT
MLR 2
GX D ENT GX F ENT
OUT 3 OUT 5
4 CT7
SGCNT
K3
Y7
CT7
Y7
X1
OUT Valor 1 2 3 4 0
5 C5 CT7
RST
corriente
RST
CT7
6 Programador D2-HPP
$ B ENT
Programador D2-HPP (cont.)
GX B A ENT
STR 1 OUT 1 0
7 H
SHFT
7
S
RST
SHFT
D
3
G
ENT
6
SHFT GY
CNT
$
S
RST
STR
SHFT
SHFT
C
C
2
2
F
SHFT
5
ENT
T
MLR
H
7
ENT
$ C T H
8 STR
SHFT
2
SHFT
MLR 7
ENT
12 DirectSOFT
X1
SGCNT
K10
CT2
X1
CTA2 K1 Y3
13 OUT
Y3
Y4
CTA2 K2 Y4
14 CTA2 K3
OUT
Y5
Y5
Valor 1 2 3 4 0
corriente
OUT
A Programador D2-HPP
RST
CT2
B $
SHFT
STR
S
RST
B
G
1
6
ENT
SHFT GY
CNT
$
STR
C
2
SHFT
ENT
C
2
SHFT T
MLR
C
2
C B A GX E
C $
2
STR
SHFT
1
C
0
2
ENT
SHFT T
MLR
C
2
$
OUT
STR
SHFT
4
ENT
C
2
SHFT T
MLR
C
2
B ENT D ENT
D GX
OUT
1
D
3
ENT GX
OUT
3
F
5
ENT
NOTA: * * Con el programador D2-HPP, los bits de estado y el valor corriente del contador se obtienen
D
con la misma referencia. DirectSOFT usa referencias diferentes, tal como "CT2" para el bit de
4 X2
UDC
K3
CT2
X1
X2
5 X3
X3
CT2
6 CT2
OUT
Y7
Valor
corriente
1 2 1 2 3 0
7 Programador D2-HPP
$
STR
B
1
ENT
Programador D2-HPP (cont)
D
3
ENT
8 $
STR
D
3
ENT GX
OUT
B
1
A
0
ENT
SHFT U D C C
ISG 3 2 2
9
Ejemplo de contador UDC con contactos de comparación
10 En el ejemplo siguiente, si X2 y X3 están apagados, cuándo X1 pase de OFF para ON el valor
corriente del contador incrementará en 1. Si X1 y X3 están apagados el valor corriente del
contador decrece en 1 cuándo X2 pasa de OFF para ON. Cuándo el valor de conteo alcanza el
11 valor prefijado de 3, el bit de estado del contador prenderá. Cuándo X3 prende, el bit de estado
del contador se apagará y el valor actual se hará 0.
12 DirectSOFT
DirectSOFT32
X1
Diagrama del contador UDC
UDC CT2
13 X2
V2000 X1
X2
X3
14 Y3
X3
CTA2 K1 Y3
A CTA2 K2
OUT
Y4
Y4
Valor 1 2 3 4 0
OUT corriente
$ B ENT B ENT
STR 1 1
C $
$
STR
C
D
2
ENT GX
$
OUT
D
3
C
ENT
T C
ENT SHFT SHFT
STR 3 STR 2 MLR 2
D SHFT
SHFT
U
V
AND
ISG
D
C
3
2
C
A
2
0
A
0
C
A
2
0
ENT GX
OUT
C
2
ENT
E
4
ENT
$ SHFT C SHFT T C
STR 2 MLR 2
DirectSOFT
Direct SOFT32 Programador D2-HPP
10
X1 $ B ENT
Data SR
$
STR
STR
C
1
2
ENT
11
From C0
X2
Clock $
STR
S
D
3
ENT
R A
12
To C17 SHFT SHFT SHFT
X3 RST ORN 0
Reset
B
1
H
7
ENT 13
Entradas en barridos sucesivos Bits de shift register 14
C0 C17
1 0-1-0 0
0 0-1-0 0
A
0 0-1-0 0 B
1 0-1-0 0
0 0-1-0 0 C
0 0 1
Indica ON Indica OFF
D
Acum. 0 0 0 0 88 99 33 55
9
OUT
10 V2010
V2010
3 5
14 V2000 6 7 3 9 5 0 2 6
Acum. 6 7 3 9 55 00 22 66
B OUTD
V2010 6 7 3 9 5 0 2 6
C Copia datos desde el acumulador a
V2010 y V2011
V2011 V2010
Algunas instrucciones de manipulación de datos usan 32 bits. Usan dos direcciones consecutivas
10
de memoria V o una constantee de 8 dígitos BCD para manipular los datos en el acumulador.
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor en V2000 y V2001 en el
11
acumulador usando la instrucción LDD.
El valor en el acumulador se suma al valor en V2006 y V2007 usando la instrucción ADDD.
12
El valor en el acumulador es copiado a V2010 y V2011 usando la instrucción OUTD.
13
V2001 V2000
X1 LDD
V2000
6 7 3 9 5 0 2 6
14
Carga al acumulador el valor
en V2000 y V2001
ADDD
6 7 3 9 5 0 2 6 (Acumulador) A
+ 2 0 0 0 4 0 4 6 (V2006&V2007)
V2006
Acum. X X X X X X X X
Nivel 1
Nivel 2
Nivel 3
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Nivel 4 X X X X X X X X
9 Nivel 5
Nivel 6
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Constante 5 1 5 1 Nivel 7 X X X X X X X X
LD
10 K5151
empujando el valor 3245 al stack Valor previo del acumulador Stack del acumulador
11 Acum. 0 0 0 0 33 22 44 55 Nivel 1
Nivel 2
Nivel 3
0
X
X
0
X
X
0
X
X
0
X
X
3
X
X
2
X
X
4
X
X
5
X
X
Nivel 4 X X X X X X X X
12 Nivel 5
Nivel 6
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Nivel 7 X X X X X X X X
Constante
13 LD
K6363 Valor corriente del acumulador
Acum. 0 0 0 0 66 33 66 33
Nivel 8 X X X X X X X X
Descartado
Nivel 3 X X X X X X X X
A Nivel 4
Nivel 5
Nivel 6
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X X X X X X X X
B Nivel 7
Nivel 8
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Descartado
C La instrucción POP rota los valores hacia arriba por el Stack al acumulador. Cuándo se ejecuta
la instrucción POP el valor que estaba en el acumulador se limpia y el valor que estaba encima
D del Stack pasa al acumulador. Los valores en el Stack se dislocan una posición hacia arriba en el
Stack .
OUT
V2000
V2000 4 5 4 5
Nivel 5
Nivel 6
Nivel 7
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
3
Copia datos desde el acumulador a Nivel 8
V2000
X X X X X X X X
4
POP Valor previo del acumulador
Acum. X X X X 77 99 33 00 Nivel 1 X
Stack del acumulador
X X X X X X X
9
acumulador y mueve los valores del stack
un nivel más arriba Nivel 2 X X X X X X X X
POP el primer valor en el stack a Nivel 3 X
Nivel 4 X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
10
Nivel 5 X X X X X X X X
OUT
V2002
V2002 7 9 3 0 Nivel 6 X
Nivel 7 X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
11
Copia datos desde el acumulador a Nivel 8 X X X X X X X X
V2002
12
Usando punteros
Muchas de las instrucciones del PLC de la serie DL06 permitirán usar los punteros de la 13
memoria V como un operando (comúnmente conocido como direccionamiento indirecto).
Los punteros permiten que las instrucciones obtengan los datos de direcciones de memoria V
indicadas por el valor del puntero.
14
NOTA: La dirección de memoria DL06 V está en octal. Sin embargo, el puntero se refiere a una dirección de A
memoria V con valores hexadecimales. Use la instrucción LDA para transformar una dirección a la
dirección de puntero. Esta instrucción realiza la conversión Octal a Hexadecimal automáticamente.
B
En el ejemplo siguiente usaremos un operando del puntero en una instrucción LD. La direción
de memoria V2000 es usada como localización del puntero. V2000 contiene el valor 440 que
la CPU ve como el equivalente hexadecimal de la memoria octal V2100. La CPU copiará los
C
datos de V2100 que en este ejemplo contiene el valor [2635] en la palabra más baja del
acumulador. D
1 X1 LD
V2076
V2077
X
X
X
X
X
X
X
X
P2000
3 0
V2000
4 4 0
V2103
V2104
X
X
X
X
X
X
X
X
Acumulador
2 6 3 5
V2105 X X X X
4 OUT
V2200
6
7 El ejemplo siguiente es idéntico al de arriba con una excepción. La instrucción LDA convierte
automáticamente la dirección octal a hexadecimal.
8 X1 LDA
Carga los 16 bits más bajos del
acumulador con el hexadecimal
O 2100 2 1 0 0
10 Acum. 0 0 0 0 00 44 44 00
11 OUT
V 2000
Copia los datos desde los 16 bits más
bajos del acumulador a V2000 0 4
V2000
4 0
12
V2076 X X X X
P 2000 V2101 X X X X
que contiene el valor 2635
14 0
V2100
4 4 0
V2102
V2103
X
X
X
X
X
X
X
X
Acumulador
V2104 X X X X
A V2105 X X X X 0 0 0 0 22 66 33 55
B V 2200
del acumulador a V2200 V2200
V2201
2
X
6
X
3
X
5
X
C
D
Indicadores Descripción
5
SP53 Está ON cuando el puntero está fuera del rango disponible.
SP70 ON si el valor en el acumulador por cualquier instrucción es negativo. 6
SP76 ON cuando cualquier instrucción carga un valor 0 al acumulador.
NOTA: Dos instrucciones consecutivas LD colocarán el valor de la primera instrucción LD en el Stack del
7
acumulador.
8
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor en V2000 al acumulador y luego
se copia a V2010.
DirectSOFT
Direct SOFT32
9
V2000
X1 LD
V2000
8 9 3 5
10
Carga el valor en V2000 a los Los bits no usados de acumulador
16 bis más bajos del acumulador se colocan en cero.
Acum. 0 0 0 0 88 99 33 55
11
OUT
V2010
12
8 9 3 5
Copia el valor en los 16 bits
más bajos del acumulador a V2010 V2010 13
Programador D2-HPP
$ B X
14
STR 1 SET
SHFT L
ANDST
D
3
A
C A A A
GX
2 0 0
V
0
C
ENT
A B A
B
SHFT ENT
OUT AND 2 0 1 0
C
D
5 Indicadores Descripción
SP53 Está ON cuando el puntero está fuera del rango disponible.
6 SP70
SP76
ON si el valor en el acumulador por cualquier instrucción es negativo.
ON cuando cualquier instrucción carga un valor 0 al acumulador.
7 NOTA: Dos instrucciones LDD consecutivas colocarán el valor de la primera instrucción LDD en el Stack del
acumulador.
8
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor de 32 bits en V2000 y V2001 en
9 el acumulador y es copiado a V2010 y V2011.
DirectSOFT
10 Direct SOFT32
X1 LDD V2001 V2000
V2000 6 7 3 9 5 0 2 6
Acum. 6 7 3 9 65 00 22 66
12
13 OUTD
6 7 3 9 5 0 2 6
A Programador D2-HPP
$ B ENT
STR 1
B SHFT L
ANDST
D
3
D
3
C A A A
C GX
2
SHFT
0
D
0 0
ENT
OUT 3
D C
2
A
0
B
1
A
0
ENT
Dirección Constante Y6 Y5 Y4 Y3 Y2 Y1 Y0
A
Copia el valor desde la cantidad
especificada de bits en el acumulador a Y0-Y6 Y0 K7 OFF OFF OFF ON ON ON OFF
Programador D2-HPP
$ C A
B
SHFT ENT
STR 2 0
SHFT
SHFT
L
ANDST
C
D
B
3
F
A
5
H ENT
C
2 1 0 7
GX
A
OUT
0
SHFT F
H
5
7
ENT
D
Indicadores Descripción
5 SP70 On anytime the value in the accumulator is negative.
SP76 On when any instrucción loads a value of zero into the accumulator.
6
NOTA: Dos instrucciones consecutivas LDA colocan el contenido de la primera instrucción en el stack del
7 acumulador.
En el ejemplo siguiente cuando X1 está ON, el número octal 40400 será convertido a un 4100
8 hexadecimal y cargado en el acumulador usando la instrucción LDA. El valor en los 16 bits más
bajos del acumulador es copiado a V2000 usando la instrucción OUT.
9
DirectSOFT
Direct SOFT32
10 X1 LDA
O 40400 4 0
Octal
4 0 0
Hexadecimal
4 1 0 0
13 OUT
4 1 0 0
V2000
14 Copia el valor en los 16 bits
V2000
A
Programador D2-HPP
B $
STR
B
1
ENT
SHFT L D A
C E
ANDST
A E
3
A
0
A ENT
4 0 4 0 0
D GX
OUT
SHFT V
AND
C
2
A
0
A
0
A
0
ENT
Indicadores Descripción
6
SP53 Está ON cuando el puntero está fuera del rango disponible.
SP70 ON si el valor en el acumulador por cualquier instrucción es negativo. 7
SP76 ON cuando cualquier instrucción carga un valor 0 al acumulador.
8
NOTA: Dos instrucciones consecutivas de la instrucción LDX colocarán el valor de la primera instrucción en
el Stack del acumulador.
9
En el ejemplo siguiente cuando X1 está ON, el equivalente hexadecimal del octal 25 será
cargado al acumulador (este valor se colocará en el Stack cuando se ejecuta la instrucción LDX).
La dirección de memoria V1410 se suma al valor en el primer el nivel del Stack y el valor de esta
10
dirección es cargado en los 16 bits más bajos del acumulador usando la instrucción LDX. El
valor en los 16 bits más bajos del acumulador es copiado a V1500 usando la instrucción OUT. 11
X1 LDA
O 25
Octal
2 5
Hexadecimal
0 0 1 5
12
Carga el valor hexadecimal
equivalente del octal 25 a los 16
bits más bajos del acumulador
Los bits no usados del
acumulador son colocados en cero.
Acum. 0 0 0 0 0 0 1 5
13
LDX
V1410
Octal
Valor hexadec. en el
primer nivel del stack Octal Stack del acumulador
14
Mueve el valor de desvío al stack.
V 1 4 1 0 + 1 5 = V 1 4 3 5 Nivel 1 0 0 0 0 0 0 1 5
Carga el acumulador con la
dirección a ser dislocada
Los bits no usados del
acumulador son colocados en cero
Nivel 2
Nivel 3
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
A
OUT Nivel 4 X X X X X X X X
V1500
El valor en V1435
is 2345
2 3 4 5
Nivel 5
Nivel 6
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
B
bajos del acumulador a V1500 Nivel 7 X X X X X X X X
2 3 4
V1500
5 Nivel 8 X X X X X X X X
C
Programador D2-HPP
$
STR
L
B
D
1
ENT
A C F
D
SHFT ENT
ANDST 3 0 2 5
SHFT L D X B E B A ENT
ANDST 3 SET 1 4 1 0
7 Indicadores
SP53 Está ON cuando el puntero está fuera del rango disponible.
Descripción
NOTA: Dos instrucciones consecutivas LDSX colocan el contenido de la primera instrucción en el stack del
9 acumulador.
13 LDSX
K2
.
más bajos del acumulador Acum. 0 0 0 0 0 0 0 1 Level 1
Level 2
Level 3
0
X
X
0
X
X
X
X
0 0
X
X
0
X
X
0
X
X
0
X
X
1
X
X
Constante Level 4 X X X X X X X X
Mueve el desvío al stack. Carga el acumulador K 0 0 0 2
OUT
Los bits no usados del acumulador
se colocan en cero
Acum. 0 0 0 0 0 0 0 2
Level 5
Level 6
Level 7
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Level 8 X X X X X X X X
V2000
A .
.
.
Copia el valor en los 16 bits más bajos
del acumulador a V2000
Los bits no usados del acumulador
se colocan en cero
DLBL END Acum. 0 0 0 0 2 3 2 3
B DLBL K2
2 3 2 3
NCON
C K3333
Desvío 0
V2000
NCON
Desvío 1
K2323
D NCON
Desvío 2
K4549
SHFT
ANDST
L
ANDST
D
3
3
S
RST
SHFT
X
SET
JMP
C
1
2
ENT
ENT
1
SHFT E N D ENT
SHFT D
4
3
L
TMR
ANDST
B
3
1
L
ANDST
C
2
ENT
2
SHFT N C O N D D D D ENT
SHFT N
TMR
TMR
C
2
2
INST#
O
INST#
N
TMR
TMR
C
3
2
D
3
3
C
3
2
D
3
3
ENT 3
SHFT N C O N E F E J ENT
TMR 2 INST# TMR 4 5 4 9
GX
OUT
SHFT V
AND
C
2
A
0
A
0
A
0
ENT 4
La instrucción Load Real Number (LDR)
La instrucción LDR carga un número real contenido en dos LDR
5
DS5 Usado direcciones consecutivas de la memoria V o en una constantee de A aaa
HPP N/A 8 dígitos en el acumulador. 6
Tipo de operando de datos Rango del DL06
....................................A aaa 7
Memoria V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria
Puntero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P
Real Constante . . . . . . . . . . . . . . . . . . . . . . . . . R
Vea el mapa de memoria
-3.402823E+38 to + -3.402823E+38
8
Indicadores
SP70
Descripción
On anytime the value in the accumulator is negative.
9
SP76 On when any instrucción loads a value of zero into the accumulator.
DirectSOFT le permite que entre los números reales directamente, usando una "R" como
10
prefijo que indica un ingreso de número real. Usted puede entrar
una constantee tal como Pi(p), mostrado en el ejemplo a la derecha. LDR
R3,14159
11
Para entrar números negativos, use un signo menos (-) después de la "R".
Para números muy grandes o números muy pequeños, se puede 12
usar la notación exponencial. El número a la derecha es 5,3 LDR
millones. La instrucción OUTD lo copia a V1400 y V1401. R5,3E6 13
¡Estos números reales están en el formato de punto flotante IEEE de
OUTD
32 bits, de modo que ocupan dos direcciones de memoria V, a pesar
de que el número puede ser muy grande o pequeño! Si usted ve un
V1400 14
número real almacenado en hexadecimal, binario o aún BCD, el
número mostrado será muy difícil de descifrar. Así como todos los A
otros tipos de números, usted debe seguir las direcciones del número
real en la memoria, de modo que puedan ser leídos en otra parte con
las instrucciones apropiadas
B
LDR
El ejemplo previo encima almacenó un número real en V1400 y
V1401. Suponga que ahora queremos recuperar ese número. Use
V1400 C
solamente LDR con el tipo de datos V, como se muestra a la
derecha. Luego podríamos realizar las operaciones matemáticas D
reales o convertirlo a un número binario.
4 Indicadores Descripción
SP53 ON si la CPU no puede resolver la lógica
5 En el ejemplo siguiente, cuándo X1 está ON, el valor en V2000 se carga en los 16 bits más bajos
del acumulador usando la instrucción LD. Luego se copia el valor en los 16 bits más bajos del
acumulador a V2010 con la instrucción OUT de bloque.
6 DirectSOFT
Direct SOFT32 Programador D2-HPP
X1 LD V2000 $ B ENT
7 V2000
SHFT
STR
L
ANDST
D
1
8 OUT
V2010
Acc. 0 0 0 0 88 99 33 55
GX
OUT
2 0
SHFT
0
V
AND
0
C
2
A
0
B
1
A
0
ENT
En el ejemplo siguiente, cuándo X1 está ON, el valor de 32 bits en V2000 y V2001 se carga en
A el acumulador usando la instrucción LDD. El valor en el acumulador es colocado en V2010 y
V2011 usando la instrucción OUTD.
B DirectSOFT
Direct SOFT32
6
V2001
7 3 9 5
V2000
0 2 6
Programador D2-HPP
X1 $ B ENT
LDD STR 1
C V2000
C
L
ANDST
A
D
A
3
D
A
3
ENT
2 0 0 0
D OUTD
V2010
C
OUT
A
SHFT D
B
3
A ENT
a V2010 y V2011 V2011 V2010 2 0 1 0
En el siguiente ejemplo, cuando C0 está ON, serán cargados los bits C10 a C16 (7 bits) al
5
acumulador usando la instrucción LDF. Los 7 bits más bajos del acumulador son copiados a
Y0 a Y6 usando la instrucción OUTF. 6
DirectSOFT
Direct SOFT32
C0 LDF C10
Dirección
C10
Constante
K7
C16 C15 C14 C13 C12 C11 C10
7
K7 OFF OFF OFF ON ON ON OFF
OUTF
K7
Y20
0 0 0
Acumulador
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 1 0
9
Copia el valor de la cantidad
especificada de bits desde
el acumulador a Y20 - Y26
Dirección
Y20
Constante
K7
Y26 Y25 Y24 Y23 Y22 Y21 Y20
OFF OFF OFF ON ON ON OFF
10
Programador D2-HPP
$
STR
SHFT C
2
A
0
ENT 11
SHFT L D F
ANDST 3 5
SHFT
GX
C
2
B
F
1
A
0
H
7
ENT 12
SHFT
OUT 5
A
0
H
7
ENT
13
La instrucción Pop (POP)
14
La instrucción POP mueve el valor del primer nivel del Stack del
DS5 Usado
acumulador (32 bit) al acumulador y mueve cada valor en el Stack
POP
A
HPP Usado
un nivel más arriba de lo que estaba.
B
Indicadores Descripción
SP63 ON cuando el resultado de la instrucción hace que el valor en el acumulador sea cero. C
D
4 C0 POP
Valor previo del acumulador
Acum. X X X X XX XX XX XX
6 OUT
V2000
Nivel 4
Nivel 5
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
V2000 4 5 4 5 Nivel 6 X X X X X X X X
Copia el valor en los 16 bits más
7 bajos del acumulador a V2000 Nivel 7
Nivel 8
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
POP
Acum. 0 0 0 0 44 55 44 55
acumulador and mueve los valores del Valor corriente del acumulador Stack del acumulador
10 V2001
11 POP
Nivel 7
Nivel 8
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
13 OUT
V2002
Acum. 0 0 0 0 7 9 3 0 Nivel 1
Nivel 2
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Nivel 3 X X X X X X X X
Copia el valor en los 16 bits más
A $
STR
SHFT C
2
A
0
ENT
Nivel 7
Nivel 8
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
P O P
B SHFT
GX
OUT
CV
SHFT
SHFT
INST#
V
AND
C
CV
2
A
ENT
0
A
0
A
0
ENT
C SHFT
GX
P
CV
SHFT
SHFT
O
INST#
V
P
C
CV
A
ENT
A B ENT
OUT AND 2 0 0 1
D SHFT
GX
P
CV
SHFT O
INST#
V
P
C
CV
A
ENT
A C
SHFT ENT
OUT AND 2 0 0 2
Acum. 0 0 0 0 3 5 4 4
11
LDA
Octal HEX
12
2 5 0 0 1 5
O25
3
5
5
2
4
5
4 Nivel 1 0
Stack del acumulador
0 0 0 3 5 4 4
A
nivel del stack a la dirección sumado a la dirección inicial de Nivel 2 X X X X X X X X
V1500 para dar la respuesta final V1525
de desvío 1525
(V1500+25)
Programador D2-HPP
Nivel 3
Nivel 4
X
X
X X
X X
X
X
X
X
X X
X X
X
X
B
Nivel 5 X X X X X X X X
$
STR
SHFT L
B
D
1
ENT
PREV D F E E ENT
Nivel 6
Nivel 7
X
X
X X
X X
X
X
X
X
X X
X X
X
X
C
ANDST 3 3 5 4 4 Nivel 8 X X X X X X X X
SHFT
GX
L
ANDST
D
X
3
A
0
B
C
F
2
F
A
5
ENT
A
D
SHFT ENT
OUT SET 1 5 0 0
6 Direct SOFT32
X1
LD
Carga el valor en V1400 a los
16 bits más bajos del acumulador
V1400
V1400 8 9 3 5
7 OUTL
V1500
Copia el valor en los 8 bits ................
del acumulador a V1500
Los bits no usados del acumulador
se colocan en cero
0 0 0 0 8 9 3 5
Acum.
.
8 Programador D2-HPP
$
STR
B
1
ENT
0 0 3 5
SHFT L D B E A A ENT
A X1
LD
V1400
Carga el valor en V1400 a los
16 bits más bajos del
acumulador
Programador D2-HPP
C $
SHFT
STR
L
ANDST
B
D
1
3
ENT
B
1
E
4
A
0
A
0
ENT
8 9
V1500
0 0
GX SHFT M B F A A ENT
D OUT ORST 1 5 0 0
DirectSOFT
V2010 usando la instrucción OUT. 10
Direct SOFT32
X1
LD
V2000
2
V2000
8 7 A 11
Carga el valor en V2000 a los Los 16 bits superiores
16 bits más bajos del acumulador del acumulador serán colocados en cero.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 12
Acum. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
AND
V2006 Acum. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
13
Opera AND el valor en el 6A38
acumulador con el valor
en V2006
AND (V2006)
Acum.
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
14
OUT
V2010
2 8 3 8
A
Copia los 16 bits más bajos
del acumulador a V2010
Programador D2-HPP
V2010
B
$ B ENT
SHFT
STR
L
ANDST
D
1
3
C
2
A
0
A
0
A
0
ENT
C
V SHFT V C A A G ENT
AND
GX
OUT
SHFT V
AND
AND
C
2
2
A
0
0
B
0
1
A
6
0
ENT
D
ANDD es cero o un número negativo (el bit más significativo está ON).
3
Tipo de operando de datos Rango del DL06
4 aaa
Memoria V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria
5 Puntero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P Vea el mapa de memoria
Constante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 0–FFFFFFFF
6 Indicadores Descripción
SP63 ON si el resultado en el acumulador es 0.
7 SP70 ON si el resultado en el acumulador es negativo
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
8 use el mismo relevador especial SP.
11 Direct SOFT32
X1 LDD 5
V2000
4 7 E 2
V2000
8 7 A
V2000
13 ANDD
K36476A38 Acum. 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
14 acumulador con el
valor constante
36476A38 Acum. 0 0 0 0
1 0 1 0 0 0 0
1 0 0 0 0
1 0
1 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0
A OUTD
V2010 1 4 4 6 2 8 3 8
B
Programador D2-HPP
C $
STR
B
1
ENT
SHFT L D D C A A A ENT
ANDST 3 3 2 0 0 0
D V
AND
SHFT D
3
SHFT K
JMP
D
3
G
6
E
4
H
7
G
6
SHFT A
0
SHFT D
3
I
8
ENT
GX SHFT D C A B A ENT
OUT 3 2 0 1 0
OUTF C20
AND (Y20-Y23)
Y23 Y22 Y21 Y20
ON OFF OFF OFF 1 0 0 0 A
Acum
. 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
K4
B
ndard RLL
V
AND
ANDST
SHFT F
3
5
5
NEXT C
2
A
0
E
4
1
ENT
0 4
D
GX SHFT F PREV PREV C A E ENT
OUT 5 2 0 4
4 Indicadores Descripción
SP63 ON si el resultado en el acumulador es 0.
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
6 use el mismo relevador especial SP.
En el ejemplo siguiente cuando X1 está ON, el valor binario en el acumulador hace la función
7 AND con el valor binario en el primer nivel del Stack del acumulador. El resultado se va al
acumulador. El valor de 32 bits luego es copiado a V1500 y V1501.
8
9 DirectSOFT
DirectSOFT32
X1 V1401 V1400
LDD
5 4 7 E 2 8 7 A
10 V1400
Carga el valor en V1400 y V1401
al acumulador
11 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0
8 7
0 0
6 5
1 1
4 3
1 1 0
2 1
1
0
0
ANDS
0
0 1
1 1
0
0 1
1 0
1
0 0
0 0
1
1 0
1 1
0
1 1
0 1
1
1 1
0 0
0
0
1
1 0
1 0
1
1 0
0 0
1
0 0
0 0
1
0 1
1 1
1
1 0
1 0
1
0 0
0
el acumulador con
el primer nivel del
OUTD
. 0
Acum. 0 0 1
0 0 1 0 0 0 0
1 0 0 0 1
0 0
1 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0
V1500
A Programador D2-HPP
$ B ENT
STR 1
B SHFT
V
L
ANDST
D
S
3
D
3
B
1
E
4
A
0
A
0
ENT
SHFT ENT
AND RST
C GX
OUT
SHFT D
3
B
1
F
5
A
0
A
0
ENT
OR
Acum. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
12
V2006 Acum. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
Opera OR el valor en el
acumulador con el valor
en V2006
6A38
OR (V2006) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 0
13
Acum. 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0
OUT
V2010
14
6 A 7 A
Copia el valor en los 16 bits más
bajos del acumulador a V2010 V2010 A
Programador D2-HPP
$
STR
B
1
ENT B
SHFT L D C A A A ENT
ANDST 3 2 0 0 0
Q
OR
SHFT V
AND
C
2
A
0
A
0
G
6
ENT C
GX SHFT V C A B A ENT
OUT AND 2 0 1 0
D
Indicadores Descripción
6 SP63 ON si el resultado en el acumulador es 0.
SP70 ON si el resultado en el acumulador es negativo.
7 NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
8
En el ejemplo siguiente, cuándo X1 está ON, el valor en V2000 y V2001 se carga en el
9 acumulador usando la instrucción LDD. El valor en el acumulador es operado OR con
36476A38 usando la instrucción ORD. El valor en el acumulador es copiado a V2010 y V2011
usando la instrucción OUTD.
10 DirectSOFT
Direct SOFT32
X1 V2001 V2000
LDD
11 V2000
V2001 al acumulador
12 Acum. 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0
8
0
7
0
6 5
1 1
4 3
1 1
2
0
1
1
0
0
ORD
13 K36476A38
Opera OR el valor en el
Acum. 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
OUTD
A V2010
V2011 V2010
B Programador D2-HPP
$ B ENT
STR 1
C SHFT L
ANDST
D
3
D
3
C
2
A
0
A
0
A
0
ENT
D GX
OUT
OR
SHFT D
3
3
C
2
A
JMP
0
B
3
1
A
6
0
ENT
4 7 6 0 3 8
K4
Y20
SHFT L
B
D
1
F
ENT
GX
OR
SHFT
SHFT
F
F
5
NEXT
PREV
C
PREV
2
A
C
0
A
E
4
E
ENT
ENT
D
OUT 5 2 0 4
6 NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
7 En el ejemplo siguiente cuando X1 está ON, el valor binario en el acumulador será operado OR
con el valor binario en el primer nivel del Stack. El resultado se va al acumulador.
8 DirectSOFT
DirectSOFT32
X1 V1401 V1400
9 LDD
V1400
Carga el valor en V1400 y
5 4 7 E 2 8 7 A
V1401 al acumulador
10 Acum. 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0
8 7
0 0
6 5
1 1
4 3
1 1 0
2 1
1
0
0
11 ORS
Opera OR el valor en el
Acum. 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
36476A38
acumulador con el valor OR (1r.nivel stack) 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 0
OUTD
13 V1500
Copia el valor en el acumulador 7 6 7 F 6 A 7 A
a V1500 y V1501
V1501 V1500
14
Programador D2-HPP
A $
STR
B
1
ENT
SHFT L D D B E A A ENT
ANDST 3 3 1 4 0 0
B Q
OR
SHFT S
RST
ENT
GX SHFT D B F A A ENT
C OUT 3 1 5 0 0
XOR
Acum. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 1 0
12
V2006 Acum. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
Programador D2-HPP B
$ SHFT X B ENT
SHFT
STR
L
ANDST
D
3
SET 1
SHFT V
AND
C
2
A
0
A
0
A
0
ENT
C
SHFT
GX
X
SET
SHFT Q
V
OR
C A
SHFT V
B
AND
C
A
2
A
0
A
0
G
6
ENT
D
SHFT ENT
OUT AND 2 0 1 0
6 Indicadores
SP63 ON si el resultado en el acumulador es 0.
Descripción
V2000
13 K36476A38
Acum.
0
0
0
0
1
1
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
1
0
0
V2010
B Programador D2-HPP
$
STR
B
1
ENT
V2011 V2010
C SHFT
SHFT
L
ANDST
X
D
Q
3
D
SHFT
3
D
C
2
A
SHFT
0
A
K
0
A
0
ENT
SET OR 3 JMP
D D
GX
3
G
6
E
D
4
H
7
G
C
6
SHFT
A
A
B
0
A
SHFT D
3
I
8
ENT
SHFT ENT
OUT 3 2 0 1 0
Entradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X
A/B aaa
0-777
bbb
-
4
Salidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 0-777 -
Relevadores de control . . . . . . . . . . . . . . . . . . . C 0-1777 - 5
Bits de etapas . . . . . . . . . . . . . . . . . . . . . . . . . . S 0-1777 -
Bits de temporizadores . . . . . . . . . . . . . . . . . . . T
Bits de contadores . . . . . . . . . . . . . . . . . . . . . CT
0-377
177
-
-
6
Relevadores especiales . . . . . . . . . . . . . . . . . SP 0-777 -
Constante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K - 1-32 7
Indicadores Descripción
SP63 ON si el resultado en el acumulador es 0.
8
SP70 ON cuando el valor en el acumulador es negativo.
9
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
10
En el ejemplo siguiente, cuándo X1 está ON, el modelo binario de C10-C13 (4 bits) es cargado
en el acumulador usando la instrucción LDF. El valor en el acumulador será operado XROF con
los bits Y20-Y23 usando la instrucción XORF. El valor en los 4 bits más bajos del acumulador
11
DirectSOFT
DirectSOFT32
X1
LDF C10
Dirección Constante C13 C12 C11 C10
12
C10 K4 OFF ON ON OFF
K4
Opera OR exclusivo el
0 0
Acumulador
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
14
Acum. 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
grupo de bits (Y20-Y23)
con el valor en el acumulador
OUTF C20
Y23 Y22 Y21 Y20
XORF (Y20-Y23) ON OFF OFF OFF
Acum. 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0
1
0
1
0
0
A
K4
Copia la cantidad de bits
especificada desde el
acumulador a C20-C23 B
Dirección Constante C23 C22 C21 C20
Programador D2-HPP
$
STR
B
1
ENT
C20 K4 ON ON ON OFF
C
SHFT L D F NEXT NEXT NEXT NEXT B A E ENT
SHFT
ANDST
X
SET
Q
3
OR
SHFT
5
F
5
NEXT C
2
A
0
1
E
0
4
ENT
4
D
GX SHFT F PREV PREV C A E ENT
OUT 5 2 0 4
7 En el ejemplo siguiente cuando X1 está ON, el valor binario en el acumulador será operado OR
exclusivo con el valor binario en el primer nivel del Stack del acumulador. El resultado residirá
8 en el acumulador. La instrucción OUTD copia el valor en el acumulador a V1500.
DirectSOFT
9 DirectSOFT32
X1 LDD
5
V1401
4 7 E 2
V1400
8 7 A
V1400
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
11 XORS
Acum. 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
Acum. 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0
12 Opera OR exclusivo el
13 OUTD
V1500
6 2 3 9 4 2 4 2
A Programador D2-HPP
$ B ENT
STR 1
B SHFT L
ANDST
X
D
Q
3
D
3
S
B
1
E
4
A
0
A
0
ENT
C GX
OUT
SHFT D
3
B
1
F
5
A
0
A
0
ENT
12
Comparado con
CMP
V2000
8 9 4 5
13
Compara el valor en el acumulador
con el valor en V2000
V2000
14
SP60 C30
A
Programador D2-HPP
$
STR
B
1
ENT
B
L D K E F C G
SHFT
SHFT
ANDST
C
3
SHFT M
SHFT
P
JMP
C
4
A
5
A
2
A
6
ENT
ENT
C
2 ORST CV 2 0 0 0
$
GX
STR
SHFT SP
STRN
C
G
D
6
A
A
0
ENT
D
SHFT ENT
OUT 2 3 0
Acc. 4 5 2 6 7 2 9 9
13 CMPD
Compared
with
V2010
A SP60 C30
OUT
$ B ENT
STR 1
C SHFT L
ANDST
D
3
D
3
C
2
A
0
A
0
A
0
ENT
D $
STR
SHFT SP
STRN
G
6
A
0
ENT
GX SHFT C D A ENT
OUT 2 3 0
0 0 0 0 0 0 0 6
A
Acum.
(Y20-Y23)
SP60 C30
OUT Y23 Y22 Y21 Y20
Comparado
con
B
ON ON ON OFF
E
C
D
5 NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
6 En el ejemplo siguiente cuando X1 está ON, el valor en V1400 y V1401 se carga en el
acumulador usando la instrucción LDD. El valor en V1410 y V1411 se carga en el acumulador
7 usando la instrucción LDD. El valor que se cargó en el acumulador desde V1400 y V1401 se
coloca en el primer nivel del Stack cuando la segunda instrucción LDD es ejecutada. El valor
en el acumulador es comparado con el valor en el primer nivel del Stack del acumulador
8 usando la instrucción CMPS. La indicación SP correspondiente del estado será prendida
indicando el resultado de la comparación. En este ejemplo, si el valor en el acumulador es menor
9 que el valor en el Stack , SP60 prenderá, activando C30.
DirectSOFT
DirectSOFT32 V1401 V1400
10 X1 LDD
V1400
Carga el valor en V1400 y
V1401 al acumulador
6 5 0 0 3 5 4 4
11 LDD
V1410
Carga el valor en V1410 y
V1411 al acumulador
Acum. 6 5 0 0 3 5 4 4
12 CMPS
Compara el valor en el
acumulador con el valor
en el primer nivel del 5
V1411
5 0 0 3
V1410
5 4 4
stack del acumulador
13 SP60 C30
5 5 0 0 3 5 4 4
OUT Acum.
A $
STR
L
B
D
1
ENT
D B E A A
del stack
SHFT ENT
ANDST 3 3 1 4 0 0
B SHFT L
ANDST
D
3
D
3
B
1
E
4
B
1
A
0
ENT
C M P S
C SHFT
$ PREV
2
SHFT
G
ORST
A ENT
CV RST
ENT
STR 6 0
D GX
OUT
NEXT NEXT NEXT SHFT C
2
D
3
A
0
ENT
Indicadores Descripción
5
SP60
SP61
ON si el resultado en el acumulador es menor que el valor de la instrucción..
ON si el resultado en el acumulador es igual que el valor de la instrucción.
6
SP62 ON cuando el valor en el acumulador es mayor que el valor de la instrucción.
SP71 ON en cualquier momento que la memoria V especificada por un puntero (P) no es válida 7
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP. 8
NOTA: El número real no es absolutamente preciso; permite un rango desde negativo hasta positivo, pero 9
no es muy preciso ya que solo representa 23 bits de resolución.
En el ejemplo siguiente cuando X1 está ON, la instrucción LDR carga la representación real del 10
número 7,0 en el acumulador. La instrucción CMPR compara el contenido del acumulador con
la representación real del número 6,0. Ya que 7 > 6, la indicación discreta SP correspondiente
del estado es activada (el relevador especial SP62) activando el relevador de control C1.
11
12
DirectSOFT
DirectSOFT32
Carga la representación
X1 LDR
R7.0 del número real del 13
decimal 7 al acumulador Acum. 4 0 E 0 0 0 0 0
Instrucciones aritméticas
1 La instrucción Add (ADD)
ADD
ADD es una instrucción de 16 bits que suma un valor BCD en
2 DS5 Usado
HPP Usado
el acumulador con un valor BCD en una direccción de memoria
V (Aaaa). No se puede usar una constantee K como parámetro
A aaa
8 NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
9 En el ejemplo siguiente, cuándo X1 está ON, se carga el valor en V2000 en el acumulador
usando la instrucción LD. El valor en los 16 bits más bajos del acumulador es sumado al valor
10 en V2006 usando la instrucción ADD. El valor en el acumulador es copiado a V2010 usando
la instrucción OUT.
11 X1 LD
V2000
4 9 3 5
12 DirectSOFT
Carga el valor en V2000 a
los 16 bits más bajos
del acumulador
Los bits no usados del acumulador
son colocados en cero
0 0 0 0 4 9 3 5 (Acumulador)
13 ADD
V2006
+ 2 5 0 0 (V2006)
Acum. 7 4 3 5
Suma el valor en los 16 bits
OUT
A V2010
V2010
3 5
B Programador D2-HPP
$ B ENT
C SHFT
STR
L
ANDST
D
1
3
C
2
A
0
A
0
A
0
ENT
D SHFT
GX
A
0
D
3
D
V
3
C
C
A
2
A
B
0
A
A
0
G
6
ENT
SHFT ENT
OUT AND 2 0 1 0
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que 8
use el mismo relevador especial SP.
DirectSOFT
Direct SOFT V2001 V2000
11
X1 LDD 6 7 3 9 5 0 2 6
V2000
ADDD
V2006
+ 2
6 7
0
3
0
9
0
5
4
0
0
2
4
6
6
(Acumulador)
(V2006 y V2007)
13
Acum. 8 7 3 9 9 0 7 2
Suma el valor en el acumulador
con el valor en V2006 y V2007 14
OUTD
V2010
V2001
9 9 0 7
V2010
2
A
a V2010 y V2011
Programador D2-HPP B
$ B ENT
STR 1
SHFT L
ANDST
D
3
D
3
C
2
A
0
A
0
A
0
ENT C
SHFT A D D D C A A G ENT
GX
OUT
SHFT
0
D
3
3
3 3
SHFT V
AND
C
2
2
A
0
0
B
0
1
A
6
0
ENT
D
5 Indicadores Descripción
SP63 ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
6 SP70
SP71
ON cuando el valor en el acumulador es negativo.
ON en cualquier momento que la memoria V especificada por un puntero (P) no es válida.
SP72 ON cuando el valor en el acumulador es un número de punto flotante inválido.
7 SP73 ON cuando una suma o sustracción con signo da como resultado un bit de signo incorrecto.
SP74 ON cuando una operación de punto flotante resulta en un error underflow.
8 NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
9 Este ejemplo muestra la convención de punto flotante IEEE de 32 bits
10 X1
LDR
R7.0
4 0 E 0 0 0 0 0
11 al acumulador
+
7,0
15,0 + 4
4 0
1
E
7
0
0
0
0
0
0
0
0
0
0
(Acumulador)
(ADDR)
22,0 Acc. 4
12 ADDR
R15.0
1
V1401
B 0 0 0 0
V1400
0
14 OUTD
Acum.
8 4
0 1
2
0
1
0
8
0
4 2
0 0
1
1
8
1
4
0
2 1
1 1
8
0
4
0
2
0
1
0
8 4
0 0
2
0
1
0
8
0
4 2
0 0
1
0
8
0
4
0
2 1
0 0
8
0
4
0
2
0
1
0
V1400
A Copia el resultado en el
acumulador a V1400 y
V1401 en formato
Bit de signo Exponente (8 bits) Mantisa (23 bits)
de número real
4
B 128 + 2 + 1 = 131
131 - 27 = 4
Implícitamente 2
4
1.011 x 2 = 10110binario= 22
decimal
C NOTA: El programador D2-HPP no permite entrar números reales con conversión automática al formato
IEEE de 32 bits. Ud debe utilizar DirectSOFT en este caso, para usar esta función.
D
Indicadores Descripción 4
SP63 ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
SP64 ON cuando la instrucción de resta de 16 bits pide un “préstamo”. 5
SP65 ON cuando la instrucción de resta de 32 bits pide un “préstamo”.
SP70
SP75
ON cuando el valor en el acumulador es negativo.
ON si se espera un número BCD y se encuentra un número diferente de BCD.
6
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
7
En el ejemplo siguiente, cuándo X1 está ON, el valor en V2000 se carga en el acumulador 8
usando la instrucción LD.
El valor en V2006 se resta del valor en el acumulador usando la instrucción SUB. El valor en el
acumulador es copiado a V2010 usando la instrucción OUT.
9
DirectSOFT
Direct SOFT32 V2000
10
2 4 7 5
X1 LD
V2000
11
Carga el valor en V2000 a
los 16 bits más bajos del
acumulador Los bits no usados del 0 0 0 0 2 4 7 5
12
acumulador son colocados en cero.
SUB _
1 5 9 2
V2006
Programador D2-HPP B
$ B ENT
STR 1
SHFT L
ANDST
D
3
C
2
A
0
A
0
A
0
ENT
C
S U B V C A A G
SHFT
GX
RST ISG
SHFT V
1
C A
SHFT
B
AND
A
2
ENT
0 0 6
ENT
D
OUT AND 2 0 1 0
4 Puntero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P
Constante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Vea el mapa de memoria
0–99999999
Indicadores Descripción
5 SP63 ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
SP64 ON cuando la instrucción de resta de 16 bits pide un "préstamo".
6 SP65 ON cuando la instrucción de resta de 32 bits pide un "préstamo".
SP70 ON cuando el valor en el acumulador es negativo.
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
8 use el mismo relevador especial SP.
12 al acumulador
_
0 1
6
0
7
6 3
2
2
3
7
7
4
5
SUBD
13 V2006
en el acumulador
14 OUTD
V2010
0 0 3 9 0 8 9 9
V2011 V2010
B Programador D2-HPP
$
STR
B
1
ENT
C SHFT L
ANDST
S
D
3
D
U
3
B
C
D
2
A
0
A
C
0
A
A
0
ENT
A G
SHFT SHFT ENT
RST ISG 1 3 2 0 0 6
D GX
OUT
SHFT D
3
C
2
A
0
B
1
A
0
ENT
-
2
1
2
5
(decimal)
+ 4
4 1
1
B
7
0
0
0
0
0
0
0
0
0
0
(Acumulador)
(SUBR)
11
SUBR
R15.0
7 Acum. 4 0 E 0 0 0 0 0
12
V1401 V1400
OUTD
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 14
0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
V1400
Copia el resultado en el
acumulador a las memorias Bit de signo Exponente (8 bits) Mantisa (23 bits)
A
V1400 y V1401
128 + 1 = 129
129 - 127 = 2
2
1.11 x 2 = 111 binario = 7 decimal B
2
Implícitamente 2
C
NOTA: El programador D2-HPP no permite entrar números reales con conversión automática al formato
IEEE de 32 bits. Ud debe usar DirectSOFT en este caso, para usar esta función. D
X1 LD
1 0 0 0
V2000
12 MUL
V2006 Acc.
X
0 0 0 2 5 0
2
0
5
0
(V2006)
14 OUTD
V2010
0 0 0
V2011
2 5 0
V2010
0 0
B Programador D2-HPP
$ B ENT
STR 1
C SHFT L
ANDST
D
3
C
2
A
0
A
0
A
0
ENT
SHFT M U L C A A G ENT
D GX
ORST
SHFT D
ISG ANDST
C A
2
B
0
A
0
ENT
6
OUT 3 2 0 1 0
OUTD
V1400
Copia el número a V1400
y V1401 usando la
instrucción OUTD Acum. 2
X
4 6 9 1 3 5
2
6
(Acumulador)
12
LD
K2
Carga la constante K2
al acumulador
13
Multiplica el contenido 2 4 6 9 1 3 5 6
MULD del acumulador (2) por
OUTD
V1400 el número de 8 dígitos
en V1400 y V1401
Copia el resultado en el
V1403 V1402
14
acumulador a V1402 y
V1402
Programador D2-HPP
V1403 usando la instrucción
OUTD
A
$ B ENT
SHFT
STR
L
ANDST
D
1
3
D
3
PREV SHFT B
1
C
2
SHFT G
6
B
1
E
4
SHFT E
4
ENT B
SHFT B C D ENT
GX
OUT
SHFT
1
D
2
3
3
B
1
E
4
A
0
A
0
ENT C
SHFT L D PREV C ENT
ANDST 3 2
SHFT M
ORST
U
ISG
L
ANDST
D
3
B
1
E
4
A
0
A
0
ENT D
GX SHFT D B E A C ENT
OUT 3 1 4 0 2
5 Indicadores Descripción
SP63 ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
6 SP70
SP71
ON cuando el valor en el acumulador es negativo.
ON en cualquier momento que la memoria V especificada por un puntero (P) no es válida.
SP72 ON cuando el valor en el acumulador es un número de punto flotante inválido.
7 SP73 ON cuando una suma o sustracción con signo da como resultado un bit de signo incorrecto.
SP74 On cuando una operación de punto flotante resulta en un error de underflow.
8 NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
9
DirectSOFT
DirectSOFT32
10 X1
LDR
R 7.0
4 0 E 0 0 0 0 0
11 al acumulador
x 1
7
5
(decimal)
X 4
4 0
1
E
7
0
0
0
0
0
0
0
0
0
0
(Acumulador)
(MULR)
12 MULR
R 15.0
1 0 5 Acum. 4 2 D 2 0 0 0 0
V1401 V1400
13 Multiplica el contenido
del acumulador por el
número real 15.0
4 2 D 2 0 0 0 0 (Número hexadecimal)
Valor real
14 OUTD
8 4
Acum. 0 1
2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
V1400
A Copia el resultado en el
acumulador a las
memorias V1400 y V1401
Bit de signo Exponente (8 bits) Mantisa (23 bits)
B 128 + 4 + 1 = 133
133 - 127 = 6
1.101001 x 2
6
= 1101001 binario = 105
dec im al
6
Implícitamente 2
C
D NOTE: The current HPP does not support real number entry with automatic conversion to the 32-bit IEEE
format. You must use DirectSOFT for this feature.
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que 8
use el mismo relevador especial SP.
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor en V2000 al acumulador usando
9
la instrucción LD. El valor en el acumulador será dividido por el valor en V2006 usando la
instrucción DIV. El valor en el acumulador es copiado a V2010 usando la instrucción OUT. 10
DirectSOFT
Direct SOFT32
X1
V2000
5 0 0 0
11
LD
V2000
DIV
V2006
÷
0 0 0 0 5 0 0
4
0
9
(Acumulador)
V2006 13
Acc. 1 0 2 0 0 0 0 0 0 0 2
El valor en el acumulador
es dividido por el valor en V2006 El primer nivel del stack
contienel el residuo de la división
14
OUT
V2010
1
V2010
0 2
A
Copia el valor en los 16 bits
Programador D2-HPP
más bajos del acumulador
a V2010 B
$
STR
L
B
D
1
ENT
C A A A
C
SHFT ENT
ANDST 3 2 0 0 0
SHFT D
3
I
8
V
AND
C
2
A
0
A
0
G
6
ENT D
GX SHFT V C A B A ENT
OUT AND 2 0 1 0
Indicadores Descripción
6 SP63
SP70
ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
ON cuando el valor en el acumulador es negativo.
SP75 ON si se espera un número BCD y se encuentra un número diferente de BCD.
7 NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
8
En el ejemplo siguiente, cuándo X1 está ON, el valor en V1400 y V1401 se carga al
9 acumulador usando la instrucción LDD. El valor en el acumulador es dividido por el valor en
V1420 y V1421 usando la instrucción DIVD. La primera parte del cociente se va al
acumulador y el resto se va al primer nivel del Stack . El valor en el acumulador es copiado a
10 V1500 y V1501 usando la instrucción OUTD.
11 X1 LDD 0
V1401
1 5 0 0
V1400
0 0 0
V1400
13 DIVD
V1420
Acc.
? 0
0
0
0
0
0
0
3
0
0
0
0
5
0
0
0
(V1421 y V1420)
0 0 0 0 0 0 0 0
El valor en el acumulador La primera localización del stack
14 es dividido por el valor en
V1420 y V1421
contiene el resto
A OUTD
V1500 0 0 0 3 0 0 0 0
B acumulador a V1500
y V1501
Programador D2-HPP
POP
$ B
C Recupera el resto
STR
SHFT L D
1
D
ENT
B E A A
ENT
ANDST 3 3 1 4 0 0
D OUTD
V1502
SHFT D
3
I
8
V
AND
B
1
E
4
C
2
A
0
ENT
GX SHFT D B F A A ENT
Copia el valoe en
OUT 3 1 5 0 0
V1502 y V1503
Indicadores Descripción
5
SP63
SP70
ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
ON cuando el valor en el acumulador es negativo.
6
SP71 ON en cualquier momento que la memoria V especificada por un puntero (P) no es válida.
SP72
SP74
ON cuando el valor en el acumulador es un número de punto flotante inválido.
ON cuando una operación de punto flotante resulta en un error underflow.
7
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que 8
use el mismo relevador especial SP.
DirectSOFT
DirectSOFT32
9
X1 4 1 7 0 0 0 0 0
LDR
R15.0
Acc. 3
4 1
F
2
C
0
0
0
0
0
0
0
0
0
0
(DIVR ) 11
DIVR
R10.0
Valor real 13
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
OUTD
V1400
6 Indicadores Descripción
SP63 ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
7 SP75 ON si se espera un número BCD y se encuentra un número diferente de BCD.
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
8 use el mismo relevador especial SP.
9 DirectSOFT
Direct SOFT32 V1400
C5 8 9 3 5
10 INC
V1400
Incrementa el valor en
11 V1400 en "1".
8
V1400
9 3 6
Programador D2-HPP
12 $
STR
NEXT NEXT NEXT NEXT F
5
ENT
13 SHFT I
8
N
TMR
C
2
B
1
E
4
A
0
A
0
ENT
Decrementa el valor en
B V1400 en “1”.
V1400
8 9 3 4
C Programador D2-HPP
SHFT D E C B E
5
A A ENT
3 4 2 1 4 0 0
Indicadores Descripción 6
SP63 ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
SP66
SP67
ON cuando la instrucción de 16 bits de suma resulta en un "pasa para".
ON cuando la instrucción de 32 bits de suma resulta en un "pasa para".
7
SP70 ON cuando el valor en el acumulador es negativo.
SP73 ON si una suma o resta con signo resulta con el bit de un signo incorrecto. 8
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
9
En el siguiente ejemplo, cuando X1 está ON, el valor en V1400 se carga en el acumulador 10
usando la instrucción LD. El valor binario en el acumulador es sumado al valor binario en
DirectSOFT
11
DirectS OF T 32 V1400
X1
LD
0 A 0 5
12
V1400
8 NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
9 En el ejemplo siguiente, cuándo X1 está ON, el valor en V1400 y V1401 se carga al acumulador
usando la instrucción LDD. El valor binario en el acumulador se suma con el valor binario en
10 V1420 y V1421 usando la instrucción ADDBD. El valor en el acumulador es copiado a V1500
11 DirectSOFT
DirectS OF T 32
X1 0
V1401
0 0 0 0
V1400
A 0 1
LDD
12 V1400
V1420 Acum. 1 0 0 0 C A 1 1
14 El valor binario en el acumulador
es sumado con el valor
en V1420 y V1421
A 1 0 0 0 C A 1 1
OU T D
B V1500
V1501 V1500
D
1
D
ENT
B E A A
la
OUTD.
instrucción
SHFT ENT
ANDST 3 3 1 4 0 0
D SHFT
GX
A
0
D
D
3
D
3
B
B
1
D
F
3
A
B
A
1
E
4
C
2
A
0
ENT
SHFT ENT
OUT 3 1 5 0 0
LD
11
V1400 K1024
V1500
1 9
B
Programador D2-HPP
STR X(IN)
D
1
V
ENT
1 4 0 0
C
SHFT L ENT
SHFT
V
S
1
SHFT
4 2
U B
0
B
ENT
D
OUT SHFT D V 1 5 0 0 ENT
8 NOTA: Las indicaciones de estado discretas SP son válidas sólo hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
9 En el ejemplo siguiente, cuándo X1 está ON, el valor en V1400 y V1401 se cargará en el
acumulador usando la instrucción LDD. El valor binario en V1420 y V1421 es restado del valor
10 binario en el acumulador usando la instrucción SUBB. El valor en el acumulador es copiado a
V1500 y V1501 usando la instrucción OUTD.
11 X1
Use una memoria V o una constante
13 SUBBD -
0
0
0
0
0
0
6
0
0
1
0
A
F
0
F
1
(Acumulador)
(V1421 y V1420)
V1420
Acc. 0 0 0 5 E 6 F E
OUTD
A V1500
0 0
V1501
0 5 E 6 F
V1500
E
3
D B
1
E
4
A
0
A
0
ENT
3
D SHFT
GX
S
RST
SHFT
D
U
ISG
B
B
1
B
F
1
D
A
3
A
B
1
E
4
C
2
A
0
ENT
SHFT ENT
OUT 3 1 5 0 0
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
7
use el mismo relevador especial SP.
8
En el ejemplo siguiente, cuando X1 está ON, el valor en V1400 se carga al acumulador usando
la instrucción LD. Luego el valor binario en V1420 es multiplicado por el valor binario en el
acumulador usando la instrucción MULB. El valor en el acumulador es copiado a V1500
9
usando la instrucción OUT.
Use memoria V o constante
V1400
10
0 A 0 1
X1 LD
V1400
11
Los bits no usados del
Carga el valor en V1400 en
los 16 bits más bajos del acumulador
acumulador son colocados en cero
0 0 0 0 0 A 0 1 (Acumulador)
12
MULB
V1420
Acum. 0 0 0 1
0
C
0
C
2
2
E
E
(V1420)
13
El valor binario en V1420 es
multiplicado por el valor
binario en el acumulador 14
OUTD
V1500
0 0 0
V1501
1 C C
V1500
2 E
A
Copia el valor en los 16 bits más
bajos del acumulador
en V1500 y V1501 B
Programador D2-HPP
S TR X 1 E NT C
S HF T L D V 1 4 0 0 E NT
S HF T M U L B V 1 4 2 0 E NT D
O UT S HF T D V 1 5 0 0 E NT
Indicadores Descripción
6 SP53 ON cuando el valor del operando es mayor que lo que puede trabajar el acumulador.
SP63 ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
7 SP70 ON cuando el valor en el acumulador es negativo.
NOTA: Las indicaciones de estado discretas SP son válidas sólo hasta que se ejecute otra instrucción que
8 use el mismo relevador especial SP.
9 En el ejemplo siguiente, cuándo X1 está ON, se carga el valor en V1400 al acumulador usando
la instrucción LD. El valor binario en el acumulador es dividido por el valor binario en V1420
usando la instrucción DIVB. El valor en el acumulador es copiado a V1500 usando la
10 instrucción OUT.
DirectSOFT
11 DirectS OF T32
X1 LD
F
V1400
A 0 1
V1400
13 DIVB
V1420
0 0 5 0 (V1420)
Acum. 0 3 2 0 0 0 0 0 0 0 0 0
El valor binario en el acumulador
14 es dividido por el valor binario
en V1420
F
A OUT
V1500
0 3 2
V1500
0
C Programador D2-HPP
S TR X 1 E NT
S HFT L D V 1 4 0 0 E NT
D S HFT D I V B V 1 4 2 0 E NT
OUT S HFT D V 1 5 0 0 E NT
4
V2000
A 3 D
8
La instrucción Decrement Binary (DECB) 9
DS5 Usado
La instrucción DECB decrementa en "1"un valor binario DECB
HPP Usado
en una dirección especificada de la memoria V, cada vez
que la instrucción se ejecuta
A aaa 10
Tipo de operando de datos Rango del DL06
11
....................................A aaa
Memoria V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria 12
Puntero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P Vea el mapa de memoria
Indicadores Descripción
13
SP63 On cuando el resultado de la instrucción causa que el valor en el acumulador sea cero.
14
NOTA: Las indicaciones de estado discretas SP son válidas solamente hasta que se ejecute otra instrucción
que use los mismos relevadores especiales SP. A
En el ejemplo siguiente cuando C5 está ON, el valor binario en V2000 es disminuido en 1.
Direct SOFT32
4
V2000
A 3 C
Programador D2-HPP
B
DirectSOFT
C5 DECB $
STR
SHFT C
2
F
5
ENT
V2000
14 X6 LDF
K4
X0 Carga el valor BCD representado
por las direcciones discretas
X0-X3 al acumulador
ON OFF OFF OFF
A ADDF
K4
C0
Suma el valor BCD en el
acumulador con el valor
representado por las
direcciones C0-C3
+
0 0 0 0 0 0 0 8
3
(Acumulador)
(C0-C3)
C3 C2 C1
OFF OFF ON ON
C0
Acum. 0 0 0 1 0 0 0 1
B OUTF
K4
Y10 Copia el valor de los 4
bits más bajos del acumulador
a las direcciones Y10-Y13
C Programador D2-HPP
$
STR
G
6
ENT
Y13 Y12 Y11 Y10
OFF OFF OFF ON
SHFT L D F A E ENT
D SHFT
ANDST
A
0
D
3
3
D
5
3
F
5
0
NEXT
4
GX SHFT F B A E ENT
OUT 5 1 0 4
Indicadores Descripción
7
SP63
SP64
ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
ON cuando la instrucción de resta de 16 bits resulta en un "préstamo".
8
SP65 ON cuando la instrucción de resta de 32 bits resulta en un "préstamo".
SP70 ON cuando el valor en el acumulador es un número negativo. 9
SP73 On cuando hay una instrucción de suma o resta que resulta en un bit de signo incorrecto.
SP75 ON si se espera un número BCD y se encuentra un número diferente de BCD.
10
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
11
En el ejemplo siguiente, cuándo X6 está ON, el valor BCD formado por las direcciones
discretas X0-X3 se carga al acumulador usando la instrucción LDF. El valor BCD formado por
las direcciones discretas C0-C3 se resta del valor en el acumulador usando la instrucción SUBF.
12
El valor en los 4 bits más bajos del acumulador es copiado a Y10-Y13 usando la instrucción
OUTF. 13
DirectSOFT
DirectSOFT32
X6
LDF X0
Carga el valor BCD representado
por las direcciones discretas
X3 X2
ON OFF OFF ON
X1 X0
14
K4 al acumulador.
SUBF C0
Reste el valor BCD representado
por las direcciones discretas
Los bits no usados en el
acumulador son colocados en cero
0 0 0 0 0 0 0 9 (Acumulador) C3 C2 C1 C0
A
K4 C0-C3 desde el valor en el y 8 (C0-- C3) ON OFF OFF OFF
OUTF Y10
acumulador.
$ G ENT
Y13 Y12 Y11 Y10
OFF OFF OFF ON
C
STR 6
SHFT
SHFT
L
ANDST
S
D
SHFT
3
F
U
5
B
A
F
0
E
NEXT
4
ENT
13 X6
LDF
K4
X0
Carga el valor representado
por las direcciones discretas
X3 X2
OFF OFF ON ON
X1 X0
X0-X3 al acumulador
14 MULF C0
Multiplica el valor en
el acumulador con el valor
Los bits no usados del
acumulador son colocados en cero.
0 0 0 0 0 0 0 3 (Acumulador) C3 C2 C1 C0
representado por las 2 (C0-- C3) OFF OFF ON OFF
K4
direcciones discretas C0-C3
A OUTF Y10
Copia los 4 bits más bajos
Acum. 0 0 0 0 0 0 0 6
del acumulador a
K4 direcciones discretas Y10-Y13
B Programador D2-HPP
$ G Y13 Y12 Y11 Y10
ENT
STR 6
C SHFT L
ANDST
D
3
F
5
A
0
E
4
ENT
OFF ON ON OFF
M U L F A E
D SHFT
GX
OUT
ORST
SHFT F
ISG
5
ANDST
B
5
1
A
0
NEXT
E
NEXT
4
NEXT
ENT
NEXT
0 4
ENT
4
(C0-- C3)
0 0 0 0 0 0
OFF OFF ON OFF
0 0
A
Copia los 4 bits más bajos El primer nivel del stack
OUTF
K4
Y10
del acumulador a las
direcciones discretas Y10-Y13
contiene el residuo
B
Programador D2-HPP Y13 Y12 Y11 Y10
$
STR
G
6
ENT
OFF ON OFF OFF
C
SHFT L D F A E ENT
SHFT
ANDST
D
3
I
3
8
V
AND
5
F
5
0
NEXT NEXT
4
NEXT NEXT A
0
E
4
ENT
D
GX SHFT F B A E ENT
OUT 5 1 0 4
6 NOTA: Las indicaciones de estado discretas SP son válidas sólo hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
7 En el ejemplo siguiente, cuándo X1 está ON, el valor en V1400 y V1401 se carga al acumulador
usando la instrucción LDD. El valor en V1420 y V1421 se carga al acumulador usando la
8 instrucción LDD, empujando el valor previamente cargado al acumulador en el Stack del
acumulador. El valor en el primer nivel del Stack se suma con el valor en el acumulador usando
9 la instrucción ADDS. El valor en el acumulador es copiado a V1500 y V1501 usando la
instrucción OUTD.
10 DirectSOFT
DirectS
X1
OF T 32
11 V1400
Acum. 0 0 3 9 5 0 2 6
Nivel 1
Nivel 2
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Nivel 3 X X X X X X X X
13 Acum. 0 0 1 7 2 0 5 6
Nivel 8 X X X X X X X X
Nivel 1 0 0 3 9 5 0 2 6
A OU T D
V1500
Copia elvalor en el
acumulador a V1500
y V1501
0 0 5 6 7 0 8 2
Nivel 2
Nivel 3
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Programador D2-HPP Nivel 4 X X X X X X X X
V1501 V1500
B $
STR
B
1
ENT
Nivel 5
Nivel 6
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
L D D B E A A Nivel 7 X X X X X X X X
SHFT ENT
C SHFT
ANDST
L
ANDST
D
3
3
D
3
3
B
1
1
E
4
4
C
0
2
A
0
0
ENT
Nivel 8 X X X X X X X X
SHFT A D D S ENT
D GX
OUT
SHFT
0
D
3
3
3
B
RST
1
F
5
A
0
A
0
ENT
En el ejemplo siguiente, cuándo X1 está ON, el valor en V1400 y V1401 se carga al acumulador
7
usando la instrucción LDD. El valor en V1420 y V1421 se carga al acumulador usando la
instrucción LDD, empujando el valor previamente cargado en el acumulador en el Stack 8
delacumulador. El valor BCD en el primer nivel del Stack del acumulador se resta del valor
BCD en el acumulador usando instrucción SUBS. El valor en el acumulador es copiado a
V1500 y V1501 usando la instrucción OUTD.
9
DirectSOFT
DirectSOFT32
0 0 2 2 2 9 7 0 Nivel 3 X X X X X X X X
V1501 V1500 Nivel 4 X X X X X X X X
Programador D2-HPP
$
STR
B
1
ENT
Nivel 5
Nivel 6
X
X
X X
X X
X X
X X
X X
X X
X
X B
Nivel 7 X X X X X X X X
L D D B E A A
SHFT
SHFT
ANDST
L D
3
D
3
B
1
E
4
C
0
A
0
ENT
ENT
Nivel 8 X X X X X X X X
C
ANDST 3 3 1 4 2 0
SHFT
GX
S
RST
SHFT
SHFT
D
U
ISG
B
B
1
S
F
RST
A
ENT
A ENT
D
OUT 3 1 5 0 0
5 NOTA: Las indicaciones de estado discretas SP son válidas sólo hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
6 En el ejemplo siguiente, cuándo X1 está ON, se carga el valor en V1400 al acumulador usando
la instrucción LD. El valor en V1420 se carga al acumulador usando la instrucción LD,
7 empujando el valor previamente cargado en el acumulador al Stack del acumulador. El valor
BCD en el primer nivel del Stack del acumulador es multiplicado por el valor BCD en el
acumulador usando la instrucción MULS. El valor en el acumulador es copiado a V1500 y
8 V1501 usando la instrucción OUTD.
9 DirectSOFT
DirectSOFT32
X1
LD
Carga el valor en V1400 50 0
V1400
0 Stack del acumulador
al acumulador Los bits no usados del después del primer LDD
V1400 acumulador son colocados en cero.
10 Acum. 0 0 0 0 5 0 0 0
Nivel 1
Nivel 2
Nivel 3
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
X X X X X X X X
11 LD
V1420
Carga el valor en V1420
al acumulador Los bits no usados del
0
V1420
2 0 0
Nivel 4
Nivel 5
Nivel 6
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
acumulador son colocados en cero.
Nivel 7 X X X X X X X X
12 Multiplica el valor en el
Acum. 0 0 0 0 0 2 0 0
Nivel 8 X X X X X X X X
13 acumulador
Acum. 0 1 0 0 0 0 0 0
14 OUTD
V1500
Copia el valor en el
acumulador a V1500
y V1501
0 1 0 0 0 0 0 0
Nivel 1
Nivel 2
0
X
0
X
0
X
0
X X
5 0
X
0
X
0
X
X X X X X X X X
d d RLL
Nivel 3
V1501 V1500
A Programador D2-HPP
Nivel 4
Nivel 5
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
Nivel 6
$ B ENT
B STR
SHFT L D
1
B E A A ENT
Nivel 7
Nivel 8
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
S
ANDST 3 1 4 0 0
L D B E C A
C SHFT
SHFT
ANDST
M U
3
L S
1
ENT
4 2 0
ENT
D GX
OUT
SHFT D
3
B
1
F
5
A
0
A
0
ENT
Acum. 0 0 0 0 0 0 2 0
Nivel 2
Nivel 3
Nivel 4
X X
X X
X X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
10
V1421 V1420 Nivel 5 X X X X X X X X
LDD
V1420
Carga el valor en V1420
al acumulador
0 0 5 0 0 0 0 0 Nivel 6
Nivel 7
X X
X X
X
X
X
X
X X
X X
X
X
X
X
11
Nivel 8 X X X X X X X X
Acum. 0 0 5 0 0 0 0 0
Programador D2-HPP
Nivel 8 X X X X X X
SHFT
STR
L
ANDST
D
1
3
ENT
B
1
E
4
A
0
A
0
ENT
Nivel 1
Nivel 2
0
X
0
X
0
X
0
X X
0 0
X
0
X
0
X
B
Nivel 3 X X X X X X X X
SHFT
SHFT
L
ANDST
D
D
I
3
D
V
3
S
B
ENT
1
E
4
C
2
A
0
ENT Nivel 4
Nivel 5
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
C
3 8 AND RST Nivel 6 X X X X X X X X
GX
OUT
SHFT D
3
B
1
F
5
A
0
A
0
ENT Nivel 7
Nivel 8
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
D
NOTA: Las indicaciones de estado discretas SP son sólo válidas hasta que se ejecute otra instrucción que
6 use el mismo relevador especial SP.
7 En el ejemplo siguiente, cuándo X1 está ON, el valor en V1400 y V1401 se carga al acumulador
usando la instrucción LDD. El valor en V1420 y V1421 se carga al acumulador usando la
instrucción LDD, empujando el valor previamente cargado en el acumulador al Stack del
8 acumulador. El valor binario en el primer nivel del Stack del acumulador se suma con el valor
binario en el acumulador usando la instrucción ADDBS. El valor en el acumulador es copiado
9 a V1500 y V1501 usando la instrucción OUTD.Double instrucción.
DirectSOFT
10 DirectSOFT32
X1
LDD
Carga el valor en V1400
y V1401 al acumulador
0
V1401
0 3 A 5
V1400
0 C 6 Stack del acumulador
después del primer LDD
V1400
Nivel 1 X X X X X X X X
11 Acum. 0 0 3 A 5 0 C 6 Nivel 2
Nivel 3
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
V1421 V1420 Nivel 4 X X X X X X X X
12 LDD
V1420
Carga el valor en V1420
y V1421 al acumulador
0 0 1 7 B 0 5 F Nivel 5
Nivel 6
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Nivel 7 X X X X X X X X
Acum. 0 0 1 7 B 0 5 F
ADDBS
acumulador con el valor Acum. 0 0 5 2 0 1 2 5
Nivel 1 0 0 3 A 5 0 C 6
OU T D Copia el valor en el
A V1500
acumulador a V1500
y V1501 0 0 5 2 0 1 2 5
Nivel 2
Nivel 3
Nivel 4
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Programador D2-HPP X X X X X X X X
B $
STR
B
1
ENT
Nivel 5
Nivel 6
Nivel 7
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
SHFT L D D B E A A ENT Nivel 8 X X X X X X X X
C SHFT
ANDST
L
ANDST
D
3
3
D
3
3
B
1
1
E
4
4
C
0
2
A
0
0
ENT
SHFT A D D B S ENT
D GX
OUT
SHFT
0
D
3
3
3
B
1
1
F
RST
5
A
0
A
0
ENT
X1 LDD
Carga el valor en V1400 y
V1401 al acumulador
0
V1401
0 1 A 2
V1400
0 5 B Stack del acumulador después d
la ejecución del primer LDD
10
V1400
Acum . 0 0 1 A 2 0 5 B
Nivel 1
Nivel 2
Nivel 3
X X
X X
X X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
11
V1421 V1420 Nivel 4 X X X X X X X X
LDD
V1420
Carga el valor en V1420 y
V1421 al acumulador
0 0 3 A 5 0 C 6 Nivel 5
Nivel 6
X X
X X
X
X
X X
X X
X
X
X
X
X
X
12
Nivel 7 X X X X X X X X
0 0 3 A 5 0 C 6
SUBBS
Resta el valor binario en el
Acum . Nivel 8 X X X X X X X X
13
primer nivel del stack desde
el valor binario en el acumulador
Acum . 0 0 2 0 3 0 6 B
Stack del acumulador después
la ejecución del segundo LDD
14
Copia el valor en el acumulador Nivel 1 0 0 1 A 2 0 5 B
OUTD a V1500 y V1501
V1500
0 0
V1501
2 0 3 0
V1500
6 B
Nivel 2
Nivel 3
X X
X X
X
X
X X
X X
X
X
X
X
X
X
A
Nivel 4 X X X X X X X X
Programador D2-HPP
$
STR
B
1
ENT
Nivel 5
Nivel 6
Nivel 7
X X
X X
X X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
B
SHFT L D D B E A A ENT Nivel 8 X X X X X X X X
SHFT
ANDST
L
ANDST
D
3
3
D
3
3
B
1
1
E
4
4
C
0
2
A
0
0
ENT
C
SHFT S U B B S ENT
SHFT
GX
OUT
RST
SHFT D
3
ISG
B
1
1
F
1
5
A
RST
0
A
0
ENT
D
4 Indicadores Descripción
SP63 ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
5 SP70 On cuando el valor en el acumulador es negativo.
6 NOTA: Las indicaciones de estado discretas SP son válidas sólo hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
10 X1
LD
V1400
Carga el valor en V1400
al acumulador Los bits no usados del
C
11 Acum.
V1420
Nivel 3
Nivel 4
Nivel 5
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
0 0 1 4
12 LD
V1420
Carga el valor en V1420
al acumulador
Los bits no usados del
acumulador son colocados en cero.
Nivel 6
Nivel 7
Nivel 8
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
Acum. 0 0 0 0 0 0 1 4
0 0 0 C 3 5 0
X X X X X X X X
Copia el valor en el acumulador Nivel 3
A OUTD
V1500
a V1500 y V1501
0 0 0
V1501
F 4 2 4
V1500
0 Nivel 4
Nivel 5
X
X
X
X
X
X
X
X
X
X X
X X
X X
X
X
X
X
X
X
X
X
X
Nivel 6 X X X X X X X X
B Programador D2-HPP
$
STR
B
1
ENT
Nivel 7
Nivel 8
X
X
X
X
X
X
X X
X X
X
X
X
X
X
X
L D B E A A
C SHFT
SHFT
ANDST
L D
3
B
1
E
4
C
0
A
0
ENT
ENT
ANDST 3 1 4 2 0
D SHFT
GX
M
ORST
SHFT
U
D
ISG
L
ANDST
B
B
1
S
F
RST
A
ENT
A ENT
OUT 3 1 5 0 0
V1421 V1420
Nivel 4
Nivel 5
X
X
X X
X X
X X
X X
X X
X X
X
X
11
0 0 0 0 C 3 5 0 Nivel 6 X X X X X X X X
Carga el valor en V1420 y
LDD
V1420
V1421 al acumulador
Acum. 0 0 0 0 C 3 5 0
Nivel 7
Nivel 8
X
X
X X
X X
X X
X X
X X
X X
X
X
12
Stack del acumulador
DIVBS
Divide el valor binario
en el acumulador por
el valor binario en el
Acum. 0 0 0 0 0 9 C 4
Nivel 1 0
después del segundo LD
0 0 0 0 0 1 4 13
primer nivel del stack Nivel 2 X X X X X X X X
del acumulador
Nivel 3
Nivel 4
Nivel 5
X
X
X
X X
X X
X X
X X
X X
X X
X X
X X
X X
X
X
X
14
Copia el valor en el
OUTD X X X X X X X X
Nivel 6
V1500
acumulador a V1500
y V1501
0 0 0
V1501
0 0 9 C
V1500
4
Nivel 7
Nivel 8
X
X
X X
X X
X X
X X
X X
X X
X
X
A
Programador D2-HPP
$
STR
L
B
D
1
ENT
B E A A Nivel 1
El residuo se queda en
el primer nivel del stack
0 0 0 0 0 0 0 0
B
SHFT ENT
ANDST 3 1 4 0 0 Nivel 2 X X X X X X X X
SHFT L
ANDST
D
3
D
3
B
1
E
4
C
2
A
0
ENT
Nivel 3
Nivel 4
X
X
X X
X X
X X
X X
X X
X X
X
X
C
SHFT D I V B S ENT Nivel 5 X X X X X X X X
3 8 AND 1 RST
GX
OUT
SHFT D
3
B
1
F
5
A
0
A
0
ENT
Nivel 6
Nivel 7
X
X
X X
X X
X X
X X
X X
X X
X
X D
Nivel 8 X X X X X X X X
Funciones transcendentales
1 El PLC DL06 permite ejecutar funciones numéricas especiales para complementar su capacidad
de procesar números reales. Las funciones transcendentales incluyen el seno, coseno, y tangente
2 trigonométricos y también sus inversos (arcoseno, arcocoseno y arcotangente). La función de
raíz cuadrada también se agrupa con estas otras funciones.
Las instrucciones transcendentales funcionan en un número real localizado en el acumulador
3 (no puede ser BCD o binario). El resultado de la operación reside en el acumulador. La función
de raíz cuadrada funciona en el rango completo de números reales positivos. Las funciones de
4 seno, coseno y tangente requieren números expresados en radianes. Usted puede trabajar con
ángulos expresados en grados primero convirtiéndolos a radianes con la instrucción radián
(RADR) y luego ejecutando la función trigonométrica. Todas las funciones transcendentales
5 utilizan los bits de indicación siguientes:
Indicadores Descripción
6 SP53 ON cuando el valor del operando es más grande que de lo que el acumulador puede aceptar.
SP63 ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
7 SP70 ON cuando el valor en el acumulador es negativo.
SP72 ON cuando el valor en el acumulador es un número de punto flotante inválido.
8 SP73
SP75
ON cuando el valor en el acumulador es negativo.
ON cuando se ejecuta una instrucción de número real y fue encontrado un número que no es real.
El ejemplo siguiente toma el seno de 45 grados. Ya que estas funciones trascendentales operan 9
sólo con números reales, hacemos una instrucción LDR (Carga real) con el operando 45,0. Las
funciones trigonométricas operan sólo con radianes, así que se debe convertir los grados a
radianes usando la instrucción RADR. Después de usar la instrucción SINR (Seno Real), se usa
10
la instrucción OUTD para mover el resultado del acumulador a la memoria V. El resultado es
DirectSOFT
DirectS OF T 32
Contenido del acumulador
11
X1 Carga el número real 45,0
(visto como número real)
LDR
R 45,0
al acumulador 12
45, 000000
R ADR
Convierte los grados en
radianes, dejando el
13
resultado en el acumulador
X1 LDF X10 X17 X16 X15 X14 X13 X12 X11 X10
K8 ON ON OFF OFF ON OFF ON ON
10 Acum. 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8
0
7
1
6 5
1 0
4 3
0 1
2
0 1
1 0
1
11 SUM Acum. 0 0 0 0 0 0 0 5
13 OUT
V1500
0 0 0 5
V1500
Programador D2-HPP
A $
STR
B
1
ENT
SHFT L D F B A I ENT
B SHFT
ANDST
S
RST
SHFT
3
U
5
ISG
M
ORST
1
ENT
0 8
GX B F A A
C OUT
PREV PREV PREV
1 5 0 0
ENT
SHFL
Acum.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0
8
1
7
0
6 5
0 0
4 3
0 0
2
0
1
0
0
1 11
K2
OUTD
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
13
Acum. 0
1 0 0 0
1 0
1 1 0 0 0 0 0 0
1 0 0
1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0
V2010
$ B ENT
V2011 V2010
B
STR 1
SHFT L
ANDST
S
D
3
D
H
3
F
C
L
2
A
0
A
C
0
A
0
ENT
C
SHFT SHFT ENT
RST 7 5 ANDST 2
GX
OUT
SHFT D
3
C
2
A
0
B
1
A
0
ENT D
5 Indicadores
SP63
Descripción
ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
SP70 ON cuando el valor en el acumulador es negativo.
6 En el ejemplo siguiente, cuándo X1 está ON, el valor en V2000 y V2001 se carga al acumulador
usando la instrucción LDD. El conjunto de bits en el acumulador se cambia de 2 bits a la
7 derecha usando la instrucción SHFR. El valor en el acumulador es copiado a V2010 y V2011
usando la instrucción OUTD.
8 NOTA: Las indicaciones de estado discretas SP son válidas sólo hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
9 DirectSOFT
Direct SOFT32 V2001 V2000
X1 Constante 6 7 0 5 33 11 00 11
10 LDD
V2000
11 SHFR Acum.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0
8
1
7
0
6 5
0 0
4 3
0 0
2
0
1
0
0
1
K2
13 OUTD
V2010 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
14 a V2010 y V2011
A
1 9 C 1 4 C 4 0
B Programador D2-HPP
V2011 V2010
C $
STR
SHFT L
B
D
1
ENT
D C A A A ENT
ANDST 3 3 2 0 0 0
D SHFT
GX
S
SHFT
RST
SHFT
D
H
7
F
C
5
R
A
ORN
B
C
A
2
ENT
ENT
OUT 3 2 0 1 0
X1
LDD 6 7
V1401
0 5 3 1
V1400
0 1 9
V1400
ROTL
K2
Acum 0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1
11
El grupo de bits en el acumulador
es rotatdo 2 posiciones de bit
a la izquierda
12
OUTD
V1500 Acum
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0
8
0
7
0
6
0
5
0
4
0
3
0
2
1
1
0
0
1
13
Copia el valor en el acumulador
a V1500 y V1501 14
9 C 1 4 C 4 0 5
A
Programador D2-HPP V1501 V1500
$
STR
B
1
ENT B
SHFT L D D B E A A ENT
ANDST 3 3 1 4 0 0
SHFT R
ORN
O
INST#
T
MLR
L
ANDST
C
2
ENT C
GX SHFT D B F A A ENT
OUT 3 1 5 0 0
D
Indicadores Descripción
5 SP63
SP70
ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
ON cuando el valor en el acumulador es negativo.
6 En el ejemplo siguiente, cuándo X1 está ON, el valor en V1400 y V1401 se carga al acumulador
usando la instrucción LDD. El conjunto de bits en el acumulador desplaza 2 bits a la derecha
7 usando la instrucción ROTR. El valor en el acumulador es copiado a V1500 y V1501 usando
la instrucción OUTD.
8
DirectSOFT
9 Direct SOFT
X1 LDD 6
V1401
7 0 5 3
V1400
1 0 1
V1400
11 ROTR
K2
Acum. 0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1
13 OUTD
V1500
Acum. 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0
1 0 0
1 0
1 1
0 0 0
1 0
1 0
1 0 0 0 0 0 0
1 0 1 0 0 1 1 0
8
0
7
0
6 5
1 0
4 3
0 0
2
0
1
0
0
0
A Programador D2-HPP
5 9
V1501
C 1 4 C
V1500
4 0
B $
SHFT
STR
L
B
D
1
D
ENT
B E A A ENT
ANDST 3 3 1 4 0 0
C SHFT
GX
R
ORN
O
INST#
D
T
MLR
R
B
ORN
F
C
A
2
A
ENT
SHFT ENT
OUT 3 1 5 0 0
X1 LD 1
V2000
0 0 0
9
V2000
El bit en la posición 12 es
11
convertido a binario
ENCO 12
Codifica la posición del bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
colocado como "1" en el
acumulador a un valor
binario de 5 bits.
Acum. 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
13
OUT
V2010
14
Copia el valor en los 16 bits
más bajos del acumulasor
a V2010
0 0
V2010
0 C
Valor BCD/Hexadecimal
correspondiente a 12
A
Programador D2-HPP decimal.
$
STR
L
B
D
1
ENT
C A A A
B
SHFT ENT
ANDST 3 2 0 0 0
SHFT E
4
N
TMR
C
2
O
INST#
ENT C
GX SHFT V C A B A ENT
OUT AND 2 0 1 0
X1 LDF X10
X14 X13 X12 X11 X10
OFF ON OFF ON ON
K5
9 Acum. 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 0 1 1
El valor binario es
convertido a la
10 DECO
4 3 2 1 0
11 la posición correspondiente de
bit a "1".
Programador D2-HPP
12 $
STR
L
B
D
1
ENT
F B A F
SHFT ENT
ANDST 3 5 1 0 5
13 SHFT D
3
E
4
C
2
O
INST#
ENT
14
A
B
C
D
En el ejemplo siguiente, cuándo X1 está ON, el valor en V2000 y V2001 se carga al acumulador
5
usando la instrucción LDD. El valor BCD en el acumulador es convertido a binario
(hexadecimal) usando la instrucción BIN. El valor binario en el acumulador es copiado a V2010 6
y V2011 usando la instrucción OUTD.
(El programador D2-HPP mostrará el valor binario en V2010 y V2011 como un valor
hexadecimal)
7
DirectSOFT
DirectS OF T 32
X1 LDD
0
V2001
0 0 2 8
V2000
5 2 9
8
V2000
BIN
Acum. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
Valor BCD
0 0 0 1 0 1 0 0 1 0 1 0 0 1
10
Convierte el valor BCD en
el acumulador al valor
equivalente binario
28529 = 16384 + 8192 + 2048 + 1024 + 512 + 256 + 64 + 32 + 16 + 1
OU T D
Acum. 0
2
0 0
1 5
0
2
0
1
0
6
0 0
3 1
0
8
0
4
0
2
0 0
1 5
0
2
0
1
0
6
0
3
1 1
1 8
0
4
1
2
1
1
1 1
5 2
0
1 6
1 1
3
1 0
1 8
0
4
0
2
1
1
12
1 0 3 6 3 7 3 6 3 1 0 0 2 6 3 5 2 6 1 0 0 0 1 5 2 4 2 6
V2010 4 7 6 8 4 1 5 7 8 9 9 4 4 2 1 5 7 3 9 9 4 2 2 6 8
14
A
S tan
Programador D2-HPP
El valor binario (hexadecomal copiado
dard R LL
0 0 0 0 6 F 7 1 a V2010 y V2011
$ B
E NT
STR 1 V2011 V2010
S HF T L
ANDS T
D
3
D
3
C
2
A
0
A
0
A
0
E NT B
Ins tructions
S HF T B I N E NT
1 8 T MR
GX
OU T
S HF T D
3
C
2
A
0
B
1
A
0
E NT C
D
2 Indicadores Descripción
SP63 ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
3 SP70 ON cuando el valor en el acumulador es negativo.
4 En el ejemplo siguiente, cuándo X1 está ON, el valor binario (hexadecimal) en V2000 y V2001
se carga al acumulador usando la instrucción LDD. El valor binario en el acumulador es
convertido al valor equivalente BCD usando la instrucción BCD. El valor BCD en el
5 acumulador es copiado a V2010 y V2011 usando la instrucción OUTD.
6 DirectSOFT
DirectS OF T 32
X1
LDD
0
V2001
0 0 0 6
V2000
F 7 1
Valor binario
V2000
7 Carga el valor en V2000 y V2001
al acumulador
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
8 Acum. 0
2
1
0
1
0
0
5
3
0 0
2
6
1
3
0
6
7
3
3
0
1
6
0
8
3
0 0
4
1
0
2
0
0
1
0
5
2
0 0 0
2
6
1
3
0
6
5
0
3
2
1
1
6
1
8
1
0 1
4
0
2
0
1
1
0
1
5
1
1
2
5
0 1
1 6
2 4
1
3
2
1
1
6
0
8
0 0
4 2 1
1
BC D 4 7 6 8 4 1 5 7 8 9 9 4 4 2 1 5 7 3 9 9 4 2 2 6 8
en el acumulador al valor 3 8 1 5 2 4 2 6
10 equivalente BCD 6
4
8
2
4
2 6 8
11 OU T D
V2010
16384 + 8192 + 2048 + 1024 + 512 + 256 + 64 + 32 + 16 + 1 = 28529
13
14 Programador D2-HPP
$ B E NT
0 0 0 2 8 5 2 9
El valor BCD copiado
a V2010 y V2011
ST R 1 V2011 V2010
A S HF T
S HF T
L
ANDS T
B
D
C
3
D
D
3
E NT
C
2
A
0
A
0
A
0
E NT
1 2 3
B GX
OU T
S HF T D
3
C
2
A
0
B
1
A
0
E NT
C
D
X1 LDD
V2000 0
V2001
4 0 5
V2000
00 22 55 00
5
Carga el valor en V2000 y
V2001 al acumulador
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
6
Acum. 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0
INV
7
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
$
STR
B
1
ENT
11
SHFT
SHFT
L
ANDST
I
8
D
N
TMR
3
D
V
AND
3
ENT
C
2
A
0
A
0
A
0
ENT
12
GX D C A B A
OUT
SHFT
3 2 0 1 0
ENT
13
14
A
B
C
D
8 X1 LDD
V2000 0
V2001
0 0 0 0
V2000
0 8 7
10 BC DC PL
Acum. 9 9 9 9 9 9 1 3
11 Calcula el complemento de 10
desde el valor en el acumulador
12 OU T D
V2010
9 9 9 9 9 9 1 3
V2011 V2010
14 Programador D2-HPP
$ B E NT
STR 1
A S HF T
L
ANDS T
D
3
D
3
C
2
A
0
A
0
A
0
E NT
B C D C P L
S HF T E NT
1 2 3 2 CV ANDS T
B GX
OU T
S HF T D
3
C
2
A
0
B
1
A
0
E NT
C
D
X1
LDD
V1400
0
V1401
0 0 5 7
V1400
2 4 1 9
Carga el valor en V1400 y V1401
al acumulador
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
10
Acum. 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1
A
Programador D2-HPP El valor del número real
4 8 A E 4 8 2 0
$
STR
L D
B
1
ENT
D B E A A
V1501 V1500
copiado a V1500 y V1501
B
SHFT ENT
ANDST 3 3 1 4 0 0
SHFT
GX
B
SHFT
1
T
D
MLR
O
INST#
R
B
ORN
F
ENT
A A ENT
C
OUT 3 1 5 0 0
4 Indicadores Descripción
SP63 ON cuando el resultado de la instrucción hace que el valor en el acumulador sea 0.
5 SP70
SP72
ON cuando el valor en el acumulador es negativo.
ON cuando el valor en el acumulador es un número de punto flotante inválido.
SP73 ON cuando una suma o resta con signo resulta en un bit de signo incorrecto.
6 SP75 ON cuando un número no puede ser convertido a binario.
En el ejemplo siguiente, cuándo X1 está ON, el valor en V1400 y V1401 se carga al acumulador
7 usando la instrucción LDD. La instrucción de RTOB convierte el valor real en el acumulador
al formato equivalente de numeración binaria. El valor en el acumulador es copiado a V1500 y
8 V1501 usando la instrucción OUTD. El programador D2-HPP mostraría el valor binario en
V1500 y V1501 como un valor hexadecimal.
DirectSOFT
9 DirectSOFT32
4 8
V1401
A E 4 8
V1400
2 0 Formato de número real
Bit de signo
10 X1 LDD
V1400
Exponente (8 bits) Mantisa (23 bits)
11 Acum. 0 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0
RTOB
13 binario
128 + 16 + 1 = 145
145 - 127 = 18
Valor binario
2 (exp 18)
14 OUTD
V1500
Acc.
8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 1
Copia el número binario en
A el acumulador a
V1500 y V1501
B 0
V1501
0 0 5 7
V1500
2 4 1
El valor binario
copiado a V1500 y V1501
Programador D2-HPP
C $
STR
B
1
ENT
L D D B E A A
D SHFT
SHFT
ANDST
R T
3
O
3
B ENT
1 4 0 0
ENT
10 Indicadores
SP53
Descripción
ON cuando el valor del operando es más grande de lo que puede procesar el acumulador.
DirectSOFT
Direct SOFT32
X1 LD
Carga el valor constante 4
en los 16 bits más bajos
del acumulador. Este valor
Tabla ASCII Equivalente
hexadecimal
1
K4 .
define la cantidad de
palabras en la tabla ASCII.
Programador D2-HPP
V1600
4
37 38
$
SHFT
STR
L
ANDST
B
D
1
3
ENT
PREV E
4
ENT
V1402
5678 V1601
5
L D A B E A A
35 36
SHFT
SHFT
ANDST
A
0
T
MLR
3
H
0
7
B
1
1
G
4
6
A
0
0
A
0
0
ENT
ENT
V1403
6
7
La instrucción HEX a ASCII (HTA)
DS5 Usado
La instrucción HTA convierte una tabla de valores hexadecimales a una tabla especificada de
valores ASCII. Los valores hexadecimales son de un dígito y sus equivalentes ASCII son de dos
8
HPP N/A
dígitos.
Esto significa que una tabla hexadecimal de dos
9
direcciones de memoria V requeriría cuatro
direcciones de memoria V para la tabla equivalente
HTA
V aaa
10
de ASCII. Los parámetros de la función son cargados
en el Stack del acumulador y el acumulador por dos
instrucciones adicionales. Abajo están listados los pasos necesarios para programar la función de
11
transformación de la tabla hexadecimal a ASCII. El ejemplo en la página siguiente muestra un
programa para la función de conversión hexadecimal a ASCII. 12
Paso 1: Cargue el número de direcciones de memoria V en la tabla hexadecimal al primer
nivel del Stack del acumulador. 13
Paso 2: Cargue la localización de la memoria V de inicio para la tabla hexadecimal al
acumulador. Este parámetro debe ser un valor hexadecimal. 14
Paso 3: Especifique la localización de memoria V (Vaaa) de inicio para la tabla ASCII en
la instrucción HTA. A
Sugerencia: — Se puede usar la instrucción LDA para parámetros que requieran valores en
hexadecimal cuando se refieran a direcciones de memoria, para convertir una dirección octal al
equivalente hexadecimal y cargar el valor al acumulador.
B
Tipo de datos del operando Rango en el DL06
C
aaa
Memoria V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memorias D
Indicadores Descripción
1 SP53 ON cuando el valor del operando es más grande de lo que puede procesar el acumulador.
En el ejemplo siguiente, cuándo X1 está ON, se carga la constantee (K2) al acumulador usando
2 la instrucción LD. La dirección inicial para la tabla hexadecimal (V1500) es cargada al
acumulador usando la instrucción LDA. La dirección inicial para la tabla ASCII (V1400) es
3 especificada en la instrucción HTA.
DirectSOFT
Direct SOFT32
4 X1 LD
K2
Equivalentes hexadecimales Tabla ASCII
V1500 1234
6 LDA
O 1500
31 32 V1401
8 HTA
V1400
37 38 V1402
10 Programador D2-HPP
$
STR
B
1
ENT
11 SHFT
SHFT
L
ANDST
L
D
D
3
A
SHFT K
B
JMP
E
F
4
ENT
A A ENT
ANDST 3 0 1 5 0 0
12 SHFT H
7
T
MLR
A
0
B
1
E
4
A
0
A
0
ENT
13 La tabla de abajo lista los valores válidos de ASCII para la conversión HTA.
Valores ASCII válidos para conversión HTA
14 Valor hexadecimal Valor ASCII Valor hexadecimal Valor ASCII
0 30 8 38
A 1
2
31
32
9
A
39
41
3 33 B 42
B 4 34 C 43
5 35 D 44
C 6
7
36
37
E
F
45
46
X1
LD
V1400
6 F 7 1
5
Carga el valor en V1400 a los 16
bits más bajos del acumulador
Acc.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1
8
1
7
0
6 5
1 1
4 3
1 0
2 1
0 0
0
1
6
SEG
Copia el valor en el 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
9
acumulador a Y20 hasta Y57
Acum. 0 1 1 1 1 1 0 1 0 1 1 1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0
a
- g f e d c b a - g f e d c b a - g f e d c b a - g f e d c b a Identificación
de segmentos
10
Identificación
de segmentos
f
g
b
Y57 Y56 Y55 Y54 Y53 Y24 Y23 Y22 Y21 Y20
11
OFF ON ON ON ON OFF OFF ON ON OFF
e
d
c
12
Programador D2-HPP
13
$ B
L
ANDST
STR
D
3
1
ENT
B
1
E
4
A
0
A
0
ENT
14
S E G
SHFT
GX
OUT
RST
SHFT
SHFT
F
5
4
C
6
2
ENT
A
0
D
3
C
2
ENT
A
B
C
D
10 DirectSOFT
Direct SOFT32
X1
X27 X26 X25
OFF OFF OFF
X12 X11 X10
ON OFF ON
LDF K16
11 X10
12 GRAY
Acum. 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 0 1
14 V2010
A Programador D2-HPP
0000000000
0000000001
0000000011
0000
0001
0002
V2010
$ B ENT
B SHFT
STR
L
ANDST
D
1
3
F
5
B
1
A
0
B
1
G
6
ENT
0000000010
0000000110
0000000111
0003
0004
0005
SHFT G R A Y ENT 0000000101 0006
C GX
OUT
6 ORN
SHFT V
AND
0
C
MLS
2
A
0
B
1
A
0
ENT
0000000100 0007
D 1000000001 1022
1000000000 1023
barajarán. 12
Posiciones de bits 8 7 6 5 4 3 2 1
Los dígitos se barajan y el resultado se va al
acumulador. B C E F 0 D A 9 13
Resultado (en el acumulador)
14
A
B
C
D
En el ejemplo siguiente cuando X1 está ON, el valor en el primer nivel del Stack del
acumulador será reorganizado en la orden especificada por el valor en el acumulador.
1 El ejemplo A muestra cómo los dígitos siendo barajados trabajan, cuándo 0 o 9 hasta F no se
usan, cuándo se especifica la orden que los dígitos deben ser barajados. También, no hay
2 números duplicados en la orden especificada.
El ejemplo B muestra cómo los dígitos siendo barajados trabajan, cuando se usa un 0 o de 9
3 hasta F, cuándo se especifica la orden que los dígitos deberán ser barajados. Note que cuando
se ejecuta la instrucción SFLDGT, las posiciones de bits en la primera dirección del Stack que
tenía un 0 o de 9 hasta F correspondiente en el acumulador (orden especificado) son puestos a
4 "0".
El ejemplo C muestra cómo los dígitos siendo barajados trabajan, cuando se usan números
5 duplicados, especificando la orden en que los dígitos deberán ser barajados. Note que cuando
se ejecuta la instrucción SFLDGT, se usa el número duplicado más significativo en la orden
6 especificada en el resultado.
DirectSOFT
7 Direct SOFT32
X1
LDD V2001
A
V2000 V2001
B
V2000 V2001
C
V2000
V2000 9 A B C D E F 0 0 F E D C B A 9 9 A B C D E F 0
9 LDD 1
V2007
2 8 7 3
V2006
6 5 4 0
V2007
0 4 3 0
V2006
0 2 1 4
V2007
3 2 1 4
V2006
3 2 1
V2006
11 SFLDGT
Nueva
posición
de los bits
8
B C
7
E
6 5
F 0
4 3
D A
2 1
9 Acum.
8 7 6 5
0 0 0 0
4 3
E D
2
A
1
9 Acum.
8
0
7
0
6
0
5
0
4
9
3
A
2
B
1
C Acum.
13 OUTD
V2010
V2011 V2010 V2011 V2010 V2011 V2010
14 Programador D2-HPP
a V2010 y V2011
$ B
A SHFT
STR
L
ANDST
D
1
3
D
ENT
3
C
2
A
0
A
0
A
0
ENT
L D D C A A G
B SHFT
SHFT
ANDST
S
RST
SHFT
3
F
3
5
L
ANDST
D
2
3
G
0
6
T
MLR
0 6
ENT
ENT
GX SHFT D C A B A ENT
C OUT 3 2 0 1 0
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor constantee (K6) al acumulador
11
usando la instrucción LD. Este valor especifica la longitud de la tabla y se coloca en el primer
nivel del Stack después que se ejecuta la instrucción LDA. La dirección octal 2000 (V2000), que 12
es la dirección inicial para la tabla fuente, se carga al acumulador. La dirección de la tabla de
destino (V2030) es especificada en la instrucción MOV. 13
Esta es la única instrucción que permite escribir datos a memoria no-volátil.
DirectSOFT
Direct SOFT32
X1 LD
Carga el valor constante 6
hexadecimal en los 16 bits
14
X X X X V2026
K6 más bajos del acumulador
LDA
O 2000
Convierte el octal 2000 al
hexadecimal 400 y carga el
valor al acumulador
0
0
1
5
2
0
3 V2000
0 V2001
X
0
0
X
1
5
X
2
0
X V2027
3 V2030
0 V2031
A
9 9 9 9 V2002 9 9 9 9 V2032
MOV
V2030
Copia la tabla especificada
a una tabla que comienza
en la dirección V2030
3
8
0
9
7
8
4 V2003
9 V2004
3
8
0
9
7
8
4 V2033
9 V2034
B
1 0 1 0 V2005 1 0 1 0 V2035
Programador D2-HPP
$
STR
B
1
ENT
X
X
X
X
X
X
X V2006
X V2007
X
X
X
X
X
X
X V2036
X V2037
C
SHFT L D SHFT K G ENT
SHFT
ANDST
L
ANDST
D
3
3
A
0
C
JMP
2
A
6
0
A
0
A
0
ENT
D
SHFT M O V C A D A ENT
ORST INST# AND 2 0 3 0
A
B
C
D
N C O N 4 5 3 2 V2001
LD
7
K 4 5 3 2
N
K
C
6
O
1
N
5 1
6 1 5 1 V2002
K0
Programador D2-HPP
especificando el area de etiqueta
de datos K1 como dirección inicial
de los datos a ser copiados
11
$
STR
B
1
ENT
MOVMC
12
L D K E V2000
SHFT SHFT ENT
ANDST
L D
3
K
JMP
A
4
V2000 es la dirección inicial 13
SHFT SHFT ENT del destino para los datos
ANDST 3 JMP 0 a ser copiados
SHFT L
ANDST
D
3
L
ANDST
B
1
L
ANDST
B
1
ENT 14
M O V M C C A A A
SHFT
ORST INST# AND ORST 2 2 0 0 0
ENT
A
B
C
D
La instrucción SETBIT
La instrucción SETBIT pone un solo bit en "1" SETBIT
1 DS5 Usado
HPP Usado dentro de un rango de direcciones de memoria V. A aaa
La instrucción RSTBIT
2 La instrucción RSTBIT coloca un solo bit en "0" en A aaa
RSTBIT
Indicadores Descripción
12 SP53 ON cuando el número de bit referenciado en el Set Bit o en el Reset Bit excede el rango
de la tabla.
13 NOTA: Indicaciones de estado discretas SP son válidas solamente hasta que se ejecute otra instrucción que
use los mismos relevadores especiales SP.
14 Por ejemplo, suponga que tenemos una V3000
tabla que comienza en V3000 que tiene dos MSB LSB
A palabras, como mostrado a la derecha. Cada
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
9 Puntero. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P
Constante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Vea el mapa de memoria
0–FF
10 Indicadores
SP53
Descripción
On si la dirección de memoria está fuera de rango
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor (K4 constante) al acumulador
11 usando la instrucción LD. Este valor especifica la longitud de la tabla y se coloca en el primer
nivel del Stack del acumulador cuando se ejecuta la instrucción LDA. La dirección octal 1600
12 (V1600) es la dirección inicial de la tabla y se carga en el acumulador usando la instrucción
LDA. El valor para llenar la tabla con (V1400) es especificado en la instrucción FILL.
El PLC carga la constante 4
13 (hexadecimal) en los 16 bits menos
significativos del acumulador
DirectSOFT
DirectS OF T 32 S
1 X1 LD
K6
0 1
S
2 3 V1400 0
Longitud de la tabla
Desvío
0 5 0 0 V1401 1
LD
5 K2 Programadoir D2-HPP
$ B
Carga el valor constante 2 a ENT
STR 1
los 16 bits más bajos
6 del acumulador SHFT L
ANDST
D
3
PREV G
6
ENT
SHFT L D A B E A
F IND ANDST 3 0 1 4 0
7 K8989
Encuentra la posición en la
SHFT L
ANDST
D
3
PREV
C
2
ENT
8 El resultado es en hexadecimal
5 8 TMR 3 8 9 8 9
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor constantee (K6) al acumulador
5
usando la instrucción LD. Este valor especifica la longitud de la tabla y se coloca en la primera
localización del Stack después que se ejecuta la instrucción LDA. La dirección octal 1400 6
(V1400) es la dirección inicial de la tabla y se carga al acumulador. El valor prefijado de
búsqueda se especifica en la instrucción Find. Si se encuentra un valor mayor que el valor
prefijado de búsqueda, el desvío (de la dirección inicial de la tabla) donde el valor se localiza
7
residirá en el acumulador.
Si no hay un valor en la tabla que sea mayor que el valor buscado, se almacena un cero en el
8
acumulador y SP53 se hará ON.
DirectSOFT
DirectS OF T 32
9
X1 LD
K6 10
Carga el valor constante 6 S
S
hexadecimal en los 16 bits
más bajos del acumulador
Comienza aquí 0 1 2 3 V1400 0
Longitud de la tabla 11
LDA 0 5 0 0 V1401 1 Acumulador
O 1400
Programador D2-HPP
es en hexadecimal
A
$
STR
B
1
ENT
B
SHFT L D PREV G ENT
SHFT
ANDST
L D
3
A B
6
E A A ENT
C
ANDST 3 0 1 4 0 0
SHFT F
5
D
3
G
6
T
MLR
NEXT
I
8
J
9
I
8
J
9
ENT D
NOTA: Las indicaciones de estado discretas SP son válidas solamente hasta que se ejecute otra instrucción
C que use los mismos relevadores especiales SP o en el fin del barrido. El puntero para esta instrucción
comienza en 0 y se hace 1 cuando se llega a la longitud de la tabla. Note que el puntero se vuelve a
D "1" en esta ocasión y no a 0.
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor constantee (K6) al acumulador
usando la instrucción LD. Este valor especifica la longitud de la tabla y se coloca en la primera
localización del Stack después que se ejecuta la instrucción LDA. La dirección octal 1400
(V1400) es la dirección inicial de la tabla fuente y se carga en el acumulador.
1
Recuerde, V1400 se usa como la localización de un puntero, y no es realmente parte de la tabla
fuente de datos. La localización de destino (V1500) es especificada en la instrucción TTD. El
2
puntero de la tabla (V1400 en este caso) será aumentado en "1" después de cada ejecución de
la instrucción TTD. 3
DirectSOFT
DirectSOFT32
LDA
Convierte el octal 1400 a hexadecimal 300
5
y carga este valor al acumulador.
0 1400 Esta es la localización del
puntero de la tabla
$
STR
B
1
ENT
V1500
7
L D G
SHFT
SHFT
ANDST
L D
3
A
PREV
B
6
E
ENT
A A ENT
8
ANDST 3 0 1 4 0 0
SHFT T
MLR
T
MLR
D
3
B
1
F
5
A
0
A
0
ENT 9
Es importante entender cómo se numeran las
direcciones de la tabla. Si examina la tabla del V1401 0
Tabla
5 0 0 0 6
Puntero de la tabla
0 0 0 0 V1400 10
ejemplo, usted notará que la primera dirección de V1402 9 9 9 9 1
El diagrama en esta página muestra los resultados barrido por barrido de la ejecución del
programa del ejemplo.Note como el puntero automáticamente salta de 0 a 6 y luego comienza
1 en 1 en vez de 0. También, note como SP56 es ON solamente hasta el fin del barrido
Tabla
Puntero de la tabla
(Incrementado automáticamente)
0 0 0 0 V1400 0 0 0 1 V1400
3 V1401
V1402
V1403
0
9
3
5
9
0
0
9
7
0
9
4
0 6
1
2
Destino
V1401
V1402
V1403
0
9
3
5
9
0
0
9
7
0
9
4
0 6
1
2
Destino
X X X X V1500 0 5 0 0 V1500
8 9 8 9 3 8 9 8 9 3
4 V1404
V1405
V1406
1
2
0
0
1
4
0
6
4
5
SP56
V1404
V1405
V1406
1
2
0
0
1
4
0
6
4
5
SP56
SP56 = OFF SP56 = OFF
V1407 X X X X V1407 X X X X
5 S
S
S
S
Tabla
Puntero de la tabla
(Incrementado automáticamente)
7 V1402
V1403
9
3
9
0
9
7
9
4
1
2
Destino
V1402
V1403
9
3
9
0
9
7
9
4
1
2
Destino
0 5 0 0 V1500 9 9 9 9 V1500
V1404 8 9 8 9 3 V1404 8 9 8 9 3
8 V1405
V1406
1
2
0
0
1
4
0
6
4
5 SP56
SP56 = OFF
V1405
V1406
1
2
0
0
1
4
0
6
4
5 SP56
SP56 = OFF
V1407 X X X X V1407 X X X X
9 S
S
S
S
10 S
S
11 V1401 0
Tabla
5 0 0 0 6
Puntero de la tabla
0 0 0 5 V1400 V1401 0
Tabla
5 0 0 0 6
Puntero de la tabla
(Incrementado automáticamente)
0 0 0 6 V1400
12 V1402
V1403
V1404
9
3
8
9
0
9
9
7
8
9
4
9
1
2
3
1
Destino
0 1 0 V1500
V1402
V1403
V1404
9
3
8
9
0
9
9
7
8
9
4
9
1
2
3
2
Destino
0 4 6 V1500
V1405 1 0 1 0 4 V1405 1 0 1 0 4
13 V1406
V1407
2
X
0
X X
4 6
X
5 SP56
SP56 = OFF
V1406
V1407
2
X
0
X
4
X
6
X
5 SP56
SP56 = ON hasta el
fin del barrido
o próxima
14 S
S
S
S
instrucción
que use SP56
A V1401 0
Tabla
5 0 0 0 6
Puntero de la tabla
0 0 0 6 V1400 V1401 0
Tabla
5 0 0 0 6
Puntero de la tabla
(Vuelve a 1, no a 0)
0 0 0 1 V1400
V1402 9 9 9 9 1 V1402 9 9 9 9 1
B V1403
V1404
3
8
0
9
7
8
4
9
2
3
2
Destino
0 4 6 V1500
V1403
V1404
3
8
0
9
7
8
4
9
2
3
0
Destino
5 0 0 V1500
V1405 1 0 1 0 4 V1405 1 0 1 0 4
C V1406
V1407
2
X
0
X X
4 6
X
5 SP56
SP56 = OFF
V1406
V1407
2
X
0
X
4
X
6
X
5 SP56
SP56 = OFF
S S
D S S
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor constantee (K6) al acumulador
usando la instrucción LD. Este valor especifica la longitud de la tabla y se coloca en el primer
1 nivel del Stack después que se ejecuta la instrucción LDA. La dirección octal 1400 (V1400) es
la dirección inicial de la tabla fuente y se carga en el acumulador. Recuerde, V1400 se usa como
2 la localización de un puntero y no es realmente parte de la fuente de datos de la tabla. La
dirección del destino (V1500) es especificada en la instrucción TFB. El puntero de la tabla
(V1400 en este caso) será decrementado en "1" después de cada ejecución de la instrucción
3 RFB.
4 DirectSOFT
DirectSOFT32
X1 LD
5 K6
LDA
7 0 1400
8 $
STR
B
1
ENT
este valor al acumulador.
Esta es la localización del
puntero de la tabla.
RFB
9 SHFT L
ANDST
D
3
PREV G
6
ENT
V1500
L D A B E A A Copia el valor especificado
SHFT ENT desde la tabla al destino
ANDST 3 0 1 4 0 0
10 SHFT R F B B F A A ENT
especificado (V1500)
ORN 5 1 1 5 0 0
D C
Convierte el octal 1400 a
hexadecimal 300 y carga
el valor al acumulador. Esta
es la localización del puntero
de la tabla
El esquema siguiente muestra los resultados de la ejecución barrido por barrido para nuestro
programa del ejemplo. Advierta cómo el puntero automáticamente decrece de 6 a 0. También,
note cómo SP56 es sólo ON hasta el fin del barrido. 1
Example of Execution 2
Scan N Before RFB Execution After RFB Execution
V1401 0
Table
5 0 0 1
Table Pointer
0 0 0 6 V1400 V1401 0
Table
5 0 0 1
Table Pointer (Automatically Decremented)
0 0 0 5 V1400
3
V1402 9 9 9 9 2 V1402 9 9 9 9 2
V1403
V1404
3
8
0
9
7
8
4
9
3
4
Destination
X X X X V1500
V1403
V1404
3
8
0
9
7
8
4
9
3
4
Destination
2 0 4 6 V1500
4
V1405 1 0 1 0 5 V1405 1 0 1 0 5
V1406
V1407
2
X
0
X X
4 6
X
6
SP56
SP56 = OFF
V1406
V1407
2
X
0
X
4
X
6
X
6
SP56
SP56 = OFF 5
S S
Scan N+1
S S
6
Before RFB Execution After RFB Execution
V1401 0
Table
5 0 0 1
Table Pointer
0 0 0 5 V1400 V1401 0
Table
5 0 0 1
Table Pointer (Automatically Decremented)
0 0 0 4 V1400 7
V1402 9 9 9 9 2 V1402 9 9 9 9 2
Destination Destination
V1403
V1404
3
8
0
9
7
8
4
9
3
4
2 0 4 6 V1500
V1403
V1404
3
8
0
9
7
8
4
9
3
4
1 0 1 0 V1500 8
V1405 1 0 1 0 5 V1405 1 0 1 0 5
SP56 SP56
V1406
V1407
2
X
0
X X
4 6
X
6
SP56 = OFF
V1406
V1407
2
X
0
X
4
X
6
X
6
SP56 = OFF
9
S S
S S
S
S
10
S
Destination
2 V1400 V1401
V1402
0
9
5
9
0
9
0
9
1
2
0 0 0
Destination
1 V1400
12
V1403 3 0 7 4 3 V1403 3 0 7 4 3
V1404
V1405
8
1
9
0
8
1
9
0
4
5
3 0 7 4 V1500
V1404
V1405
8
1
9
0
8
1
9
0
4
5
9 9 9 9 V1500
13
V1406 2 0 4 6 6 SP56 V1406 2 0 4 6 6 SP56
V1407 X X X
S
X
SP56 = OFF
V1407 X X X
S
X
SP56 = OFF
14
S S
NOTA: Las indicaciones de estado discretas SP son válidas solamente hasta que se ejecute otra
D instrucción que use los mismos relevadores especiales SP o en el fin del barrido. El puntero para
esta instrucción comienza en 0 y vuelve a 1 automáticamente cuando se alcanza la longitud de
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor constantee (K6) al acumulador
usando la instrucción LD. Este valor especifica la longitud de la tabla y se coloca en la primera
localización del Stack después que se ejecuta la instrucción LDA. La dirección octal 1400 1
(V1400), que es la de la tabla de destino y el puntero de la tabla, se carga al acumulador. La
dirección de la fuente de datos (V1500) es especificada en la instrucción STT. El puntero de la
tabla será aumentado en "1" cada vez que se ejecuta la instrucción.
2
DirectSOFT
DirectS OF T 32
4
LDA
0 1400
Convierte el octal 1400 a
hexadecimal 300 y carga
el valor al acumulador
5
6
Copia el valor especificado
$
Programador D2-HPP
B ENT
STT
V1500
desde la localización de origen
(V1500) a la tabla 7
STR 1
SHFT L
ANDST
D
3
PREV G
6
ENT
8
SHFT L D A B E A A ENT
ANDST 3 0 1 4 0 0
SHFT S
RST
SHFT
T
MLR
T
MLR
B
1
F
5
A
0
A
0
ENT
9
Es importante entender cómo se numeran las
direcciones de tabla. Si usted examina la tabla del V1401 X
Tabla
X X X 0 6
Puntero de la tabla
0 0 0 0 V1400
10
ejemplo, usted notará que la primera dirección de V1402 X X X X 1
almacenamiento de datos, V1401, se usará
cuando el puntero es igual a 0 y otra vez cuando
V1403 X X X X 2
Origen de los datos
0 5 0 0 V1500
11
V1404 X X X X 3
el puntero es igual a seis. ¿Por qué? Porque el
puntero es sólo igual a 0 antes de la primera
V1405
V1406
X
X
X
X
X
X
X
X
4
5
12
ejecución. De allí en adelante incrementa de 1 a X X X X
6 y entonces vuelve a 1.
V1407
S 13
También, nuestro ejemplo usa un contacto S
X1
(Método opcional one shot)
C0
14
PD
extremadamente rápido y el puntero se
incrementa automáticamente, los datos de la C0 LD
A
fuente se cambiarían a todas las direcciones de K6
tabla muy rápidamente. Si esto es un problema Carga el valor constante 6
hexadecimal a los 16 bits
B
para su aplicación, usted tiene la opción de usar más bajos del acumulador
una instrucción one shot (PD) para mover un
valor cada vez que el contacto de entrada hace la
LDA
O 1400
C
transición de OFF para ON.
Convierte el octal 1400 a
hexadecimal y carga este
valor al acumulador. Esta
D
es la memoria inicial de la tabla.
El esquema siguiente muestra barrido por barrido los resultados de la ejecución para el programa
ejemplo. Note cómo el puntero automáticamente hace un ciclo de 0 - 6, y luego comienza de
1 nuevo en 1 en vez de 0. También, note cómo es afectado SP56 por la ejecución. Aunque el
ejemplo no lo muestre, asumimos que hay otra parte del programa que cambia el valor en
2 V1500 (la fuente de datos) antes de la ejecución de la instrucción STT. Esto no es necesario pero
hace más fácil de ver cómo la fuente de datos se copia en la tabla.
4 V1401
V1402
X
X
X
X
X
X
X
X
0 6
1
0 0 0
Origen
0 V1400 V1401
V1402
0
X
5
X
0
X
0
X
0 6
1
0 0 0
Origen
1 V1400
V1403 X X X X 2 V1403 X X X X 2
0 5 0 0 V1500 0 5 0 0 V1500
5 V1404
V1405
V1406
X
X
X
X
X
X
X
X
X
X
X
X
3
4
5
SP56
V1404
V1405
V1406
X
X
X
X
X
X
X
X
X
X
X
X
3
4
5
SP56
SP56 = OFF SP56 = OFF
6 V1407 X X X
S
S
X V1407 X X
S
S
X X
Tabla
Puntero de la tabla
(cambiado automáticamente)
V1401 0 5 0 0 0 6 0 0 0 1 V1400 V1401 0 5 0 0 0 6 0 0 0 2 V1400
8 V1402
V1403
X
X
X
X
X
X
X
X
1
2
Origen
V1402
V1403
9
X
9
X
9
X
9
X
1
2
Origen
X X X X 9 9 9 9 V1500 9 9 9 9 V1500
V1404 3 V1404 X X X X 3
9 V1405
V1406
X
X
X
X
X
X
X
X
4
5 SP56
SP56 = OFF
V1405
V1406
X
X
X
X
X
X
X
X
4
5 SP56
SP56 = OFF
V1407 X X X X V1407 X X X X
10 S
S
S
S
11 S
S
12 V1401 0
Tabla
5 0 0 0 6
Puntero de la tabla
0 0 0 5 V1400 V1401 0
Tabla
5 0 0 0 6
Puntero de la tabla
(cambiado automáticamente)
0 0 0 6 V1400
V1402 9 9 9 9 1 V1402 9 9 9 9 1
13 V1403
V1404
3
8
0
9
7
8
4
9
2
3
2
Origen
0 4 6 V1500
V1403
V1404
3
8
0
9
7
8
4
9
2
3
2
Origen
0 4 6 V1500
V1405 1 0 1 0 4 V1405 1 0 1 0 4
14 V1406
V1407
X
X
X X
X X
X
X
5 SP56
SP56 = OFF
V1406
V1407
2
X
0
X
4
X
6
X
5 SP56
SP56 = ON
hasta el fin del barrido
S S o hasta la próxima
B V1401 0
Tabla
5 0 0 0 6
Puntero de la tabla
0 0 0 6 V1400 V1401 1
Tabla
2 3 4 0 6
(cambia a "1". no a "0")
0 0 0 1 V1400
V1402 9 9 9 9 1 V1402 9 9 9 9 1
C V1403
V1404
3
8
0
9
7
8
4
9
2
3
1
Origen
2 3 4 V1500
V1403
V1404
3
8
0
9
7
8
4
9
2
3
1
Origen
2 3 4 V1500
V1405 1 0 1 0 4 V1405 1 0 1 0 4
D V1406
V1407
2
X
0
X X
4 6
X
5 SP56
SP56 = OFF
V1406
V1407
2
X
0
X
4
X
6
X
5 SP56
SP56 = OF F
S S
S S
Indicadores Descripción B
SP56 ON cuando el valor corriente del contador de la tabla es igual a 0
NOTA: Las indicaciones de estado discretas SP son válidas solamente hasta que se ejecute otra instrucción
C
que use los mismos relevadores especiales SP o en el fin del barrido. El puntero para esta instrucción
puede comenzar en cualquier lugar en la tabla. No es colocado automáticamente. Usted tiene que D
cargar un valor en el puntero en algún lugar en su programa.
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor constantee (K6) al acumulador
usando la instrucción LD. Este valor especifica la longitud de la tabla y se coloca en la primera
1 localización del Stack después que se ejecuta la instrucción LDA. La dirección octal 1400
(V1400) es la dirección inicial de la tabla fuente y se carga en el acumulador. La localización
2 (V1500 del destino) es especificado en la instrucción RFT. El contador de la tabla será
disminuido en "1" después que se ejecuta la instrucción.
X1 Carga el valor constante
3 LD
K6
6 hexadecimal en los 16 bits
más bajos del acumulador
4 LDA
Convierte el octal 1400 al
valor 300 hexadecimal y
O 1400 carga el valor al acumulador
Programador D2-HPP
7 $
STR
B
1
ENT
L D
3
A B
6
E A A ENT
ANDST 3 0 1 4 0 0
9 SHFT R
ORN
F
5
T
MLR
B
1
F
5
A
0
A
0
ENT
C0
extremadamente rápido, y el puntero se LD
A decrementa automáticamente, los datos se K6
sacarían de la tabla muy rápidamente. Si esto Carga el valor constante
B es un problema para su aplicación, usted 6 hexadecimal en los 16 bits
más bajos del acumulador
tiene una opción de usar una instrucción one
shot (PD) para sacar un valor cada vez en la
C transición del contacto de entrada de OFF
LDA
O 1400
para ON.
D Convierte el octal 1400 a 300
hexadecimal y carga el valor al
acumulador. Esta es la
localización del puntero de la tabla
El esquema siguiente muestra barrido por barrido los resultados de la ejecución para el programa
del ejemplo. En el ejemplo mostramos el valor corriente del contador de la tabla en 4
inicialmente. (Recuerde, usted puede poner el valor corriente del contador de la tabla a 1
cualquier valor que este dentro del rango de la tabla). El contador de la tabla automáticamente
decrece de 4 hasta 0 cuando se ejecuta la instrucción. Note cómo las últimas dos posiciones de
la tabla, 5 y 6, no son movidas para arriba por la tabla. También, note cómo SP56, que se hace
2
ON cuando el contador de la tabla es cero, es ON sólo hasta que el fin del barrido.
3
Barrido N
Antes de la ejecución RFT
Tabla
Contador de la tabla
(decrementado automáticamente)
4
El contador de V1401 0 5 0 0 1 0 0 0 4 V1400 V1401 9 9 9 9 1 0 0 0 0 3 V1400
tabla indica que
serán usadas
estas 4 direcciones
V1402
V1403
9
3
9
0
9
7
9
4
2
3
Destino
X X X X V1500
V1402
V1403
4
8
0
9
7
8
9
9
2
3
5
0
0 Destino
0 5 0 0 V1500
5
V1404 8 9 8 9 4 Aquí comienza V1404 8 9 8 9 4
V1405
V1406
1
2
0
0
1
4
0
6
5
6
SP56
SP56 = OFF
V1405
V1406
1
2
0
0
1
4
0
6
5
6
SP56
SP56 = OFF
6
V1407 X X X X V1407 X X X X
7
Barrido N+1 Antes de la ejecución RFT Después de la ejecución RFT
V1401 9
Tabla
9 9 9 1
Contador de la tabla
0 0 0 3 V1400 V1401 4
Tabla
0 7 9 1 9
9
Contador de la tabla
(decrementado automáticamente)
0 0 0 2 V1400
8
V1402 4 0 7 9 2 V1402 8 9 8 9 2 9
V1403
V1404
8
8
9
9
8
8
9
9
3
4
Destino
0 5 0 0 V1500
Aquí comienza V1403
V1404
8
8
9
9
8
8
9
9
3
4
9 Destino
9 9 9 9 V1500 9
V1405 1 0 1 0 5 V1405 1 0 1 0 5
V1406
V1407
2
X
0
X
4
X
6
X
6 SP56
SP56 = OFF
V1406
V1407
2
X
0
X
4
X
6
X
6 SP56
SP56 = OFF
10
Barrido N+2 Antes de la ejecución RFT Después de la ejecución RFT
11
Contador de la tabla
Contador de la tabla
V1401
V1402
4
8
Tabla
0
9
7
8
9
9
1
2
0 0 0 2 V1400 V1401
Aquí comienza V1402
8
8
Tabla
9
9
8
8
9
9
1
2
4
0
7
(decrementado automáticamente)
0 0 0 1 V1400 12
Destino 9
8 9 8 9 3 8 9 8 9 3 Destino
V1403 V1403
V1404
V1405
8
1
9
0
8
1
9
0
4
5
9 9 9 9 V1500
V1404
V1405
8
1
9
0
8
1
9
0
4
5
4 0 7 9 V1500
13
V1406 2 0 4 6 6 SP56 V1406 2 0 4 6 6 SP56
V1407 X X X X SP56 = OFF
V1407 X X X X SP56 = OFF
14
Barrido N+3 Antes de la ejecución RFT
Contador de la tabla
Después de la ejecución RFT
Contador de la tabla
(decrementado automáticamente)
A
Tabla Tabla
V1401
V1402
V1403
8
8
8
9 8 9
9
9
8
8
9
9
1
2
3
0 0
Destino
0 1 V1400 Aquí comienza V1401
V1402
V1403
8 9 8
8
8
9
9
8
8
9
9
9
1
2
3
8
9
8
9
0 0
Destino
0 0 V1400
B
4 0 7 9 V1500 8 9 8 9 V1500
V1404 8 9 8 9 4 V1404 8 9 8 9 4
V1405
V1406
1
2
0
0
1
4
0
6
5
6 SP56
V1405
V1406
1
2
0
0
1
4
0
6
5
6 SP56
C
X X X X SP56 = OFF X X X X SP56 = ON
V1407 V1407
hasta el fin del
barrido o la
próxima instrucción
que usa SP56
D
Indicadores Descripción
A SP56 ON cuando el valor corriente del contador de la tabla es igual a 0
B NOTA: Las indicaciones de estado discretas SP son válidas solamente hasta que se ejecute otra instrucción
que use los mismos relevadores especiales SP o en el fin del barrido. El puntero para esta instrucción
C puede comenzar en cualquier lugar en la tabla. No es colocado automáticamente. Usted tiene que
cargar un valor en el puntero en algún lugar en su programa.
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor constantee (K6) al acumulador
usando la instrucción LD. Este valor especifica la longitud de la tabla y se coloca en la primera
localización del Stack después que se ejecuta la instrucción LDA. La dirección octal 1400 1
(V1400), que es la dirección inicial de la tabla de destino y contador de tabla, se carga en el
acumulador. La dirección de la tabla origen (V1500) es especificada en la instrucción ATT. El
contador de la tabla será aumentado en "1" después que se ejecuta la instrucción.
2
DirectSOFT
Direct SOFT32
X1 LD 3
K6
ATT
6
V1500
Programador D2-HPP
$ B ENT
Copia el valor especificado
desde V1500 a la tabla 7
STR 1
SHFT
SHFT
L
ANDST
L
D
D
3
A
PREV G
B
6
E
ENT
A A ENT
8
ANDST 3 0 1 4 0 0
SHFT A
0
T
MLR
T
MLR
B
1
F
5
A
0
A
0
ENT
9
Tabla
En la instrucción ATT, el contador de la tabla Contador de tabla
El esquema siguiente muestra barrido por barrido los resultados de la ejecución para el programa
del ejemplo. El contador de la tabla es configurado como 2 inicialmente, e incrementará
1 automáticamente de 2 hasta 6 cuando se ejecuta la instrucción. Note cómo SP56 se hace ON
cuando el contador de la tabla es 6, que es igual a la longitud de la tabla. Además, aunque el
2 ejemplo no lo muestre, asumimos que hay otra parte del programa que cambia el valor en
V1500 (el origen de datos) antes de la ejecución de la instrucción de ATT.
3 Ejemplo de ejecución
Barrido N Antes de la ejecución ATT Después de la ejecución ATT
Contador de tabla
4 V1401 0
Tabla
5 0 0 1
Contador de tabla
0 0 0 2 V1400 V1401 1
Tabla
2 3 4 1 1
2
(incrementado automáticamente)
0 0 0 3 V1400
V1402 9 9 9 9 2 V1402 0 5 0 0 2 3
4
5 V1403
V1404
3
8
0
9
7
8
4
9
3
4
Origen de datos
1 2 3 4 V1500
V1403
V1404
9
3
9
0
9
7
9
4
3
4
1
Origen de datos
2 3 4 V1500
V1405 1 0 1 0 5 V1405 8 9 8 9 5
6 V1406
V1407
2
X
0
X X
4 6
X
6
SP56
SP56 = OFF
V1406
V1407
1
X
0
X
1
X
0
X
6
SP56
SP56 = OFF
Descartado
7 2046
8 V1401 1
Tabla
2 3 4 1
Contador de tabla
0 0 0 3 V1400 V1401 5
Table
6 7 8 1 5
6
(incrementado automáticamente)
0 0 0 4 V1400
V1402 0 5 0 0 2 V1402 1 2 3 4 2 7
Origen de datos 8 Origen de datos
9 V1403
V1404
9
3
9
0
9
7
9
4
3
4
5 6 7 8 V1500
V1403
V1404
0
9
5
9
0
9
0
9
3
4
5 6 7 8 V1500
V1405 8 9 8 9 5 V1405 3 0 7 4 5
10 V1406
V1407
1
X
0
X
1
X
0
X
6 SP56
SP56 = OFF
V1406
V1407
8
X
9
X
8
X
9
X
6
SP56
SP56 = OFF
Descartado
1010
11
Barrido N+2 Antes de la ejecución ATT Después de la ejecución ATT Contador de tabla
12 V1401 5
Tabla
6 7 8 1
Contador de tabla
0 0 0 4 V1400 V1401 4
Tabla
3 4 3 1 4
3
(incrementado automáticamente)
0 0 0 5 V1400
V1402 1 2 3 4 2 V1402 5 6 7 8 2 4
Origen de datos 3 Origen de datos
13 V1403
V1404
0
9
5
9
0
9
0
9
3
4
4 3 3 4 V1500
V1403
V1404
1
0
2
5
3
0
4
0
3
4
4 3 4 3 V1500
V1405 3 0 7 4 5 V1405 9 9 9 9 5
14 V1406
V1407
8
X
9
X
8
X
9
X
6 SP56
SP56 = OFF
V1406
V1407
3
X
0
X
7
X
4
X
6 SP56
SP56 = OFF
Descartado
8989
A
Barrido N+3 Antes de la ejecución ATT Después de la ejecución ATT Contador de tabla
B V1401
V1402
4
5
Tabla
3
6
4
7
3
8
1
2
Contador de tabla
0 0 0 5 V1400 V1401
V1402
7
4
Tabla
7
3
7
4
7
3
1
2
7
7
7
(incrementado automáticamente)
0 0 0 6 V1400
Origen de datos 7
1 2 3 4 5 6 7 8 3 Origen de datos
C V1403
V1404
V1405
0
9
5
9
0
9
0
9
3
4
5
7 7 7 7 V1500
V1403
V1404
V1405
1
0
2
5
3
0
4
0
4
5
7 7 7 7 V1500
3 0 7 4 SP56 9 9 9 9 6 SP56
D V1406
V1407 X X X X
6
SP56 = OFF
V1406
V1407 X X X X
Descartado
SP56 = ON
hasta el fin del barrido
hasta una próxima
3074 instrucción que use SP
Indicadores Descripción
SP53 ON cuando el número de bits a ser desplazados es más grande que el número de bits en la tabla
1 SP67 ON cuando el último bit que se desplazó es un "1" (antes de que sea eliminado)
2 NOTA: Las indicaciones de estado discretas SP son válidas sólo hasta que se ejecute otra instrucción que
use el mismo relevador especial SP. o hasta el fin del barrido.
V3000 a V3004 ya existen, como mostrado arriba. Usaremos la entrada X0 para provocar la
8 operación. Primero, cargaremos la longitud de tabla (5 palabras) al Stack del acumulador. Luego
cargamos la dirección de inicio al acumulador. Ya que V3000 es un número octal lo tenemos
9 que convertir a hexadecimal usando la instrucción LDA. Finalmente, usamos la instrucción
TSHFR y especificamos el número de bits para ser desplazados (12 decimal), que es 14 octal.
DirectSOFT
10 X0 LD Carga el valor constante 5 hexadecimal
a los 16 bits más bajos del acumulador
11 K5
12 LDA
Convierte el octal 3000 to hexadecimal
y carga el valor al acumulador. Este es
0 3000 el inicio de la tabla
13
TSHFR Hace una operación SHIFT RIGHT
14 0 14
con 12 bits, el cual es 14 octal.
A Programador D2-HPP
$ A
B STR
L D
0
ENT
F
SHFT PREV ENT
ANDST 3 5
C SHFT L
ANDST
D
3
A
0
D
3
A
0
A
0
A
0
ENT
D SHFT T
MLR
SHFT
S
RST
H
7
F
5
R
ORN
NEXT B
1
E
4
ENT
DirectSOFT 5
X0
LD
1 Programador D2-HPP
K2
2 SHFT L
ANDST
D
3
PREV C
2
ENT
bits of the accumulator.
LDA
SHFT L D A D A A A ENT 0 3000
3 SHFT
ANDST
L
ANDST
D
3
3
0
PREV G
3
6
G
0
6
G
0
6
G
0
6
ENT
Convert otal 3000 to HEX
and load the value into the
accumulator. This is the
V M O V D B A A
4 AND
SHFT
ORST INST# AND 3 1 0 0
ENT table beginning.
LD
K6666
El ejemplo de la derecha muestra una tabla de dos palabras
5 en V3000 y lógica OR con K8888. La copia de la tabla en
Load the constant value
6666 (Hex.) into the lower
16 bits of the accumulator.
V3100 muestra el resultado de la operación OR con cada
6 palabra.
ANDMOV
0 3100
El programa de abajo realiza el ejemplo de ORMOV arriba. Copy the table to V3100,
10 Programador D2-HPP
$ A
K2
12 SHFT L
ANDST
D
3
PREV I
8
I
8
I
8
I
8
ENT
Convierte el octal 3000 a
hexadecimal y carga el valor
al acumulador. Este es el
Q SHFT M O V D B A A ENT comienzo de la tabla
13 OR ORST INST# AND 3
instrucción XORMOV.
B En el programador usted debe usar la tecla SHFT y deletrear
Copia la tabla a V3100, hacien
un OR de su contenido con el
acumulador mientras se
"XORMOV" explícitamente..
C V 3000
1 1 1 1 X OR MOV
K 3333
V 3100
2 2 2 2
D 1 1 1 1 2 2 2 2
Indicadores Descripción
5
SP56 ON cuando la instrucción FINDB fue ejecutada pero no encontró el bloque de datos
6
NOTA: Las indicaciones de estado discretas SP son válidas solamente hasta que se ejecute otra
instrucción que use los mismos relevadores especiales SP. 7
Los pasos necesarios para programar la instrucción FINDB están listados abajo.
Paso 1: Cargue el número de byte en el bloque a ser localizado. Este parámetro debe ser
8
un valor hexadecimal, 0 a FF, que es 255 decimal..
Paso 2: Cargue la longitud de una tabla (el número de palabras) a ser buscada. FINDB 9
buscará múltiples tablas que están adyacentes en la memoria V. Este parámetro
debe ser un valor hexadecimal, 0 hasta FF. 10
Paso 3: Cargue la localización final para todas las tablas en el acumulador. Este
parámetro debe ser un valor hexadecimal. Usted puede usar la instrucción LDA
para convertir una dirección octal a hexadecimal.
11
Paso 4: Cargue la dirección inicial de la tabla para todas las tablas en el acumulador.
Este parámetro debe ser un valor hexadecimal.
12
Paso 5: Coloque la instrucción FINDB. Esta especifica la dirección inicial del bloque de
los datos que usted trata de localizar.
13
Dirección inicial
Tabla 1
Cantidad 14
de palabras
Tabla 2 Dirección inicial A
Tabla 3
Cantidad
Bloque
de bytes B
C
Tabla n
Dirección final D
Paso 1: Cargue la longitud de las tablas (la cantidad de direcciones de memoria V) al primer
2 nivel del Stack del acumulador. Este parámetro debe ser un valor hexadecimal, 0 hasta
FF. Recuerde que las tablas deben ser de igual longitud.
3 Paso 2: Cargue la dirección de la memoria V de inicio de la primera tabla al acumulador. Este
parámetro debe ser un valor hexadecimal. Usted puede usar la instrucción de LDA
4 para convertir una dirección octal a hexadecimal.
Paso 3: Coloque la instrucción SWAP. Esta especifica la dirección inicial de la segunda tabla.
5 Este parámetro debe ser un valor hexadecimal.
Sugerencia: —- El intercambio de datos ocurre dentro de un solo barrido. Si la instrucción
ejecuta en múltiples barridos, será difícil de saber el contenido real de cualquier tabla en algún
6 tiempo particular. De modo que solo ejecuta esta instrucción en un solo barrido.
Programador D2-HPP
B $
STR
SHFT
L
P
D
CV
D
3
A
C
0
ENT
C SHFT L
ANDST
S
D
3
A
W
0
A
D
P
3
A
0
A
D
0
A
B
0
A
ENT
A
SHFT SHFT ENT
RST ANDN 0 CV 3 1 0 0
9 4 0
Constante (K)
1 0 3 0 1
11
C0 LDD En este ejemplo, la instrucción DATE
K94010301
OUTD Acum. 9 4 0 1 0 3 0 1 13
V2000
V2001
1 0 3
V2000
0 1
14
Formato
DATE
V2000
Ajusta la fecha en la CPU usando
V2001 V2000 A
el valor en V2000 y V2001 9 4 0 1 0 3 0 1
Programador d2-HPP
B
$ A
Año Mes Día Día de la semana
STR
SHFT L
ANDST
NEXT
D
3
NEXT
D
3
NEXT NEXT
PREV J
0
9
E
ENT
4
A
0
B
1
ENT
C
A D A B
GX
OUT
0
SHFT
3
D
0
3
1
ENT
C
2
A
0
A
0
A
0
ENT
D
SHFT D A T E C A A A ENT
3 0 MLR 4 2 0 0 0
10 C0 LDD
0 0 0 7 3 0 0 0 La instrucción TIME usa el valor
colocado en V2000 y V2001 para
K7300
0 0 0 7 3 0 0 0
ajustar la hora en la memorias
11 Carga el valor constante
7300 al acumulador
Acum.
adecuadas (V7766-V7770).
OUTD
12 V2000
Acum.
0 0 0 7 3 0 0 0
Copia el valor en el
13 acumulador a V2000
y V2001
0 0 0
V2001
7 3 0
V2000
0 0
Formato
TIME
V2001 V2000
14 V2000
Ajusta la hora en la CPU
0 0 0 7 3 0 0 0
usando el valor en V2000
A y V2001
B $
STR
NEXT NEXT NEXT NEXT A
0
ENT
usado
GX D C A A A
D OUT
SHFT
SHFT
T SHFT
3
I M
2
E
0 0
C
0
A
ENT
A A ENT
MLR 8 ORST 4 2 0 0 0
SHFT N O P ENT
3
NOP TMR INST# CV
4
La instrucción End (END) 5
La instrucción END marca el punto de terminación del barrido del
DS5 Usado END
HPP Usado
programa normal. ES NECESARIO COLOCAR una instrucción END
al fin del cuerpo principal del programa. Si se omite la instrucción END
6
ocurrirá un error y la CPU no entrará en Modo Run. Las etiquetas de
datos, los programas de subrutina s e interrupción se colocan después la instrucción END. La 7
instrucción END no es condicional; por lo tanto, no se coloca ningún contacto de entrada.
DirectSOFT
Direct SOFT32 Porgramador D2-HPP
8
END
SHFT E
4
N
TMR
D
3
ENT
9
La instrucción Stop (STOP) 10
La instrucción STOP cambia el modo operacional de la CPU, del
DS5 Usado modo RUN a Program (STOP). Esta instrucción se usa típicamente STOP 11
HPP Usado para parar la operación del PLC en una condición de error.
En el ejemplo siguiente, cuándo C0 prende, la CPU detiene la 12
operación y cambia el modo a Program.
13
DirectSOFT
DirectSOFT32 Programador D2-HPP
C0 $
STR
SHFT C
2
A
0
ENT
14
STOP
SHFT S
RST
SHFT T
MLR
O
INST#
P
CV
ENT
A
B
Indicadores Descripción
SP16
SP53
On cuando el PLC DL06 pasa al modo TERM_PRG
On cuando la instrucción STOP es ejecutada..
C
D
11 DirectSOFT
Direct SOFT 32 Programador D2-HPP
SHFT R S T W T ENT
12 RSTWT
ORN RST MLR ANDN MLR
13
14
A
B
C
D
C7 K5
$
S TR
S HF T C
2
H
7
E NT
9
GOTO
S HFT
G
6
O
INS T#
T
MLR
O
INS T#
F
5
E NT
10
$ B E NT
S TR 1
X1 C2 GX
OUT
S HF T
C
2
C
2
E NT
11
OUT
12
L B L F
S HFT
$
ANDS T
F
1 ANDS T 5
E NT
13
LBL K5 E NT
S TR 5
GX
OUT
C
2
E NT
14
X5 Y2
OUT
A
B
C
D
11
12
13
14
A
B
C
D
En el ejemplo siguiente, cuándo X1 está ON, el programa de aplicación dentro del lazo
FOR/NEXT se ejecutará tres veces. Si X1 está apagado el programa dentro del lazo no se
ejecutará. Las instrucciones inmediatas pueden o no pueden ser necesarias dependiendo de su
1
aplicación. También, la instrucción RSTWT no es necesaria si el lazo FOR/NEXT no extiende
el tiempo de barrido más de lo que esté ajustado el Watch dog timer. 2
Para más información del Watch dog timer, vea la instrucción RSTWT.
DirectSOFT
Direct SOFT32
X1 1 2 3
3
K3
FOR
4
RSTWT 5
X20 Y5 6
OUT
7
NEXT 8
Programador D2-HPP
9
$
STR
B
1
ENT
10
SHFT F O R D ENT
5 INST# ORN 3
SHFT R
ORN
S
RST
T
MLR
W
ANDN
T
MLR
ENT
11
$
GX
STR
SHFT I
F
8
C
2
A
0
ENT
12
ENT
OUT 5
SHFT N
TMR
E
4
X
SET
T
MLR
ENT 13
14
A
B
C
D
10 DS5
La instrucción Subroutine Return (RT)
Usado Cuándo se ejecuta una instrucción RT en la subrutina, la CPU RT
volverá al punto en el cuerpo principal del programa de donde se
11 HPP Usado
llamó la subrutina. Esta instrucción se usa como terminación de
la subrutina, que debe ser la última instrucción en la subrutina y
12 es una instrucción incondicional (no hay ningún contacto de
entrada en el renglón).
RTC
13 La instrucción Subroutine Return Conditional (RTC)
DS5 Usado La instrucción RTC es una instrucción opcional usada con un
14 HPP Usado
contacto de entrada para implementar un regreso condicional de
la subrutina. Se necesita aún la instrucción RT para terminación de la subrutina.
A
B
C
D
En el ejemplo siguiente, cuándo X1 está ON, se llamará la Subrutina K3. La CPU saltará al
Label K3 de la Subrutina y se ejecutará la lógica ladder en la subrutina.
Si X35 está ON la CPU volverá al programa principal con la instrucción de RTC. Si X35 no 1
está ON, Y0-Y17 será vuelto a OFF y luego la CPU volverá al cuerpo principal del programa.
DirectSOFT
Direct SOFT32 Display X1 K3
GTS
2
C0
LD
K10 3
END
4
SBR K3 5
X20 Y5
OUTI
6
X21 Y10
OUTI 7
X35
RT C 8
X35 Y0 Y17
RSTI
9
RT
10
Programador D2-HPP
Handheld Programmer Keystrokes
$
STR
B
1
ENT 11
SHFT G T S D ENT
6 MLR RST 3
12
E N D
SHFT
SHFT
S
4 TMR
SHFT B
3
ENT
R D ENT
13
RST 1 ORN 3
$
STR
SHFT I
8
C
2
A
0
ENT
14
GX I F ENT
SHFT
OUT 8 5
$
STR
SHFT I
8
C
2
B
1
ENT A
GX SHFT I B A ENT
$
OUT
STR
SHFT I
8
8
D
1
3
F
0
5
ENT
B
SHFT
SP
R
ORN
T
I
MLR
C
2
ENT
D F
C
SHFT ENT
STRN 8 3 5
S
RST
SHFT I
8
A
0
B
1
H
7
ENT D
R T ENT
SHFT
ORN MLR
En el ejemplo siguiente, cuándo X1 está ON, se llamará la Subrutina K3. La CPU saltará al
Label K3 de la subrutina y se ejecutará la lógica ladder en la subrutina. La CPU volverá al cuerpo
1 principal del programa después que se ejecuta la instrucción RT.
DirectSOFT
Direct SOFT32
2 X1 K3
3 GTS
4
5 END
6 SBR K3
7
X20 Y5
8 OUT
9 X21 Y10
OUT
10
11 RT
12 Programador D2-HPP
$ B ENT
STR 1
13 SHFT G
6
T
MLR
S
RST
D
3
ENT
14
SHFT E N D ENT
4 TMR 3
A SHFT S
RST
SHFT B
1
R
ORN
D
3
ENT
B $
GX
STR
SHFT I
F
8
C
2
A
0
ENT
ENT
OUT 5
C $
STR
SHFT I
8
C
2
B
1
ENT
GX B A
D OUT
SHFT R T
1
ENT
0
ENT
ORN MLR
Ejemplo de MLS/MLR
En el programa del ejemplo siguiente con MLS/MLR, la lógica funcionará entre el primer
1 MLS K1 (A) y MLR K0 (B) sólo si la entrada X0 está ON. La lógica entre el MLS K2 (C) y
MLR K1 (D) funcionará sólo si la entrada X10 y X0 están ON . El último renglón no es
2 controlado por ninguna de las bobinas MLS.
DirectSOFT
DirectSOFT32 Programador D2-HPP
3 X0 K1
A $ A ENT
MLS STR 0
4 X1 C0
Y
MLS
B
1
ENT
OUT $ B ENT
5 X2 C1 GX
STR
SHFT
1
C A ENT
OUT 2 0
6 OUT
$
STR
C
2
ENT
X3 Y0
GX SHFT C B ENT
7 OUT
$
OUT
D ENT
2 1
X10 K2 STR 3
8 MLS
C
GX
OUT
A
0
ENT
X5 $ B A
9 Y1
OUT Y
STR
C
1 0
ENT
ENT
MLS 2
10 X4 Y2
OUT
$
STR
F
5
ENT
GX B
11 K1
D $
OUT
E
1
ENT
MLR ENT
STR 4
12 X5 C2
GX
OUT
C
2
ENT
OUT T B
13 X6 Y3 $
MLR
F
1
ENT
ENT
STR 5
14 OUT
GX
OUT
SHFT C
2
C
2
ENT
K0
B
$
A MLR
GX
STR
G
D
6
ENT
X7 Y4 ENT
OUT 3
B OUT T
MLR
A
0
ENT
C $
STR
H
7
ENT
GX E C ENT
OUT 4 2
D
8 SP0
DirectSOFT
Direct SOFT32
LD Carga el valor constante
Programador D2-HPP
9 OUT
V7633
bajos del acumulador
acumulador a V7633 GX V H G D D
SHFT ENT
10 LD
K4
Carga el valor constante
(K4) en los 16 bits más
bajos del acumulador
OUT
SHFT L
ANDST
D
3
AND
SHFT
7
K
JMP
6
E
3
4
ENT
3
11 OUT
V7634 bits más bajos del
acumulador a V7634 $
OUT
STR
C
2
AND
ENT
7 6 3 4
X2
E N I
12 X2
ENI
DISI
SHFT
SP
STRN
4
C
TMR
2
8
ENT
ENT
D I S I
13 SHFT
3 8 RST 8
ENT
14 END
SHFT
SHFT
E
I
4
N
N
TMR
D
T
3
ENT
A ENT
8 TMR MLR 0
INT O0
A X1 Y5
$
X
STR
SHFT I
I
8
B
F
1
ENT
B X3 Y7
SETI
$
STR
SHFT I
8
D
3
ENT
X SHFT I H ENT
SET 8 7
C IRT SHFT I
8
R
ORN
T
MLR
ENT
SHFT
STR
L
ANDST
B
D
1
3
ENT
SHFT K
JMP
E
4
A
0
ENT
6
OUT
V7633
Copia el valor en los 16
bits más bajos del
acumulador a V7633
GX
OUT
SHFT L
SHFT
D
V
AND
H
SHFT
7
G
K
6
D
B
3
D
A
3
ENT
E ENT
7
ANDST 3 JMP 1 0 4
LD
K104
Carga el valor constante (K104)
en los 16 bits más bajos del
acumulador
GX
$
OUT
SHFT
E
V
AND
ENT
H
7
G
6
D
3
E
4
ENT
8
STR 4
OUT
V7634
Copia el valor en los 16
bits más bajos del
acumulador a V7634
SHFT
SP
E
4
N
E
TMR
I
8
ENT
ENT
9
STRN 4
X4
ENI
SHFT D
3
I
8
S
RST
I
8
ENT
10
X4
DISI
SHFT E
4
N
TMR
D
3
ENT 11
SHFT I N T A ENT
INT O0
END
$
STR
SHFT
8
I
TMR
8
MLR
C
2
ENT
0
12
X SHFT I F ENT
X2 Y5
SP
SET
STRN
SHFT I
8
8
D
5
3
ENT
13
SETI X SHFT I A H ENT
X3 Y0 Y7 SHFT
SET
I
8
R
ORN
8
T
MLR
0
ENT
7
14
RSTI
A
IR T
B
C
D
Instrucciones de mensajes
1 La instrucción Fault (FAULT)
2 DS5 Usado
La instrucción Fault se usa para mostrar un mensaje de FALLA en un
programador portátil, o el visor opcional LCD o en el menú FAULT
HPP Usado A aaa
PLC>Diagnostics> messages> Fault messages en DirectSOFT. El
3 mensaje tiene un máximo de 23 caracteres y puede ser datos de
memoria V, datos o constantes numéricas o texto ASCII.
4 Para mostrar un valor en una dirección de memoria V, especifique la dirección de memoria V
en la instrucción. Para mostrar los datos en las instrucciones ACON (constante ASCII) o
NCON (constante numérica), especifique el valor de la constante (K) para el área
5 correspondiente de etiqueta de datos (Data Label).
8 SP50
Indicadores
ON cuando la instrucción FAULT es ejecutada
Descripción
13 X1 FAULT
K1
$
STR
B
1
ENT
SHFT F A U L T B ENT
14 END
5 0 ISG ANDST MLR 1
A DLBL
K1 SHFT E
D
4
N
L
TMR
D
B
3
ENT
L B
ACON SHFT ENT
3 ANDST 1 ANDST 1
A SW
B SHFT A
0
C
2
O
INST#
N
TMR
S
RST
W
ANDN
ENT
SHFT N C O N C A D B ENT
NCON TMR 2 INST# TMR 2 0 3 1
C K 2031
SHFT N
TMR
C
2
O
INST#
N
TMR
D
3
E
4
D
3
G
6
ENT
D NCON
K 3436
ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A
aaa
0-9 A-Z
10
La instrucción Numerical Constant (NCON)
11
DS5 Usado
La instrucción NCON se usa con la instrucción
DLBL para almacenar el equivalente hexadecimal NCON
12
HPP Usado
ASCII de datos numéricos para el uso con otras K aaa
instrucciones. 13
Se pueden almacenar 2 dígitos en una instrucción
de NCON. 14
Tipo de operando de datos Rango del DL06
aaa
A
Constante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K 1-FFFF
B
C
D
3
DirectSOFT
4 Direct SOFT32
5
END
6
DLBL
7 K1
8 ACON
A SW
9
NCON
10 K 2031
11
12 NCON
K 3436
13
14 Programador D2-HPP
E N D
SHFT ENT
4 TMR 3
A SHFT D
3
L
ANDST
B
1
L
ANDST
B
1
ENT
A C O N S W
B SHFT
N
0
C
2 INST#
O N
TMR
C
RST ANDN
A
ENT
D B
SHFT ENT
TMR 2 INST# TMR 2 0 3 1
C SHFT N
TMR
C
2
O
INST#
N
TMR
D
3
E
4
D
3
G
6
ENT
N
1
C
2
O
3
N
4
4 5 3 2 V2001
10
LDLBL
K1
B
C
SHFT ENT
ANDST 3 ANDST 1 ANDST 1
SHFT M
ORST
O
INST#
V
AND
B
1
L
ANDST
K
JMP
C
2
A
0
A
0
A
0
ENT D
Usted puede recordar de las especificaciones del PLC DL06 que los puertos son capaces de
5 procesar varios protocolos. El puerto 1 no puede ser configurado como protocolo "Non-
sequence".Para configurar el puerto 2 en DirectSOFT, escoja el menú " PLC", luego SETUP,
luego "Setup Sec. Comm Port". Aparece un cuadro de diálogo como la figura de abajo :
6 • Port: En el campo de la lista de puertos disponibles en la parte superior, escoja "Port 2"
• Protocol: Haga clic en el cuadro de verificación a la izquierda de "Non- sequence"
7 • Time-out: El período que el puerto
esperará después que envíe un mensaje
8 para obtener una respuesta antes de
detectar un error.
• RTS On Delay Time: tiempo que
9 espera el PLC para mandar datos
después que la señal TRS se ha hecho
ON.
10 • RTS Off Delay Time: tiempo que
espera el PLC DL06 después de
mandar datos para hacer OFF la señal
TRS.
11 • Data Bits: Seleccione 7 o 8 bits y
hágalo igual a los bits de datos
especificados para los aparatos
12 conectados.
• Baud Rate: Las tasas disponibles de
baud incluyen 300, 600, 1200, 2400,
13 4800, 9600, 19200, y 38400 Baud.
Escoja una tasa más alta de baud
inicialmente, y baje el valor si
14 experimenta errores de datos o
problemas de ruido en la red.
• Stop Bits: Escoja 1 o 2 bits de parada que debe ser los mismos que los de la impresora conectada.
A • Parity: Escoja paridad none, even, o odd para verificación de error. Asegúrese de hacer igual la paridad
especificada en la impresora a ser conectada.
B • Echo Suppression: Seleccione el botón de radio adecuado basado en la configuración usada en el;
puerto 2 (RS-232C, RS-422 o RS-485).
• Xon/Xoff Flow control: Escoja esta seleción si Ud. tiene el puerto 2 conectado para el control de flujo
C con hardware (Xon/Xoff ) con las señales RTS y CTS conectada entre los dispositivos.
• RTS Flow control: Escoja esta selección is Ud. tiene la señal RTS del puerto 2 cableada a la impresora.
• Memory address: Escoja una dirección de memoria para usar como buffer para almacenamiento de
D datos ASCII.
Luego haga clic en el botón para enviar la configuración del puerto a la CPU y haga clic en CLOSE.
El puerto 2 en el DL06 tiene niveles de voltaje RS232 normales y debe trabajar con la mayoría
de las conexiones seriales de las impresoras. .
Elemento de texto – esto se usa para imprimir conjuntos de caracteres. Los conjuntos de 1
caracteres se definen como los caracteres (fuera de 0) entre comillas. Dos números
hexadecimales precedidos por el signo de dólar significa un código de 8 bits de caracteres ASCII. 2
También, dos caracteres precedidos por el signo de dólar se interpretan según la tabla siguiente:
# Código de caracteres Descripción 3
1 $$ Signo dólar ($)
2
3
$”
$L o $l
Comillas (”)
Line feed (LF)
4
4 $N o $n Carriage return line feed (CRLF)
5 $P o $p Form feed 5
6 $R o $r Carriage return (CR)
7 $T o $t Tab 6
Los ejemplos siguientes muestran varias convenciones de sintaxis y la longitud de las señales
de salida a la impresora. 7
Ejemplo:
” ” Longitud 0 sin el carácter 8
”A” Longitud 1 con el carácter A
” ” Longitud 1 con espacio en blanco 9
” $” ” Longitud 1 con comillas
” $ R $ L ” Longitud 2 con un CR y un LF
10
” $ 0 D $ 0 A ” " Longitud 2 con un CR y un LF
” $ $ ” Longitud 1 con la marca $
11
Al imprimir una línea ordinaria de texto, usted necesitará incluir "comillas" antes y después del
conjunto de texto. El código de error 499 ocurrirá en la CPU cuando la instrucción PRINT
12
contiene texto inválido o está sin comillas.Es importante probar los datos de la instrucción
PRINT durante el desarrollo de la aplicación. 13
El ejemplo siguiente imprime el mensaje al puerto 2. Usamos un contacto PD, que causa que
la instrucción de mensaje sea activa por un barrido solamente. Note el $N al fin del mensaje, 14
que produce un carriage return/line feed en la impresora. Esto prepara la impresora para
imprimir la próxima línea y comenzar desde el margen izquierdo. A
Envía el mensaje al puerto
2 del módulo D0-DCM
B
cuando X2 hace una
transición de OFF para ON C
D
Ejemplos:
6 V2000 Imprime datos binarios en V2000 como número decimal
V2000 : B Imprime datos BCD en V2000
7 V2000 : D Imprime un número binario en V2000 y V2001 para un número decimal
8 V2000 : D B Imprime datos BCD en V2000 y V2001
Ejemplo: El ejemplo siguiente imprime un texto que contiene un texto y una variable.
"Temperatura del reactor" marca los datos, que están en V2000 (como binario). Usted puede
9 usar el calificativo :B después de V2000 si los datos están en el formato BCD, por ejemplo. El
texto final agrega las unidades de grados a la línea de texto y el $N agrega un Carriage
10 return/Line feed (CRLF), un comando de la impresora.
Elemento de bit
Esto se usa para imprimir el estado del bit designado en la memoria V o un bit de relevador C.
El elemento bit puede ser asignado por un punto (.) y el número de bit precedido por el 1
número de memoria V o el número de relevador C. El tipo de salida se describe como mostrado
en la tabla de abajo. 2
# Formato de datos Descripción
1 ninguno Imprime 1 cuando el estado es ON y
estado es OFF
0 cuando el 3
2 :BOOL Imprime “TRUE” cuando el estado es ON y “FALSE”
cuando el estado es OFF
Imprime “ON” cuando el estado es ON y “OFF”cuando el
4
3 :ONOFF estado es OFF
Ejemplo: 5
V2000.15 Imprime el estado del bit 15 en V2000, en formato 1/0.
C100 Imprime el estado de C100 en el formato 1/0. 6
C100 : BOOL Imprime el estado de C100 en formato TRUE/FALSE
C100 : ON/OFF Imprime el estado de C100 en formato ON/OFF 7
V2000.15 : BOOL Imprime el estado del bit 15 en V2000 en formato TRUE/FALSE
El máximo número de caracteres que puede imprimir es 128. El número de caracteres para cada
8
elemento se lista en la tabla de abajo:
Tipo de elemento Cantidad máxima de caracteres
9
Texto, 1 carácter 1
16 bit binarios 6 10
32 bits binarios 11
4 dígitos BCD
8 dígitos BCD
4
8
11
Número real (punto flotante) 12
Real con exponente 12 12
Texto en una memoria V 2
Bit (formato 0/1)
Bit ( formato TRUE/FALSE)
1
5
13
Bit (formato ON/OFF) 3
14
El nemotécnico del programador D2-HPP es “PRINT” seguido del campo DEF.
Los relevadores especiales SP116 y SP117 indican el estado de los puertos del PLC DL06 busy A
(Ocupado), o communications error (error de comunicación)).
Vea el apéndice D relativo a relevadores especiales para una mejor descripción. B
NOTA: Usted debe usar el relevador especial apropiado con la instrucción PRINT para asegurarse que el
programa ladder no trate de IMPRIMIR a un puerto que está todavía ocupado por una instrucción C
PRINT previa o una instrucción WX o RX. .
D
14 Direct SOFT 5
X1 LD
El valor constante K0102
CPU Módulo inteligente
especifica la base número Data
K0102
}
(01) y el número de la 12
A V1400 3 4 1 2 Dirección 0
{
ranura (02).
V1401 7 8 5 6 34 Dirección 1
LD El valor constante K6 V1402 0 1 9 0 56 Dirección 2
especifica la cantidad de
K6 bytes a ser leídos. V1403 X X X X 78 Dirección 3
B LD El valor constante K0
V1404 X
C RD
en el módulo inteligente.
SHFT L
B
D
1
ENT
PREV A B A C ENT
en la CPU de donde serán ANDST 3 0 1 0 2
V1400 almacenados los datos
SHFT
L
ANDST
L
D
D
3
PREV
PREV
G
A
6
ENT
ENT
ANDST 3 0
R D B E A A
SHFT ENT
ORN 3 1 4 0 0
}
V1400 3 4 1 2
LD
K6
El valor constante K6
especifica el número de
bytes a ser escritos.
V1401
V1402
7
0
8
1
5
9
6
0
56
78
90
Dirección 2
Dirección 3
Dirección 4
A
V1403 X X X X
LD
K0
El valor constante K0
especifica la dirección inicial
en el módulo inteligente. $
V1404
B
X X X X
01 Dirección 5
B
ENT
STR 1
WT
V1400
V1400 es la localización inicial
en la CPU desde donde los datos SHFT
especificados serán escritos.
L
ANDST
D
3
PREV A
0
B
1
A
0
C
2
ENT C
SHFT L D PREV G
ENT
ANDST 3 6
SHFT L
ANDST
D
3
PREV
A
0
ENT D
W T B E A A
SHFT ENT
ANDN MLR 1 4 0 0
B
C
D
En el ejemplo siguiente, cuándo X1 está ON y el relevador SP116 del puerto “busy” (ocupado)
(vea relevadores especiales) no está ON, la instrucción RX tendrá acceso al puerto 2, que opera
como maestro. Serán leídos diez bytes consecutivos o 5 palabras de datos (V2000 - V2004) de 1
un aparato esclavo en el nodo de dirección 5 y copiado a las memorias V2300-V2304 en la CPU
con el puerto maestro. 2
DirectSOFT
Direct SOFT32
X1 SP116 LD
3
KF205
LD 5
K10
V2277 X X X X X X X X V1777
El valor constante K10
especifiva el número de
V2300 3
8
4
5
5
3
7
4
3
8
4
5
5
3
7
4
V2000 6
bytes a ser leídos V2301 V2001
LDA
O 2300
V2302
V2303
1
9
9
5
3
7
6
1
1
9
9
5
3
7
6
1
V2002
V2003
7
V2304 1 4 2 3 1 4 2 3 V2004
La dirección Octal 2300 es
convertida a 4C0 hexadecimal V2305 X
y cargada al acumulador.
X X X X X X X V2005 8
V2300 es la localización
inicial del PLC maestro donde
serán colocados los datos especificados
que serán leídos por la RX
9
RX
V2000
10
V2000 es la localización inicial
del PLC esclavo desde donde
11
serán leídos los datos especificados
12
Programador D2-HPP
$
STR
B
1
ENT
13
W
ANDN
SHFT SP
STRN
B
1
B
1
G
6
ENT
14
SHFT L D SHFT K SHFT F SHFT C A F ENT
ANDST 3 JMP 5 2 0 5
SHFT L
ANDST
D
3
SHFT K
JMP
B
1
A
0
ENT
A
SHFT L
ANDST
D
3
A
0
C
2
D
3
A
0
A
0
ENT
B
SHFT R X C A A A ENT
ORN SET 2 0 0 0
C
D
13 Relevadores de control . . . . . . . . . . . . . . . . . . . C
Etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S
0–1777
0–1777
Bits de estado de temporizadores . . . . . . . . . . T 0–377
14 Bits de estado de contadores . . . . . . . . . . . . . CT 0–177
Relevadores especiales . . . . . . . . . . . . . . . . . . SP 0–777
B
C
D
En el ejemplo siguiente cuando X1 está ON y el relevador SP116 “busy” (ocupado) (vea los
relevadores especiales) no está ON, la instrucción WX tendrá acceso al puerto 2 que opera como
maestro. Se leen diez bytes o 5 palabras consecutivas de datos de la CPU maestra y son copiados 1
a las memorias V2000-V2004 en el aparato esclavo en la dirección del nodo 5.
DirectSOFT
Direct SOFT32 2
X1 SP116 LD
KF205
LDA
V2301
V2302
8
1
5
9
3
3
4
6
8
1
5
9
3
3
4
6
V2001
V2002
6
V2303 9 5 7 1 9 5 7 1 V2003
O 2300
SHFT L
ANDST
D
3
A
0
C
2
D
3
A
0
A
0
ENT
A
SHFT W
ANDN
X
SET
C
2
A
0
A
0
A
0
ENT
B
C
D
La instrucción LCD
La instrucción LCD causa que un mensaje definido de texto de LCD
1 DS5
HPP
Usado
N/A
usuario sea mostrado en el panel del visor LCD. El visor es 16
caracteres de ancho y 2 filas de alto de modo que puede ser
Line Number:
"text message"
Kn
13 LCD
Line Number: K1
"Nivel pozo bajo"
14 LCD
Line Number: K2
A "Falla bomba 27"
D N i v e l p o z o b a j o
F a l l a b o m b a 2 7
LCD
8
Line Number: K1
"Alarma 1 " _time:12 9
LCD
Line Number:
_date:us
K2 10
A l a r m a 1 1 1 : 2 1 P M 11
0 5 - 0 8 - 0 2
Colocando datos de memorias V 12
Cualquier dato en memoria puede ser
mostrado en cualquiera de seis formatos 13
disponibles de datos. Hay un ejemplo a la
derecha. 14
Hay una lista de formatos de datos y sufijos
en la próxima página. Note que formatos
diferentes de datos necesitan de una cantidad
A
diferente de caracteres en el visor.
LCD
B
Line Number:
"Piezas = " V2500:B
K2
C
P i e z a s = 0 4 1 2
D
1 2 3 4 5 6 7 8
10 :DB [:DB]
V2001 = 0000 0000 0000 0011
V2000:DB 0 0 0 3 0 0 0 0
(8 dígitos BCD) [:DBS] V2000:DBS 3 0 0 0 0
11 [:DBC0] V2000:DBC0 0 0 0 3 0 0 0 0
[:DB0] V2000:DB0 3 0 0 0 0
12 V2001/V2000 = 222.11111
(real number) 1 2 3 4
Palabra doble
5 6 7 8 9 10 11 12 13
:R
13 (Número real- Palabra [:R] V2000:R f 2 2 2 . 1 1 1 1 1
doble) [:RS] V2000:RS f 2 2 2 . 1 1 1 1 1
[:RC0] V2000:RC0 f 0 0 0 2 2 2 . 1 1 1 1 1
14 [:R0] V2000:R0 f 2 2 2 .
Palabra doble
1 1 1 1 1
V2001/V2000 = 222.1
(real number)
A :E
(Número real- Palabra [:E] V2000:E
1 2 3 4
f 2 . 2 2
5 6 7 8 9 10 11 12 13
1 0 0 E + 0 2
doble con exponente) [:ES] V2000:ES f 2 . 2 2 1 0 0 E + 0 2
B [:EC0] V2000:EC0 f 2 . 2 2 1 0 0 E + 0 2
[:E0] V2000:E0 f 2 . 2 2 1 0 0 E + 0 2
Los calificativos “S”,” C0”, y “0” alteran la presentación de ceros y espacios a la izquierda. “S”
D saca los espacios y justifica el resultado a la izquierda. “C0” reemplaza los espacios delanteros
con ceros. “0” es una modificación de “C”0. “0” elimina cualquier cero delantero en la versión
de formato “C0” y los convierte a espacios.
Cada vez que SP117 se cierra, se genera un pulso para ser contado
_FirstScan
SP0
2
Este renglón ejecuta una lectura MODBUS desde la dirección 48449 del esclavo con la
dirección 6 en 8 registros consecutivos. Escribirá el contenido en V10000 hasta V10007
3
del maestro DL06. Solamente puede estar activa una instrucción MWX o MRX (o WX o
RX) en un barrido dado del PLC. Esta es la razón por la cual se usa el enclavamiento
C150. Cuando se inicia la comunicación, el contacto C150 está cerrado en el renglón 2.
La instrucción MRX comienza a ser ejecutada y SP116 se hace ON. El contacto
normalmente cerrado SP116 en este renglón se abrirá mientras dure el uso del puerto 2
4
por la instrucción MRX. Y continúa cerrado hasta que SP116 se vuelva OFF (es decir,
el puerto 2 no está ocupado). En ese momento, el bit C150 se hace ON con la bobina
SETC150. Esto permite que el próximo renglón se haga activo.
5
5
Puerto ocupado
SP116
Bit de enclavamiento
C150
MRX
CPU/DCM Slot :
Port Number :
CPU
K2
6
Slave Address : K6
Function Code : 03 - Read Holding Registers
Start Slave Memory Address :
Start Master Memory Address :
Number of Elements :
K48449
V10000
K8
7
Modbus Data type : 584/984 Mode
Exception Response Buffer : V5400
C150
Bit de enclavamiento 8
SET
Este renglón ejecuta una escritura MODBUS a los registros 42331 y 42332 del esclavo
con la dirección 6. Escribirá el contenido de V2000 y V2001 respectivamente. Este
9
"function code" escribe varios registros. Use el código 06 para escribir a un registro en
una transacción. Solamente puede estar activa una instrucción MWX o MRX (o WX o
RX) en un barrido dado del PLC. Esta es la razón por la cual se usa el enclavamiento
C150. Cuando C150 hace ON en el renglón 2, el contacto C150 se cierra en el renglón
3. Esto hace que el renglón 3 esté activo. La instrucción MWX comenzará a
10
ejecutarse. Nuevamente SP116 se hace ON y se mantiene así hasta que SP116 no
esté más ocupado, lo que hace que SP116 sea OFF. En ese momento el bit C150 se
hace OFF con la bobina RST C150
V5500
13
Bit de enclavamiento
C150
RST
14
7 END
A
B
En este ejemplo tratamos con una tasa de 9600 kbps. Hubo 1350 transacciones por minito
leídas en V11000; Cuando se aumentó a 38400 kbps, fueron 3535 transacciones por minuto. C
Por lo tanto, para una velocidad transmissión de 9600 kbps, cada transacción ocurre cada 44.4
milisegundos. Para 38400 kbps, cada, 19.98 ms. D
Instrucciones ASCII
1 El PLC DL06 utiliza varias instrucciones y métodos que permiten leer y escribir texto ASCII a
través del puerto 2 de comunicación o el módulo D0-DCM o aún desde el módulo
2 coprocesador F0-CP128. El puerto 2 del DL06 puede ser usado para leer o escribir formatos
ASCII pero no pueden ser usados ambos métodos al mismo tiempo en el mismo PLC, es decir,
es necesario hacer una lógica para que una operación sea ejecutada en un período y luego la otra
3 ejecutada en el próximo. Vea el apéndice G.
Vea una lista de transformación del código ASCII a decimal y a hexadecimal en el apéndice G.
4 El PLC DL06 también puede descifrar caracteres ASCII embutidos en uno de los protocolos
aceptados (K-sequence, DirectNet, Modbus) en el puerto del PLC.
5 Leyendo Texto ASCII
Hay varios métodos que el PLC DL06 puede usar para leer ASCII.
6 1) Instrucción de lectura ASCII IN (AIN) – Esta instrucción se usa para recibir texto ASCII
puro con parámetros tales como texto ASCII de longitud fija o variable, caracteres de
7 terminación, opción de intercambio de bytes e instrucciones de control. Puede usar lectores
de código de barras, balanzas, etc. para escribir texto ASCII al puerto 2 basados en los
parámetros de la instrucción AIN.
8 2) Escriba texto ASCII embutido directamente a la memoria V desde una interfase hombre
máquina o un aparato maestro similar usando un protocolo de los aceptados con el puerto
9 1 o 2 o el módulo D0-DCM. La instrucción AIN no se usa en este caso.
3) Si un PLC DL06 es maestro en una red, la instrucción RX (Network Read) puede ser usada
10 para leer datos ASCII embutidos, desde un esclavo, usando protocolos aceptados con el
puerto 2. La instrucción RX coloca los datos directamente en la memoria V.
11 Escribiendo Texto ASCII
Las siguientes instrucciones pueden ser usadas para escribir texto ASCII:
12 1) Print from V–memory (PRINTV) – Use esta instrucción para escribir texto ASCII puro,
almacenado en la memoria del PLC, por el puerto 2 a un panel o a una impresora serial. La
13 instrucción acepta la dirección inicial de memoria V, la longitud de la cadena, opción de
cambio de bytes, etc. Cuando el bit de permiso está activado, la cadena de texto es escrita en
el puerto 2.
14 2) Print a V–memory (VPRINT) – Use esta instrucción para crear cadenas ASCII en el PLC
(Por ejemplo mensajes de alarma). Cuando el bit de permiso de la instrucción está activado,
A el mensaje es escrito en una localización de memoria pre-definida. Luego la instrucción
PRINTV puede ser usada para escribir esta cadena ya definida saliendo por el puerto 2.
B Pueden ser usadas fechas de tipo americano, europeo o asiátic.
Adicionalmente, si un PLC DL06 es maestro en una red, la instrucción WR (Network write)
C puede ser usada para escribir datos ASCII embutidos a una interfase hombre máquina o a un
esclavo directamente desde la memoria V usando uno de los protocolos usados por el PLC con
el puerto 2.
D
Antes de cada lectura, debe hacerse un reset de la instrucción AIN. Puede hacerse esta acción
desactivando y activando el renglón donde está AIN o también con la instrucción ACBR (vea la
página 5-228), 1
Parámetro
Destino de los datos
Longitud fija
Todas las memorias V
K1–128
2
Bits: Busy, Complete, Timeout Error, Overflow C0–3777
3
Ejemplos de longitud fija de AIN
Ejemplo de longitud fija cuando el PLC está leyendo el puerto continuamente y el tiempo de 4
operación no es crítico.
AIN
5
AIN completado CPU/DCM Slot : CPU
C1
1
Port Number :
Data Destination :
Fixed Length :
K2
V4000
K32
6
Interchar. Timeout : 20ms
First Char. Timeout :
Byte Swap :
None
All
7
Busy : C330
Complete : C331
Interchar. Timeout Error :
First Char. Timeout Error :
C332
n/a
8
9
AIN completado
C1
Datos leídos
C100
10
2 OUT
3
AIN completado
C1 C2
Port Number :
Data Destination :
K2
V2000
13
Fixed Length : K32
Interchar. Timeout : 20ms
First Char. Timeout :
Byte Swap :
500ms
All
14
Busy : C0
Complete :
Interchar. Timeout Error :
First Char. Timeout Error :
C1
C2
C3
A
B
AIN completado Datos leídos
C
C1 C100
4 OUT
D
Parámetro
Destino de los datos
Longitud variable
Todas las memorias V
K1–128
1
Bits: Busy, Complete, Timeout Error, Overflow C0–3777
2
Ejemplo de longitud variable con AIN
Ejemplo de AIN con longitud variable usado para leer códigos de barras en cajas 3
En este ejemplo se tiene un lector de código de barras que lee el código de una caja de cartón
sobre una correa transportadora detectado por un sensor photoelectrico conectado a la entrada 4
X5. Los datos son colocados en formato ASCII en el conjunto de 40 registros consecutivos que
comienzan en V2000. 5
Caja detectada
X5
Lea el código
C6
6
9 SET
7
AIN
10
Lea el código
C6
CPU/DCM Slot :
Port Number :
Data Destination :
CPU
K2
V2000
8
Maximum Variable Length : K40
Interchar. Timeout :
First Char. Timeout :
Byte Swap :
100ms
2000ms
None
9
Termination Code(s) : 0D
Overflow Error : C20
Busy :
Complete :
Interchar. Timeout Error :
C21
C22
C23
10
First Char. Timeout Error : C24
11
11
AIN completad
C22
Lea el código
C6
RST
12
Error de timeout entre
caracteres
C23
13
Errror de timeout del
primer carácter
C24
14
Error de Overflow de AIN
C20
A
B
12
AIN completad
C22
Datos leídos
C100
OUT
C
D
C
D NOTA: No se necesitan comillas en el elemento Search for String Las comillas son caracteres válidos
que AFIND puede buscar.
6 C7
SET
10 RST
C RST
8
Parámetro Rango del DL06
9 Compare desde la dirección inicial
Compare a la dirección inicial
Toda la memoria V
Toda la memoria V
Número de bytes K0–127
10
Ejemplo de CMPV
11 La instrucción CMPV se ejecuta cuando la instrucción AIN ha sido completada. Si el resultado
de la comparación es igual, SP61 se hará ON y C11 será activado.
12
13 AIN Complete
C1
CMPV
14 "Compare from" Starting Address: V2001
"Compare to" Starting Address: V10001
A Number of Bytes: K32
Colocación de fecha y hora con VPRINT– Pueden ser usados los códigos mostrados en la tabla 14
de abajo en la secuencia de texto con VPRINT ASCII para “imprimir a la memoria” la fecha y
hora corriente. A
# Character code Date / Time Stamp Options
1 _date:us Norma americana (Mes/día/año con 2 dígitos) B
2 _date:e Norma europea (día/mes/año con 2 dígitos)
3
4
_date:a
_time:12
Norma asiática (año con 2 dígitos/mes. Día)
Norma de 12 horas (0-12:minutos AM/PM)
C
5 _time:24 Norma de 24 horas (0-24:minutos)
D
NOTA: Debe colocar un espacio antes y después de la dirección de memoria V para separarla de la cadena
3 de texto. Si no hace ésto aparece el error 499.
Ejemplo con V2000 = sp sp 0018 (Formato binario) donde "sp" significa espacio
B Memoria con Número de caracteres
modificador 1 2 3 4
C V2000 sp sp 1 8
V2000:B sp sp 1 2
D V2000:BS
V2000:BC0
1
0
2
0 1 2
5 4
5
$N o $n
$P o $p
Carriage return line feed (CRLF)
Form feed
6 $R o $r Carriage return (CR)
6 7 $T o $t Tab
Los siguientes ejemplos muestran varias convenciones de sintaxis y la longitud de la salida a la
7 impresora.
13
14
A
B
C
D
28
la secuencia de texto
C12 VPRINT
Byte Swap: All
3
"Print to" Address V4000
"STX" V3000:B"$0D" 4
Atraso para VPRINT
C13
SET
5
29
Atraso para VPRINT
C13 TMR T1 6
Tiempo de demora
de VPRINT
7
K10
Tiempo de demora
8
de VPRINT
T1 PRINTV
30 Port Number:
Start Address:
K2
V4001
9
Number of Bytes: V4000
Append:
Byte Swap:
Busy:
None
None
C15
10
Complete: C16
A B C D E xx
V2477
B
0005h
A
11
V2500
V2501
V2502
D
xx
C
E
12
Byte Swap All (Intrecambie todo) Byte 13
Alto Bajo
A B C D E xx
V2477
V2500 A
0005h
B
14
V2501
B A D C xx E V2502
C
E
D
xx
A
Byte Swap All but Null ( Intercambie todo
excepto el carácter NULL) Byte
B
High Low
A B C D E xx
V2477 0005h
C
V2500 B A
V2501 D C D
B A D C E xx V2502 xx E
Ejemplo de SWAPB
1 El bit Complete de AIN se usa para activar la instrucción SWAPB. Use la instrucción STRPD
para que la instrucción SWAPB sea ejecutada en un barrido solamente.
2
3 AIN complete
C1 SWAPB
4 21
Starting Address: V2001
Number of Bytes: K32
5 Byte Swap: All
8
9
10
11 El bit AIN Complete o los bits de diagnóstico de AIN se utilizan para limpiar el buffer o la
memoria de almacenaje intermediaria de caracteres ASCII.
12 Ain Complete
ACRB
C1
K2
13 33
Intercharacter timeout
C2
14
Firstcharacter timeout
A C3
C
D
1
2
3
4
5
6
7
Esta página ha sido dejada en blanco intencionalmente. 8
9
10
11
12
13
14
A
B
C
D
11 IBoxes de memorias
Instrucción Ibox # Página
12 Move Single Word (MOVEW)
Move Double Word (MOVED)
IB-200
IB-201
5-254
5-255
13 IBoxes de aritmética
Instrucción Ibox # Página
14 BCD to Real with Implied Decimal Point (BCDTOR)
Double BCD to Real with Implied Decimal Point (BCDTORD)
IB-560
IB-562
5-256
5-257
Math - BCD (MATHBCD) IB-521 5-258
A Math - Binary (MATHBIN) IB-501 5-260
Math - Real (MATHR) IB-541 5-262
B Real to BCD with Implied Decimal Point and Rounding (RTOBCD)
Real to Double BCD with Implied Decimal Point and Rounding (RTOBCDD)
IB-561
IB-563
5-263
5-264
Square BCD (SQUARE) IB-523 5-265
C Square Binary (SQUAREB) IB-503 5-266
Square Real(SQUARER) IB-543 5-267
D Sum BCD Numbers (SUMBCD)
Sum Binary Numbers (SUMBIN)
IB-522
IB-502
5-268
5-269
Sum Real Numbers (SUMR) IB-542 5-270
IBoxes de Comunicación 1
Instrucción Ibox # Página
ECOM100 Configuration (ECOM100)
ECOM100 Disable DHCP (ECDHCPD)
IB-710
IB-736
5-272
5-274
2
ECOM100 Enable DHCP (ECDHCPE) IB-735 5-276
ECOM100 Query DHCP Setting (ECDHCPQ) IB-734 5-278 3
ECOM100 Send E-mail (ECEMAIL) IB-711 5-280
ECOM100 Restore Default E-mail Setup (ECEMRDS)
ECOM100 E-mail Setup (ECEMSUP)
IB-713
IB-712
5-281
5-286
4
ECOM100 IP Setup (ECIPSUP) IB-717 5-290
ECOM100 Read Descripción (ECRDDES) IB-726 5-292 5
ECOM100 Read Gateway Address (ECRDGWA) IB-730 5-294
ECOM100 Read IP Address (ECRDIP)
ECOM100 Read Module ID (ECRDMID)
IB-722
IB-720
5-296
5-298
6
ECOM100 Read Module Name (ECRDNAM) IB-724 5-300
ECOM100 Read Subnet Mask (ECRDSNM) IB-732 5-302 7
ECOM100 Write Descripción (ECWRDES) IB-727 5-304
ECOM100 Write Gateway Address (ECWRGWA)
ECOM100 Write IP Address (ECWRIP)
IB-731
IB-723
5-302
5-304
8
ECOM100 Write Module ID (ECWRMID) IB-721 5-310
ECOM100 Write Name (ECWRNAM) IB-725 5-312 9
ECOM100 Write Subnet Mask (ECWRSNM) IB-733 5-314
ECOM100 RX Network Read (ECRX)
ECOM100 WX Network Write(ECWX)
IB-740
IB-741
5-316
5-319
10
NETCFG Network Configuration (NETCFG) IB-700 5-322
Network RX Read (NETRX) IB-701 5-324 11
Network WX Write (NETWX) IB-702 5-327
IBoxes de CTRIO
12
Instrucción Ibox # Página
CTRIO Configuration (CTRIO) IB-1000 5-330 13
CTRIO Add Entry to End of Preset Table (CTRADPT) IB-1005 5-332
CTRIO Clear Preset Table (CTRCLRT)
CTRIO Edit Preset Table Entry (CTREDPT)
IB-1007
IB-1003
5-335
5-338
14
CTRIO Edit Preset Table Entry and Reload (CTREDRL) IB-1002 5-342
CTRIO Initialize Preset Table (CTRINPT) IB-1004 5-346 A
CTRIO Initialize Preset Table (CTRINTR) IB-1010 5-350
CTRIO Load Profile (CTRLDPR)
CTRIO Read Error (CTRRDER)
IB-1001
IB-1014
5-354
5-357
B
CTRIO Run to Limit Mode (CTRRTLM) IB-1011 5-359
CTRIO Run to Position Mode (CTRRTPM) IB-1012 5-362 C
CTRIO Velocity Mode (CTRVELO) IB-1013 5-365
CTRIO Write File to ROM (CTRWFTR) IB-1006 5-368 D
Ejemplo de ANLGCMB
En el ejemplo siguiente, se usa la instrucción ANLGCMB para configurar el método del
puntero para un módulo de combinación de E/S análogas que esté instalado en la ranura de 1
opción 2. Se activan cuatro canales de entradas y los datos de salidas análogas serán escritos a
V2000 - V2003 en formato BCD. Se activan dos canales de salidas y los valores análogos serán
leídos en V2100 - V2101 en formato BCD.
2
3
4
5
No se usan contactos de permiso o lógica
de entrada con esta instrucción 6
7
8
9
10
11
12
13
14
A
B
C
D
8 Parámetros ANLGIN
• Base # (K0-Local): Debe ser 0 para PLC DL06.
9 • Slot #: Especifica qué ranura de opción del PLC es ocupada por el módulo análogo (1-4)
• Number of Input Channels: Especifica el número de canales de entradas análogas a ser explorados.
10 • Input Data Format (0-BCD 1-BIN): Especifica el formato de datos de entradas análogas (BCD o
binario) - el formato binario puede ser usado para exhibir datos en paneles de interface de operador.
• Input Data Address: Especifica la localización de memoria V inicial que será utilizada para almacenar
11 los datos de entradas análogas.
12 Parámetro
Base # (K0-Local) . . . . . . . . . . . . . . . . . . . . . . . K
Rango del DL06
K0 (Solamente base local)
13 Slot # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Number of Input Channels . . . . . . . . . . . . . . . . K
K1-4
K1-8
Input Data Format (0-BCD 1-BIN) . . . . . . . . . . . K BCD: K0; Binario: K1
14 Input Data Address . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
A
B
C
D
Ejemplo de ANLGIN
En el ejemplo siguiente, se usa la instrucción ANLGIN para configurar el método del puntero
para un módulo de entradas análogas que esté instalado en la ranura de opción 1. Se activan 1
ocho canales de entradas y los datos análogos serán escritos a V2000 - V2007 en formato BCD.
2
3
4
No se usan contactos de permiso o lógica
de entrada con esta instrucción 5
6
7
8
9
10
11
12
13
14
A
B
C
D
8 Parámetros ANLGOUT
9 • Base # (K0-Local): Debe ser 0 para PLC DL06.
• Slot #: Especifica qué ranura de opción del PLC es ocupada por el módulo análogo (1-4)
10 • Number of Output Channels: Especifica el número de canales de salidas análogas que serán usados.
• Output Data For: Especifica el formato de los datos de salidas análogas (BCD o binario).
11 • Output Data Address: Especifica la localización de memoria V inicial que será usada como origen de
los datos de salidas análogas.
A
B
C
D
Ejemplo de ANLGOUT
En el ejemplo siguiente, se utiliza la instrucción ANLGOUT para configurar el método del
puntero para un módulo de salidas análogas que esté instalado en la ranura de opción 3. Son 1
activados dos canales de salidas y los datos análogos serán leídos en V2100 - V2101 en formato
BCD. 2
3
4
No se usan contactos de permiso o lógica
de entrada con esta instrucción 5
6
7
8
9
10
11
12
13
14
A
B
C
D
7 Parámetros ANSCL
• Raw (0-4095 BCD): Especifica la localización de la memoria V donde está el valor unipolar sin escala
8 de rango 0-4095.
• High Engineering: Especifica el alto valor de ingeniería cuando la entrada es 4095.
9 • Low Engineering: Especifica el alto bajo de ingeniería cuando la entrada es 0.
• Engineering (BCD): Especifica la memoria V en donde será colocado el valor a escala BCD.
10 Parámetro Rango del DL06
Raw (0-4095 BCD) . . . . . . . . . . . . . . . . . . . . . V,P Vea el mapa de memoria V del DL06 - Data Words
11 High Engineering . . . . . . . . . . . . . . . . . . . . . . . . K K0-9999
Low Engineering . . . . . . . . . . . . . . . . . . . . . . . . K K0-9999
En el ejemplo siguiente, se utiliza la instrucción ANSCL para colocar a escala un valor crudo
13 (BCD 0-4095) que esté en V2000. El rango de la escala de ingeniería se define como 0-100
(valor bajo de ingeniería - alto valor de ingeniería). El valor a escala será colocado en V2100 en
14 formato BCD.
A
B
C
D
14
Parámetro Rango del DL06
A Filter Frequency Timer . . . . . . . . . . . . . . . . . . . T
Filter Frequency Time (0.01 sec) . . . . . . . . . . . K
T0-377
K0-9999
Raw Data (BCD) . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
B Filter Divisor (1-100) . . . . . . . . . . . . . . . . . . . . . K K1-100
Filtered Value (BCD) . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
C
D
Ejemplo de FILTER
En el ejemplo siguiente, es usada la instrucción FILTER para filtrar un valor en BCD que esté
en V2000. El temporizador (T0) se coloca a 0.5 s, la frecuencia en la cual el cálculo del filtro 1
será realizada. La constantee del filtro se coloca en 2. Un valor más grande aumentará el efecto
de alisamiento del filtro. Un valor de 1 resulta sin filtrado. El valor filtrado será colocado en
V2100.
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
14 • Filtered Value (Binario): Especifica la localización de memoria C en donde será colocado el valor
filtrado en binario
A
Parámetro Rango del DL06
B Filter Frequency Timer . . . . . . . . . . . . . . . . . . . T
Filter Frequency Time (0.01 sec) . . . . . . . . . . . K
T0-377
K0-9999
Raw Data (Binary) . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
C Filter Divisor (1-100) . . . . . . . . . . . . . . . . . . . . . K K1-100
Filtered Value (Binary) . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
D
Ejemplo de FILTERB
En el ejemplo siguiente, es usada la instrucción FILTERB para filtrar un valor en binario que
está en V2000. El temporizador (T1) se coloca a 0,5 s, la frecuencia en la cual el cálculo del 1
filtro será realizada. La constantee del filtro se coloca en 3.0. Un valor más grande aumentará
el efecto de alisamiento del filtro. Un valor de 1 resulta sin filtrado. El valor filtrado será
colocado en V2100.
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
A Parámetro
Monitoring Value (BCD) . . . . . . . . . . . . . . . . . . V
Rango del DL06
Vea el mapa de memoria V del DL06 - Data Words
High-High Limit . . . . . . . . . . . . . . . . . . . . . . . V, K K0-9999; or Vea el mapa de memoria V del DL06 - Data Words
B High-High Alarm . . . . . . . . . . . X, Y, C, GX,GY, B Vea el mapa de memoria DL06
High Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . V, K K0-9999; or Vea el mapa de memoria V del DL06 - Data Words
C High Alarm. . . . . . . . . . . . . . . . X, Y, C, GX,GY, B
Low Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . V, K
Vea el mapa de memoria DL06
K0-9999; or Vea el mapa de memoria V del DL06 - Data Words
Low Alarm . . . . . . . . . . . . . . . . X, Y, C, GX,GY,B Vea el mapa de memoria DL06
D Low-Low Limit . . . . . . . . . . . . . . . . . . . . . . . V, K K0-9999; or Vea el mapa de memoria V del DL06 - Data Words
Low-Low Alarm . . . . . . . . . . . . X, Y, C, GX,GY, B Vea el mapa de memoria DL06
Ejemplo de HILOAL
En el ejemplo siguiente, la instrucción de HILOAL es usada para supervisar un valor BCD que
está en V2000. Si el valor en V2000 exceede el valor de K900, se activará C101. Si el valor 1
continúa aumentando hasta el nivel High-high, se activrá el bit C100. Ambos bits estarían
encendido en este caso. Los niveles y alarmaa alta y alta-alta se pueden definir al mismo valor si
se desea usar una alarma "Alta".
2
Si el valor en V2000 es igual o cae debajo del nivel K200, se desactivará C102. Si el valor
continúa disminuyendo debajo del límite Bajo-Bajo K100, se desactivará C103 .Ambos bits
3
estarían encendido en este caso. Las alarmas baja y baja-baja se pueden definir al mismo valor si
se desa usar una alarma "Baja". 4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Ejemplo de HILOALB
En el ejemplo siguiente, la instrucción HILOALB es usada para supervisar un valor binario que
esté en V2000. Si el valor en V2000 es igual o mayor que el límite alto del valor binario en 1
V2011, el bit C101 se activa. Si el valor continúa aumentando hasta ser igual o ser mas grande
que el valor límite Alto-Alto en V2010, se activará el bit C100. Ambos bits estarían encendidos
en este caso. Los límites y las alarmas Alta y Alta-Alta se pueden configurar al mismo valor o
2
memoria V si se desea usar un límite o alarma "Alta".
Si el valor en V2000 satisface o baja debajo del límite bajo del valor binario en V2012, se
3
activará el bit C102. Si el valor continúa disminuyendo debajo del límite Bajo-Bajo en V2013,
se activará el bit C103. Ambos bits estarían encendidos en este caso. Los límites y las alarmas 4
Baja y Baja-Baja se pueden definir con la misma memoriaV o el mismo valor si se desea usar un
límite o alarma Baja. 5
6
7
8
9
10
11
12
13
14
A
B
C
D
10 • Off Delay Time (0,01sec): Especifica cuánto tiempo la salida seguirá encendida si el flujo de energía
al Ibox se torna falso
• Output: Especifica la salida que será apagada con un retardo de tiempo.
11
Parámetro Rango del DL06
12 Timer Number . . . . . . . . . . . . . . . . . . . . . . . . . T
Off Delay Time . . . . . . . . . . . . . . . . . . . . . . . . K,V
T0-377
K0-9999; Vea el mapa de memoria V del DL06 - Data Words
Output . . . . . . . . . . . . . . . . . . . . X, Y, C, GX,GY, B Vea el mapa de memoria DL06
13
14
A
B
C
D
Ejemplo de OFFDTMR
En el ejemplo siguiente, se usa la instrucción OFFDTMR para retrasar la salida C20. El
temporizador 2 (t2) define el retardo en 5 segundos. 1
Cuando se cierra el contacto C100, C20 se activa y permanecerá encendido mientras C100 está
encendido. Cuando se abre el contacto C100, C20 permanecerá activado por el tiempo 2
especificado (5s), y luego se apaga.
3
4
5
6
7
8
9
Ejemplo de diagrama de tiempos
10
C100
11
5 sec 5 sec
12
C20
13
14
A
B
C
D
12
13
14
A
B
C
D
Ejemplo de ONDTMR
En el ejemplo siguiente, la instrucción ONDTMR es usada para retardar el "encendido" de la
salida C21. El temporizador 1 (T1) define como de 2 segundos el período de "atraso". 1
Cuando se cierrael contacto C101, se cierra el contacto C21 con un atraso de 2 segundos.
Cuando se abre el contacto C101, el contacto C21 se abre inmediatamente. 2
3
4
5
6
7
Ejemplo de diagrama de tiempos
8
C101 9
2 sec 2 sec
C21
10
11
12
13
14
A
B
C
D
3 Parámetros de ONESHOT
• Discrete Output: Especifica la salida que
4 estará encendida por un barrido
5
Parámetro Rango del DL06
6 Discrete Output . . . . . . . . . . . . . . . . . . . . . X, Y, C Vea el mapa de memoria DL06
Ejemplo de ONESHOT
7 En el ejemplo siguiente, la instrucción ONESHOT es usada para activar C100 por un barrido
del PLC cuando el contacto C0 haga la transición desde abierto para cerrado. La lógica de
8 entrada debe producir una transición desde abierto para cerrado para ejecutar la instrucción
One shot.
9
10
11
12
13 Ejemplo de diagrama de tiempos
C0
14
Tiempo de barrido
A C100
B
C
D
5
6 Parámetro Rango del DL06
From WORD . . . . . . . . . . . . . . . . . . . . . . . . V,P,K K0-FFFF; Vea el mapa de memoria V del DL06 - Data Words
7 To WORD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,P Vea el mapa de memoria V del DL06 - Data Words
8 Ejemplo de MOVEW
En el ejemplo siguiente, la instrucción MOVEW es usada para copiar los 16 bits de datos desde
9 V2000 a V3000 cuando C100 se cierra.
10
11
12
13
14
A
B
C
D
6 • Result (DWORD REAL): Especifica la localización en donde será colocado el número real
Ejemplo de BCDTOR
9 En el ejemplo siguiente, la instrucción BCDTOR es usada para convertir los datos de 16 bits
en V2000 desde un formato de datos de 4 dígitos BCD a un formato de datos real de 32bits (de
10 coma flotante) y almacenado en V3000 y V3001.
K2 en la cantidad de decimales indica que tendrá dos dígitos a la derecha de la coma.
11
12
13
14
A
B
C
D
C
D
Ejemplo de MATHBCD
En el ejemplo siguiente, se usa la instrucción MATHBCD para calcular la expresión que
multiplica el valor BCD en V1200 por 1000, después se divide por 4095 y carga el valor que 1
resulta en V2000.
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
C
D
Ejemplo de MATHBIN
En el ejemplo siguiente, se usa la instrucción MATHBIN para calcular la expresión que
multiplica el valor binario en V1200 por 1000, después se divide por 4095 y carga el valor que 1
resulta en V2000.
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Ejemplo de MATHR
12 En el ejemplo siguiente, se usa la instrucción MATHR para calcular la expresión que multiplica
el valor REAL (de coma flotante) en V1200 por 10,5 y después se divide por 2,7 y se coloca el
13 valor resultante de 32 bits en V2000 y V2001.
14
A
B
C
D
5 Parámetros de RTOBCDD
6 • Value (DWORD Real): Especifica la localización o el número Real que será convertido y redondeado
a un número BCD con decimales implicados.
• Number of Decimal Points: Especifica el número de decimales implicados en el resultado Result
7 WORD
• Result (WORD BCD): Especifica la localización en donde será almacenado el valor BCD que ha sido
8 redondeado y transformado
11 Ejemplo de RTOBCDD
En el ejemplo siguiente, se usa la instrucción RTOBCDD para convertir el formato de datos
12 Real de 32 bits (de coma flotante) en V3000 y V3001 al formato de datos de 8 dígitos en BCD
y almacenados en V2000 y V2001.
13 K2 en el Number of Decimal Points (cantidad de decimales implicados) en los datos tendrá dos
decimales implicados.
14
A
B
C
D
Parámetros de SQUARE 2
• Value (WORD BCD): Especifica la palabra o
la constantee en BCD que será elevada al 3
cuadrado
• Result (DWORD BCD): Especifica la
localización en donde será almacenado el valor
4
al cuadrado de DWORD BCD
2 Parámetros de SQUAREB
• Value (WORD binary): Especifica la palabra o la
3 constantee en FORMATO BINARIO que será
elevada al cuadrado
4 • Result (DWORD binary): Especifica la
localización en donde será almacenado el valor al
cuadrado de la palabra doble en formato
5 binario.
10
11
12
13
14
A
B
C
D
Parámetros de SQUARER 2
• Value (REAL DWORD): Especifica la palabra o
la constantee en formato Real que será elevada al 3
cuadrado
• Result (REAL DWORD): Especifica la
localización en donde será almacenado el valor al
4
cuadrado.
5
Parámetro Rango del DL06
Value (REAL DWORD) . . . . . . . . . . . . . . . . V,P,R R ; Vea el mapa de memoria V del DL06 - Data Words 6
Result (REAL DWORD) . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
Ejemplo de SQUARER
7
En el ejemplo siguiente, se usa la instrucción SQUARER para elevar al cuadrado el valor de
coma flotante o valor REAL en V2000 y V2001 y para almacenar el resultado REAL en V3000
8
y V3001.
9
10
11
12
13
14
A
B
C
D
10 Parámetro
Start Address . . . . . . . . . . . . . . . . . . . . . . . . . . V
Rango del DL06
Vea el mapa de memoria V del DL06 - Data Words
End Address (inclusive) . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
11 Result (DWORD BCD) . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
12
Ejemplo de SUMBCD
13 En el ejemplo siguiente, se usa la instrucción de SUMBCD para sumar todos los valores BCD
en las palabras V2000 hasta V2007 y para almacenar el resultado, que es un valor de 8 dígitos
BCD, en V3000 y V3001.
14
A
B
C
D
9 Parámetros de SUMR
• Start Address(DWORD): Especifica la dirección inicial de un conjunto de valores consecutivos de
10 localización de memoria V que se sumarán (Real)
• End Addr (inclusive DWORD): Especifica la dirección final de un conjunto de valores consecutivos
de localización de memoria V que se sumarán (Real)
11 • Result (DWORD): Especifica la localización de memoria V en donde será colocado el resultado de la
suma del conjunto de valores consecutivos en formato de coma flotante.
12
Parámetro Rango del DL06
13 Start Address (inclusive DWORD) . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
End Address (inclusive DWORD) . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
14 Result (DWORD) . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
A
B
C
D
Ejemplo de SUMR
En el ejemplo siguiente, se usa la instrucción SUMR para sumar todos los valores reales en las
palabras V2000 hasta V2007 y para almacenar el resultado, que es un valor de de coma flotante, 1
en V3000 y V3001.
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
B Parámetro
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Rango del DL06
K0-255
Slot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K1-4
C Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
D Msg Buffer (65 words usado) . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
Ejemplo de ECOM100
Esta instrucción coordina toda la interacción con otras instrucciones IBox relacionadas con
ECOM100 (ECxxxx). Usted debe tener una instrucción de configuración IBox para cada 1
módulo ECOM100 que esté instalado en su sistema. Estas instrucciones IBox de configuración
de ECOM100 deben estar en la parte superior de su programa y se deben ejecutar en cada
barrido.
2
Este IBox define que o módulo ECOM100# K0 está en la ranura 3. Cualquier instruccción
IBox relacionada a ECOM100 que necesite referirse a este módulo específico (tal como
3
ECEMAIL, ECRX…)debe tener la referencia K0 para el parámetro ECOM100 #.
El registro de estado (Status register) está diseñado para divulgar cualquier información de error
4
o que ha sido completada la operación a otros IBoxes relacionados con ECOM100. Este registro
de memoria V no debe ser usado en ningún otro lugar en el programa entero. 5
El registro del espacio de trabajo (Workspace register) es usado para mantener la información del
estado sobre el ECOM100, junto con compartir adecuadamente y enclavarse con otros IBoxes 6
realcionados con ECOM100 en el programa. Este registro de memoria V no debe ser usado en
ningón otro lugar en el programa entero. 7
El almacenador intermediario de mensajes (Message Buffer) 65 palabras (130 bytes) es un grupo
común de memoria que es usado por otros IBoxes relacionados con ECOM100 (tal como
ECEMAIL). De esta manera, usted puede tener una cierta cantidad de IBoxes ECEMAIL, pero
8
necesita solamente 1 almacenador intermediario común para generar y enviar cada email. Estos
registro de memoria V no deben ser usados en ningón otro lugar en el programa entero. 9
10
11
12
13
14
A
B
C
D
12 Parámetros de ECDHCPD
• ECOM100#: Éste es un número lógico asociado a este módulo específico en la ranura especificada.
13 El resto de los IBoxes ECxxxx que necesitan referirse a este módulo ECOM100 deben referirse a este
número lógico
14 • Workspace: Especifica una localización de memoria V que será usada por la instrucción
• Success: Especifica un bit que se activa cuando la requisición se termine con éxito
A • Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
• Error Code: Especifica la localización en donde será escrito el código de error
B Parámetro Rango del DL06
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
C Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
D Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Vea el mapa de memoria DL06
Vea el mapa de memoria V del DL06 - Data Words
Ejemplo de ECDHCPD
Renglón 1: La instrucción ECDHCPD es responsable por la coordinación y enclavamiento de
todos los Iboxes relacionados con ECOM100 para un módulo específico ECOM100. Marque 1
el ECOM100 con un rótulo en la ranura 1 como ECOM100 de número K0. El resto de los
IBoxes ECxxxx se refieren a este módulo como K0. Si usted necesita mover el módulo en la base
a una ranura diferente, solamente necesita cambiar la información en este IBox. V400 es usado
2
como registro global de estado del resultado para otros IBoxes ECxxxx usando este módulo
específico ECOM100. V401 es usado para coordinación y enclavamiento de la lógica en todo 3
los otros IBoxes ECxxxxusando este módulo específico ECOM100. V402-V502 es un campo
común almacenador intermediario(buffer) de 130 bytes disponible para uso por otros IBoxes 4
ECxxxx usando este módulo específico ECOM100
5
6
7
Renglón 2: En el segundo barrido, deshabilita DHCP en el ECOM100. DHCP es el mismo
8
protocolo usado por PCs para usar un servidor de DHCP para asignar automáticamente la
direción de IP (IP ADDRESS), la dirección de entrada y el subnet mask de los módulos 9
ECOM100. Típicamente DHCP es deshabilitado asignando un IP ADDRESS HARD
CODED con NetEdit3 o usando uno de lOS IBoxes de configuración de PI ECOM100, pero
este IBox permite que usted deshabilite DHCP en el ECOM100 usando su programa ladder.
10
El ECDHCPD es accionado en una transición de OFF para ON, no por una flujo de enrgía
constantee (similar a una entrada de un contador). El comando de deshabilitar DHCP será 11
enviado al ECOM100 siempre que el flujo de energía en el IBox vaya de OFF a ON. Si se
completa esta acción con éxito, se activa el bit C100. Si hay una falla, se activa el bit C101. Si
falla, usted puede observar V2000 para conocer el código de error específico.
12
13
14
A
B
C
D
Ejemplo de ECDHCPE
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rórulot en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinatar y enclavar la lógica en todo los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
Renglón 2: En el segundo barrido, se habilita DHCP en el ECOM100. DHCP es el mismo
protocolo usado en PCs para usar un servidor de DHCP para asignar automáticamente el IP
8
ADDRESS , la dirección de la entrada, y el subnet mask del módulo ECOM100. Esto se hace
típicamente usando NetEdit3, pero este IBox permite que usted habilite DHCP en el 9
ECOM100 usando el programa ladder. La instrucción ECDHCPE es accionada por una
transición de OFF para ON, y entonces no es controlado por flujo de energía (Por ejemplo, tal
como una entrada de contador). Los comandos para habilitar DHCP serán enviados al
10
ECOM100 siempre que el flujo de energía en el IBox vaya de APAGADO a ENCENDIDO.
La instrucción ECDHCPE no hace más que activar el bit para activar DHCP en el ECOM100, 11
y luego interroga el ECOM100 una vez cada segundo para ver si el ECOM100 ha encontrado
un servidor de DHCP y tiene un IP ADDRESS válido. Por lo tanto, es necesario un parámetro
de timeout en caso de que el ECOM100 no pueda encontrar un servidor de DHCP. Si ocurre
12
un timeout, es decir, no encuentra el servidor después de un tiempo, el bit del error se activará
y el código de error será el decimal 1005. El bit de éxito(Success) se activará solamente si el 13
ECOM100 encuentra un servidor de DHCP y le asigna un IP ADDRESS válido. Si se
encuentra el servidor, el bit C100 se activa. Si hay una falla, se activa el bit C101. Si hay un
error, usted puede inspeccionar V2000 para ver el código de error específico.
14
A
B
C
D
A Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
DHCP Enabled . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Vea el mapa de memoria DL06
Vea el mapa de memoria DL06
B
C
D
Ejemplo de ECDHCPQ
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinatar y enclavar la lógica en todo los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
8
Renglón 2: En el segundo barrido del PLC, lee si DHCP está habilitado o deshabilitado en el 9
ECOM100 y lo almacena en C5. DHCP es el mismo protocolo usado por PCs para usar un
servidor de DHCP para asignar automáticamente el IP ADDRESS de módulos ECOM100, la
dirección del Gateway, y el subnet mask. La instrucción ECDHCPQ es activada por una
10
transición de OFF para ON, (similar a una entrada de un contador). El comando de leer
(Query) si DHCP está habilitado o no será enviado al ECOM100 siempre que el flujo de 11
energía en el IBox vaya de APAGADO a ENCENDIDO. Si es hecho con éxito, el bit C100 se
activa. Si hay una falla, se activa el bit C101. 12
13
14
A
B
C
D
C • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la petición no se ha completado con éxito
Ejemplo de ECEMAIL
7
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con
8
un rótulo en la ranura 1 como ECOM100 K0. El resto de los IBoxes ECxxxx se refieren a este
módulo como K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se 9
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinar y enclavar la lógica en todo los otros IBoxes ECxxxx usando este módulo
10
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 11
12
13
14
(Este ejemplo continúa en la próxima página)
A
B
C
D
5 Máquina parada
6
7
8
Subject Máquina parada
Body “La máquina: ”V5010:B “se ha parado”
9 “a esta hora “_time:24” “en ”_date:e
10
11
12
13
14
A
B
C
D
Ejemplo de ECEMRDS
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
1 tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100
con un rótulo en la ranura 1 como ECOM100 K0. El resto de los IBoxes ECxxxx se refieren
2 a este módulo como K0. Si usted necesita cambiar el módulo en la base a una ranura
diferente, se necesita solamente cambiar este IBox. V400 es usado como registro global de
estado del resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100.
3 V401 es usado para coordinar y enclavar la lógica en todo los otros IBoxes ECxxxx usando
este módulo específico ECOM100. V402-V502 es un campo común almacenador
4 intermediario de 130 bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo
específico ECOM100.
5
6
7
8
9 Renglón 2: Siempre que se empuje una parada de emergencia, asegúrese que el presidente de la
compania reciba copias de todos los e-mails que son enviados.
10 La instrucción IBox de configuración de una e-mail de ECOM100 le permite definir o cambiar
los datos de configuración de SMTP para uso con e-mail almacenados en el módulo
ECOM100.
11
12
13
14
A
B
C
D
Ejemplo de ECEMSUP
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
1 tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
2 módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
3 usado para coordinatar y enclavar la lógica en todo los otros IBoxes ECxxxx usando este módulo
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
4 bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100.
5
6
7
8
9
(Este ejemplo continúa en la próxima página)
10
11
12
13
14
A
B
C
D
Ejemplo de ECIPSUP
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinar y enclavar la lógica en todo los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
Renglón 2: En el segundo barrido, configure todos los parámetros de TCP/IP en el ECOM100:
8
IP Address: 192.168. 12.100
Subnet Mask: 255.255. 0. 0
9
Dirección de Gateway: 192.168. 0. 1
La instrucción ECIPSUP es accionada en una transición de OFF para ON, (similar a una
10
entrada de un contador). El comando de escribir los parámetros de la configuración de TCP/IP
será enviado al módulo ECOM100 siempre que el flujo de energía en el IBox vaya de 11
APAGADO a ENCENDIDO.
Si funciona correctamente, se activa el bit C102. Si hay una falla, se activa C103. Si hay una 12
falla, usted puede mirar V2001 para ver el código de error específico.
13
14
A
B
C
D
8 Parámetros de ECRDDES
9 • ECOM100#: éste es un número lógico asociado a este módulo específico ECOM100 en la ranura
especificada. El resto de los IBoxes ECxxxx que necesitan referirse a este módulo ECOM100 deben
referirse a este número lógico cified slot. All other ECxxxx IBoxes that need to reference this
10 ECOM100 module must reference this logical number
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
11 • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
12 • Descripción: Especifica la dirección de memoria V para el almacemiento donde el nombre del módulo
será colocado
13 • Num Char: Especifica la cantidad de caracteres (bytes) a ser leídos desde el campo Descripción del
módulo ECOM100
Ejemplo de ECRDDES
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulo como K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinatar y enclavar la lógica en todo los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
8
Renglón 2: En el segundo barrido , lee la descripción del módulo del módulo ECOM100 y la
almacena en las memorias V3000 hasta V3007 (16 caracteres). Este texto se puede exhibir en 9
una interface de operador, por ejemplo.
La instrucción ECRDDES es activada en una transición de OFF para ON, (similar a una 10
entrada de un contador). El comando de leer la descripción del módulo será enviado al módulo
ECOM100 siempre que el flujo de energía en el IBox vaya de APAGADO a ENCENDIDO. 11
Si funciona correctamente, se activa el bit C100. Si hay una falla, se activa C101.
12
13
14
A
B
C
D
8 Parámetros de ECRDGWA
• ECOM100#: éste es un número lógico asociado a este módulo específico ECOM100 en la ranura
especificada. El resto de los IBoxes ECxxxx que necesitan referirse a este módulo ECOM100 deben
9 referirse a este número lógico cified slot. All other ECxxxx IBoxes that need to reference this
ECOM100 module must reference this logical number
10 • Workspace: Especifica una localización de memoria V que es usada por la instrucción
• Success: Especifica un bit que se activa cuando la petición se completa con éxito
11 • Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
• Gateway IP Addr: Especifica la dirección inicial donde la dirección del Gateway del módulo
12 ECOM100 será colocada en 4 localizaciones consecutivas de memoria V
13
Parámetro Rango del DL06
14 ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
K0-255
Vea el mapa de memoria V del DL06 - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
A Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
Gateway IP Address (4 Words) . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
B
C
D
Ejemplo de ECRDGWA
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulo como K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinatar y enclavar la lógica en todo los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
8
Renglón 2: En el segundo barrido , lee la dirección Gateway del módulo ECOM100 y la
almacena en V3000 hasta V3003 (4 númerosdecimales). Esta información se puede exhibir en 9
una interface de operador, por ejemplo.
La instrucción ECRDGWA es activada por una transición de OFF para ON, (similar a la
entrada de un contador). El comando de leer la dirección de Gateway del módulo será enviado
10
al módulo ECOM100 siempre que el flujo de energía en el IBox vaya de APAGADO a
ENCENDIDO. 11
Si funciona correctamente, se activa el bit C100. Si hay una falla, se activa C101.
12
13
14
A
B
C
D
8 Parámetros de ECRDIP
• ECOM100#: éste es un número lógico asociado a este módulo específico ECOM100 en la ranura
especificada. El resto de los IBoxes ECxxxx que necesitan referirse a este módulo ECOM100 deben
9 referirse a este número lógico cified slot.
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
10 • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
11 • IP Address: Especifica la dirección inicial donde será colocada la dirección de IP del módulo
ECOM100, en 4 localizaciones consecutivas de memoria V
12
Parámetro Rango del DL06
13 ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
K0-255
Vea el mapa de memoria V del DL06 - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
14 Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
IP Address (4 Words) . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
A
B
C
D
Ejemplo de ECRDIP
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinar y enclavar la lógica en todo los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
8
Renglón 2: En el segundo barrido, lee la dirección IP del módulo ECOM100 y la almacena en 9
V3000 hasta V3003 (4 númerosdecimales). Esta información se puede exhibir en una interface
de operador, por ejemplo.
La instrucción ECRDIP es activada por una transición de OFF para ON, (similar a la entrada
10
de un contador). El comando de leer la dirección IP del módulo será enviado al módulo
ECOM100 siempre que el flujo de energía en el IBox vaya de APAGADO a ENCENDIDO. 11
Si funciona correctamente, se activa el bit C100. Si hay una falla, se activa el bit C101.
12
13
14
A
B
C
D
8 Parámetros de ECRDMID
• ECOM100#: Éste es un número lógico asociado a este módulo específico ECOM100 en la ranura
especificada. El resto de los IBoxes ECxxxx que necesitan referirse a este módulo ECOM100 deben
9 referirse a este número lógico
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
10 • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
11 • Module ID: Especifica la localización donde será colocada la identificacion Module ID (decimal) del
módulo ECOM100
12
13 Parámetro Rango del DL06
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
14 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
A Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Module ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Vea el mapa de memoria DL06
Vea el mapa de memoria V del DL06 - Data Words
B
C
D
Ejemplo de ECRDMID
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinar y enclavar la lógica en todos los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
8
Renglón 2: En el segundo barrido, lee la identificación ID del módulo ECOM100 y la
almacena en V2000. Esta información se puede exhibir en una interface de operador, por 9
ejemplo.
La instrucción ECRDMID es activada por una transición de OFF para ON, (similar a la
entrada de un contador). El comando de leer la identificación ID del módulo será enviado al
10
módulo ECOM100 siempre que el flujo de energía en el IBox vaya de APAGADO a
ENCENDIDO. 11
Si funciona correctamente, se activa el bit C100. Si hay una falla, se activa el bir C101.
12
13
14
A
B
C
D
8 Parámetros de ECRDNAM
• ECOM100#: éste es un número lógico asociado a este módulo específico ECOM100 en la ranura
especificada. El resto de los IBoxes ECxxxx que necesitan referirse a este módulo ECOM100 deben
9 referirse a este número lógico
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
10 • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
11 • Module Name: Especifica la localización inicial del almacenador intermediario en donde será
almacenado el nombre del módulo ECOM100
12 • Num Chars: Especifica la cantidad de caracteres (bytes) a ser leídos desde el campo Module Name del
módulo ECOM100
13 Parámetro Rango del DL06
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
14 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
A Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Module Name . . . . . . . . . . . . . . . . . . . . . . . . . . V
Vea el mapa de memoria DL06
Vea el mapa de memoria V del DL06 - Data Words
Num Chars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K1-128
B
C
D
Ejemplo de ECRDNAM
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinar y enclavar la lógica en todos los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
8
Renglón 2: En el segundo barrido, lee el Module Name (Nombre del módulo) de ECOM100
y la almacena en V3000 hasta V3003 (8 caracteres). Esta información se puede exhibir en una 9
interface de operador, por ejemplo.
La instrucción ECRDNAM es activada por una transición de OFF para ON, (similar a la
entrada de un contador). El comando de leer el nombre del módulo será enviado desde el
10
módulo ECOM100 siempre que el flujo de energía en el IBox vaya de APAGADO a
ENCENDIDO. 11
Si funciona correctamente, se activa el bit C100. Si hay una falla, se activa el bit C101.
12
13
14
A
B
C
D
8 Parámetros de ECRDSNM
• ECOM100#: éste es un número lógico asociado a este módulo específico ECOM100 en la ranura
especificada. El resto de los IBoxes ECxxxx que necesitan referirse a este módulo ECOM100 deben
9 referirse a este número lógico
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
10 • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxitoy completed
11 • Subnet Mask: Especifica la dirección inicial donde será almacenada la Subnet Mask del módulo
ECOM100 en 4 localizaciones de memoria V consecutivas
12
13 Parámetro Rango del DL06
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
14 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
A Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Subnet Mask (4 Words) . . . . . . . . . . . . . . . . . . V
Vea el mapa de memoria DL06
Vea el mapa de memoria V del DL06 - Data Words
B
C
D
Ejemplo de ECRDSNM
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinar y enclavar la lógica en todos los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
8
Renglón 2: En el segundo barrido, lee el Subnet Mask desde el módulo ECOM100 y la
almacena en V3000 hasta V3003 (4 números decimales). Esta información se puede exhibir en 9
una interface de operador, por ejemplo.
La instrucción ECRDSNM es activada por una transición de OFF para ON, (similar a la
entrada de un contador). El comando de leer el Subnet Mask será enviado al módulo
10
ECOM100 siempre que el flujo de energía en el IBox vaya de APAGADO a ENCENDIDO.
Si funciona correctamente, se activa el bit C100. Si hay una falla, se activa C101.
11
12
13
14
A
B
C
D
Ejemplo de ECWRDES
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinatar y enclavar la lógica en todo los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
Renglón 2: En el segundo barrido del PLC, esta instrucción define la descripción del módulo
8
(Module Descripción) ECOM100. Típicamete, this is done using NetEdit, but this IBox allows
you to configure the module descripción in the ECOM100 using your ladder program. 9
La instrucción EWRDES es activada por una transición de OFF para ON, (similar a la entrada
de un contador). El comando de escribir la descripción del módulo será enviado al módulo
ECOM100 siempre que el flujo de energía en el IBox vaya de APAGADO a ENCENDIDO.
10
Si funciona correctamente, se activa el bit C100. Si hay una falla, se activa el bit C101. Si hay
una falla, usted puede mirar V2001 para ver el código de error específico.
11
12
13
14
A
B
C
D
11 Parámetros de ECWRGWA
• ECOM100#: éste es un número lógico asociado a este módulo específico ECOM100 en la ranura
12 especificada. El resto de los IBoxes ECxxxx que necesitan referirse a este módulo ECOM100 deben
referirse a este número lógico cified slot. All other ECxxxx IBoxes that need to reference this
13 ECOM100 module must reference this logical number
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
14 • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
A • Error Code: Especifica la localización en donde será escrito el código de error
• Gateway Address: Especifica la dirección de Gateway que será escrita el módulo
B Parámetro Rango del DL06
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
C Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Vea el mapa de memoria V del DL06 - Data Words
Vea el mapa de memoria DL06
Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
D Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
Gateway Address . . . . . . . . . . . . . . . . . . . . . . . . 0.0.0.1. to 255.255.255.254
Ejemplo de ECWRGWA
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinar y enclavar la lógica en todos los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
Renglón 2: En el segundo barrido del PLC, esta instrucción asigna la dirección de Gateway del
8
módulo ECOM100 a 192.168.0.1.
La instrucción ECWRGWA es activada por una transición de OFF para ON, (similar a la 9
entrada de un contador). El comando de escribir la dirección de Gateway será enviado al
módulo ECOM100 siempre que el flujo de energía en el IBox vaya de APAGADO a
ENCENDIDO.
10
Si funciona correctamente, se activa el bit C100. Si hay una falla, se activa el bit C101. Si hay
una falla, usted puede mirar V2001 para ver el código de error específico.
11
Para configurar todos los parámetros de TCP/IP al módulo ECOM100 en una instrucción, vea
el IBox ECIPSUP.
12
13
14
A
B
C
D
11 Parámetros de ECWRIP
• ECOM100#: éste es un número lógico asociado a este módulo específico ECOM100 en la ranura
especificada. El resto de los IBoxes ECxxxx que necesitan referirse a este módulo ECOM100 deben
12 referirse a este número lógico
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
13 • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
14 • Error Code: Especifica la localización en donde será escrito el código de error
• IP Address: Especifica la dirección IP que será escrita al módulo
A
B Parámetro Rango del DL06
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
C Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Vea el mapa de memoria V del DL06 - Data Words
Vea el mapa de memoria DL06
Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
D Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
IP Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0.0.0.1. to 255.255.255.254
Ejemplo de ECWRIP
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinar y enclavar la lógica en todos los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
8
Renglón 2: En el segundo barrido del PLC, esta instrucción asigna la dirección IP Address del
módulo ECOM100 a 192.168.12.100. 9
La instrucción ECWRIP es activada por una transición de OFF para ON, (similar a la entrada
de un contador). El comando de escribir la dirección de IP será enviado al módulo ECOM100
siempre que el flujo de energía en el IBox vaya de APAGADO a ENCENDIDO.
10
Si funciona correctamente, se activa el bit C100. Si hay una falla, se activa el bit C101. Si hay
una falla, usted puede mirar V2001 para ver el código de error específico.
11
Para configurar todos los parámetros de TCP/IP de ECOM100 en una instrucción, vea el IBox
ECIPSUP.
12
13
14
A
B
C
D
D Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Vea el mapa de memoria DL06
Vea el mapa de memoria V del DL06 - Data Words
Module ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K0-65535
Ejemplo de ECWRMID
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinar y enclavar la lógica en todos los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
8
Renglón 2: En el segundo barrido del PLC, esta instrucción asigna la identificación Module ID
del módulo ECOM100. Típicamente esto es hecho usando NetEdit3, pero este IBox le permite 9
configurar the module ID del ECOM100 usando el programa ladder.
La instrucción EWRMID es activada por una transición de OFF para ON, (similar a la entrada
de un contador). El comando de escribir el module ID será enviado al módulo ECOM100
10
siempre que el flujo de energía en el IBox vaya de APAGADO a ENCENDIDO.
Si funciona correctamente, se activa el bit C100. Si hay una falla, se activa el bit C101. Si hay
11
una falla, usted puede mirar V2001 para ver el código de error específico.
12
13
14
A
B
C
D
11 Parámetros de ECWRNAM
• ECOM100#: Éste es un número lógico asociado a este módulo específico ECOM100 en la ranura
12 especificada. El resto de los IBoxes ECxxxx que necesitan referirse a este módulo ECOM100 deben
referirse a este número lógico
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
13 • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
14 • Error Code: Especifica la localización en donde será escrito el código de error
• Module Name: Especifica el nombre que será escrita al módulo
A
Parámetro Rango del DL06
B ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
C Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Vea el mapa de memoria DL06
Vea el mapa de memoria DL06
Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
D Module Name . . . . . . . . . . . . . . . . . . . . . . . . . . . Text
Ejemplo de ECWRNAM
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinatar y enclavar la lógica en todo los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
8
Renglón 2: En el segundo barrido del PLC, esta instrucción asigna el nombre del módulo
ECOM100. Típicamente esto es hecho usando NetEdit3, pero este IBox le permite configurar 9
the nombre del ECOM100 usando el programa ladder.
La instrucción EWRNAM es activada por una transición de OFF para ON, (similar a la entrada
de un contador). El comando de escribir el nombre será enviado al módulo ECOM100 siempre
10
que el flujo de energía en el IBox vaya de APAGADO a ENCENDIDO.
Si funciona correctamente, se activa el bit C100. Si hay una falla, usted puede mirar V2001 para
11
ver el código de error específico.
12
13
14
A
B
C
D
11 Parámetros de ECWRSNM
• ECOM100#: éste es un número lógico asociado a este módulo específico ECOM100 en la ranura
especificada. El resto de los IBoxes ECxxxx que necesitan referirse a este módulo ECOM100 deben
12 referirse a este número lógico
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
13 • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
14 • Error Code: Especifica la localización en donde será escrito el código de error
• Subnet Mask: Especifica la Subnet Mask que será escrita al módulo
A
B Parámetro
ECOM100# . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Rango del DL06
K0-255
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
C Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
D Error Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Subnet Mask . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vea el mapa de memoria V del DL06 - Data Words
Masked IP Address
Ejemplo de ECWRSNM
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinatar y enclavar la lógica en todo los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
Renglón 2: En el segundo barrido del PLC, esta instrucción asigna el Subnet Mask del módulo
8
ECOM100 a 255.255.0.0
La instrucción ECWRSNM es activada por una transición de OFF para ON, (similar a la 9
entrada de un contador). El comando de escribir el Subnet Mask será enviado al módulo
ECOM100 siempre que el flujo de energía en el IBox vaya de APAGADO a ENCENDIDO. 10
Si funciona correctamente, se activa el bit C100. Si hay una falla, usted puede mirar V2001 para
ver el código de error específico. 11
Para configurar todos los parámetros de TCP/IP de ECOM100 en una instrucción, vea el IBox
ECIPSUPP. 12
13
14
A
B
C
D
Ejemplo de ECRX
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con 1
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
2
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
usado para coordinar y enclavar la lógica en todos los otros IBoxes ECxxxx usando este módulo 3
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100. 4
5
6
7
8
9
(Este ejemplo continúa en la próxima página)
10
11
12
13
14
A
B
C
D
9
10
11
12
13
14
A
B
C
D
Ejemplo de ECWX
Renglón 1: Esta instrucción es responsable por la coordinación y enclavamiento de todos los
1 tipos de IBoxes ECOM100 para un módulo específico ECOM100. Marque el ECOM100 con
un rótulo en la ranura 1 como ECOM100K0. El resto de los IBoxes ECxxxx se refieren a este
2 módulocomo K0. Si usted necesita cambiar el módulo en la base a una ranura diferente, se
necesita solamente cambiar este IBox. V400 es usado como registro global de estado del
resultado para otros IBoxes ECxxxx que usan este módulo específico ECOM100. V401 es
3 usado para coordinar y enclavar la lógica en todo los otros IBoxes ECxxxx usando este módulo
específico ECOM100. V402-V502 es un campo común almacenador intermediario de 130
4 bytes disponibles para uso por otros IBoxes ECxxxx usando este módulo específico ECOM100.
5
6
7
8
9
(Este ejemplo continúa en la próxima página)
10
11
12
13
14
A
B
C
D
11 Parámetros de NETCFG
• Network#: Especifica un único número para cada red de ECOM(100) o de DCM a ser usado
12 • CPU Port or Slot: Especifica el número de acceso de la CPU o el número de la ranura
DCM/ECOM(100) usado
13 • Workspace: Especifica una localización de memoria V que es usada por la instrucción
B
C
D
Ejemplo de NETCFG
Esta instrucción coordina toda la interacción con otras instrucciones IBox (NETRX/NETWX)
en al red. Usted debe tener un IBox de configuración de red para cada red de puerto serial, del 1
módulo de DCM, o la red original del módulo de ECOM en su sistema. Las instrucciones IBox
de configuración deben estar en la parte superior de su programa y debe ser ejecutadas en cada
barrido.
2
Este IBox define la red # K0 estando ubicada en el puerto serial local #2 (KF2) de la CPU. Para
los puertos seriales locales de la CPU o los módulos de DCM/ECOM, use el mismo valor que
3
usted utilizaría en el byte más significativo de la primera instrucción del LD en un renglón
normal de RX/WX de referirse al puerto o al módulo. Cualquiera de los IBoxes NETRX o 4
NETWX que necesite referirse a esta red específica incorporaría K0 para el parámetro de
número de red. 5
El registro del espacio de trabajo es usado para mantener la información del estado sobre el
puerto o el módulo, junto con compartir apropiado y enclavamientos con el otros IBoxes del
tipo NETRX y NETWX en el programa.Este registro de memoria de V no debe ser usado en
6
cualquier otro lugar en el programa entero.
7
8
9
10
11
12
13
14
A
B
C
D
9 Parámetros de NETRX
• Network#: Especifica el número de red (puertos de la CPU, DCM, ECOM) definido por la
10 instrucción NETCFG
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
11 • Slave ID: Especifica el PLC esclavo que será interrogado por la instrucción
• From Slave Element (Src): Especifica la dirección del PLC esclavo de donde serán leídos los datos
12 • Number of Bytes: Especifica la cantidad de bytes a ser leídos desde el PLC esclavo
• To Master Element (Dest): Especifica la localización de memoria en el PLC maestro donde serán
13 colocados los datos del esclavo
• Success: Especifica un bit que se activa cuando la petición se completa con éxito
14 • Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
C Number of Bytes . . . . . . . . . . . . . . . . . . . . . . . K
To Master Element (Dest) . . . . . . . . . . . . . . . . V
K1-128
Vea el mapa de memoria V del DL06 - Data Words
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
D Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
Ejemplo de NETRX
Esta instrucción coordina toda la interacción con otras instrucciones IBox (NETRX/NETWX)
en al red. Usted debe tener un IBox de configuración de red para cada red de puerto serial, del 1
módulo de DCM, o la red original del módulo de ECOM en su sistema. Las instrucciones IBox
de configuración deben estar en la parte superior de su programa y debe ser ejecutadas en cada
barrido.
2
Este IBox define la red # K0 estando ubicada en el puerto serial local #2 (KF2) de la CPU. Para
los puertos seriales locales de la CPU o los módulos de DCM/ECOM, use el mismo valor que
3
usted utilizaría en el byte más significativo de la primera instrucción del LD en un renglón
normal de RX/WX de referirse al puerto o al módulo. Cualquiera de los IBoxes NETRX o 4
NETWX que necesite referirse a esta red específica incorporaría K0 para el parámetro de
número de red. 5
El registro del espacio de trabajo es usado para mantener la información del estado sobre el
puerto o el módulo, junto con compartir apropiado y enclavamientos con el otros IBoxes del
tipo NETRX y NETWX en el programa.Este registro de memoria de V no debe ser usado en
6
cualquier otro lugar en el programa entero.
7
8
9
10
11
(Este ejemplo continúa en la próxima página)
12
13
14
A
B
C
D
9
10
11
12
13
14
A
B
C
D
Ejemplo de NETWX
Esta instrucción coordina toda la interacción con otras instrucciones IBox (NETRX/NETWX)
1 en al red. Usted debe tener un IBox de configuración de red para cada red de puerto serial, del
módulo de DCM, o la red original del módulo de ECOM en su sistema. Las instrucciones IBox
2 de configuración deben estar en la parte superior de su programa y debe ser ejecutadas en cada
barrido.
3 Este IBox define la red # K0 estando ubicada en el puerto serial local #2 (KF2) de la CPU. Para
los puertos seriales locales de la CPU o los módulos de DCM/ECOM, use el mismo valor que
usted utilizaría en el byte más significativo de la primera instrucción del LD en un renglón
4 normal de RX/WX de referirse al puerto o al módulo. Cualquiera de los IBoxes NETRX o
NETWX que necesite referirse a esta red específica incorporaría K0 para el parámetro de
5 número de red.
El registro del espacio de trabajo es usado para mantener la información del estado sobre el
6 puerto o el módulo, junto con compartir apropiado y enclavamientos con el otros IBoxes del
tipo NETRX y NETWX en el programa.Este registro de memoria de V no debe ser usado en
cualquier otro lugar en el programa entero.
7
8
9
10
11
12 (Este ejemplo continúa en la próxima página)
13
14
A
B
C
D
10 Parámetros de CTRIO
11 • CTRIO#: Especifica un módulo CTRIO con un número definido por el usuario
• Slot: Especifica which PLC option slot the CTRIO module occupies
13 • Input: Esto necesita ser configurado al mismo registro de memoria V que se especifica en CTRIO
Workbench que dirección que comienza para las entradas, para este CTRIO único.
• Output: Esto necesita ser configurado al mismo registro de memoria V que se especifica en CTRIO
14 Workbench como ‘Starting V address for outputs’ para este CTRIO único.
Ejemplo de CTRIO
Renglón 1: Este ejemplo configura el módulo H0-CTRIO en la ranura 2 de la bnase del PLC
DL06. Cada CTRIO en el sistema debe usar un I-box CTRIO diferente antes de que otros I 1
Boxes CTRxxxx puedan ser usados. El módulo H0-CTRIO ha sido configurado para usa
V2000 hasta V2025 en sus datos de entrada, y V2030 hasta V2061 for para sus datos de salidas. 2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
9 Parámetros de CTRAPT
• CTRIO#: Especifica un módulo CTRIO con un número definido por el usuario (Vea CTRIO
10 Config)
• Output#: Especifica una salidadel módulo H0-CTRIO a ser usada por la instrucción
11 • Entry Type: Especifica un tipo de entrada a ser agregado al finalde una tabla de valores predefinidos
• Pulse Time: Especifica un tiempo de un pulso para los tipos de entradas Pulse On yPulse Off
12 • Preset Count: Especifica un valor inicial de conteo en que comenzará después de un Reset
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
13 • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
14 Parámetro Rango del DL06
CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
A Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Entry Type . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K
K0-3
K0-5; Vea el mapa de memoria V del DL06 - Data Words
Ejemplo de CTRADPT
Renglón 1: Este ejemplo considera instalar el módulo H0-CTRIO en la ranura 2 del DL06.
Cada H0-CTRIO en el sistema necesitará un IBox separada de CTRIO antes de que algún IBox 1
de CTRxxxx pueda ser usado. El módulo H0-CTRIO se ha configurado para usar V2000 hasta
V2025 para los datos de entradas y V2030 hasta V2061 para sus datos de salidas. 2
3
4
5
Renglón 2: Este renglón es es un método de muestreo para permitir el comando de CTRADPT. 6
Se usa un bit C para permitir que el programador controle un comando con Data View para
propósitos de prueba. 7
Al activar C0 causará que la instrucción CTRADPT agregue una nueva tabla de valores
predefinidos en la salida número 0 en el H0-CTRIO en la ranura 2. El nuevo valor predefinido
serán un comando de RESET (tipo de entrada K1=Reset), y el tiempo de pulso es dejado en
8
cero pues el tipo del reset no utiliza esto, y la cuenta en la cual él se reseteará será 20.
El procedimiento de funcionamiento para este ejemplo es cargar el archivo de
9
CTRADPT_ex1.cwb a su H0-CTRIO, luego introducir el código mostrado aquí, cambiar al
modo RUN, permitir la salida número 0 activando el bit C2 en Data View, gire le encoder 10
conectado al módulo H0-CTRIO a un valor superior a 10 conteos y la salida y el LED de
salida 0 se encenderá y permanercerá así en todos los conteos que estén arriba de 10. Ahora
resetee el contador con el bit C1, habilite C0 para executar la instrucción CTRADPT para dar
11
un reset a la salida 0 cuando el conteo llegue a 20, encienda el bit C2 para activar la salida 0, y
luego mueva el encoder encoder a un valor mas grande que 10+ (La salida 0 debe encenderse) 12
y luego continúe hasta que pase de 20+ (la salida 0 debe apagarse).
13
14
A
B
C
D
Ejemplo de CTRCLRT
Renglón 1:Este ejemplo instala el módulo H0-CTRIO en la ranura 2 del PLC. Cada H0-
1 CTRIO en el sistema necesitará un IBox de CTRIO separado antes de que pueda ser usado
algun otro IBox CTRxxxx. El módulo H0-CTRIO se ha configurado para utilizar V2000 hasta
2 V2025 para sus datos de entradas y V2030 con V2061 para sus datos de salidas.
3
4
5
6 Renglón 2: Este renglón es un método para permitir el comando de CTRCLRT. Se usa un bit
C para permitir que el programador controle el comando desde Data View para propósitos de
7 prueba.
Activando C0 causará que la instrucción de CTRCLRT limpie la tabla de valores predefinidos
8 en la salida 0 en el H0-CTRIO en la ranura 2 .
El procedimiento de funcionamiento para este ejemplo es cargar el archivo de
9 CTRCLRT_ex1.cwb a su módulo H0-CTRIO, luego introducir el código mostrado aquí,
cambio al modo RUN, habilitar la salida 0 activando el bit C2 en Data View, gire el encoder
conectado al módulo H0-CTRIO para obtener un valor mas grade que 10 y el LED de la salida
10 0 se encenderá y permanecerá encendida hasta que el conteo llegue a sobre 20, y en ese
momento se apagará. Luego resetee el contador con el bit C1, habilite el bit C0 para ejecutat la
11 instrucción CTRCLRT para hacer cero la tabla de valores predefinidos, active el bit C2 para
habilitar la salida 0, y luego gire el encoder a un valor de conteo sobre 10+ (La salida 0 NO
DEBE encenderse).
12
13
14
A
B
C
D
11 Parámetros de CTREDPT
• CTRIO#: Especifica un módulo H0-CTRIO con un número definido por el usuario (Vea CTRIO
Config)
12 • Output#: Especifica una salida del módulo H0-CTRIO a ser usado by the instrucción
• Table#: Especifica un número de tabla en la cual será modificada un dato
13 • Entry#: Especifica la localización del dato en la tabla de valores predefinidos a ser modificada
• Entry Type: Especifica un tipo de entrada a ser agregado durante la modificación
14 • Pulse Time: Especifica un pulse time para tipos de entradas Pulse On y Pulse Off
A • Preset Count: Especifica un valor inicial de conteo para comenzar después de un Reset
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
B • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxitosuccessfully
C
D
9
10
11
12
13
14
A
B
C
(Este ejemplo continúa en la próxima página)
D
Ejemplo de CTREDPT(continuado)
Renglón 3: Este renglón le permite al programador que resetee el contador desde DirectSOFT.
Resetea contador
1
2
3
4
Renglón 4: Este renglón le permite al programador que habilite la salida 0 desde DirectSOFT.
Activa la salida 0 5
6
7
8
9
10
11
12
13
14
A
B
C
D
4 Tipo de entrada:
5 K0: Set
K1: Reset
6 K2: Pulse On (uses Pulse Time)
K3: Pulse Off (uses Pulse Time)
7 K4: Toggle
K5: Reset Count
8 Observe que el parámetro Pulse Time no tiene importancia para algunos tipos de entradas.
El registro Workspace (espacio de trabajo) es para el uso interno por esta instrucción de IBox y
9 NO DEBE ser usado en cualquier otro lugar en su programa.
10 Parámetros de CTREDRL
• CTRIO#: Especifica un módulo CTRIO con un número definido por el usuario (Vea CTRIO
11 Config)
• Output#: Especifica una salida del módulo H0-CTRIO a ser usada por la instrucción
12 • Table#: Especifica un Table number of which an Entry is to be edited
• Entry#: Especifica un Entry location in the Preset Table to be edited
13 • Entry Type: Especifica el tipo de entrada a ser agregado durante la modificación
• Pulse Time: Especifica un tiempo del pulso para los tipos de entradas Pulse On y Pulse Off
14 • Preset Count: Especifica un valor inicial de conteo al comenzar después de un Reset
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
A • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
B
C
D
10 Parámetros de CTRINPT
• CTRIO#: Especifica un módulo CTRIO con un número definido por el usuario(Vea CTRIO
11 Config)
• Preset Count: Especifica un valor inicial de conteo al comenzar después de un Reset
12 • Output#: Especifica una salida del módulo H0-CTRIO a ser usada por la instrucción
• Entry Type: Especifica el tipo de entrada a ser agregado durante la modificación
13 • Pulse Time: Especifica un tiempo del pulso para los tipos de entradas Pulse On y Pulse Off
• Preset Count: Especifica un valor inicial de conteo al comenzar después de un Reset
14 • Workspace: Especifica una localización de memoria V que es usada por la instrucción
• Success: Especifica un bit que se activa cuando la petición se completa con éxito
A • Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
B
C
D
Ejemplo de CTRINPT(continuado)
Renglón 2: Este renglón es un método para permitir usar la instrucción CTRINPT. Se usa un
1 bit C para permitir que el programador controle la instrucción desde Data View para propósitos
de prueba.
2 Al activar el bit C0 causará que la instrucción CTRINPT cree una tabla de valores predefinidos
pero no como archivo y la usará con la salida 0. En este caso, el valor predefinido será un SET
3 cuando el conteo llegue a 15 para la salida 0.
El procedimiento de funcionamiento para este ejemplo es cargar el archivo de
4 CTRINPT_ex1.cwb al módulo H0-CTRIO, luego colocar el código mostrado aquí, cambie el
modo a RUN, luego habilite la salida 0 activando el bit C2 en Data View, luego gire el encoder
conectado al módulo H0-CTRIO para obtener una valor sobre 15 y el LED de la salida 0 no
5 se encenderá. Luego haga un reset del contador con el bit C1, habilite el bit C0 para ejecutar
la instrucción CTRINPT para crear un único valor predefinido para hacer un set an contar 15,
6 y luego gire el encoder a un valor sobre 15+ (La salida 0 debería activarse).
Observe que no es necesario recargar el archivo separadamente. Sin embargo, la instrucción
7 puede cambiar un valor por vez.
8
9
10
11
12 (Este ejemplo continúa en la próxima página)
13
14
A
B
C
D
A
B
C
D
Ejemplo de CTRINTR(continuado)
Renglón 2: Este renglón es un método para permitir usar la instrucción CTRINTR. Se usa un
1 bit C para permitir que el programador controle la instrucción desde Data View para propósitos
de prueba.
2 Al activar el bit C0 causará que la instrucción CTRINTR cree una tabla única de valores
predefinidos pero no como archivo y la usará con la salida 0. En este caso, el valor predefinido
3 será un RESET cuando el conteo llegue a 25 para la salida 0.
El procedimiento de funcionamiento para este ejemplo es cargar el archivo de
4 CTRINTR_ex1.cwb al módulo H0-CTRIO, luego coloque el código mostrado aquí, cambie
el modo a RUN, luego habilite la salida 0 activando el bit C2 en Data View, luego gire el
encoder conectado al módulo H0-CTRIO para obtener una valor sobre 1o y el LED de la salida
5 0 se encenderá. Luego active el bit C0 para ejecutar la instrucción CTRINTR y luego gire el
encoder a un valor sobre 25+ (La salida 0 debería activarse).
6 Observe que no es necesario recargar el archivo separadamente. Sin embargo, la instrucción
puede cambiar un valor por vez.
7
8
9
10
11
12 (Este ejemplo continúa en la próxima página)
13
14
A
B
C
D
7 Parámetros de CTRLDPR
• CTRIO#: Especifica un módulo CTRIO con un número definido por el usuario(Vea CTRIO
8 Config)
• Output#: Especifica una salioda de CTRIO a ser usada por la instrucción
9 • File#: Especifica un número de archivo de CTRIO a ser cargado
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
10 • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
11 Parámetro Rango del DL06
CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-255
12 Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K K0-3
File# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V,K K0-255; Vea el mapa de memoria V del DL06 - Data Words
13 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Vea el mapa de memoria V del DL06 - Data Words
Vea el mapa de memoria DL06
Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
14
A
B
C
D
Ejemplo de CTRLDPR
Renglón 1: Este ejemplo instala el módulo H0-CTRIO en la ranura 2 de la base del PLC. Cada
H0-CTRIO en el sistema necesitará un IBox de CTRIO separado antes de que pueda ser usado 1
cualquier IBox de CTRxxxx. El módulo H0-CTRIO se ha configurado para usar V2000 hasta
V2025 para sus datos de entradas y V2030 hasta V2061 para sus datos de salidas. 2
3
4
5
6
Renglón 2: Este IBox de carga el perfil de CTRIO cargará el archivo 1 en la memoria de trabajo
de la salida 0 en el módulo H0-CTRIO 1. Este programa de ejemplo requiere que Ud. cargue 7
CTRLDPR_IBox.cwb en su módulo H0-CTRIO.
8
9
10
11
12
(Este ejemplo continúa en la próxima página)
13
14
A
B
C
D
Ejemplo de CTRLDPR(continuado)
Renglón 3: Si el archivo es cargado con éxito, active el bit C1.
1
Exito de CTRLDPR
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
Ejemplo de CTRRDER
Este ejemplo instala el módulo H0-CTRIO en la ranura 2 de la base del PLC. Cada H0-
1 CTRIO en el sistema necesitará un IBox de CTRIO separado antes de que pueda ser usado
cualquier IBox de CTRxxxx. El módulo H0-CTRIO se ha configurado para usar V2000 hasta
2 V2025 para sus datos de entradas y V2030 hasta V2061 para sus datos de salidas.
3
4
5
6
Renglón 2: Este IBox que lee el código de error desde CTRIO leerá información detallada del
7 error del módulo CTRIO número 1. Este programa ejemplo requiere que usted cargue
CTRRDER_IBox.cwb en el módulo H0-CTRIO.
8
9
10
11
12
13
14
A
B
C
D
3 Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B
Vea el mapa de memoria V del DL06 - Data Words
Vea el mapa de memoria DL06
Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
4 Ejemplo de CTRRTLM
Renglón 1: Este ejemplo instala el módulo H0-CTRIO en la ranura 2 de la base del PLC. Cada
5 H0-CTRIO en el sistema necesitará un IBox de CTRIO separado antes de que pueda ser usado
cualquier IBox de CTRxxxx. El módulo H0-CTRIO se ha configurado para usar V2000 hasta
6 V2025 para sus datos de entradas y V2030 hasta V2061 para sus datos de salidas.
7
8
9
10
Renglón 2: Este IBox de CTRIO instala en la salida 0 en el módulo H0-CTRIO número 1 el
11 hacer salir pulsos en una frecuencia de 1000 Hertz hasta que se llegue al Límite 0. Este
programa ejemplo requiere que usted cargue CTRRTLM_IBox.cwb en su módulo Ho-CTRIO.
12
13
14
A
B
C
D
C
D
3
4
5
6
7
8 Renglón 3: Si los parámetros del modo Run to Postion sons ACEPTABLES, activa los bits de
dirección y de habilitar la salida.¶.
9
10
11
12
13
14
A
B
C
D
Ejemplo de CTRVELO
Renglón 1: Este ejemplo instala el módulo H0-CTRIO en la ranura 2 de la base del PLC. Cada
1 H0-CTRIO en el sistema necesitará un IBox de CTRIO separado antes de que pueda ser usado
cualquier IBox de CTRxxxx. El módulo H0-CTRIO se ha configurado para usar V2000 hasta
2 V2025 para sus datos de entradas y V2030 hasta V2061 para sus datos de salidas.
3
4
5
6
Renglón 2: Este IBox de modo de velocidad CTRIO configura la salida 0 en el módulo H0-
7 CTRIO número 1 para generar 10,000 pulsos a una frecuencia de 1000 Hz. Este ejemplo de
programa requiere que Ud. cargue CTRVELO_IBox.cwb en el módulo H0-CTRIO.
8
9
10
11
12
13 (Este ejemplo continúa en la próxima página)
14
A
B
C
D
7
Parámetros de CTRWFTR
8 • CTRIO#: Especifica un módulo CTRIO con un número definido por el usuario (Vea CTRIO
Config)
9 • Output#: Especifica una salida del módulo H0-CTRIO a ser usado por la instrucción
• Workspace: Especifica una localización de memoria V que es usada por la instrucción
10 • Success: Especifica un bit que se activa cuando la petición se completa con éxito
• Error: Especifica un bit que se activa cuando la requisición no se ha terminado con éxito
11
Parámetro Rango del DL06
12 CTRIO# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Output# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
K0-255
K0-3
Workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . V Vea el mapa de memoria V del DL06 - Data Words
13 Success . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
Error . . . . . . . . . . . . . . . . . . . . . . X,Y,C,GX,GY,B Vea el mapa de memoria DL06
14
A
B
C
D
Ejemplo de CTRWFTR
Renglón 1: Este ejemplo instala el módulo H0-CTRIO en la ranura 2 de la basedel PLC. Cada
H0-CTRIO en el sistema necesitará un IBox de CTRIO separado antes de que cualquier IBox 1
de CTRxxxx pueda ser usado para él. El H0-CTRIO se ha configurado para utilizar V2000
hasta V2025 para sus datos de entradas, y V2030 hasta V2061 para sus datos de salidas. 2
3
4
5
6
Renglón 2: Este IBox de CTRIO cambiará la entrada 0 en la tabla #2 para ser un RESET en
el conteo 3456. Este programa de ejemplo requiere que usted cargue CTRWFTR_IBox.cwb en 7
su módulo H0-CTRIO.
8
Trate de activar EDPT
9
10
11
12
13
(Este ejemplo continúa en la próxima página)
14
A
B
C
D