Documente Academic
Documente Profesional
Documente Cultură
SIMATIC S7 Direccionamiento 3
Operaciones de contaje 6
Manual de referencia
Operaciones aritméticas con
enteros 7
Este manual forma parte del paquete Operaciones aritméticas con
de documentación con la referencia: números en coma flotante 8
6ES7810-4CA04-8DR0
Operaciones de comparación 9
Operaciones de transferencia
y de conversión 10
Operaciones lógicas
con palabras 11
Operaciones
de desplazamiento y rotación 12
Operaciones con bloques de
datos 13
Operaciones de salto 14
Operaciones con bits
de la palabra de estado 15
Operaciones
de control del programa 16
10/98 Anexos
C79000-G7078-C564
Glosario, Indice alfabético
Edición 01
Consignas de Este manual contiene las informaciones necesarias para la seguridad personal así como para
seguridad para el la prevención de daños materiales. Las informaciones están puestas de relieve mediante seña-
usuario les de precaución. Las señales que figuran a continuación representan distintos grados de
peligro:
Peligro
! significa que, si no se adoptan las medidas preventivas adecuadas, se producirán la muerte,
lesiones corporales graves o daños materiales considerables.
Precaución
! significa que, si no se adoptan las medidas preventivas adecuadas, pueden producirse la
muerte, lesiones corporales graves o daños materiales considerables.
Cuidado
! significa que, si no se adoptan las medidas preventivas adecuadas, pueden producirse lesio-
nes corporales o daños materiales.
Nota
se trata de una información importante, sobre el producto o sobre una parte determinada del
manual, sobre la que se desea llamar particularmente la atención.
Precaución
! El equipo o los componentes del sistema solo se podrán utilizar para los casos de aplicación
previstos en el catálogo y en la descripción técnica, y solo en unión de los equipos y
componentes de proveniencia tercera recomendados y homologados por Siemens.
Marca registrada SIMATIC, SIMATIC HMI y SIMATIC NET son marcas registradas por SIEMENS AG.
Los restantes nombres y designaciones contenidos en el presente impreso pueden ser marcas registra-
das cuya utilización por terceros para sus fines pueden violar los derechos de los proprietarios.
Finalidad Este manual le servirá de ayuda al crear programas de usuario con el lenguaje de
del manual programación KOP.
Describe los elementos del lenguaje de programación KOP, así como su sintaxis y
sus funciones.
Destinatarios Este manual está dirigido a programadores de programas S7, operadores y personal
de mantenimiento que dispongan de conocimientos básicos sobre los autómatas pro-
gramables.
Ambito de validez El presente manual rige para el software de programación STEP 7 a partir de la ver-
sión 5.0.
Cumplimiento de KOP sigue los principios del lenguaje ”Esquema de contactos” (en inglés Ladder
la normativa Logic) fijados en la norma DIN EN-61131-3 (int. IEC 1131-3). En la tabla sobre
IEC 1131-3 cumplimiento de normas contenida en el archivo NORM.TAB de STEP 7 encontrará
información más detallada sobre el cumplimiento de las normas.
Servicios online El servicio SIMATIC de asistencia directa al cliente ofrece, a través de sus servicios
SIMATIC de online, información adicional acerca de los productos SIMATIC:
asistencia directa
al cliente S Información general actual:
– en Internet bajo http://www.ad.siemens.de/simatic
– consultando el número de fax 08765-93 02 77 95 00
S Información actual y downloads que pueden ser de ayuda al utilizar los
productos SIMATIC:
– en Internet bajo http://www.ad.siemens.de/support/html_00/
– con el Bulletin Board System (BBS) de Nuremberg (buzón electrónico del
servicio de asistencia directa al cliente de SIMATIC) bajo el número
+49 (911) 895-7100.
Si desea consultar el buzón electrónico, utilice un módem de hasta
V.34 (28,8 kbaudios) teniendo ajustados los siguientes parámetros: 8, N, 1,
ANSI, o utilice RDSI (x.75, 64 kbits).
Comentarios del Para poderle ofrecer a Usted y a los futuros usuarios de STEP 7 una documentación
usuario acerca del inmejorable, necesitamos su colaboración. Si desea hacer sugerencias que afecten al
manual y la Ayuda presente manual o a la Ayuda en pantalla, rellene el formulario de respuesta que se
en pantalla encuentra al final de este manual y envíelo a la dirección indicada en el mismo. Le
agradeceríamos asimismo que nos comunicara la opinión que le merece el manual.
Anexos
El lenguaje de El lenguaje de programación KOP facilita todos los elementos que se necesitan para
programación KOP crear un programa de usuario completo. KOP contiene un amplio juego de instruc-
ciones, ofreciéndole operaciones básicas, así como una gama completa de operandos
y su respectivo direccionamiento. Lo mismo se puede decir de la concepción de las
funciones y de los bloques de función, que le servirán para estructurar sus progra-
mas KOP de modo claro y fácil de comprender.
El paquete de El paquete de programación KOP constituye una unidad integrada dentro del soft-
programación ware estándar de STEP 7. Con este paquete, y una vez que haya instalado su soft-
ware STEP 7, dispondrá de todas las funciones de edición, compilación y de test que
se requieren para programar con KOP.
Con KOP es posible crear un programa de usuario con un editor incremental; éste
ofrece una cómoda solución para introducir la estructura local de los datos propia de
cada bloque mediante editores de tablas.
En el software estándar están integrados tanto KOP como los lenguajes de progra-
mación AWL y FUP. Por ello podrá cambiar entre ambos lenguajes y elegir el modo
de visualización que considere más idóneo para la programación de cada bloque.
Generalmente, todos los programas que están escritos en KOP o FUP se pueden re-
presentar también en AWL. Al convertir los programas creados en KOP en progra-
mas en FUP y viceversa, aquellos elementos de programa que no se puedan repre-
sentar en el lenguaje deseado, se representarán en AWL.
Instrucciones KOP Las instrucciones KOP se componen de elementos y cuadros que se conectan gráfi-
camente en segmentos. Dichos elementos y cuadros se pueden clasificar en los si-
guientes grupos:
Operación como STEP 7 representa una parte de las operaciones KOP como elementos individuales
elemento que no necesitan operandos ni parámetros (v. tabla 2-1).
Operación como STEP 7 representa una parte de las operaciones KOP como elementos individuales
elemento con para los cuales se debe introducir un operando (v. tabla 2-2).
operando Para más información referente al direccionamiento v. cap. 3.
Operación como STEP 7 representa una parte de las operaciones KOP como elementos individuales
elemento con para los cuales se debe introducir un operando y un valor (p. ej. un valor de tempori-
operando y valor zación o de contaje, v. tabla 2-3).
Para más información referente al direccionamiento v. cap. 3.
<Operando>
Temporizador de retardo a la
SS 4.16
conexión con memoria
Valor
Operación como STEP 7 representa una parte de las operaciones KOP como cuadros. Las líneas de
cuadro con dichos cuadros muestran las entradas y las salidas (v. tabla 2-4). Las entradas se en-
parámetros cuentran a la izquierda del cuadro y las salidas a la derecha. Introduza el parámetro
de entrada. A excepción de algunas salidas que deben ser definidas por el usuario, el
software STEP 7 pone a disposición la mayoría de las salidas. Para los parámetros
debe utilizarse una notación específica de tipos de datos individuales.
A continuación se describen los parámetros de la entrada de habilitación (EN) y de
la salida de habilitación (ENO). Para más información acerca de los parámetros de
entrada y de salida véanse en este manual las descripciones de cada una de las ope-
raciones.
DIV_R
EN ENO
Dividir número en coma
8.5
IN1 flotante
IN2 OUT
Parámetros de la Si la entrada de habilitación (EN) de un cuadro está activada, el cuadro ejecuta una
entrada y la salida función determinada. Si la función se ha procesado sin error alguno, la salida de
de habilitación habilitación (ENO) pasa la corriente al circuito. Los parámetros EN y ENO de un
cuadro KOP son del tipo de datos BOOL (v. tabla 1-5) y pueden encontrarse en las
áreas de memoria E, A, M, D o L (v. tablas 2-5 y 2-6).
EN y ENO funcionan según el siguiente principio:
S Si EN no se activa (es decir, el estado de señal es 0), el cuadro no ejecuta su fun-
ción y ENO no se activa (es decir, el estado de señal es 0).
S Si EN se activa (es decir, el estado de señal es 1) y el cuadro ejecuta la función
correspondiente sin error alguno, entonces ENO se activa también (es decir, el
estado de señal es 1).
S Si EN se activa (es decir, el estado de señal es 1) y durante la ejecución de la
función aparecen errores, entonces ENO no se activa (es decir, el estado de señal
es 0).
Restricciones para En KOP no se pueden alinear cuadros y conectores en un circuito conductor que no
cuadros y bobinas comience en la barra de alimentación de la izquierda. Las operaciones de compara-
ción son una excepción.
Areas de memoria La mayoría de los operandos en KOP se refieren a áreas de memoria. La siguiente
y funciones tabla muestra cada tipo y su función.
Acceso a través de
Nombre del
Función del área unidades del siguiente Abr.
área
tamaño:
Imagen del Al principio del ciclo, el sistema operativo lee las entradas Entrada E
proceso de las del proceso y almacena los valores en esta área. El programa Byte de entrada EB
entradas utiliza estos valores durante su ejecución cíclica. Palabra de entrada EW
Palabra doble de entrada ED
Imagen del Durante el ciclo, el programa calcula los valores de salida y los Salida A
proceso de las deposita en esta área. Al final del ciclo, el sistema operativo lee Byte de salida AB
salidas en esta área los valores de salida calculados y los transfiere a Palabra de salida AW
las salidas del proceso. Palabra doble de salida AD
Marcas Esta área permite almacenar resultados intermedios Marcas M
calculados en el programa. Byte de marcas MB
Palabra de marcas MW
Palabra doble de marcas MD
E/S: entradas Esta área permite al programa el acceso directo a los módulos Byte de entrada de la periferia PEB
externas de E/S (es decir, entradas y salidas de la periferia). Palabra de entrada de la
periferia PEW
Palabra doble de entrada de la
periferia PED
Aunque la instrucción “AUF DI” puede utilizarse para abrir Bloque de datos abierto con la
cualquier bloque de datos, su utilización principal consiste en instrucción ”AUF DI”:
abrir bloques de datos de instancia asociados a bloques de Bit de datos DIX
función (FBs) y a bloques de función de sistema (SFBs). Para Byte de datos DIB
más información sobre los FBs y SFBs, véase la Ayuda en Palabra de datos DIW
pantalla de STEP 7. Palabra doble de datos DID
Datos locales Esta área contiene datos temporales que se utilizan en un bloque Bit de datos local temporal L
lógico (FB o FC). Estos datos también se denominan datos Byte de datos local temporal LB
locales dinámicos y sirven de memoria intermedia. Cuando se Palabra de datos local
cierra el bloque lógico, se pierden dichos datos. Los datos están temporal LW
depositados en la pila de datos locales (pila L). Palabra doble de datos local
temporal LD
La tabla 2-6 muestra una lista de las àreas de operandos de las diferentes áreas de
memoria. Para saber el àrea de direcciones de la CPU utilizada, véase el manual de
CPU del S7-300 correspondiente.
Acceso
Nombre del área Z
Zona d
de operandos
d máxima
á i
con unidades del siguiente tamaño: Abrev.
Imagen de proceso de Entrada E 0.0 a 65 535.7
las entradas Byte de entrada EB 0 a 65 535
Palabra de entrada EW 0 a 65 534
Palabra doble de entrada ED 0 a 65 532
Imagen de proceso de Salida A 0.0 a 65 535.7
las salidas Byte de salida AB 0 a 65 535
Palabra de salida AW 0 a 65 534
Palabra doble de salida AD 0 a 65 532
Marcas Marcas M 0.0 a 65 535.7
Byte de marcas MB 0 a 65 535
Palabra de marcas MW 0 a 65 534
Palabra doble de marcas MD 0 a 65 532
E/S: Byte de entrada de la periferia PEB 0 a 65 535
entradas externas Palabra de entrada de la periferia PEW 0 a 65 534
Palabra doble de entrada de la periferia PED 0 a 65 532
E/S: Byte de salida de la periferia PAB 0 a 65 535
salidas externas Palabra de salida de la periferia PAW 0 a 65 534
Palabra doble de salida de la periferia PAD 0 a 65 532
Temporizadores Temporizador T 0 a 255
Contador Contador Z 0 a 255
Bloque de datos Bloque de datos abierto con la instrucción DB
–(OPN):
Circulación de cor- Un programa KOP sigue la circulación de la corriente entre barras de alimentación
riente cuando pasa por diferentes entradas, salidas u otros elementos y cuadros. Muchas
operaciones KOP funcionan según las reglas de la lógica booleana.
Cada operación lógica consulta si el estado de la señal de un contacto eléctrico es
”0” (desactivado, off) o ”1” (activado, on) y suministra a continuación un resultado.
La operación memoriza dicho resultado o lleva a cabo con él una operación lógica.
El resultado lógico se denomina RLO. Las reglas de la lógica booleana se ilustran a
continuación con el ejemplo de un contacto normalmente abierto y uno normal-
mente cerrado.
Contacto La figura 2-1 muestra dos representaciones de un circuito de relés con un contacto
normalmente entre una barra de alimentación y una bobina. En estado normal, este contacto está
abierto abierto. Mientras no se active el contacto, éste permanecerá abierto. El estado de
señal del contacto abierto es 0 (desactivado). Si el contacto permanece abierto, la
corriente no puede pasar de la barra de alimentación a la bobina al final del circuito.
Si se activa el contacto (el estado de señal del contacto es 1), la corriente fluye hasta
la bobina.
La figura 2-1 muestra en el circuito a la izquierda un contacto normalmente abierto
como aparece representado a veces en esquemas de relés. El circuito a la derecha
aparece en el ejemplo para indicar que el contacto ha sido activado y por lo tanto,
está cerrado.
Contacto
Í
normalmente
abierto Í
Bobina
Con la operación Contacto normalmente abierto (v. apt. 4.2) se puede consultar el
estado de la señal de un contacto normalmente abierto. Dependiendo del resultado
de la consulta, la corriente puede fluir por el contacto o no. Si la corriente puede
fluir, la operación da el resultado 1. Si la corriente no puede fluir, la operación da el
resultado 0 (v. tabla 2-7). Dicho resultado puede ser memorizado por la operación o
utilizado para una operación lógica.
Contacto La figura 2-2 muestra dos representaciones de un circuito conmutador de relés con
normalmente un contacto entre una barra de alimentación y una bobina. En estado normal, este
cerrado contacto está cerrado. Mientras no se active el contacto, éste permanecerá cerrado.
El estado de señal del contacto cerrado es 0 (desactivado). Si el contacto permanece
cerrado, la corriente puede pasar de la barra de alimentación por el contacto para así
fluir hasta la bobina al final del circuito. Al activar el contacto (el estado de señal
del contacto es 1) se abre el contacto, interrumpiendo así el flujo de corriente a la
bobina.
La figura 2-2 muestra en el circuito a la izquierda un contacto normalmente cerrado
como aparece representado a veces en esquemas de relés. El circuito a la derecha
aparece en el ejemplo para indicar que el contacto ha sido activado y por lo tanto,
está abierto.
Contacto
normalmente
cerrado
Bobina
Con la operación Contacto normalmente cerrado (v. apt. 4.3) se puede consultar el
estado de la señal de un contacto normalmente cerrado. Dependiendo del resultado
de la consulta, la corriente puede fluir por el contacto o no. Si la corriente puede
fluir, la operación da el resultado 1. Si la corriente no puede fluir, la operación da el
resultado 0 (v. tabla 2-7). Dicho resultado puede ser memorizado por la operación o
utilizado para una operación lógica.
Tabla 2-7 Resultado de la consulta del estado de señal con las operaciones Contacto normalmente abierto y
Contacto normalmente cerrado
Operación Resultado si el estado de señal del contacto es 1 Resultado si el estado de señal del contacto es 0
(contacto activado) (contacto desactivado)
1 (La corriente disponible puede fluir ya que el 0 (La corriente disponible no puede fluir ya que
contacto normalmente abierto está cerrado.) el contacto normalmente abierto está abierto.)
0 (La corriente disponible no puede fluir ya que 1 (La corriente disponible puede fluir ya que el
el contacto normalmente cerrado está abierto.) contacto normalmente cerrado está cerrado.)
Conexión en serie La figura 2-3 muestra una cadena lógica de operaciones KOP que representa dos
de los contactos contactos abiertos conectados en serie a una bobina. Los contactos están marcados
con una “E” para “entrada” y la bobina con una “A” para ”salida”. Al activar un
contacto normalmente abierto se cierra el contacto. Si ambos contactos en la cadena
lógica se activan (cerrados), la corriente puede fluir desde la barra de alimentación a
través de los contactos E 1.0 y E 1.1 hasta la bobina. La bobina A 4.0 conduce co-
rriente.
En el esquema de relés 1 están activados ambos contactos. Cuando se activa un con-
tacto normalmente abierto, éste se cierra. La corriente puede fluir entonces desde la
barra de alimentación a través de los contactos cerrados hasta la bobina situada al
final del circuito.
En los esquemas de relés 2 y 3 no está activado uno de los dos contactos, la co-
rriente no puede alcanzar la bobina y por lo tanto, ésta no conduce corriente.
En el esquema de relés 4 están desactivados ambos contactos y permanecen abier-
tos. La corriente no puede fluir a la bobina y por lo tanto, ésta no conduce corriente.
= activado = conductora
Figura 2-3 Conexión en serie de los contactos con la operación Contacto normalmente abierto
Conexión en serie La figura 2-3 muestra un esquema de contactos que permite programar dos contac-
de los contactos tos abiertos conectados en serie a una bobina. La primera operación Contacto nor-
con la operación malmente abierto en la cadena lógica consulta el estado de señal del primer contacto
Contacto de la serie (entrada E 1.0) y da el resultado correspondiente (v. tabla 2-7). Este re-
normalmente sultado puede ser 1 ó 0. Si el resultado es 1 significa que el contacto está cerrado y
abierto la corriente disponible puede pasar a través del contacto. Si el resultado es 0 signi-
fica que el contacto está abierto, lo que interrumpe la circulación de la corriente
disponible en el contacto.
La primera operación Contacto normalmente abierto copia el 1 ó 0 en un bit de
marcas de la palabra de estado del sistema de automatización. Este bit de almacena-
miento se denomina bit de “resultado lógico” y su abreviatura es RLO.
La segunda operación Contacto normalmente abierto en la cadena lógica consulta el
estado de señal del segundo contacto de la serie (E 1.1) y da el resultado correspon-
diente. Este resultado puede ser 1 ó 0, dependiendo de si el contacto está cerrado o
abierto (v. tabla 2-7). Aquí, la segunda operación Contacto normalmente abierto
realiza una combinación lógica.
La operación toma el resultado de la consulta del estado de señal del segundo con-
tacto y lo combina con el valor almacenado en el bit RLO. El resultado de esta com-
binación (1 ó 0) se almacena en el bit RLO de la palabra de estado, reemplazando el
valor ahí almacenado. La operación Bobina de relé (salida) (v. apt. 4.4) asigna este
nuevo valor a la bobina (salida A 4.0).
Los posibles resultados de dicha combinación lógica pueden representarse en una
“tabla de verdad”. En una combinación lógica de este tipo, 1 significa “verdadero” y
0 significa “falso”. La tabla 2-8 muestra las posibles combinaciones lógicas con los
respectivos resultados, correspondiendo “contacto cerrado” y “corriente fluye” a
“verdadero”, y “contacto abierto” y “corriente no fluye” a “falso” (para los contac-
tos v. fig. 2-3).
Tabla 2-8 Tabla de verdad Y
Si el resultado de la con- y el resultado de la con- el resultado lógico de la
sulta del estado de señal sulta del estado de señal figura 1-3 es
del contacto E 1.0 es del contacto E 1.1 es
1 (contacto cerrado) 1 (contacto cerrado) 1 (corriente fluye)
0 (contacto abierto) 1 (contacto cerrado) 0 (corriente no fluye)
1 (contacto cerrado) 0 (contacto abierto) 0 (corriente no fluye)
0 (contacto abierto) 0 (contacto abierto) 0 (corriente no fluye)
Conexión en La figura 2-4 muestra una cadena lógica de operaciones KOP que representa dos
paralelo de los contactos abiertos conectados en paralelo a una bobina. Los contactos están marca-
contactos dos con una “E” para “entrada” y la bobina con una “A” para ”salida”. Al activar un
contacto normalmente abierto se cierra el contacto. Si ninguno de ambos contactos
en la cadena lógica se activan (cerrados), la corriente puede fluir desde la barra de
alimentación a través del contacto E 1.0 ó E 1.1 hasta la bobina A 4.0. Esta última
conduce corriente. Si ambos contactos en la cadena lógica se activan, la corriente
también puede fluir a la bobina.
En los esquemas de relés 1 y 2, un contacto está activado y el otro no. Cuando se
activa un contacto normalmente abierto, éste se cierra. La corriente puede fluir en-
tonces desde la barra de alimentación a través del contacto cerrado hasta la bobina
situada al final del circuito. Debido a que los contactos se encuentran conectados en
paralelo basta con que uno de los dos esté cerrado para que la corriente pueda fluir
hasta la bobina al final del circuito.
En el esquema de relés 3 están activados ambos contactos; con ello puede fluir la
corriente a través de los contactos cerrados hasta la bobina al final del circuito.
En el esquema de relés 4 están desactivados ambos contactos y permanecen abier-
tos. La corriente no puede fluir a la bobina y por lo tanto, ésta no conduce corriente.
E 1.1 E 1.1
E 1.1 E 1.1
= activado = conductora
Figura 2-4 Conexión en paralelo de los contactos con la operación Contacto normalmente abierto
Conexión en La figura 2-4 muestra un esquema de contactos que puede utilizarse para programar
paralelo de los dos contactos abiertos conectados en paralelo a una bobina. La primera operación
contactos con la Contacto normalmente abierto en la cadena lógica consulta el estado de señal del
operación primer contacto (entrada E 1.0) y da el resultado correspondiente (v. tabla 2-7). Este
Contacto resultado puede ser 1 ó 0. Si el resultado es 1 significa que el contacto está cerrado y
normalmente que la corriente disponible puede fluir a través del contacto. Si el resultado es 0 sig-
abierto nifica que el contacto está abierto, quedando interrumpida la circulación de co-
rriente disponible en el contacto. La primera operación Contacto normalmente
abierto copia el 1 ó 0 en un bit de marcas de la palabra de estado del sistema de au-
tomatización. Este bit de almacenamiento se denomina bit de “resultado lógico” y
su abreviatura es RLO.
La segunda operación Contacto normalmente abierto de la cadena lógica consulta el
estado de señal del segundo contacto (E 1.1) y da el resultado correspondiente (v. ta-
bla 2-7). El resultado puede ser 1 ó 0, dependiendo de si el contacto está cerrado o
abierto. Aquí ejecuta la segunda operación Contacto normalmente abierto una com-
binación lógica. La operación toma el resultado de la consulta del estado de señal
del segundo contacto y lo combina con el valor almacenado en el bit RLO. El resul-
tado de esta combinación (1 ó 0) se almacena en el bit RLO de la palabra de estado,
reemplazando el valor almacenado hasta entonces. La operación Bobina de relé (sa-
lida) asigna este nuevo valor a la bobina (salida A 4.0).
Los posibles resultados de este tipo de combinaciones lógicas pueden representarse
en una “tabla de verdad”. En este tipo de combinaciones, 1 significa “verdadero” y
0 significa “falso”. La tabla 2-9 muestra las posibles combinaciones lógicas y sus
resultados, correspondiendo “contacto cerrado” y “corriente fluye” a “verdadero” y
“contacto abierto” y “corriente no fluye” a “falso” (para los contactos v. fig. 2-4).
Explicación Los registros ayudan a la CPU a realizar operaciones lógicas, operaciones aritméti-
cas, operaciones de desplazamiento u operaciones de conversión. Dichos registros se
describen a continuación.
Acumuladores Los acumuladores (ACUs) de 32 bits son registros universales que se utilizan para
procesar bytes, palabras y palabras dobles.
31 24 23 16 15 8 7 0
Byte alto Byte bajo Byte alto Byte bajo
Palabra de estado La palabra de estado contiene bits que pueden accederse en el operando de las ope-
raciones lógicas de bits y de palabras. Los párrafos que siguen a la figura explican el
significado de los bits 0 a 8.
215... ...29 28 27 26 25 24 23 22 21 20
RB A1 A0 OV OS OR STA RLO /ER
Primera consulta El bit 0 de la palabra de estado se denomina bit de primera consulta. (bit /ER,
v. fig. 2-6). Al iniciar un segmento KOP, el estado de la señal del bit /ER siempre es
0, a no ser que el segmento previo termine con ––(SAVE). (La barra delante de /ER
significa su negación, es decir, su estado de señal es siempre 0 al comenzar un seg-
mento KOP.)
Cada operación lógica consulta el estado del bit /ER, así como el estado de señal del
contacto direccionado por la operación. El estado de señal del bit /ER controla la
ejecución de una cadena lógica. Si el bit /ER es 0 (al inicio de un segmento KOP),
la operación almacenará el resultado en el bit RLO de la palabra de estado y pondrá
el bit /ER a ”1”. Este proceso se denomina primera consulta. El resultado 1 ó 0 que
se ha almacenado en el bit RLO después de la primera consulta se denomina resul-
tado de la primera consulta.
Si el estado de la señal del bit /ER es ”1”, la operación combina el resultado de la
consulta hecha al contacto direccionado por él con el RLO obtenido en la primera
consulta y guarda el resultado en el bit RLO.
Un circuito conductor de operaciones KOP (cadena lógica) siempre termina con una
operación de entrega (Activar bobina, Desactivar bobina, Bobina de relé (salida)) o
con una operación de salto referida al resultado lógico. Dichas operaciones ponen el
bit /ER a 0.
Resultado lógico El bit 1 de la palabra de estado se denomina bit de resultado lógico (RLO, v. fig.
2-6). Este bit almacena el resultado de una cadena de operaciónes lógicas con bits o
bien el resultado de una comparación aritmética. El estado de señal del bit RLO da
informaciones acerca de la circulación de la corriente.
La primera operación de un segmento del esquema de contactos consulta el estado
de señal de un contacto dando 1 ó 0 como resultado. La operación almacena este
resultado en el bit RLO. La segunda operación de un circuito conductor de operacio-
nes KOP también consulta el estado de señal de un contacto, produciendo un resul-
tado. Entonces, la operación combina este resultado con el valor que está guardado
en el bit RLO de la palabra de estado según la lógica de Boole (v. arriba ”Primera
consulta” y cap. 4). El resultado de esta operación lógica se almacena en el bit RLO
de la palabra de estado, reemplazando el valor precedente del bit RLO. Todas las
operaciones subsiguientes de la cadena ejecutan una operación lógica con dos valo-
res: el resultado que se obtiene al consultar el estado de señal del contacto y el resul-
tado lógico (RLO) actual.
En la primera consulta se puede usar una operación lógica de Boole para asignar el
estado de un bit de marcas al RLO. El RLO también se puede usar para disparar
operaciones de salto.
Bit de estado El bit 2 de la palabra de estado se denomina bit de estado (bit STA, v. fig. 2-6). El
bit de estado almacena el valor del bit direccionado. El estado de una operación ló-
gica que tiene acceso de lectura a la memoria (Contacto normalmente abiero, Con-
tacto normalmente cerrado) siempre es igual al valor del bit que está consultando
dicha operación (el bit con el que está ejecutando la combinación). El estado de una
operación lógica que tiene acceso de escritura a la memoria (Activar bobina, Desac-
tivar bobina o Bobina de relé (salida)) siempre es igual al valor del bit donde la ope-
ración está escribiendo, o bien, si no tiene lugar ningún acceso de escritura, es igual
al valor del bit direccionado. El bit de estado no tiene ningún significado para las
operaciones lógicas que no acceden a la memoria. Dichas operaciones ponen el bit
de estado a ”1” (STA = 1). El bit de estado no es consultado por ninguna operación
sino que solamente es interpretado durante el test del programa (estado del pro-
grama).
Bit OR El bit 3 de la palabra de estado se denomina bit OR (v. fig. 2-6). El bit OR (O) se
precisa cuando se ejecutan operaciones Y antes de operaciones O en operaciones
con contactos. Las operaciones O corresponden a una conexión de los contactos en
paralelo y las operaciones Y corresponden a una conexión en serie (v. apt. 2.2). Una
operación Y puede contener las siguientes operaciones: Contacto normalemente
abierto y Contacto normalmente cerrado. El bit OR indica a estas operaciones que
una operación Y que ha sido ejecutada previamente ha dado el valor 1, adelantando
así el resultado lógico O. Todas las restantes instrucciones que procesan bits ponen
el bit OR a 0.
A1 A0 Explicación
0 0 Resultado = 0
0 1 Resultado < 0
1 0 Resultado > 0
A1 A0 Explicación
0 0 Rebase del límite inferior en: Sumar enteros y Sumar enteros dobles
Rebase del límite inferior en: Multiplicar enteros y Multiplicar enteros
dobles
0 1 Rebase del límite superior en: Sumar enteros, Restar enteros, Sumar
enteros dobles, Restar enteros dobles, Complemento a 2 de enteros y
Complemento a 2 de enteros dobles
Rebase del límite superior en: Multiplicar enteros y Multiplicar enteros
dobles; Dividir enteros y Dividir enteros dobles
1 0 Rebase del límite inferior en: Sumar enteros, Restar enteros, Sumar
enteros dobles y Restar enteros dobles
1 1 División por 0 en Dividir enteros, Dividir enteros dobles y Obtener resto
de división de enteros dobles
A1 A0 Explicación
0 0 Rebase gradual del límite inferior
0 1 Rebase del límite inferior
1 0 Rebase del límite superior
1 1 Número en coma flotante no válido
A1 A0 Explicación
0 0 IN2 = IN1
0 1 IN2 < IN1
1 0 IN2 > IN1
1 1 IN1 o IN2 no es un número en coma flotante válido
A1 A0 Explicación
0 0 Bit desplazado en último lugar = 0
1 0 Bit desplazado en último lugar = 1
A1 A0 Explicación
0 0 Resultado = 0
1 0 Resultado <> 0
Bit RB El bit 8 de la palabra de estado se denomina bit de resultado binario (bit RB,
v. fig. 2-6). El bit RB establece un enlace entre el procesamiento de palabras y el
procesamiento de bits, permitiendo al programa interpretar el resultado de una ope-
ración lógica de palabras como resultado binario e integrarlo así en una cadena de
combinaciones lógicas binarias. De este modo, RB representa una marca interna de
la máquina, en la cual se salva el RLO antes de ser efectuada una operación lógica
con palabras de RLO variable, para que tras la operación éste siga disponible para la
continuación de la cadena de bits interrumpida.
El bit RB permite programar en AWL por ejemplo un bloque de función (FB) o una
función (FC) y llamar el FB o la FC desde el esquema de contactos KOP.
Si se escribe un bloque de función o una función que se desea abrir desde KOP,
independientemente de si el FB o el FC están escritos en AWL o en KOP, debe
observarse el bit RB. Este bit corresponde a la salida de habilitación (ENO) de un
cuadro KOP. Para almacenar el RLO en el bit RB debe utilizarse la operación SAVE
(en AWL) o con la bobina ––(SAVE) (en KOP) según los siguientes criterios:
S Memorizar un RLO de 1 en el bit RB para el caso de que el FB o FC se ejecuten
sin error.
S Memorizar un RLO de 0 en el bit RB para el caso de que el FB o FC se ejecuten
con error.
Programar dichas instrucciones al final del FB o FC de forma que sean las últimas
que se ejecuten en el bloque.
Precaución
! El bit RB puede ser puesto a 0 accidentalmente.
Al escribir FBs y FCs en lenguaje KOP, un FB o FC puede sobreescribir el bit RB
de otro FB o FC si el bit RB no es manipulado como se describe anteriormente.
Para evitarlo, almacenar el RLO al final de cada FB o FC como se describe
anteriormente.
¿Qué significa Muchas operaciones KOP trabajan con uno o más operandos. El operando indica
direccionamiento? una constante o una dirección donde la operación encuentra una variable con la que
ejecutar una operación. Esta dirección puede ser un bit, un byte, una palabra o una
palabra doble .
Posibles operandos son por ejemplo:
S una constante, el valor de un temporizador o contador, o bien una cadena de ca-
racteres ASCII
S un bit de la palabra de estado del sistema de automatización
S un bloque de datos y una dirección en dicho bloque
CMP
<= I
IN1
50
MW200 IN2
Tabla 3-1 Formatos de constantes para direccionamiento inmediato utilizando operandos de tipos de datos simples
Posibles En una operación KOP se puede usar como operando uno de los siguientes elemen-
operandos tos:
S un bit cuyo estado de señal ha de ser consultado
S un bit al que se le asigna el estado de señal de la cadena lógica
S un bit al que se le asigna el resultado lógico (RLO)
S un bit para activar o desactivar
S un número que indique un contador que ha de ser incrementado o decrementado
S un número que indique qué temporizador ha de ser usado
S una marca de flanco que almacena el resultado lógico (RLO) previo
S una marca de flanco que almacena la señal de estado de otro operando previo
S un byte, una palabra o una palabra doble que contienen un valor con el cual deba
operar el elemento o el cuadro KOP
S el número de un bloque de datos (DB o DI) a abrir o a crear
S el número de una función (FC), una función de sistema (SFC), un bloque de fun-
ción (FB) o un bloque de función del sistema (SFB) a abrir
S una meta a donde se deba saltar
Identificador de Las variables declaradas como operandos se componen del identificador del
operando operando y de una dirección con la cual el área de la memoria indica el
identificador de operando. Un identificador puede pertenecer a uno de los siguientes
tipos:
S Un identificador que indica los siguientes objetos de datos:
– Area de memoria en donde se encuentra la operación de un valor (objeto de
datos) para ejecutar la operación (por ej. ”E” para la imagen de proceso de
las entradas, v. apt. 2-5)
– El tamaño de un valor (objeto de datos) con el que se ha de ejecutar la opera-
ción (por ej. B para byte, W para palabra y D para palabra doble, v. tabla 2-5)
S Un identificador de operando que indica un área de memoria pero no el tamaño
del objeto de datos en dicha área (por ej. un identificador que indica el área T
para el temporizador, Z para el contador o DB o DI para el bloque de datos y el
número del temporizador, el contador o el bloque de datos, v. apt. 2-5).
Operaciones con Si se opera con una operación cuyo idenfiticador de operando indica un área de me-
palabras o moria del sistema de automatización y con un objeto de datos del tamaño de una
palabras dobles palabra o una palabra doble, debe tenerse en cuenta que la dirección de la memoria
como objetos de siempre se refiere a la dirección byte. Dicha dirección byte es el número de byte
datos menos significativo o el número del byte de más significativo (byte alto) dentro de
una palabra o palabra doble. Por ejemplo, el operando en la figura 3-2 se refiere a
4 bytes sucesivos en el área de la memoria M, a partir del byte 10 (MB10) y termi-
nado en el byte 13 (MB13).
Operación: L MD10
MW10 MW12
MW11
MD10
Explicación Las operaciones lógicas con bits operan con dos dígitos, 1 y 0. Estos dos dígitos
consituyen la base de un sistema numérico denominado sistema binario. Los dos
dígitos 1 y 0 se denominan dígitos binarios o bits. En el ámbito de los contactos y
bobinas, un 1 significa activado (”conductor”) y un 0 significa desactivado (”no
conductor”).
Las operaciones lógicas con bits interpretan los estados de señal 1 y 0, y los combi-
nan de acuerdo con la lógica de Boole. Estas combinaciones producen un 1 ó un 0
como resultado y se denominan ”resultado lógico” (RLO, v. apt. 2.3). Las operacio-
nes lógicas con bits permiten ejecutar las más diversas funciones.
Funciones Las operaciones lógicas con bits ejecutan las siguientes funciones:
S Contacto normalmente abierto y Contacto normalmente cerrado: ambas funcio-
nes consultan el estado de señal de un contacto y producen un resultado que se
copia en el bit de resultado lógico (RLO) o que se combina con el RLO. Si los
contactos están conectados en serie, se combina el resultado de la consulta de su
estado de señal de acuerdo con la tabla de verdad Y (v. tabla 2-8). Si están co-
nectados en paralelo combinan su resultado de acuerdo con la tabla de verdad O
(v. tabla 2-9).
S Bobina de relé (salida) y Conector: éstas asignan el RLO o lo almacenan tempo-
ralmente.
S Las siguientes operaciones reaccionan ante un RLO de 1:
– Activar bobina y Desactivar bobina
– Flip-flop de activación/desactivación y Flip-flop de desactivación/activación
S Otras operaciones reaccionan ante un cambio de flanco positivo o negativo para
ejecutar las siguientes funciones:
– Incrementar o decrementar el valor de un contador
– Arrancar un temporizador
– Producir una salida de 1
S Las restantes operaciones afectan directamente al RLO:
– Negar (invertir) el RLO
– Memorizar el RLO en el bit de resultado binario (RB) de la palabra de estado
En este capítulo se muestran las bobinas de temporizadores y contadores con sus
abreviaturas internacionales (inglés) y de SIMATIC.
E 0.0 E 0.1
La corriente fluye si se cumple una de las siguientes
condiciones:
E 0.2 S El estado de señal de las entradas E 0.0 Y E 0.1 es 1
S O el estado de señal de la entrada E 0.2 es 1.
E 0.0 E 0.1
La corriente fluye si se cumple una de las siguientes condiciones:
S El estado de señal de las entradas E 0.0 Y E 0.1 es 1,
S O el estado de señal de la entrada E 0.2 es 0.
E 0.2
Descripción La operación Bobina de relé (salida) trabaja del mismo modo que una bobina en un
esquema de relés. La bobina al final del circuito se excita o no según los criterios
siguientes:
S Si la corriente puede fluir por el circuito hasta alcanzar la bobina (es decir, si el
estado de señal del circuito es 1), entonces la bobina conduce corriente.
S Si la corriente no puede fluir por todo el circuito hasta alcanzar la bobina (es
decir, si el estado de señal del circuito es 0), entonces la bobina no puede condu-
cir corriente.
La cadena lógica KOP representa el circuito. La operación Bobina de relé (salida)
asigna el estado de señal de la cadena lógica KOP a la bobina direccionada por la
operación (esto es lo mismo que asignar el estado de señal del bit RLO al operando).
Si la corriente fluye por la cadena lógica, su estado de señal es 1; en caso contrario,
el estado de señal es 0. La operación Bobina de relé (salida) es afectada por el Mas-
ter Control Relay (MCR). Para más información sobre el funcionamiento del Master
Control Relay, v. apt. 16.5.
El elemento Bobina de relé (salida) solamente puede posicionarse en el extremo
derecho de una cadena lógica. Es posible utilizar varios elementos Bobina de relé
pero no se puede posicionar un elemento Bobina de relé solo en un segmento vacío.
La bobina tiene que tener una conexión anterior.
Mediante la operación Invertir resultado lógico se puede crear una salida negada.
E 0.0 E 0.1 A 4.0 El estado de señal de la salida A 4.0 es 1 si se cumple una de las
siguientes condiciones:
E 0.2 E 0.3 A 4.1 S El estado de señal de las entradas E 0.0 Y E 0.1 es 1
S O el estado de señal de la entrada E 0.2 es 0.
El estado de señal de la salida A 4.1 es 1 si se cumple una de las
siguientes condiciones:
S El estado de señal de las entradas E 0.0 Y E 0.1 Y E 0.3 es 1
S O el estado de señal de la entrada E 0.2 es 0 Y el de la entrada
E 0.3 es 1
4.5 Conector
1 La operación Conector permite utilizar un operando del área de memoria L solamente si éste está declarado en
VAR_TEMP. Esta operación no permite utilizar el área de memoria L para direcciones absolutas.
NOT Ninguno – – –
E 0.2
Tabla 4-9 Elemento Posicionar el contador en preselección y parámetros con abreviatura SIMATIC y con abreviatura
internacional
Tabla 4-10 Elemento Incrementar contador y parámetro con abreviatura SIMATIC y con abreviatura internacional
CU
Tabla 4-11 Elemento Decrementar contador y parámetro con abreviatura SIMATIC y con abreviatura internacional
CD
Tabla 4-12 Elemento Temporizador de impulso y parámetros con abreviatura SIMATIC y con abreviatura internacional
Tabla 4-13 Elemento Temporizador de impulso prolongado y parámetros con abreviatura SIMATIC y con abreviatura
internacional
Tabla 4-14 Elemento Temporizador de retardo a la conexión y parámetros con abreviatura SIMATIC y con abreviatura
internacional
Tabla 4-16 Elemento Temporizador de retardo a la desconexión y parámetros con abreviatura SIMATIC y con abreviatur
SIMATIC y con abreviatura internacional
Descripción La operación Detectar flanco negativo RLO (1 → 0) detecta un cambio del estado
de señal del RLO de 1 a 0 (flanco negativo) y tras la operación lo indica poniendo el
RLO a 1. El estado actual de la señal de RLO se compara con el estado de la señal
del operando, la marca de flanco. Si el estado de la señal del operando es 0 y el
RLO anterior a la operación 1, tras ésta se pone el RLO a 1 (impulso) y en el resto
de los casos, a 0. El RLO anterior a la operación se memoriza en el operando.
Para el posicionamiento del elemento Detectar flanco negativo RLO (1 → 0) deben
tenerse en cuenta ciertas restricciones (v. apt. 2.1).
Descripción La operación Detectar flanco de señal 0 → 1 compara el estado de señal del <ope-
rando1> con el estado de señal de la consulta precedente, que se ha almacenado en
el <operando2>. Si se produce un cambio de 0 a 1, la salida Q será 1; en el resto de
los casos, 0.
Para el posicionamiento de dicha operación deben tenerse en cuenta algunas restric-
ciones (v. apt. 2.1).
Descripción La operación Detectar flanco de señal 1 → 0 compara el estado de señal del <ope-
rando1> con el estado de señal de la consulta precedente, almacenado en el <ope-
rando2>. Si se produce un cambio de 1 a 0, la salida Q será 1; en el resto de los ca-
sos, 0.
Para el posicionamiento de dicha operación deben tenerse en cuenta algunas restric-
ciones (v. apt. 2.1).
Area de memoria Los temporizadores tienen un área reservada en la memoria de la CPU. Esta área de
memoria reserva una palabra de 16 bits para cada operando de temporizador. La
programación con KOP asiste 256 temporizadores. Consulte los datos técnicos de la
CPU para saber de cuántas palabras de temporización dispone ésta.
Las siguientes funciones tienen acceso al área de memoria de temporizadores:
S Operaciones de temporización
S Actualización por reloj de palabras de temporización. Esta función de la CPU en
el estado RUN decrementa en una unidad un valor de temporización dado en el
intervalo indicado por la base de tiempo hasta alcanzar el valor 0.
Base de tiempo Los bits 12 y 13 de la palabra de temporización contienen la base de tiempo en có-
digo binario. La base de tiempo define el intervalo en que se decrementa en una
unidad el valor de temporización (v. tabla 5-1 y fig. 5-1). La base de tiempo más
pequeña es 10 ms, la más grande 10 s.
1 2 7
Leer el temporiza- Todos los cuadros de temporizadores tienen dos salidas, DUAL y DEZ, para las que
dor y la base de se puede indicar una dirección de palabra. La salida DUAL indica el valor de
tiempo temporización en formato binario. La salida DEZ indica la base de tiempo y el valor
de temporización en formato decimal codificado en binario (BCD).
La figura 5-2 presenta un resumen breve de los cinco tipos de temporizadores des-
critos en este capítulo. Esta figura sirve de ayuda para la elección del temporizador
que se adapte mejor a sus necesidades.
Ejemplo La figura 5-3 muestra la operación Temporizador S5 de impulso, describe los bits de
la palabra de estado y explica las características del temporizador de impulso. Para
el posicionamiento de los cuadros de temporizadores deben tenerse en cuenta ciertas
restricciones (v. apt. 2.1).
Cronograma
–– t ––
RLO en entrada S
RLO en entrada R
Temporizador en
marcha
Consulta si el estado de
señal es 1
Consulta si el estado de
señal es 0
t = tiempo programado
Tabla 5-5 Cuadro Temporizador S5 de impulso prolongado y parámetros con abreviatura SIMATIC
Tipos de
Cuadro KOP Parámetro Area de memoria Descripción
datos
Nº del
Número de identificación del temporizador. El
temporiza- TIMER T
área depende de la CPU utilizada.
Nº T dor
Tabla 5-6 Cuadro Temporizador S5 de impulso prolongado y parámetros con abreviatura internacional
Cronograma
–– t –– –– t –– –– t ––
RLO en entrada S
RLO en entrada R
Temporizador en
marcha
Consulta sobre si el
estado de señal es 1
Consulta sobre si el
estado de señal es 0
t = tiempo programado
Cronograma
–– t –– –– t ––
RLO en entrada S
RLO en entrada R
Temporizador en
marcha
Consulta sobre si el
estado de señal es 1
Consulta sobre si el
estado de señal es 0
t = tiempo programado
Tabla 5-9 Cuadro Temporizador S5 de retardo a la conexión y parámetros con abreviatura SIMATIC
Tabla 5-10 Cuadro Temporizador S5 de retardo a la conexión y parámetros con abreviatura internacional
Cronograma
–– t –– –– t –– –– t ––
RLO en entrada S
RLO en entrada R
Temporizador en
marcha
Consulta sobre si el
estado de señal es 1
Consulta sobre si el
estado de señal es 0
t = tiempo programado
Tabla 5-11 Cuadro Temporizador S5 de retardo a la desconexión y parámetros con abreviatura SIMATIC
Tabla 5-12 Cuadro Temporizador S5 de retardo a la desconexión y parámetros con abreviatura internacional
Cronograma
–– t –– –– t ––
RLO en entrada S
RLO en entrada R
Temporizador en
marcha
Consulta sobre si el
estado de señal es 1
Consulta sobre si el
estado de señal es 0
t = tiempo programado
Area de memoria Los contadores tienen reservada un área de memoria en la CPU. Esta área de
memoria reserva una palabra de 16 bits para cada contador. KOP asiste 256
contadores.
Las operaciones de contaje son las únicas funciones que tienen acceso al área de
memoria reservada para contadores.
Valor de contaje Los bits 0 a 9 de la palabra de contaje contienen el valor de contaje en código
binario. El valor fijado por el usuario se transfiere del acumulador al contador al
activarse éste. El valor de contaje puede estar comprendido entre 0 y 999. Dentro de
este margen se puede variar dicho valor utilizando las operaciones Incrementar y
Decrementar contador, Incrementar contador y Decrementar contador.
Configuración Para poner el contador a un valor determinado hay que introducir un número de 0 a
binaria en el 999, por ejemplo 127, en el siguiente formato:
contador
C# 127
C# sirve para indicar el formato decimal codificado en binario (formato BCD: cada
conjunto de cuatro bits contiene el código binario de un valor decimal).
Los bits 0 a 11 del contador contienen el valor de contaje en formato BCD. La fi-
gura 6-1 muestra el contenido del contador después de haber cargado el valor de
contaje 127 y el contenido de la palabra de contaje después de haber activado el
contador.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 1 0 0 1 0 0 1 1 1
irrelevantes 1 2 7
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1
Figura 6-1 Contenido de la palabra de contaje tras la activación del contador al valor de
contaje 127
Tabla 6-1 Cuadro Incrementar y decrementar contador y parámetros con abreviatura SIMATIC
Tabla 6-2 Cuadro Incrementar y Decrementar contador y parámetros con abreviatura internacional
Z10
ZAEHLER
E 0.0 A 4.0
ZV Q Un cambio del estado de señal de 0 a 1 en la
entrada E 0.2 pone el contador Z 10 al valor 55.
E 0.1 Si el estado de señal de E 0.0 cambia de 0 a 1, el
ZR valor del contador Z 10 se incrementa en uno, a
E 0.2 menos que el valor de Z 10 sea igual a 999. Si la
entrada E 0.1 cambia de 0 a 1, Z 10 se decre-
S
menta en uno, a menos que el valor de Z 10 sea
C#55 ZW DUAL igual a 0. Si E 0.3 cambia de 0 a 1, el valor del
contador de Z10 se pone a 0. El estado de señal
E 0.3 DEZ de la salida A 4.0 es 1, a menos que Z 10 sea
R igual a 0.
Z10
Z_VORW
E 0.0 A 4.0 Un cambio del estado de señal de 0 a 1
ZV en la entrada E 0.2 pone el contador
Q
Z 10 al valor 901. Si el estado de señal
de E 0.0 cambia de 0 a 1, el valor del
contador Z 10 se incrementa en uno, a
E 0.2 menos que el valor de Z 10 sea igual a
S 999. Si E 0.3 cambia de 1 a 0, el valor
del contador Z10 se pone a 0. El estado
C#901 ZW DUAL de señal de la salida A 4.0 es 1, a menos
que Z 10 sea diferente de 0.
E 0.3 DEZ
R
Z10
Z_RUECK
E 0.0 A 4.0
ZR Q Un cambio del estado de señal de 0 a 1 en la entrada
E 0.2 pone el contador Z 10 al valor 89. Si el estado
de señal de E 0.0 cambia de 0 a 1, el valor del
contador se decrementa en uno, a menos que el valor
E 0.2 de Z 10 sea igual a 0. El estado de señal de la salida
S A 4.0 es 1 si Z 10 es diferente de 0. Si E 0.3 cambia
de 0 a 1, el valor del contador Z10 se pone a 0.
C#89 ZW DUAL
E 0.3 DEZ
R
Tabla 7-10 Estado de señal de los bits de la palabra de estado: resultado del cálculo dentro
del área válida
Area válida
vál da para el resultado en operac ones con núme
operaciones núme- Bits de la palabra de estado
ros enteros (16 y 32 bits) A1 A0 OV OS
0 (cero) 0 0 0 -
16 bits: -32 768 ≤ resultado < 0 (número negativo) -
32 bits: -2 147 483 648 ≤ resultado < 0 (número negativo) 0 1 0
16 bits: 32 767 ≥ resultado > 0 (número positivo) -
32 bits: 2 147 483 647 ≥ resultado > 0 (número positivo) 1 0 0
Tabla 7-11 Estado de señal de los bits en la palabra de estado: resultado del cálculo fuera
del área válida
Area no válida
vál da para el resultado en operac ones con
operaciones Bits de la palabra de estado
números enteros (16 y 32 bits) A1 A0 OV OS
16 bits: resultado > 32 767 (número positivo) 1 0 1 1
32 bits: resultado > 2 147 483 647 (número positivo)
16 bits: resultado < -32 768 (número negativo) 0 1 1 1
32 bits: resultado < -2 147 483 648 (número negativo)
Tabla 7-12 Estado de señal de los bits en la palabra de estado: Operaciones aritméticas con
números enteros (32 bits) +D, /D y MOD
Las operaciones aritméticas con números en coma flotante sirven para ejecutar las
siguientes operaciones aritméticas con dos números en coma flotante IEEE de
32 bits:
S Sumar
S Restar
S Multiplicar
S Dividir
Los números de 32 bits IEEE en coma flotante pertenecen al tipo de datos denomi-
nado “REAL”. Para más información sobre el formato de los números en coma
flotante.
Con las operaciones aritméticas de números en coma flotante se pueden ejecutar las
siguientes funciones con un número en coma flotante (32 bit, IEEE-FP):
S Calcular el cuadrado (SQR) o la raíz cuadrada (SQRT) de un número en coma
flotante
S Calcular el logaritmo natural (LN) de un número en coma flotante.
S Calcular el valor exponencial (EXP) en base e (= 2,71828...) de un número en
coma flotante.
S Calcular las funciones trigonométricas siguientes (en un ángulo como número en
coma flotante (32 bit, IEEE–FP))
– Calcular el seno (SIN) y arcoseno (ASIN) de un número en coma flotante.
– Calcular el coseno (COS) y arcocoseno (ACOS) de un número en coma flo-
tante.
– Calcular la tangente (TAN) y arcotangente (ATAN) de un número en coma
flotante.
Tabla 8-5 Estado de señal de los bits de la palabra de estado para resultados de operaciones
con números en coma flotante dentro del área válida
Area válida
vál da para el resultado de una operac ón con
operación Bits de la palabra de estado
coma flotante (32 bits) A1 A0 OV OS
+0, -0 (cero) 0 0 0 -
-3,402823E+38 < resultado < -1,175494E-38 0 1 0 -
(número negativo)
+1,175494E-38 < resultado < 3,402823E+38 1 0 0 -
(número positivo)
Tabla 8-6 Estado de señal de los bits de la palabra de estado para resultados de operaciones
con números en coma flotante fuera del área válida
Area no válida
vál da para el resultado de una operac ón con
operación Bits de la palabra de estado
coma flotante (32 bits) A1 A0 OV OS
-1,175494E-38 < resultado < - 1,401298E-45 0 0 1 1
(número negativo) rebase del límite inferior
+1,401298E-45 < resultado < +1,175494E-38 0 0 1 1
(número positivo) rebase del límite inferior
Resultado < -3,402823E+38 0 1 1 1
(número negativo) desbordamiento
Resultado > 3,402823E+38 1 0 1 1
(número positivo) desbordamiento
Resultado < -3,402823E+38 1 1 1 1
o resultado > +3,402823E+38
no es número en coma flotante
Parámetros La tabla 8-8 muestra el cuadro SQR y describe sus parámetros. La tabla 8-9 muestra
el cuadro SQRT y describe sus parámetros.
Descripción Con las siguientes operaciones puede calcular funciones trigonométricas de los án-
gulos que están representados por números en coma flotante (32 bits, IEEE–FP):
Operación Significado
SIN Calcula el seno del número en coma flotante de un ángulo indicado por la
medida de su arco.
ASIN Calcula el arco seno del número en coma flotante. El resultado es un ángulo
indicado por la medida de su arco. El valor queda dentro del siguiente margen
de valores:
p / 2 v arco seno v + p / 2, siendo p = 3.14...
COS Calcula el coseno del número en coma flotante de un ángulo indicado por la
medida de su arco.
ACOS Calcula el arco coseno del número en coma flotante. El resultado es un ángulo
indicado por la medida de su arco. El valor queda dentro del siguiente margen
de valores:
0 v arco coseno v + p, siendo p = 3.14...
TAN Calcula la tangente del número en coma flotante de un ángulo indicado por la
medida de su arco. El ángulo se guarda como número en coma flotante.
ATAN Calcula el arco tangente del número en coma flotante. El resultado es un ángulo
indicado por la medida de su arco. El valor queda dentro del siguiente rango de
valores:
p / 2 v arco tangente v + p / 2, siendo p = 3.14...
En el apartado 8.6 encontrará informaciones sobre los efectos que las operaciones
SIN, ASIN, COS, ACOS, TAN y ATAN tienen sobre el estado de señal de los bits de
estado A1, A0, OV y OS.
Parámetros Las tablas 8-12 a 8-17 muestran los cuadros SIN, ASIN, COS, ACOS, TAN y ATAN
y describen los parámetros.
Descripción La operación Comparar enteros ejecuta una operación de comparación cuya base es
un entero en coma fija de 16 bits. Esta operación puede utilizarse como un contacto
normal. La operación compara las entradas IN1 e IN2 según el tipo de comparación
seleccionado en el cuadro. La tabla 9-1 muestra una lista de las comparaciones váli-
das.
Si la comparación se cumple, es decir, si es verdadera, el resultado lógico (RLO) de
la comparación es 1, en otro caso ”0”. No existe la negación del resultado de com-
paración ya que éste puede obtenerse con la función de comparación inversa.
Comparación verdadera:
RB A1 A0 OV OS OR STA RLO /ER
se escribe x x x 0 – 0 1 x 1
Descripción La operación Comparar enteros dobles ejecuta una operación de comparación cuya
base es un entero en coma fija de 32 bits. Esta operación puede utilizarse como un
contacto normal. La operación compara las entradas IN1 e IN2 según el tipo de
comparación seleccionado en el cuadro. La tabla 9-3 muestra una lista de las com-
paraciones válidas.
Si la comparación se cumple, es decir, si es verdadera, el resultado lógico (RLO) de
la comparación es 1, en otro caso ”0”. La negación del resultado de comparación no
existe, ya que éste puede obtenerse con la función de comparación inversa.
Tabla 9-4 Cuadro Comparar enteros dobles y parámetros; ejemplo: ”diferente de”
Descripción La operación Comparar números en coma flotante ejecuta una operación de compa-
ración cuya base es un número en coma flotante. Esta operación se utiliza como un
contacto normal. Esta compara las entradas IN1 e IN2 según el tipo de comparación
seleccionado en el cuadro. La tabla 9-5 muestra una lista de las comparaciones váli-
das.
Si la comparación es verdadera, el resultado lógico (RLO) de la función es 1, en
otro caso ”0”. La negación del resultado de comparación no existe ya que éste puede
obtenerse con la función de comparación inversa.
Tabla 9-6 Cuadro Comparar números en coma flotante y parámetros; ejemplo: ”menor que”
Comparación verdadera
RB A1 A0 OV OS OR STA RLO /ER
se escribe– x x x x 0 x x 1
Descripción La operación Asignar un valor permite preasignar un valor determinado a una varia-
ble.
El valor indicado en la entrada IN se copia en el operando indicado de la salida
OUT. ENO y EN tienen el mismo estado de señal.
La operación Asignar un valor puede copiar con el cuadro MOVE todos los tipos de
datos de 8, 16 ó 32 bits de longitud. Los tipos de datos definidos por el usuario tales
como campos o estructuras tienen que copiarse con la función de sistema integrada
’Copiar variable’ (v. el manual de referencia /235/).
La operación Asignar un valor se ve afectada por el Master Control Relay (MCR).
Para más información sobre el funcionamiento del MCR v. apt. 16.5.
Para el posicionamiento del cuadro Asignar un valor deben tenerse en cuenta ciertas
limitaciones (v. apt. 2.1).
Preasignar un Para más información sobre las funciones de sistema integradas que actúan como
determinado valor operaciones de transferencia y con las que se puede preasignar un determinado valor
a una variable a una variable o con las que se puede copiar variables de diversos tipos, véase el
manual de referencia /235/.
Descripción La operación Convertir de BCD a entero lee el número de tres dígitos en formato
decimal codificado en binario (BCD, + 999) que contiene el parámetro de entrada
IN y convierte este número en un entero. El resultado se deposita en el parámetro de
salida OUT.
ENO y EN siempre tienen el mismo estado de señal.
Si una parte del número BCD se encuentra en el margen no válido de 10 a 15, al
intentar realizar la conversión se produce un error BCDF:
S La CPU pasa a modo STOP. En el búfer de diagnóstico se registra el aviso ”BCD
Conversion Error” con el número de identificación de evento 2521.
S Se llama al OB 121 si éste está programado. Para más información sobre la pro-
gramación del OB 121, véase el manual de referencia /235/.
Para el posicionamiento del cuadro Convertir de BCD a entero deben tenerse en
cuenta ciertas restricciones (v. apt. 2.1).
Descripción La operación Convertir de entero a BCD lee el valor entero contenido en el paráme-
tro de entrada IN y convierte este valor en un número de tres dígitos en formato de-
cimal codificado en binario (BCD, + 999) El resultado se deposita en el parámetro
de salida OUT. En caso de producirse un rebase del margen, ENO = 0.
Para el posicionamiento del cuadro Convertir de entero a BCD deben tenerse en
cuenta ciertas restricciones (v. apt. 2.1).
Descripción La operación Convertir de entero a entero doble lee el entero contenido en el pará-
metro de entrada IN y lo convierte en un entero doble. El resultado se emite en el
parámetro de salida OUT. ENO y EN tienen el mismo estado de señal.
Para el posicionamiento del cuadro Convertir de entero a entero doble deben tenerse
en cuenta ciertas restricciones (v. apt. 2.1).
Descripción La operación Convertir de BCD a entero doble lee el número de siete dígitos en
formato decimal codificado en binario (BDC, + 9 999 999) contenido en el paráme-
tro de entrada IN y lo convierte en un entero doble. El resultado se deposita en el
parámetro de salida OUT.
ENO y EN siempre tienen el mismo estado de señal.
Si una parte del número BCD se encuentra en el margen no válido de 10 a 15, al
intentar realizar la conversión se produce un error BCDF.
S La CPU pasa a modo STOP. En el búfer de diagnóstico se registra el mensaje
”BCD Conversion Error” con el número de identificación de evento 2521.
S Se llama al OB 121 si es que está programado. Para más información sobre la
programación del OB 121, véase el manual de referencia /235/.
Para el posicionamiento del cuadro Convertir de BCD a entero doble deben tenerse
en cuenta ciertas restricciones (v. apt. 2.1).
Descripción La operación Convertir de entero doble a BCD lee el entero doble contenido en el
parámetro de entrada IN y lo convierte en un número de siete dígitos en formato
decimal codificado en binario (BCD, + 9 999 999). El resultado se deposita en el
parámetro de salida OUT. En caso de desbordamiento, ENO = 0.
Para el posicionamiento del cuadro Convertir de entero doble a BCD deben tenerse
en cuenta ciertas restricciones (v. apt. 2.1).
Descripción La operación Convertir de entero doble a número en coma flotante lee el entero do-
ble contenido en el parámetro de entrada IN y convierte este número en un número
en coma flotante. El resultado se encuentra en el parámetro de salida OUT. ENO y
EN siempre tienen el mismo estado de señal.
Para el posicionamiento del cuadro Convertir de entero doble a número en coma
flotante deben tenerse en cuenta ciertas restricciones (v. apt. 2.1).
Tabla 10-7 Cuadro Convertir de entero doble a número en coma flotante y parámetros
Descripción La operación Negar número en coma flotante lee el contenido del parámetro de en-
trada IN e invierte el bit de signo, es decir, la operación cambia el signo del número
(por ejemplo de 0 para positivo a 1 para negativo). Los bits del exponente y de la
mantisa no se modifican. El resultado se deposita en el parámetro de salida OUT.
ENO y EN tienen siempre el mismo estado de señal.
Para el posicionamiento del cuadro Negar número en coma flotante deben tenerse en
cuenta ciertas restricciones (v. apt. 2.1).
Descripción La operación Redondear a entero doble lee el número en coma flotante contenido en
el parámetro de entrada IN y convierte este valor en un entero doble redondeándolo
al número entero más próximo. El resultado es el componente entero más próximo
(es decir, el entero más próximo). El resultado se deposita en el parámetro de salida
OUT. Si los decimales = ,5 se obtiene el número par. En caso de desbordamiento,
ENO = 0.
Para el posicionamiento del cuadro Redondear a entero doble deben tenerse en
cuenta ciertas restricciones (v. apt. 2.1).
Descripción La operación Truncar a entero doble lee el número en coma flotante contenido en el
parámetro de entrada IN y lo convierte en un entero doble. El resultado es el compo-
nente entero del número en coma flotante indicado. El resultado se deposita en el
parámetro de salida OUT. En caso de desbordamiento, ENO = 0.
Para el posicionamiento del cuadro Truncar a entero doble deben tenerse en cuenta
ciertas restricciones (v. apt. 2.1).
Descripción La operación Redondear número en coma flotante a entero superior lee el número
en coma flotante contenido en el parámetro de entrada IN y convierte este número
en un entero doble. El resultado es entero más pequeño, mayor o igual al número en
coma flotante indicado. El resultado se encuentra en el parámetro de salida OUT. En
caso de desbordamiento, ENO = 0.
Para el posicionamiento del cuadro Redondear número en coma flotante a entero
superior existen algunas limitaciones a tener en cuenta (v. apt. 2.1).
Tabla 10-15 Cuadro Redondear número en coma flotante a entero superior y parámetros
Descripción La operación Redondear número en coma flotante a entero inferior lee el número en
coma flotante contenido en el parámetro de entrada IN y convierte este número en
un entero doble. El resultado es un entero más grande, menor o igual al número en
coma flotante indicado. El resultado se deposita en el parámetro de salida OUT. En
caso de desbordamiento, ENO = 0.
Para el posicionamiento del cuadro Redondear número en coma flotante a entero
inferior deben tenerse en cuenta ciertas restricciones (v. apt. 2.1).
Tabla 10-16 Cuadro Redondear número en coma flotante a entero inferior y parámetros
¿Qué son las Las operaciones lógicas con palabras comparan bit a bit pares de palabras (16 bits) y
operaciones palabras dobles (32 bits) según la lógica de Boole. Para ejecutar las operaciones
lógicas con lógicas con palabras se dispone de las siguientes operaciones:
palabras?
S Y con palabras: combina dos palabras bit a bit según la tabla de verdad Y.
S Y con palabras dobles: combina dos palabras dobles bit a bit según la tabla de
verdad Y.
S O con palabras: combina dos palabras bit a bit según la tabla de verdad O.
S O con palabras dobles: combina dos palabras dobles bit a bit según la tabla de
verdad O.
S O-exclusiva con palabras: combina dos palabras bit a bit según la tabla de ver-
dad O-exclusiva.
S O-exclusiva con palabras dobles: combina dos palabras dobles bit a bit según la
tabla de verdad O-exclusiva.
Descripción Las operaciones de desplazamiento sirven para desplazar bit a bit el contenido de la
entrada IN, hacia la izquierda o hacia la derecha (v. apt. 2.3). El desplazamiento
hacia la izquierda multiplica el contenido de la entrada IN por potencias de 2; el
desplazamiento hacia la derecha divide el contenido de la entrada IN por potencias
de 2. Por ejemplo, desplazando el equivalente binario del valor decimal 3 tres bits
hacia la izquierda se obtiene en el acumulador el equivalente binario del valor deci-
mal 24. Desplazando el equivalente binario del valor decimal 16 dos bits hacia la
derecha se obtiene en el acumulador el equivalente binario del valor decimal 4.
El número que se introduce en el parámetro de entrada N indica el número de bits a
desplazar. Las posiciones que quedan libres después de ejecutar la operación de des-
plazamiento se rellenan con ceros o con el estado de señal del bit de signo (0 signi-
fica positivo y 1 significa negativo). El estado de señal del último bit desplazado se
carga en el bit A1 de la palabra de estado (v. apt. 2.3). Los bits A0 y OV de la pala-
bra de estado se ponen a 0. Para interpretar el bit A1 pueden utilizarse las operacio-
nes de salto.
Se dispone de las operaciones de desplazamiento siguientes:
S Desplazar palabra hacia la izquierda, Desplazar palabra doble hacia la izquierda
S Desplazar palabra hacia la derecha, Desplazar palabra doble hacia la derecha
S Desplazar entero hacia la derecha, Desplazar entero doble hacia la derecha
Desplazar palabra Un estado de señal de 1 en la entrada de habilitación (EN) activa la operación Des-
hacia la izquierda plazar palabra hacia la izquierda. Esta operación desplaza los bits 0 a 15 de la en-
trada IN bit a bit hacia la izquierda.
La entrada N indica el número de bits a desplazar. Si N es superior a 16, la opera-
ción escribe un 0 en la salida OUT y pone los bits A0 y OV de la palabra de estado
a 0. Las posiciones que quedan libre a la derecha se rellenan con ceros. El resultado
de la operación de desplazamiento se deposita en la salida OUT.
La operación activada pone los bits A0 y OV de la palabra de estado a “0” si N es
diferente de “0”. El estado de señal de ENO es el mismo que el de EN.
Para el posicionamiento del cuadro Desplazar palabra hacia la izquierda deben te-
nerse en cuenta ciertas restricciones (v. apt. 2.1).
N 6 posiciones
OUT 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0
SHL_W
_ EN BOOL E, A, M, L, D Entrada de habilitación
EN ENO ENO BOOL E, A, M, L, D Salida de habilitación
IN OUT IN WORD E, A, M, L, D Valor a desplazar
N N WORD E, A, M, L, D Número de posiciones (bits) a desplazar
OUT WORD E, A, M, L, D Resultado de la operación de desplazamiento
Desplazar palabra Un estado de señal de 1 en la entrada de habilitación (EN) activa la operación Des-
doble hacia la plazar palabra doble hacia la izquierda. Esta operación desplaza los bits 0 a 31 de
izquierda la entrada IN bit a bit hacia la izquierda. La entrada N indica el número de bits a
desplazar. Si N es superior a 32, la operación escribe un 0 en la salida OUT y pone
los bits A0 y OV de la palabra de estado a 0. Las posiciones que quedan libres a la
derecha se rellenan con ceros. El resultado de la operación de desplazamiento se
deposita en la salida OUT.
La operación activada pone los bits A0 y OV de la palabra de estado a “0” si N es
diferente de “0”. El estado de señal de ENO es el mismo que el de EN.
Para el posicionamiento del cuadro Desplazar palabra doble a la izquierda deben
tenerse en cuenta ciertas restricciones (v. apt. 2.1).
SHL_DW
_ EN BOOL E, A, M, L, D Entrada de habilitación
EN ENO ENO BOOL E, A, M, L, D Salida de habilitación
IN OUT IN DWORD E, A, M, L, D Valor a desplazar
N N WORD E, A, M, L, D Número de posiciones (bits) a desplazar
OUT DWORD E, A, M, L, D Resultado de la operación de desplazamiento
Desplazar palabra Un estado de señal de 1 en la entrada de habilitación (EN) ejecuta la operación Des-
hacia la derecha plazar palabra hacia la derecha. Esta operación desplaza los bits 0 a 15 de la en-
trada IN bit a bit hacia la derecha. Los bits 16 a 31 no se ven afectados. La entrada
N indica el número de bits a desplazar. Si N es superior a 16, la operación escribe un
0 en la salida OUT y pone los bits A0 y OV de la palabra de estado a 0. Las posicio-
nes que quedan libres a la izquierda se rellenan con ceros. El resultado de la opera-
ción de desplazamiento se deposita en la salida OUT.
La operación activada pone los bits A0 y OV de la palabra de estado a “0” si N es
diferente de “0”. El estado de señal de ENO es el mismo que el de EN.
Para el posicionamiento del cuadro Desplazar palabra hacia la derecha deben te-
nerse en cuenta ciertas restricciones (v. apt. 2.1).
Desplazar palabra Un estado de señal de 1 en la entrada de habilitación (EN) activa la operación Des-
doble hacia la plazar palabra doble hacia la derecha. Esta operación desplaza los bits 0 a 31 de la
derecha entrada IN bit a bit hacia la derecha. La entrada N indica el número de bits a despla-
zar. Si N es superior a 32, la operación escribe un 0 en la salida OUT y pone los
bits A0 y OV de la palabra de estado a 0. Las posiciones que quedan libres a la iz-
quierda se rellenan con ceros. El resultado de la operación de desplazamiento se
deposita en la salida OUT.
La operación activada pone los bits A0 y OV de la palabra de estado a “0” si N es
diferente de “0”. El estado de señal de ENO es el mismo que el de EN.
Para el posiconamiento del cuadro Desplazar palabra doble a la derecha deben te-
nerse en cuenta ciertas restricciones (v. apt. 2.1).
N 3 posiciones
OUT 0001 1111 1110 1010 1011 0101 0101 1111 111
Las posiciones
libres se rellenan Estos tres bits
con ceros son eliminados
Figura 12-5 Desplazamiento de los bits de la entrada IN tres bits hacia la derecha
SHR_DW
_ EN BOOL E, A, M, L, D Entrada de habilitación
EN ENO ENO BOOL E, A, M, L, D Salida de habilitación
IN OUT IN DWORD E, A, M, L, D Valor a desplazar
N N WORD E, A, M, L, D Número de posiciones (bits) a desplazar
OUT DWORD E, A, M, L, D Resultado de la operación de desplazamiento
Desplazar entero Un estado de señal de 1 en la entrada de habilitación (EN) activa la operación Des-
hacia la derecha plazar entero hacia la derecha. Esta operación desplaza los bits 0 a 15 de la entrada
IN bit a bit hacia la derecha. La entrada N indica el número de bits a desplazar. Si N
es superior a 16, la operación se comporta como si N fuera 16. Las posiciones que
quedan libres a la izquierda se rellenan con el estado de señal del bit 15 (que corres-
ponde al signo de un entero), es decir, se rellenan con ceros si el número es positivo
o se rellenan con unos si es negativo. El resultado de la operación de desplaza-
miento se deposita en la salida OUT.
La operación activada pone los bits A0 y OV de la palabra de estado a “0” si N es
diferente de “0”. El estado de señal de ENO es el mismo que el de EN.
Para el posicionamiento del cuadro Desplazar entero hacia la derecha deben tenerse
en cuenta ciertas restricciones (v. apt. 2.1).
IN 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0
OUT 1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0
Figura 12-7 Desplazamiento de los bits de la entrada IN cuatro bits hacia la derecha con signo
SHR_I
_ EN BOOL E, A, M, L, D Entrada de habilitación
EN ENO ENO BOOL E, A, M, L, D Salida de habilitación
IN OUT IN INT E, A, M, L, D Valor a desplazar
N N WORD E, A, M, L, D Número de posiciones (bits) a desplazar
OUT INT E, A, M, L, D Resultado de la operación de desplazamiento
Desplazar entero Un estado de señal de 1 en la entrada de habilitación (EN) activa la operación Des-
doble hacia la plazar entero doble hacia la derecha. Esta operación desplaza todo el contenido de
derecha la entrada IN bit a bit hacia la derecha. La entrada N indica el número de bits a des-
plazar. Si es superior a 32, la operación se comporta como si N fuera 32. Las posi-
ciones que quedan libres a la izquierda se rellenan con el estado de señal del bit 31
(que es el signo de un número entero), es decir, se rellenan con ceros si el número es
positivo y con unos si es negativo. El resultado de la operación de desplazamiento
se deposita en la salida OUT.
La operación activada pone los bits A0 y OV de la palabra de estado a “0” si N es
diferente de “0”. El estado de señal de ENO es el mismo que el de EN.
Para el posicionamiento del cuadro Desplazar entero doble hacia la derecha deben
tenerse en cuenta ciertas restricciones (v. apt. 2.1).
SHR_DI
_ EN BOOL E, A, M, L, D Entrada de habilitación
EN ENO ENO BOOL E, A, M, L, D Salida de habilitación
IN OUT IN DINT E, A, M, L, D Valor a desplazar
N N WORD E, A, M, L, D Número de posiciones (bits) a desplazar
OUT DINT E, A, M, L, D Resultado de la operación de desplazamiento
Descripción Las operaciones de rotación sirven para rotar bit a bit todo el contenido de la en-
trada IN, hacia la izquierda o hacia la derecha. Las posiciones libres de los bits se
rellenan con los estados de señal de los bits que se desplazan fuera de la entrada IN.
El número que se introduce en el parámetro de entrada N indica el número de bits
que se va a rotar.
Dependiendo de la operación, la rotación tiene lugar vía el bit A1 de la palabra de
estado (v. apt. 2.3). El bit A0 de la palabra de estado se pone a 0.
Se dispone de las siguientes operaciones de rotación:
S Rotar palabra doble a la izquierda
S Rotar palabra doble a la derecha
Rotar palabra Un estado de señal de 1 en la entrada de habilitación (EN) activa la operación Rotar
doble a la palabra doble a la izquierda. Esta operación rota todo el contenido de la salida IN
izquierda bit a bit a la izquierda. La entrada N indica el número de bits a rotar. Si N es su–
perior a 32, la palabra doble rota (((N–1) módulo 32) + 1) posiciones. Las posicio-
nes que quedan libres a la derecha se rellenan con los estados de señal de los bits
rotados. El resultado de la operación de rotación se deposita en la salida OUT.
La operación activada pone los bits A0 y OV de la palabra de estado a “0” si N es
diferente de “0”. El estado de señal de ENO es el mismo que el de EN.
Para el posicionamiento del cuadro Rotar palabra doble hacia la izquierda deben
tenerse en cuenta ciertas restricciones (v. apt. 2.1).
N 3 posiciones
OUT 111 1000 0101 0101 0000 0111 1000 0111 1111
Figura 12-10 Rotación de los bits de la entrada IN tres bits hacia la izquierda
Rotar palabra Un estado de señal de 1 en la entrada de habilitación (EN) activa la operación Rotar
doble hacia la palabra doble a la derecha. Esta operación hace rotar todo el contenido de la en-
derecha trada IN bit a bit hacia la derecha. La entrada N indica el número de bits a rotar. El
valor de N puede ser entre 0 y 31. Si N es superior a 32, la palabra doble rota
(((N–1) modulo 32) +1) posiciones. Las posiciones que quedan libres a la izquierda
se rellenan con los estados de señal de los bits rotados. El resultado de la operación
de rotación se deposita en la salida OUT.
La operación activada pone los bits A0 y OV de la palabra de estado a “0” si N es
diferente de “0”. El estado de señal de ENO es el mismo que el de EN.
Para el posicionamiento del cuadro Rotar palabra doble a la derecha deben tenerse
en cuenta ciertas restricciones (v. apt. 2.1).
N 3 posiciones
OUT 1011 0101 0100 0001 1110 0001 1110 1010 101
Figura 12-12 Rotación de los bits de la entrada IN tres bits hacia la derecha
Descripción La operación Abrir bloque de datos abre un bloque de datos como bloque de datos
global (DB) o como bloque de datos de instancia (DI). El número del bloque de da-
tos se transfiere al registro del DB o del DI. Los comandos DB y DI consiguientes
acceden a los correspondientes bloques dependiendo del contenido del registro.
Tabla 13-1 Elemento Abrir bloque de datos y parámetro con abreviatura SIMATIC
Tabla 13-2 Elemento Abrir bloque de datos DB o DI y parámetro con abreviatura internacional
Segmento 1
DB10
DB10 es el bloque de datos que en
AUF ese momento está abierto. Por ello,
DBX0.0 indica el bit 0 del byte de
Segmento 2 datos 0 del bloque de datos DB 10.
El estado de señal de este bit se
DBX 0.0 A 4.0
asigna a la salida A 4.0.
Meta como El operando de una operación de salto es una meta. Una meta se compone de cuatro
operando caracteres como máximo. El primer carácter ha de ser una letra del alfabeto; los
restantes caracteres pueden ser letras o números (p.ej. SEG3). La meta indica el des-
tino a donde se desea saltar en el programa.
La meta se introduce encima de la bobina de salto (v. fig. 14-1).
Meta como destino La meta de destino ha de encontrarse siempre al principio de un segmento. Para in-
troducirla hay que seleccionar LABEL en el cuadro KOP. En seguida aparece un
cuadro vacío. Introducir en el cuadro el nombre de la meta (v. fig. 14-1).
Segmento1
SEG3
JMP
Segmento 2
E 0.1 A 4.0
.
.
.
Segmento X
SEG3 E 0.4 A 4.1
R
Segmento 1
CAS1
JMP
El salto se ejecuta siempre. Las
operaciones entre la operación
Segmento X de salto y la meta no se ejecutan.
A 4.1
CAS1 E 0.4
R
Segmento 1
E 0.0 CAS1
JMP
Segmento 3
E 0.4 A 4.1
CAS1
R
Segmento 1
E 0.0 CAS1
JMPN
Si el estado de señal de la entrada E 0.0 es 0
se ejecuta el salto a la meta CAS1. La
operación que pone la salida A 4.0 a 0 no se
Segmento 2 ejecuta aunque el estado de señal de la
E 0.3 A 4.0 entrada E 0.3 sea 1.
R
Las operaciones que se encuentran entre la
operación de salto y la meta no se ejecutan.
Segmento 3
CAS1 E 0.4 A 4.1
R
Descripción LABEL indica el destino de una operación de salto. Para cada –––(JMP) o
–––(JMPN) tiene que haber una meta de salto (LABEL).
Formato Descripción
4 caracteres:
LABEL primer carácter: alfabético
restantes caracteres: alfabético o alfanumérico
Segmento1
E 0.0 CAS1
JMP
Si E 0.0 = 1 entonces se salta a la meta
CAS1.
Segmento 3
Descripción Las operaciones con bits de la palabra de estado son operaciones lógicas
(v. apt. 4.1), que trabajan con los bits de la palabra de estado (v. apt. 2.3). Estas ope-
raciones reaccionan ante una de las condiciones expuestas a continuación, represen-
tadas por uno o más bits de la palabra de estado:
S El bit de resultado binario (RB) está activado (es decir, su estado de señal es 1).
S El resultado de una función aritmética referido a 0 puede ser:
– mayor que 0 (> 0)
– menor que 0 (< 0)
– mayor o igual a 0 (> = 0)
– menor o igual a 0 (< = 0)
– igual a 0 (= = 0)
– diferente de 0 (< > 0)
S El resultado de una función aritmética no es admisible.
S Una función aritmética ha causado un desbordamiento.
Si la operación con bits de la palabra de estado está conectada en serie, ésta com-
bina el resultado de la consulta de su estado de señal con el resultado lógico prece-
dente según la tabla de verdad Y (v. apt. 2.2 y tabla 2-8). Si la operación con bits de
la palabra de estado está conectada en paralelo, ésta combina su resultado con el
RLO precedente según la tabla de verdad O (v. apt. 2.2 y tabla 2-9).
En este capítulo se describe el elemento Bit de anomalía ”registro BR”en abrevia-
tura SIMATIC y en abreviatura internacional (inglés). Dicho elemento consulta el
estado de señal del bit RB de la palabra de estado .
Palabra de estado La palabra de estado es un registro de la memoria de la CPU que contiene bits que
pueden direccionarse en el operando de las operaciones lógicas con bits y con pala-
bras. La figura 15-1 muestra la estructura de la palabra de estado. Para más informa-
ción sobre cada uno de los bits de la palabra de estado, v. apt. 2.3.
215... ...29 28 27 26 25 24 23 22 21 20
RB A1 A0 OV OS OR STA RLO /ER
Descripción La operación Bit de anomalía ”registro RB” sirve para consultar el estado de señal
del bit RB (resultado binario) de la palabra de estado (v. apt. 2.3). En caso de utili-
zar la operación en serie, ésta combina el resultado de su consulta con el resultado
lógico precedente según la tabla de verdad Y (v. apt. 2.2 y tabla 2-8). En caso de
utilizarla en paralelo, la operación combina el resultado de su consulta con el RLO
precedente según la tabla de verdad O (v. apt. 2.2 y tabla 2-9).
El elemento y su La figura 15-2 muestra el elemento Bit de anomalía ”registro RB” y su negación.
negación Los elementos están representados con su abreviatura SIMATIC y su abreviatura
internacional.
BIE BR
BIE BR
Descripción Las operaciones Bits de resultado se utilizan para determinar la relación entre el
resultado de una función aritmética y 0, es decir, si el resultado es > 0, < 0, > = 0,
< = 0, = = 0 ó < > 0 (v. tabla 15-1). Para ello se evalúan los códigos de condición de
la palabra de estado (A1 y A0, v. apt. 2.3). Si se cumple la condición indicada en el
operando, el resultado de la consulta del estado de señal es 1.
Utilizada en serie, la operación combina el resultado de la consulta de su estado de
señal con el resultado lógico precedente según la tabla de verdad Y (v. apt. 2.2 y
tabla 2-8). Utilizada en paralelo, la operación combina el resultado de la consulta de
su estado de señal con el RLO precedente según la tabla de verdad O (v. apt. 2.2 y
tabla 2-9).
<0 La operación Bit de resultado menor que 0 determina si el resultado de una función
aritmética es menor que 0. Esta operación comprueba la combinación en los bits A1 y A0
(códigos de condición) de la palabra de estado para determinar la relación entre el
<0 resultado y 0.
<=0 La operación Bit de resultado menor o igual a 0 determina si el resultado de una función
aritmética es menor o igual a 0. Esta operación comprueba la combinación en los bits A1
y A0 (códigos de condición) de la palabra de estado para determinar la relación entre el
<=0 resultado y 0.
<>0 La operación Bit de resultado distinto que 0 comprueba si el resultado de una función
aritmética es distinto que 0. Esta operación comprueba la combinación en los bits A1
y A0 (códigos de condición) de la palabra de estado para determinar la relación entre el
<>0 resultado y 0.
El elemento y su
negación UO
UO
El elemento y su OV
negación
OV
Segmento 2:
El resultado de la consulta del estado de señal con
OV E 0.1 E 0.2 A 4.0 OV es 1. La salida A 4.0 se activa si la consulta con
OV es 1 y el RLO del segmento 2 es 1 (es decir, si el
S RLO inmediatamente anterior a la salida A 4.0 es 1).
El elemento y su
negación OS
OS
Segmento 1:
E 0.0 MUL_I Si el estado de señal de la entrada E 0.0 es 1 se activa
EN ENO el cuadro MUL_I. Si el estado de señal de la entrada
E 0.1 es 1 se activa el cuadro ADD_I. Si uno de los dos
EW0 IN1 resultados se encuentra fuera del área admisible para
EW2 IN2 OUT MD8 enteros, se activa el bit OS de la palabra de estado.
Descripción La operación Abrir FC/SFC sin parámetros se utiliza para abrir una función (FC) o
una función de sistema (SFC) que no tenga parámetros. Dependiendo de la combi-
nación precedente, la llamada es condicional o incondicional (absoluta). (V. ejemplo
fig. 16-1).
La llamada condicional no permite introducir parámetros del tipo BLOCK_FC en la
parte que contiene las instrucciones de una función (FC). Sin embargo, en un bloque
de función (FB) sí es posible introducir como operando un parámetro del tipo
BLOCK_FC.
La llamada incondicional se ejecuta solamente si RLO es 1. Si no se ejecuta una
llamada incondicional, después de la llamada el RLO será 0. Si la operación se eje-
cuta, se llevan a cabo las siguientes acciones:
S Se memoriza la dirección que se necesita para retornar al bloque que ha efec-
tuado la llamada.
S Se memorizan ambos registros de bloques de datos (DB y DI).
S Se sustituye el área de datos locales previa por el área de datos locales actual.
S Se desplaza el bit MA (bit activo MCR) a la pila de bloques (BSTACK).
S Se crea la nueva área de datos locales para la FC o la SFC abierta.
Después de realizar dichas acciones, el procesamiento continúa en el bloque abierto.
Para más información sobre la transferencia de parámetros véase la Ayuda en panta-
lla de STEP 7.
.
.
. DB10
.
. OPN
.
.
.
MCRA
.
.
. FC10
. CALL
E 0.0 A 4.0
.
.
.
. MCRD
.
.
. E 0.1 FC11
.
CALL
Si la llamada de FC10 es incondicional (absoluta), la operación CALL lleva a cabo las acciones
siguientes:
La ejecución del programa continúa en FC10. Si se desea utilizar la función MCR en FC10 hay
que reactivarla ahí. Al terminar la FC10, la ejecución del programa retorna al FB que ha efec-
tuado la llamada. El bit MA se restablece, y el DB10 y el bloque de datos de instancia del FB
definido por el usuario se convierten en DBs normales, independientemente de los DBs que
haya utilizado FC10.
Llamada condicional
RB A1 A0 OV OS OR STA RLO /ER
se escribe – – – – 0 0 1 1 0
Descripción Los bloques de función (FBs), las funciones (FCs), los bloques de función de sis-
tema (SFBs) y las funciones de sistema (SFCs) se abren seleccionándolos en el cua-
dro de selección ”Elementos de programa”. Estos bloques se encuentran al final de
la lista de las familias de operaciones con los nombres siguientes:
S Bloques FB
S Bloques FC
S Bloques SFB
S Bloques SFC
S Multiinstancias
S Librerías
Al seleccionar uno de estos bloques aparece un cuadro en pantalla con el número o
nombre simbólico de la función o del bloque de función y los parámetros correspon-
dientes.
El bloque a llamar tiene que estar compilado y figurar en el archivo de programa, en
la librería o en la CPU.
Al realizarse la operación (abrir FBs, FCs, SFBs, SFC y multiinstancias en cuadros),
se llevan a cabo las siguientes acciones:
S Se memoriza la dirección que se necesita para retornar al bloque que ha efec-
tuado la llamada.
S Se memorizan ambos registros de bloques de datos (DB y DI).
S Se sustituye el área de datos locales previa por el área de datos locales actual.
S Se desplaza el bit MA (bit activo MCR) a la pila de bloques (BSTACK).
S Se crea la nueva área de datos locales para la función FC abierta.
Nota
Al memorizar los registros DB y DI es posible que éstos no indiquen los bloques de
datos que han sido abiertos. Debido al mecanismo ”copy in” y ”copy out” utilizado
para transferir parámetros, especialmente en el caso de los bloques de función, el
compilador sobreescribe a veces el registro DB. Para más información véase la
Ayuda en pantalla de STEP 7.
Precaución
! El bit RB puede ponerse a 0 accidentalmente.
Al escribir FBs y FCs en lenguaje KOP, un FB o FC puede sobreescribir el bit RB
de otro FB o FC si el bit RB no es manipulado como se describe arriba.
Para evitarlo, almacenar el RLO al final de cada FB o FC como se ha descrito más
arriba.
Efecto de la La figura 16-2 muestra el efecto que tiene una llamada condicional o una incondicio-
llamada sobre los nal de un bloque sobre los bits de la palabra de estado (v. apt. 2.3).
bits de la palabra
de estado
Figura 16-2 Efecto de una llamada sobre los bits de la palabra de estado
Parámetros Los parámetros del bloque llamado se visualizan en el cuadro KOP. La asignación
de parámetros dependerá del tipo de bloque:
S Si se trata de una función (FC) hay que dotar a todos los parámetros formales de
parámetros actuales.
S Si se trata de un bloque de función (FB) no es necesario indicar los parámetros
actuales. Sin embargo, hay que dotar al FB de un bloque de datos de instancia
(DB de instancia). Si no se dota al parámetro formal de su parámetro actual, el
FB operará con los datos que encuentre en su DB de instancia.
S Si se trata de multiinstancias no es necesario que indique el DB de instancia; el
cuadro que se ha abierto ya contiene el número de DB correspondiente (sobre la
declaración de multiinstancias, véase la Ayuda en pantalla de STEP 7).
Hay que disponer de un parámetro actual para los parámetros INOUT estructurados
y para los parámetros de tipo puntero y array, al menos en la primera llamada.
Cada parámetro actual que se indique al abrir un bloque de función tiene que ser del
mismo tipo que su parámetro formal.
Para más información sobre cómo programar una función o cómo trabajar con sus
parámetros véase la Ayuda en pantalla de STEP 7.
La tabla 16-2 muestra un cuadro para abrir FBs, FCs, SFBs, SFCs y multiinstancias
y describe los parámetros comunes a dichos bloques. Al abrir el bloque deseado
desde la ventana de díalogo aparece automáticamente el número del bloque en la
parte superior del mismo (número del FB, FC, SFB o SFC, p. ej. FC10).
Tabla 16-2 Cuadro y parámetros para abrir FBs, FCs, SFBs, SFCs y multiinstancias
.
.
.
.
DB13
FB10 Abre FB10 con DB 13
EN ENO de instancia
16.3 Retorno
Descripción La operación Retorno se utiliza para abandonar bloques. Los bloques pueden
abandonarse de forma condicional. La operación Retorno almacena el RLO en el bit
RB de la palabra de estado.
Si un bloque es abandonado a causa de un retorno condicional, el estado de señal del
RLO del bloque al que retorna el control del programa es 1.
RET ninguno – – –
Definición del El Master Control Relay (MCR, v. también apt. 16.5) es un relé maestro que activa
Master Control y desactiva la circulación de corriente (circuito conductor). Un circuito conductor
Relay desactivado corresponde a una secuencia de operaciones que escribe un cero en lu-
gar del valor calculado, o a una secuencia de operaciones que no modifica el valor
de memoria existente. Las operaciones activadas por las operaciones representadas
en la tabla 16-4 dependen del MCR.
Las operaciones Bobina de relé (salida) y Conector escriben un 0 en la memoria si
el MCR es 0. Las operaciones Activar bobina y Desactivar bobina no modifican el
valor existente (v. tabla 16-5).
Tabla 16-5 Operaciones que dependen del MCR y su reacción ante el estado de señal de MCR
(imita a un relé que pasa a estado (imita a un relé que permanece (imita a un componente que
de reposo cuando se corta la en su estado actual cuando se produce un valor de 0 cuando
alimentación) corta la alimentación) falla la alimentación)
1 Ejecución normal Ejecución normal Ejecución normal
Prestar atención al usar la función en bloques en los que se activó el Master Control
Relay con MCRA:
S Si está desconectado el MCR, en las partes del programa que se encuentran entre
MCR( y )MCR todas las asignaciones (T=) escribirán el valor 0.
S El MCR se desconecta siempre que un RLO=0 preceda a una instrucción MCR(.
Peligro
! STOP del PLC o comportamiento no definido del tiempo de ejecución.
Para calcular direcciones el compilador realiza accesos de escritura a datos locales
detrás de las variables temporales definidas en VAR_TEMP. Por este motivo las
siguientes secuencias de instrucciones conducen al PLC a STOP o producen un
comportamiento no definido del tiempo de ejecución:
Accesos a parámetros formales
S Accesos a componentes de parámetros FC complejos del tipo STRUCT, UDT,
ARRAY, STRING
S Accesos a componentes de parámetros FB complejos del tipo STRUCT, UDT,
ARRAY, STRING del área IN_OUT de un bloque de la versión 2.
S Accesos a parámetros de un FB de la versión de bloque 2, si su dirección es
superior a 8180.0.
S Un acceso desde el FB de la versión de bloque 2 a un parámetro del tipo
BLOCK_DB abre el DB 0. Los siguientes accesos a datos conducen la CPU a
STOP. Con TIMER, COUNTER, BLOCK_FC, BLOCK_FB se utiliza siempre
T 0, Z 0. FC 0 ó FB 0.
Entrega de parámetros
S Llamadas en las que se entregan parámetros.
KOP/FUP
S Las ramas T y conectores de KOP o FUP empiezan con RLO=0.
Remedio
Libere las instrucciones mencionadas de la dependencia del MCR:
1. Desactive el Master Control Relay con la instrucción de MCRD que se
encuentre delante de la instrucción o del segmento en cuestión.
2. Active el Master Control Relay con la instrucción MCRA que se encuentre
detrás de la instrucción o del segmento en cuestión.
Inicio MCR Con la operación Inicio Master Control Relay se conecta la dependencia de los co-
mandos que siguen a MCR. Después del comando se pueden programar las zonas
MCR con las operaciones Conectar Master Control Relay y Desconectar Master
Control Relay (v. apt. 16.6). Cuando el programa activa un área MCR, todas las ac-
ciones del MCR dependen del contenido de la pila MCR (v. figura B-4).
Fin MCR Con la operación Fin Master Control Relay se desconecta la dependencia de los co-
mandos que siguen a MCR. Después del comando no se pueden programar más zo-
nas MCR. Cuando el programa desactiva un área MCR, independientemente de los
registros de la pila MCR, MCR siempre conduce corriente.
La pila MCR y el bit que controla su dependencia (el bit MA) están referidos a un
nivel concreto y tienen que salvaguardarse y restablecerse cada vez que se conmute
el nivel de secuencia. Se preajustan al principio de cada nivel (los bits de entrada
MCR 1 a 8 se ponen a ”1”, el puntero de la pila MCR = 0 y el bit MA = 0).
La pila MCR se pasa de bloque a bloque. El bit MA se salvaguarda cada vez que se
llama al bloque y se pone a ”0”. Al final del bloque se vuelve a sacar.
El MCR puede ser implementado de forma que se optimice el tiempo de ejecución
de las CPUs que generan código, ya que la dependencia del MCR no se pasa al blo-
que sino que debe ser activada explícitamente por la operación MCRA. La CPU que
genera el código detecta esta operación y genera el código adicional para evaluar la
pila MCR hasta detectar una operación MCRD o hasta alcanzar el final del bloque.
Para las operaciones que se encuentran fuera de la zona MCRA/MCRD no aumenta
el tiempo de ejecución.
En caso de emplear MCRA y MCRD en el programa, hay que tener en cuenta que
deben utilizarse siempre en pareja.
ÀÀÀÀÀÀ OB1
ÀÀÀÀÀÀ
ÀÀÀÀÀÀ ÀÀÀÀÀÀÀ FBx
ÀÀÀÀÀÀÀ FCy
ÀÀÀÀÀÀ
ÀÀÀÀÀÀ ÀÀÀÀÀÀÀ ÀÀÀÀÀÀÀ
ÀÀÀÀÀÀ ÀÀÀÀÀÀÀ ÀÀÀÀÀÀÀ
ÀÀÀÀÀÀÀ ÀÀÀÀÀÀÀ
ÀÀÀÀÀÀÀ ÀÀÀÀÀÀÀ
MCRA
ÀÀÀÀÀÀÀ MCRA
MCRA
ÀÀÀÀÀÀ
ÀÀÀÀÀÀ
MCRD Call FCy
ÀÀÀÀÀÀ
ÀÀÀÀÀÀ
ÀÀÀÀÀÀ
Call FBx
ÀÀÀÀÀÀÀ MCRD
ÀÀÀÀÀÀ ÀÀÀÀÀÀÀ
MCRA ÀÀÀÀÀÀÀ BEA
BEA
Las operaciones programadas entre MCRA y MCRD dependen del estado de señal
del bit MCR. Las operaciones programadas fuera de una secuencia MCRA-MCRD
no dependen del estado de señal del bit MCR. Si falta la operación MCRD, las ope-
raciones programadas entre la operación MCRA y la operación BE dependerán del
bit MCR. (BEA es una operación AWL. Para más información, consulte el manual
/232/).
MCRA
E 0.0
MCR<
E 0.3 A 4.0
S
.
.
.
E 0.4 A 4.1
MCR>
MCRD
La operación ––(MCRA) activa la función MCR hasta el siguiente MCRD. Las operaciones entre
––(MCR<) y ––(MCR>) se ejecutan dependiendo del bit MA, tal como se describe a continuación:
La dependencia de las funciones (FC) y de los bloques de funciones (FB) del bit
MCR ha de programarse en los bloques mismos, es decir, si se llama a una FC o a
un FB desde una secuencia MCRA-MCRD, las instrucciones que contiene la se-
cuencia no dependen automáticamente del bit MCR. Para que esto sí ocurra, hay
que utilizar la operación MCRA en el bloque llamado.
Precaución
! Para reducir el riesgo de daños materiales y/o personales:
No utilizar nunca la operación MCR como parada de emergencia ni como
dispositivo de seguridad del personal.
No utilizar nunca el MCR para sustituir a un Master Control Relay mecánico
permanente conectado.
Conectar MCR Con la operación Conectar Master Control Relay (MCR<) se memoriza el RLO en
la pila MCR y queda abierta un área MCR. El RLO que acaba de ser memorizado en
la pila MCR al abrir el área MCR afecta dentro de dicha área a las operaciones enu-
meradas en la tabla 16-4. La pila MCR opera como una memoria intermedia LIFO
(LIFO = last in, first out), que como máximo contiene 8 entradas. Si la pila está
llena, la operación Conectar Master Control Relay genera un error en la pila MCR
(MCRF).
Desconectar MCR Con la operación Desconectar Master Control Relay (MCR>) se cierra la última
área abierta. Para ello se borra entrada RLO en la pila MCR, a donde había sido
desplazada por la operación Conectar Master Control Relay. La pila MCR opera
como una memoria intermedia LIFO (LIFO = last in, first out). La entrada que
queda libre al final de dicha pila se pone a 1. Si la pila ya está vacía, la operación
Desconectar Master Control Relay genera un error en la pila MCR (MCRF).
El MCR es controlado por una pila de un bit de ancho y de ocho niveles de profun-
didad (v. figura 16-7). El MCR se activa a condición de que los ocho niveles de la
pila estén a ”1”. La operación ––(MCR<) copia el resultado lógico en la pila MCR;
la operación ––(MCR>) retira el último nivel de la pila y pone la posición libre a 1.
En caso de error, es decir, cuando hay más de ocho operaciones ––(MCR>) consecu-
tivas o cuando se intenta ejecutar una operación ––(MCR>) estando vacía la pila
MCR, entonces se lanza el mensaje de error MCRF. La vigilancia de la pila MCR
sigue al puntero de la pila (MSP: 0 = vacío, 1 = un nivel, 2 = dos niveles, ...8 = ocho
niveles).
RLO 1
RLO 2
MSP ! RLO 3
4
5
6
7
8
# "
Bit desplazado 1
MA
" "
MCRA 1 0 MCRD
MCRA
E 0.0
MCR <
E 0.1
MCR <
E 0.3 A 4.0
S
MCR>
E 0.4 A 4.1
MCR>
MCRD
Cuando la operación ––(MCRA) activa la función MCR se pueden crear hasta ocho áreas MCR anidadas. En
el ejemplo hay dos áreas MCR. La primera operación ––(MCR>) trabaja conjuntamente con la segunda
operación ––(MCR<). Todas las operaciones que se encuentran entre el segundo juego de paréntesis MCR
(MCR<MCR>) pertenecen a la segunda área MCR. Las operaciones se ejecutan como sigue:
S Si el estado de señal de la entrada E 0.0 = 1, el estado de señal de la entrada E 0.4 se asigna a A 4.1.
S Si el estado de señal de la entrada E 0.0 = 0, el estado de señal de la salida A 4.1 es 0, indepen-
dientemente del estado de señal de la entrada E 0.4. La salida A 4.0 permanece inalterada
independientemente del estado de señal de la entrada E 0.3.
S Si el estado de señal de las entradas E 0.0 y E 0.1= 1, la salida A 4.0 se pone a 1 si el estado de
señal de la entrada E 0.3 es 1 y A-4.1 = E 0.4.
S Si el estado de señal de la entrada E 0.1 = 0, la salida A 4.0 permanece inalterada independiente-
mente del estado de señal de la entrada E 0.3 y E 0.0.
Bibliografía
C
Esquema de contactos (KOP) para S7-300 y S7-400
P-18 C79000-G7078-C564-01
Indice alfabético de las operaciones A
Indice del anexo Apartado Tema Página
A.1 Indice alfabético con nombres en español y su abreviatura SIMATIC A-2
A.2 Indice alfabético con nombres en español y equivalentes en inglés A-5
A.3 Indice alfabético con nombres en inglés y su abreviatura A-8
internacional
A.4 Indice alfabético con nombres en inglés y equivalentes en español A-11
A-5 Indice alfabético con abreviaturas SIMATIC e internacional A-14
La tabla A-1 contiene un índice alfabético de las operaciones con el nombre com-
pleto en español. Junto a cada nombre figura la abreviatura SIMATIC correspon-
diente y la página del manual donde se explica la operación.
Tabla A-1 Indice alfabético de las operaciones KOP con nombre en español y su abreviatura SIMATIC
Tabla A-1 Indice alfabético de las operaciones KOP con nombre en español y su abreviatura SIMATIC
Tabla A-1 Indice alfabético de las operaciones KOP con nombre en español y su abreviatura SIMATIC
La tabla A-2 contiene un índice alfabético de las operaciones con el nombre com-
pleto en español. Junto al nombre figura el equivalente inglés y la página del ma-
nual donde se explica la operación.
Tabla A-2 Indice alfabético de las operaciones con nombre español y equivalente inglés
Tabla A-2 Indice alfabético de las operaciones con nombre español y equivalente inglés
Tabla A-2 Indice alfabético de las operaciones con nombre español y equivalente inglés
La tabla A-3 contiene un índice alfabético de las operaciones con el nombre com-
pleto en inglés. Junto a cada nombre figura la abreviatura internacional (inglés) co-
rrespondiente y la página del manual donde explica la operación.
Tabla A-3 Indice alfabético de las operaciones KOP con nombre en inglés y su abreviatura internacional
Tabla A-3 Indice alfabético de las operaciones KOP con nombre en inglés y su abreviatura internacional
Tabla A-3 Indice alfabético de las operaciones KOP con nombre en inglés y su abreviatura internacional
La tabla A-4 contiene un índice alfabético de las operaciones con los nombres com-
pletos en inglés. Junto a cada nombre figura su equivalente español y la página del
manual donde se explica la operación.
Tabla A-4 Indice alfabético de las operaciones lógicas KOP con nombre inglés y equivalente español
Tabla A-4 Indice alfabético de las operaciones lógicas KOP con nombre inglés y equivalente español
Tabla A-4 Indice alfabético de las operaciones lógicas KOP con nombre inglés y equivalente español
Tabla A-5 Operaciones KOP utilizadas en este manual con sus abreviaturas SIMATIC e internacional
Aplicaciones Todas las instrucciones KOP descritas en este manual activan una operación deter-
prácticas minada. Combinando estas operaciones en un programa se puede llevar a cabo una
gran variedad de tareas de automatización. Este capítulo contiene los siguientes
ejemplos de aplicación de las operaciones KOP:
S Controlar una cinta transportadora usando operaciones lógicas con bits
S Detectar el sentido de marcha de una cinta transportadora usando operaciones
lógicas con bits
S Generar un impulso de reloj usando operaciones de temporización
S Supervisión del depósito usando operaciones de contaje y de comparación
S Resolver un problema usando operaciones aritméticas con enteros
S Ajustar el tiempo de calentamiento de una caldera
Operaciones Los ejemplos expuestos en este capítulo utilizan las siguientes operaciones:
utilizadas
S Activar bobina –––( S )
S Asignar un valor (MOVE)
S Bobina de relé (salida) –––( )
S Contacto normalmente abierto (operando) ––– –––
S Contacto normalmente cerrado (operando) –––/–––
S Incrementar contador (bobina) –––( Z_VORW )
S Decrementar contador (bobina) (Z-RUECK)
S Comparar enteros (CMP_I>=)
S Comparar enteros (CMP_I<=)
S Desactivar bobina –––( R )
S Detectar flanco de señal 0 → 1 –––( P )–––
S Dividir enteros (DIV_I)
S Multiplicar enteros (MUL_I)
S O con palabras (WOR_W)
S Retorno –––( RET )
S Saltar si es 0 –––( JMPN )–––
S Sumar enteros (ADD_I)
S Temporizador de impulso prolongado –––( SV )
S Y con palabras (WAND_W)
Controlar una La figura B-1 muestra una cinta transportadora que se pone en marcha eléctrica-
cinta mente. Al principio de la cinta (es decir, en el extremo izquierdo) se encuentran dos
transportadora pulsadores: S1 para MARCHA (start) y S2 para PARO (stop). Al final de la cinta, es
decir, en el extremo derecho se encuentran otros dos pulsadores: S3 para MARCHA
y S4 para PARO. La cinta puede ponerse en marcha o pararse desde cualesquiera de
ambos extremos. Asimismo, el sensor S5 detiene la cinta cuando un paquete alcanza
el final de la cinta.
Denominación
Componente del sistema Símbolo Tabla de símbolos
absoluta
Pulsador de marcha E 1.1 S1 E 1.1 S1
Pulsador de paro E 1.2 S2 E 1.2 S2
Pulsador de marcha E 1.3 S3 E 1.3 S3
Pulsador de paro E 1.4 S4 E 1.4 S4
Sensor E 1.5 S5 E 1.5 S5
Motor A 4.0 MOTOR_ON A 4.0 MOTOR_ON
Sensor S5
S1 ` Marcha S3 ` Marcha
S2 ` Paro S4 ` Paro
MOTOR_ON
Programación También se puede escribir un programa que controle la cinta transportadora ilustrada
absoluta en la figura B-1 usando valores absolutos para representar los distintos componentes
del sistema de transporte (v. tabla B-2). La figura B-2 muestra un programa KOP
para controlar la cinta transportadora.
Sensor
“S5”
E 1.5
Detectar el sentido La figura B-3 muestra una cinta transportadora equipada con dos barreras fotoeléc-
de marcha de una tricas (BO1 y BO2) concebidas para detectar el sentido de marcha de la cinta trans-
cinta transporta- portadora. Cada barrera fotoeléctrica funciona igual que un contacto normalmente
dora abierto (v. apt. 4.2).
Programación Se puede escribir un programa que active un display para el sentido de marcha del
simbólica sistema de transporte ilustrado en la figura B-3 usando símbolos para representar los
distintos componentes del sistema, incluidas las barreras ópticas que detectan el sen-
tido de marcha. En caso de elegir este método es preciso crear una lista de señales
para asociar los símbolos deseados a los valores absolutos (v. tabla B-3). Los símbo-
los los define el usuario en la tabla de símbolos (v. la Ayuda en pantalla de STEP 7).
Programación También es posible escribir un programa que active el display para el sentido de
absoluta marcha de la cinta transportadora ilustrada en la figura B-3 usando valores para re-
presentar las barreras ópticas que detectan el sentido de marcha (v. tabla B-4). La
figura B-4 muestra un programa KOP que controla el display del sentido de marcha
de la cinta.
Figura B-3 Sistema de transporte con barreras ópticas que detectan el sentido de marcha
Segmento 1: Si el estado de señal de la entrada E 0.0 cambia de 0 a 1 (flanco positivo) y al mismo tiempo el
estado de señal de la entrada E 0.1 es 0, entonces el paquete se está moviendo a la izquierda.
Barrera óptica 1 Marca de impulso 1 Barrera óptica 2 Display para movimiento a la
“BO1” “MI1” “BO2” izquierda “IZQ”
E 0.0 M 0.0 E 0.1 A 4.1
P S
Segmento 2: Si el estado de señal de la entrada E 0.1 cambia de 0 a 1 (flanco positivo) y al mismo tiempo el
estado de señal de la entrada E 0.0 es 0, entonces el paquete se esta moviendo a la derecha. Si se
interrumpe una de las barreras ópticas, ésto significa que hay un paquete entre las barreras.
Segmento 3: Si una de las barreras ópticas es interrumpida, ésto significa que un paquete se encuentra entre
las barreras. El indicador de sentido de marcha se desactiva.
Figura B-4 Esquema de contactos para detectar el sentido de marcha de una cinta transportadora
Reloj Para generar una señal que se repita periódicamente se puede utilizar un reloj o un
relé intermitente. Los relojes se suelen utilizar en sistemas de señalización que
controlan la intermitencia de lámparas indicadoras.
En el S7-300 se puede implementar la función Reloj usando un procesamiento tem-
porizado en bloques de organización especiales. El ejemplo siguiente de un pro-
grama KOP muestra el uso de funciones temporizadas para generar un reloj.
El programa del ejemplo de la figura B-5 muestra cómo implementar un reloj asín-
crono usando un temporizador (relación impulso-pausa 1:1). La frecuencia se divide
por los valores indicados en la tabla B-5.
S5T#250MS
Segmento 2: El estado de señal del temporizador se almacena temporalmente en una marca auxiliar.
T1 M0.2
M0.2 M001
JMP
ADD_I
EN ENO
1 IN2
Segmento 5: La operación MOVE permite ver las distintas frecuencias de reloj en las salidas A 12.0 a A
13.7.
M001
MOVE
EN ENO
MW100 IN O AW12
1
0
250 ms
Figura B-6 RLO del contacto negado T1 en el ejemplo del tiempo de ciclo
1
0
250 ms
Figura B-7 Bit RLO negado del temporizador T1 en el ejemplo del tiempo de ciclo
El bit RLO es 0 cada 250 ms. El salto se ignora y el contenido de la palabra de mar-
cas MW100 se incrementa en 1.
Programar una La tabla B-5 muestra las frecuencias que pueden programarse con cada uno de los-
frecuencia los bits del byte de marcas MB 101 y MB 100. El segmento 3 del esquema de con-
determinada tactos ilustrado en la figura B-5 muestra cómo la operación MOVE permite ver las
distintas frecuencias de reloj en las salidas A 12.0 a A 13.7.
La tabla B-6 muestra los estados de señal de los bits del byte de marcas MB101. La
figura B-8 muestra el estado de señal del bit de marca M 101.1.
Tabla B-6 Estados de señal de los bits del byte de marcas MB101
0 0 0 0 0 0 0 0 0 250
1 0 0 0 0 0 0 0 1 250
2 0 0 0 0 0 0 1 0 250
3 0 0 0 0 0 0 1 1 250
4 0 0 0 0 0 1 0 0 250
5 0 0 0 0 0 1 0 1 250
6 0 0 0 0 0 1 1 0 250
7 0 0 0 0 0 1 1 1 250
8 0 0 0 0 1 0 0 0 250
9 0 0 0 0 1 0 0 1 250
10 0 0 0 0 1 0 1 0 250
11 0 0 0 0 1 0 1 1 250
12 0 0 0 0 1 1 0 0 250
T
1
M 101.1 0
Tiempo
0 250 ms 0.5 s 0.75 s 1 s 1.25 s 1.5 s
Frecuencia + 1 + 1 + 1Hz
T 1s
Area de La figura B-9 muestra un sistema con dos cintas transportadoras y un área de
almacenamiento almacenamiento temporal colocada entre ambas. La cinta transportadora 1
con contador y transporta paquetes al área de almacenamiento. Una barrera óptica situada al final
comparador de la cinta 1 junto al área de almacenamiento determina cuántos paquetes se
transportan a dicha área. La cinta transportadora 2 transporta paquetes desde el área
de almacenamiento a una plataforma de carga donde llegan camiones y los recogen
para suministrarlos a los clientes. Una barrera óptica situada al final de la cinta
transportadora 2 junto al área de almacenamiento determina cuántos paquetes
abandonan el área de almacenamiento para ser transportados a la plataforma de
carga.
Un panel indicador con cinco lámparas señala el nivel del área de almacenamiento
temporal. La figura B-10 muestra el programa KOP que activa las lámparas
indicadoras en el panel indicador.
Panel indicador
Area de almace- Area de almace- Area de almace- Area de almace- Area de almace-
namiento vacía namiento no vacía namiento al 50% namiento al 90% namiento llena
(A12.0) (A12.1) (A15.2) (A15.3) (A15.4)
Z1
ZAEHLER A12.1
E12.0
ZV Q
E12.1
ZR
E12.2
S
A12.1 A12.0
Segmento 3:Si 50 es menor o igual al valor del contador (o si el estado actual del contador es mayor
o igual que 50), se enciende la lámpara ”Area de almacenamiento al 50%..
CMP A15.2
<= I
50 IN1
MW200 IN2
Segmento 5: Si el valor del contador es mayor o igual a 100 se enciende la lámpara ”Area de
almacenamiento llena”.
CMP A15.4
>= I
MW200 IN1
100 IN2
Figura B-10 Esquema de contactos para activar las lámparas del panel indicador
Resolver un El siguiente programa de ejemplo muestra cómo utilizar tres operaciones aritméticas
problema con enteros y las operaciones L y T para producir el mismo resultado que la
aritmético siguiente ecuación:
(EW0 ) DBW3) 15
MD4 +
MW0
Segmento 2: La palabra de entrada EW0 se suma a la palabra de datos globales DBW3 (el bloque de datos
tiene que estar definido y abierto) y la suma se carga en la palabra de marcas MW100. Después se
multiplica MW100 por 15 y el resultado se deposita en la palabra doble de marcas MW102. Luego se divide
MW102 entre MW0. Es resultado se guarda en MW4. Mientras los resultados se encuentren en el margen
admisible de cada operación, ENO pasará a un estado de señal de 1 para el siguiente cuadro.
DBW3 IN2 OUT MW100 15 IN2 OUT MW102 MW0 IN2 OUT MW4
Calentar una El operador de la caldera ilustrada en la figura B-12 conecta la caldera accionando
caldera el pulsador de marcha. El operador puede graduar un tiempo de calentamiento utili-
zando los preselectores mecánicos ilustrados en la figura. El valor fijado por el ope-
rador indica los segundos en formato decimal codificado en binario (BCD). La ta-
bla B-7 muestra los componentes del sistema de calentamiento y sus direcciones
absolutas utilizadas en el programa del ejemplo en la figura B-12.
ÎÎÎÎÎÎ
Caldera
ÎÎÎÎÎÎ
4 4 4
Figura B-12 Utilización de entradas y salidas en el proceso de calentamiento controlado por tiempo
T1
RET
Segmento 3: Enmascarar los bits de entrada E 0.4 a E 0.7 (es decir, ponerlos a 0). Estos bits de las entra-
das de los preselectores no se utilizan. Los 16 bits de las entradas de los preselectores se combinan con
W#16#0FFF mediante la operación Y con palabras. El resultado se carga en la palabra de marcas MW1.
Para regular la base de tiempo en segundos se combina el valor de preselección con W#16#2000 mediante
la operación O con palabras, poniendo el bit 13 a 1 y el bit 12 a 0.
WAND_W WOR_W
EN ENO EN ENO
MW2
Acumulador Los acumuladores (ACU) son registros de la CPU que sirven de memoria intermedia
al realizar operaciones de carga, transferencia, cálculo y conversión.
Área de memoria En SIMATIC S7, una unidad central de procesamiento tiene tres áreas de memoria:
S el área de carga,
S el área de trabajo y
S el área de sistema.
Array Tipo de datos compuesto constituido por elementos de datos del mismo tipo. A su
vez, estos elementos pueden ser simples o compuestos.
Bit de estado El bit de estado (STA) almacena el valor de un bit direccionado. El estado de una
operación lógica que tiene acceso de lectura a la memoria (U, UN, O, ON, X o XN)
siempre es igual al valor del bit que está consultando dicha operación (el bit con el
que está ejecutando la combinación). El estado de una operación lógica que tiene
acceso de escritura a la memoria (S, R, =) siempre es igual al valor del bit en el que
la operación está escribiendo, o bien, si no tiene lugar ningún acceso de escritura, es
igual al valor del bit direccionado. El bit de estado no tiene relevancia para las ope-
raciones lógicas que no accedan a la memoria. Dichas operaciones ponen el bit de
estado a ”1” (STA = 1). El bit de estado no es consultado por ninguna operación,
sino que solamente es interpretado durante el test del programa (estado del pro-
grama).
Bloque de datos Los bloques de datos (DB) son áreas de datos localizadas dentro del programa de
(DB) usuario. Los bloques de datos contienen datos de usuario. Se distingue entre bloques
de datos globales, a los cuales pueden acceder todos los bloques lógicos, y bloques
de datos de instancia, los cuales están asignados a una determinada llamada de FB.
A diferencia de los demás tipos de bloques, los bloques de datos no contienen ins-
trucciones.
Bloque de datos Un bloque de datos de instancia guarda los parámetros formales y los datos estáticos
de instancia (DB) de los bloques de función. Un bloque de datos de instancia puede estar asignado a
una llamada de FB o a una jerarquía de llamadas de bloques de función.
Bloque de datos Técnicamente, un bloque de datos globales es un bloque de datos cuyo operando se
globales (DB) carga en el registro de direcciones del DB al abrirlo. El DB global proporciona me-
moria y datos a todos los bloques lógicos (FC, FB y OB) a ejecutar.
A diferencia de los DB globales, la misión de un DB de instancia es la de proporcio-
nar memoria y datos sólo a aquel bloque de función al que haya sido asignado.
Bloque de función Conforme a la norma IEC 1131–3, un bloque de función (FB) es un bloque lógico
(FB) con memoria, es decir, con datos estáticos. Un FB ofrece la posibilidad de transferir
parámetros dentro del programa de usuario. Por esta razón, los bloques de función
son idóneos para programar funciones complejas que se repitan con frecuencia,
como, por ejemplo, regulaciones o selección de modos de operación. Como un FB
dispone de una memoria (bloque de datos de instancia), se puede acceder a sus
parámetros (p.ej.: salidas) en cualquier momento y en cualquier punto del programa
de usuario.
Bloque de función Bloque de función (con memoria) que está integrado dentro del sistema operativo de
del sistema (SFB) la CPU S7, y que se puede llamar, como se llama a un bloque de función (FB), en el
programa de usuario de STEP 7 cuando se necesite.
Bloque lógico Dentro del ámbito de SIMATIC S7 se entiende por bloque lógico aquel tipo de blo-
que que contiene una parte del programa de usuario STEP 7. A diferencia de los
bloques lógicos, los bloques de datos contienen exclusivamente datos. Hay cinco
tipos de bloques lógicos: bloques de organización (OB), bloques de función (FB),
funciones (FC), bloques de función del sistema (SFB) y funciones de sistema (SFC).
Los bloques se almacenan en la carpeta “Bloques” bajo “Programa S7”.
Cadena lógica Parte de un programa de usuario que comienza con un bit /ER con un estado de se-
ñal de ”0” y que termina cuando una operación o evento ponen el bit /ER a ”0”.
Cuando la CPU haya ejecutado la primera operación de la cadena, el estado de señal
del bit será siempre ”1”. Determinadas operaciones, tales como las operaciones de
salida (p. ej.: S, R ó =) desactivan el bit /ER, es decir, lo ponen a ”0”. V. Primera
consulta.
Circuito conductor Característica del lenguaje Esquema de contactos. Los circuitos contienen contactos
y bobinas y también pueden incluir elementos complejos (p. ej., funciones matemá-
ticas) en forma de ”cuadros”. Los circuitos se conectan a una barra de alimentación.
Datos de Los datos de referencia sirven para supervisar el programa S7. Los datos de referen-
referencia cia abarcan la lista de referencias cruzadas, el plano de ocupación, la estructura del
programa de usuario, la lista de operandos no utilizados y la lista de los operandos
sin símbolo.
Datos estáticos Datos locales de un bloque de función; estos datos se guardan en el bloque de datos
de instancia, por lo que se conservan hasta que se vuelve a ejecutar el bloque de
función.
Equipo Aparato que constituye una unidad homogénea y que, como tal, puede ser conectada
a una o a varias subredes, por ejemplo: sistema de automatización, unidad de pro-
gramación, estación de operador.
Estructura del La estructura del programa de usuario describe la jerarquía de llamada de los blo-
programa de ques dentro de un programa S7; esta estructura proporciona una visión de conjunto
usuario sobre los bloques que se utilizan y sus respectivas dependencias.
Fuente Una fuente (archivo de texto) es una parte de un programa que se crea con un editor
de texto o gráfico, y a partir de la cual se genera por compilación el programa de
usuario ejecutable o el código de máquina para M7 .
Función (FC) De acuerdo con la norma IEC 1131-3, las funciones (FC) son bloques lógicos sin
memoria, es decir, sin datos estáticos. Una función ofrece la posibilidad de transferir
parámetros dentro del programa de usuario. Por esta razón, las funciones resultan
idóneas para programar funciones complejas que se repitan con frecuencia, como,
por ejemplo, los cálculos. Importante: como no existe memoria, los valores calcula-
dos deben seguirse procesando inmediatamente después de realizarse la llamada a la
FC.
Función de Función (sin memoria) integrada en el sistema operativo de la CPU S7 que se puede
sistema (SFC) llamar, como se llama a una función (FC), en el programa de usuario de STEP 7
cuando se necesite.
Identificador Parte de un operando que contiene informaciones como, por ejemplo, el área de me-
del operando moria en la que la operación encontrará el valor (objeto de datos) con el que ejecu-
tar una combinación lógica, o el tamaño de un valor (objeto de datos) con el que
ejecutará una combinación lógica. Ejemplo: En la instrucción ”U EB10”, ”EB” es el
identificador del operando (E indica el área de de memoria de las entradas; B indica
un byte de esta área).
Jerarquía de Cada bloque debe ser llamado antes de poder ser ejecutado. Se llama jerarquía de
llamada llamada a la sucesión y al anidamiento de dichas llamadas dentro de un bloque de
organización.
Master Control El Master Control Relay (MCR) se utiliza en los esquemas de contactos de relé para
Relay activar y desactivar la circulación de corriente (circuito activado). Un circuito
desactivado corresponde a una secuencia de operaciones que escribe el valor cero en
lugar del valor calculado, o una secuencia de operaciones que no modifica el valor
de memoria existente.
Operación Parte de una instrucción de STEP 7 que especifica lo que tiene que hacer el procesa-
dor.
Operando Parte de una instrucción STEP 7 que especifica con qué cosa debe hacer algo el pro-
cesador. El operando se puede direccionar tanto de modo simbólico como absoluto.
Palabra clave Las palabras clave se utilizan en la entrada orientada a la fuente para identificar el
comienzo de un bloque al efectuar las entradas del programa y para marcar las sec-
ciones dentro de la tabla de declaración de bloques, el comienzo de los comentarios
de bloque y el comienzo de los títulos.
Palabra de estado Parte del registro de la unidad central de procesamiento. Contiene información sobre
el estado y los errores que se dan al ejecutar comandos de STEP 7. El usuario puede
leer y escribir los bits de estado, pero los bits de errores sólo se pueden leer.
Parámetros Los parámetros actuales (reales) sustituyen a los parámetros formales cuando se
actuales llama a un bloque de función (FB) o a una función (FC).
Ejemplo: el parámetro formal ”start” será sustituido por el parámetro actual ”E 3.6”.
Parámetros Un parámetro formal es un comodín que se sustituye por el parámetro ”real” (pará-
formales metro actual) que utilicen los bloques lógicos parametrizables. En el caso de los FB
y de las FC es el usuario quien declara los parámetros formales; en el caso de los
SFB y de las SFC los parámetros formales ya han sido establecidos. Al llamar a un
bloque se asigna al parámetro formal un parámetro actual, de modo que el bloque
llamado operará con el valor actual de este parámetro.
Los parámetros formales forman parte de los datos locales del bloque, y se dividen
en parámetros de entrada, parámetros de salida y parámetros de entrada/salida.
Programa de El programa de usuario contiene todas las instrucciones, declaraciones y datos para
usuario procesar las señales con las que se controlará una instalación o un proceso. Está
(concepto general) asignado a un módulo programable (p. ej., CPU, FM) y se puede estructurar en uni-
dades menores llamadas bloques.
Programa S7 Carpeta de bloques, fuentes y planos para los módulos programables S7; el pro-
grama S7 también contiene la tabla de símbolos.
Puntero Con un puntero se puede indicar la dirección de una variable. Un puntero contiene
un operando en lugar de un valor. Cuando al tipo de parámetro puntero se le asigna
un parámetro actual, se le proporciona la dirección de memoria. Con STEP 7 se
puede introducir el puntero con formato de puntero o simplemente como operando
(p. ej. M 50.0). En el siguiente ejemplo se muestra el formato de puntero con el cual
se accede a los datos a partir de M 50.0
P#M50.0
Resultado lógico El resultado lógico (RLO) es el resultado de una cadena lógica que se utiliza para el
(RLO) procesamiento binario de señales. En función del resultado lógico anterior se ejecu-
tarán unas funciones y otras no.
Segmento Los segmentos dividen los bloques KOP y FUP en líneas conductoras cerradas y los
bloques AWL en unidades de conjunto.
Símbolo Nombre que el usuario define atendiendo a determinadas normas sintácticas. Una
vez que se ha determinado lo que simboliza este nombre (p.ej.: variable, tipo de
datos, meta del salto, bloque), podrá utilizarse tanto para la programación como
para el manejo y visualización. Ejemplo: operando: E 5.0, tipo de datos: BOOL,
símbolo: pulsador Paroemerg.
Tabla de Cuando se crea un programa utilizando un editor de texto, los datos locales de un
declaración bloque lógico se declaran en la tabla de declaración.
Tabla de símbolos Tabla para asignar símbolos (= nombres) a direcciones de datos globales y bloques.
Ejemplos: paroemerg (símbolo), E 1.7 (dirección); regulador (símbolo), SFB 24
(bloque).
Tabla de variables En la tabla de variables se recopilan las variables a observar y forzar, incluyéndose
los respectivos datos de formato.
Tipos de datos El tipo de datos sirve para determinar la forma en que deberá utilizarse el valor de
una variable o de una constante en el programa de usuario.
En SIMATIC S7, el usuario dispone de dos tipos de datos conformes a la norma
IEC 1131–3:
S Tipos de datos simples
S Tipos de datos compuestos
Tipos de datos Estructuras de datos especiales generadas por el usuario, que se podrán usar en todo
de usuario (UDT) el programa de CPU según estén definidas. Se utilizan en la declaración de variables
de los bloques lógicos (FC, FB, OB) como tipos de datos simples y compuestos, y
también sirven como modelo para la elaboración de bloques de datos que tengan la
misma estructura de datos.
Tipos de datos Los tipos de datos compuestos los define el usuario declarando el tipo de datos.
compuestos Estos datos no tienen un nombre distintivo, por lo que no tienen uso múltiple. Se
distingue entre arrays y estructuras. Los tipos de datos STRING y DATE AND
TIME también pertenecen a los tipos de datos compuestos.
Abrir funciones del sistema, asignar parámetros, Bit de anomalía ”operación no válida” ––|UO|––,
16-6 15-6
ACOS. Ver Arco coseno referidos a la aritmética en coma flotante, 15-6
Activar bobina ––(S), 4-9 Bit de anomalía ”registro RB” ––|RB|––, 15-3
Acumuladores Bit de estado OR, 2-14
descripción, 2-12 Bit en la palabra de estado, variación, 2-12
función, 2-12 Bit OS (desbordamiento memorizado), bit de
valor de contaje, 6-2 anomalía ”desbordamiento memorizado”
valor de temporización, 5-3 ––|OS|––, 15-9–15-10
ADD_DI. Ver Sumar enteros dobles Bit OV (desbordamiento)
ADD_I. Ver Sumar enteros bit de anomalía ”desbordamiento” ––|OV|––,
ADD_R. Ver Sumar números de coma flotante 15-7–15-8
Anidamiento, Master Control Relay (MCR), 16-14 bit de estado, 2-14
Arcocoseno (ACOS), 8-13–8-15 Bits de resultado
Arcoseno (ASIN), 8-13–8-14 consultar códigos de condición (A1 y A0), 2-15
Arcotangente (ATAN), 8-13 operaciones, 15-4–15-5
Areas de memoria, 2-3, 2-4 Bloques
bloque de datos, 2-4 abrir, 16-2–16-3
contadores, 2-4 salir, 16-7
datos locales, 2-4 Bloques de datos (DB)
E/S: entradas/salidas externas, 2-4 área de memoria, 2-3, 2-4
imagen del proceso de las entradas, 2-4 área de direccionamiento, 2-5
imagen del proceso de las salidas, 2-4 instancia, 16-6
marcas, 2-4 Bloques de datos de instancia (DB), 16-6
temporizadores, 2-4 Bloques de función (FB)
Aritmética en coma flotante, 8-2 abrir FB, 16-4–16-6
arcocoseno (ACOS), 8-13–8-15 asignar parámetros, 16-6
arcoseno (ASIN), 8-13–8-14 dependencia del Master Control Relay (MCR),
arcotangente (ATAN), 8-13 16-10
dividir números en coma flotante (DIV_R), 8-6 Bloques de función del sistema (SFB)
efecto sobre los bits de la palabra de estado, 8-7 abrir SFB, 16-4–16-6
multiplicar números en coma flotante asignar parámetros, 16-6
(MUL_R), 8-5 Bobina de relé (salida) ––( ), 4-5
referidas al bit de anomalía de operaciones no Bobinas, restricciones para la asignación, 2-3
válidas ––|UO|––, 15-6 BOOL, área, 3-3
restar números en coma flotante (SUB_R), 8-4 Byte, área, 3-3
resultado dentro del área válida, 8-7
sumar números en coma flotante (ADD_R), 8-3
Asignar un valor (MOVE), 10-2–10-3 C
ASIN. Ver Arco seno
Cadena lógica
ATAN. Ver Arco tangente
definición, 2-13
inicio, 2-13
Carácter (CHAR), área, 3-3
B Cargar resultado lógico (RLO) en registro RB
Base de tiempo para S5 TIME, 5-2 ––(SAVE), 4-8
resolución, 5-3 Cargar un valor de contaje, formato, 6-2
BCD_DI. Ver Convertir de BCD a entero doble Cargar un valor de temporización
(BCD_I) área, 3-3
BCD_I. Ver Convertir de BCD a entero (BCD_I) formato, 5-2
BCDF. Ver Error en la conversión de BCD CEIL. Ver Redondear número de coma flotante a
Bit de anomalía ”desbordamiento memorizado” entero superior (CEIL)
––|OS|––, 15-9–15-10 CHAR (carácter), área, 3-3
Bit de anomalía ”desbordamiento” ––|OV|––, Circulación de corriente, 2-6
15-7–15-8 CMP_D. Ver Comparar enteros dobles
CMP_I. Ver Comparar enteros Convertir de entero a entero doble (I_DI), 10-6
CMP_R. Ver Comparar dos números de coma Convertir de entero doble a BCD (DI_BCD), 10-8
flotante Convertir de entero doble a número en coma
Códigos de condición (A1 y A0), 2-14 flotante (DI_R), 10-9
bits de la palabra de estado, 2-14 COS. Ver Coseno
efecto de las operaciones aritméticas sobre los Coseno (COS), 8-13
códigos de condición, 8-7 Cuadro
referido al bit de resultado, 15-4–15-5 operación como cuadro, 2-2
referidos al bit de anomalía de operaciones no restricciones para la asignación, 2-3
válidas, 15-6 Cursos, v
Comparación de los resultados de una operación
aritmética con cero, 15-4
Comparar enteros (CMP_I), 9-2 D
Comparar enteros dobles (CMP_D), 9-3
Datos locales, área de memoria, 2-4
Comparar números en coma flotante (CMP_R), 9-4
área de direccionamiento, 2-4, 2-5
Complemento a 1 de entero (INV_I), 10-10
Decrementar contador, 6-7–6-8
Complemento a 1 de entero doble (INV_DI), 10-11
Decrementar contador ––(ZV), 4-13
Complemento a 2 de entero (NEG_I), 10-12
Decrementar contador (Z_RUECK), 6-7–6-8
Complemento a 2 de entero doble (NEG_DI), 10-13
Decrementar contador ––(ZR), 4-13
Conectar Master Control Relay ––(MCR<),
Desactivar bobina ––(R), 4-10
16-13–16-16
Desbordamiento (OV), afectado por la aritmética
Conector ––(#)––, 4-6
en coma flotante, 8-7
Conexión en paralelo de los contactos, 2-10
Desbordamiento memorizado (OS), afectado por la
Consultar códigos de condición (A1 y A0), 2-14
aritmética en coma flotante, 8-7
Contacto normalmente abierto, descripción, 2-6
Desconectar Master Control Relay ––(MCR>),
Contacto normalmente abierto ––| |––, 4-3
16-13–16-16
Contacto normalmente cerrado, descripción, 2-7
Desplazar entero a la derecha (SHR_I), 12-7
Contacto normalmente cerrado ––|/|––, 4-4
Desplazar entero doble a la derecha (SHR_DI),
Contactos
12-9
contacto normalmente abierto, 2-6
Desplazar palabra a la derecha (SHR_W), 12-5
contacto normalmente cerrado, 2-7
Desplazar palabra a la izquierda (SHL_W), 12-2
en paralelo, 2-10
Desplazar palabra doble a la derecha (SHR_DW),
en serie, 2-8
12-6
Contadores
Desplazar palabra doble a la izquierda (SHL_DW),
adelante, 4-12
12-4
área de direccionamiento, 2-4
Detectar flanco, 4-19
área de memoria, 2-4, 6-2
Detectar flanco de señal 0 –> 1 (POS), 4-21
área de direccionamiento, 2-5
Detectar flanco de señal 1 –> 0 (NEG), 4-22
números asistidos, 6-2
Detectar flanco negativo RLO (1 –> 0) ––(N)––,
operaciones con contadores
4-20
Decrementar contador ––(ZR), 4-13
Detectar flanco positivo RLO (0 –> 1) ––(P)––,
Incrementar contador ––(ZV), 4-12
4-19
posicionar el contador en preselección
DI_BCD. Ver Convertir de entero doble a BCD
––(SZ), 4-11
(DI_BCD)
operaciones de contaje
DI_R. Ver Convertir de entero doble a número de
Ver también Contadores, operaciones con
coma flotante (DI_R)
sontadores
Direccionamiento
aplicaciones prácticas, B-11
absoluto, B-4
Incrementar y decrementar contador
definición, 3-2
(ZAEHLER), 6-3
simbólico, B-3
valor de contaje
Direccionamiento absoluto, aplicaciones prácticas,
área, 6-2
B-4
formato, 6-2
Direccionamiento simbólico, ejemplo práctico, B-3
Conversión, entre KOP, FUP, AWL, 1-1
DIV_DI. Ver Dividir enteros dobles
Convertir de BCD a entero (BCD_I), 10-4
DIV_I. Ver Dividir enteros
Convertir de BCD a entero doble (BCD_DI), 10-7
DIV_R. Ver Dividir números de coma flotante
Convertir de entero a BCD (I_BCD), 10-5
Oestliche Rheinbrueckenstr. 50
D-76181 Karlsruhe
R.F.A.
Remitente:
Nombre: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Cargo: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Empresa: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Calle: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Código postal: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __
Población: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
País: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Teléfono: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Responda por favor a las siguientes preguntas dando una puntuación comprendida entre
1 = muy bien y 5 = muy mal
1. ¿Corresponde el contenido del manual a sus exigencias ?
2. ¿ Resulta fácil localizar las informaciones requeridas ?
3. ¿ Es comprensible el texto ?
4. ¿Corresponde el nivel de los detalles técnicos a sus exigencias ?
5. ¿Qué opina de la calidad de las ilustraciones y tablas ?
En las líneas siguientes puede exponer los problemas concretos que se le hayan planteado
al manejar el manual:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _