Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EIO0000003292.03
11/2022
www.se.com
Información legal
La marca Schneider Electric y cualquier otra marca comercial de Schneider Electric
SE y sus filiales mencionadas en esta guía son propiedad de Schneider Electric SE o
sus filiales. Todas las otras marcas pueden ser marcas comerciales de sus
respectivos propietarios. Esta guía y su contenido están protegidos por las leyes de
copyright aplicables, y se proporcionan exclusivamente a título informativo. Ninguna
parte de este manual puede ser reproducida o transmitida de cualquier forma o por
cualquier medio (electrónico, mecánico, fotocopia, grabación u otro), para ningún
propósito, sin el permiso previo por escrito de Schneider Electric.
Schneider Electric no concede ningún derecho o licencia para el uso comercial de la
guía o su contenido, excepto por una licencia no exclusiva y personal para
consultarla "tal cual".
La instalación, utilización, mantenimiento y reparación de los productos y equipos de
Schneider Electric la debe realizar solo personal cualificado.
Debido a la evolución de las normativas, especificaciones y diseños con el tiempo, la
información contenida en esta guía puede estar sujeta a cambios sin previo aviso.
En la medida permitida por la ley aplicable, Schneider Electric y sus filiales no
asumen ninguna responsabilidad u obligación por cualquier error u omisión en el
contenido informativo de este material o por las consecuencias derivadas o
resultantes del uso de la información contenida en el presente documento.
EIO0000003292.03 3
Instrucciones aritméticas para objetos de coma flotante.........................69
Instrucciones trigonométricas ..............................................................71
Instrucciones de conversión de ángulo .................................................72
Instrucciones de conversión de enteros/flotantes ..................................73
ASCII.......................................................................................................74
Instrucciones ROUND .........................................................................74
Instrucciones de conversión de ASCII a entero .....................................76
Instrucciones de conversión de entero a ASCII .....................................77
Instrucciones de conversión de ASCII a flotante ....................................79
Instrucciones de conversión de flotante a ASCII ....................................81
Instrucciones de conversión de ASCII a palabra doble...........................82
Instrucciones de conversión de palabra doble a ASCII...........................84
Operadores de pila ...................................................................................85
Instrucciones de la pila (MPS, MRD, MPP) ...........................................85
Instrucciones sobre las tablas de objetos....................................................86
Asignación de tablas de palabras, palabras dobles y comas
flotantes .............................................................................................87
Funciones de suma de tablas ..............................................................88
Funciones de comparación de tablas ...................................................89
Funciones de búsqueda en tablas ........................................................90
Funciones de búsqueda de valores máximo y mínimo en tablas .............91
Número de apariciones de un valor en una tabla ...................................92
Funciones de desplazamiento circular de tabla .....................................93
Funciones de clasificación en tablas.....................................................94
Funciones de interpolación en la tabla de coma flotante (LKUP) .............95
Funciones MEAN de los valores de una tabla de coma flotante ..............98
Función SWAP de los valores de una tabla de palabras.........................99
Instrucciones sobre los objetos de E/S ..................................................... 100
Lectura de la entrada digital incrustada inmediata (READ_IMM_
IN) ................................................................................................... 100
Escritura de la salida digital incrustada inmediata (WRITE_IMM_
OUT) ............................................................................................... 101
Parámetro de bloque de funciones de lectura inmediata (READ_
IMM) ................................................................................................ 102
Parámetro de bloque de funciones de escritura inmediata (WRITE_
IMM) ................................................................................................ 103
Objetos de E/S ........................................................................................ 105
Contador rápido (%FC) ........................................................................... 105
Contador de alta velocidad (%HSC) ......................................................... 105
Pulso (%PLS)......................................................................................... 105
Modulación de ancho de pulsos (%PWM)................................................. 105
Objetos de red ......................................................................................... 107
Objetos de red........................................................................................ 107
Objetos de software................................................................................ 108
Uso de bloques de funciones................................................................... 108
Principios de programación de bloques de funciones........................... 108
Adición de un bloque de funciones ..................................................... 109
Configuración de un bloque de funciones ........................................... 111
Temporizador (%TM) .............................................................................. 111
Descripción ...................................................................................... 112
4 EIO0000003292.03
Configuración ................................................................................... 112
TON: Temporizador de retardo de conexión ........................................ 114
TOF: Temporizador de retardo en la desconexión................................ 118
TP: Temporizador de pulso ................................................................ 121
Ejemplo de programación.................................................................. 124
Contador (%C) ....................................................................................... 124
Descripción ...................................................................................... 125
Configuración ................................................................................... 126
Ejemplo de programación.................................................................. 128
Mensaje (%MSG) e intercambio (EXCH) .................................................. 129
Descripción general .......................................................................... 129
Descripción ...................................................................................... 131
Configuración ................................................................................... 135
Ejemplo de programación.................................................................. 138
Ejemplos ASCII ................................................................................ 139
Peticiones y ejemplos estándar de Modbus ........................................ 141
Registro LIFO/FIFO (%R)........................................................................ 148
Descripción ...................................................................................... 148
Configuración ................................................................................... 149
Operación de registro LIFO ............................................................... 151
Operación de registro FIFO ............................................................... 152
Ejemplo de programación.................................................................. 153
Drums (%DR)......................................................................................... 153
Descripción ...................................................................................... 154
Configuración ................................................................................... 155
Ejemplo de programación.................................................................. 156
Registro de bits de desplazamiento (%SBR)............................................. 159
Descripción ...................................................................................... 159
Configuración ................................................................................... 160
Ejemplo de programación.................................................................. 161
Contador de pasos (%SC)....................................................................... 162
Descripción ...................................................................................... 162
Configuración ................................................................................... 163
Ejemplo de programación.................................................................. 164
Fechadores (%SCH)............................................................................... 165
Descripción ...................................................................................... 165
Programación y configuración............................................................ 168
Reloj de tiempo real (%RTC) .................................................................. 170
Descripción ...................................................................................... 170
Configuración ................................................................................... 172
PID........................................................................................................ 173
Función PID ..................................................................................... 173
Registro de datos ................................................................................... 174
Registro de datos.............................................................................. 174
Pasos de Grafcet.................................................................................... 176
Pasos de Grafcet .............................................................................. 176
Objetos PTO ............................................................................................ 177
Motion Task Table (%MT) ........................................................................ 177
Salida de tren de pulsos (%PTO) ............................................................. 177
Objetos de accionamiento ..................................................................... 178
Objetos de accionamiento ....................................................................... 178
EIO0000003292.03 5
Objetos de comunicación ...................................................................... 179
Leer datos desde un dispositivo remoto (%READ_VAR)............................ 179
Descripción ...................................................................................... 179
Configuración de funciones ............................................................... 183
Ejemplo de programación.................................................................. 186
Escritura de datos en un dispositivo Modbus (%WRITE_VAR) ................... 186
Descripción ...................................................................................... 186
Configuración de funciones ............................................................... 188
Ejemplo de programación.................................................................. 191
Leer y escribir datos en un dispositivo Modbus (%WRITE_READ_
VAR)...................................................................................................... 191
Descripción ...................................................................................... 191
Configuración de funciones ............................................................... 193
Ejemplo de programación.................................................................. 195
Comunicación en una conexión ASCII (%SEND_RECV_MSG).................. 196
Descripción ...................................................................................... 196
Configuración de funciones ............................................................... 198
Ejemplo de programación.................................................................. 200
Enviar Recibir SMS (%SEND_RECV_SMS) ............................................. 201
Descripción ...................................................................................... 201
Configuración de funciones ............................................................... 207
Diagramas de tiempos para bloques de funciones de objetos de
comunicación ......................................................................................... 212
Ejemplos de diagramas de tiempos .................................................... 212
Funciones definidas por el usuario ...................................................... 214
Presentación.......................................................................................... 214
Bloques de funciones definidos por el usuario ................................... 215
Presentación.......................................................................................... 215
Funciones de reloj................................................................................... 216
Funciones de reloj .................................................................................. 216
Marcas de fecha y hora........................................................................... 216
Ajuste de fecha y hora ............................................................................ 218
Glosario .................................................................................................... 221
Índice ........................................................................................................ 223
6 EIO0000003292.03
Información de seguridad
Información de seguridad
Información importante
Lea atentamente estas instrucciones y observe el equipo para familiarizarse con
el dispositivo antes de instalarlo, utilizarlo, revisarlo o realizar su mantenimiento.
Los mensajes especiales que se ofrecen a continuación pueden aparecer a lo
largo de la documentación o en el equipo para advertir de peligros potenciales, o
para ofrecer información que aclara o simplifica los distintos procedimientos.
La inclusión de este icono en una etiqueta “Peligro” o “Advertencia” indica que existe
un riesgo de descarga eléctrica, que puede provocar lesiones si no se siguen las
instrucciones.
! PELIGRO
PELIGRO indica una situación de peligro que, si no se evita, provocará lesiones graves o
incluso la muerte.
! ADVERTENCIA
ADVERTENCIA indica una situación de peligro que, si no se evita, podría provocar lesiones
graves o incluso la muerte.
! ATENCIÓN
ATENCIÓN indica una situación peligrosa que, si no se evita, podría provocar lesiones leves
o moderadas.
AVISO
AVISO indica una situación potencialmente peligrosa que, si no se evita, puede provocar
daños en el equipo.
Tenga en cuenta
La instalación, manejo, puesta en servicio y mantenimiento de equipos eléctricos
deberán ser realizados sólo por personal cualificado. Schneider Electric no se
hace responsable de ninguna de las consecuencias del uso de este material.
Una persona cualificada es aquella que cuenta con capacidad y conocimientos
relativos a la construcción, el funcionamiento y la instalación de equipos
eléctricos, y que ha sido formada en materia de seguridad para reconocer y evitar
los riesgos que conllevan tales equipos.
Antes de empezar
No utilice este producto en maquinaria sin protección de punto de funcionamiento.
La ausencia de protección de punto de funcionamiento en una máquina puede
provocar lesiones graves al operador de dicha máquina.
EIO0000003292.03 7
Información de seguridad
ADVERTENCIA
EQUIPO SIN PROTECCIÓN
• No utilice este software ni los equipos de automatización relacionados en
equipos que no dispongan de protección de punto de funcionamiento.
• No introduzca las manos u otras partes del cuerpo dentro de la maquinaria
mientras está en funcionamiento.
Si no se siguen estas instrucciones, pueden producirse lesiones graves,
muerte o daños en el equipo.
Iniciar y probar
Antes de utilizar los equipos eléctricos de control y automatización para su
funcionamiento normal tras la instalación, es necesario que personal cualificado
lleve a cabo una prueba de inicio del sistema para verificar que los equipos
funcionan correctamente. Es importante realizar los preparativos para una
comprobación de estas características y disponer de suficiente tiempo para llevar
a cabo las pruebas de forma completa y correcta.
8 EIO0000003292.03
Información de seguridad
ADVERTENCIA
PELIGRO DE FUNCIONAMIENTO DEL EQUIPO
• Compruebe que se hayan seguido todos los procedimientos de instalación y
configuración.
• Antes de realizar las pruebas de funcionamiento, retire de todos los
dispositivos todos los bloqueos u otros medios de sujeción temporales
utilizados para el transporte.
• Retire del equipo las herramientas, los medidores y el material de desecho
que pueda haber.
Si no se siguen estas instrucciones, pueden producirse lesiones graves,
muerte o daños en el equipo.
Funcionamiento y ajustes
Las precauciones siguientes proceden de NEMA Standards Publication ICS
7.1-1995 (prevalece la versión en inglés):
EIO0000003292.03 9
Acerca de este libro
Campo de aplicación
La información de este manual es aplicable solo para productos compatibles con
EcoStruxure Machine Expert - Basic.
Este documento se ha actualizado para el lanzamiento de EcoStruxureTM Machine
Expert - Basic V1.2 SP1 Patch 1.
Las características descritas en el presente documento, así como las descritas en
los documentos incluidos a continuación en la sección Documentos relacionados,
pueden consultarse en línea. Para acceder a la información en línea, visite la
página de inicio de Schneider Electric www.se.com/ww/en/download/.
Las características descritas en el presente documento deben coincidir con las
características que aparecen en línea. De acuerdo con nuestra política de
mejoras continuas, es posible que a lo largo del tiempo revisemos el contenido
con el fin de elaborar documentos más claros y precisos. Si nota alguna diferencia
entre el manual y la información online, utilice la información online como
referencia.
Documentos relacionados
Título de la documentación Número de referencia
EcoStruxure Machine Expert - Basic - Guía de EIO0000003281 (ENG)
funcionamiento
EIO0000003282 (FRA)
EIO0000003283 (GER)
EIO0000003284 (SPA)
EIO0000003285 (ITA)
EIO0000003286 (CHS)
EIO0000003287 (POR)
EIO0000003288 (TUR)
EIO0000003307 (GER)
EIO0000003308 (SPA)
EIO0000003309 (ITA)
EIO0000003310 (CHS)
EIO0000003311 (POR)
EIO0000003312 (TUR)
10 EIO0000003292.03
Acerca de este libro
EIO0000003298 (FRE)
EIO0000003299 (GER)
EIO0000003300 (SPA)
EIO0000003301 (ITA)
EIO0000003302 (CHS)
EIO0000003303 (POR)
EIO0000003304 (TUR)
EIO0000003314 (FRA)
EIO0000003315 (GER)
EIO0000003316 (SPA)
EIO0000003317 (ITA)
EIO0000003318 (CHS)
EIO0000003319 (POR)
EIO0000003320 (TUR)
ADVERTENCIA
PÉRDIDA DE CONTROL
• El diseñador del esquema de control debe tener en cuenta los posibles
modos de fallo de rutas de control y, para ciertas funciones de control
críticas, proporcionar los medios para lograr un estado seguro durante y
después de un fallo de ruta. Funciones de control críticas son, por ejemplo,
una parada de emergencia y una parada de sobrerrecorrido, un corte de
alimentación y un reinicio.
• Para las funciones críticas de control deben proporcionarse rutas de control
separadas o redundantes.
• Las rutas de control del sistema pueden incluir enlaces de comunicación.
Deben tenerse en cuenta las implicaciones de los retrasos de transmisión
no esperados o los fallos en el enlace.
• Tenga en cuenta todas las reglamentaciones para la prevención de
accidentes y las directrices de seguridad locales.1
• Cada implementación de este equipo debe probarse de forma individual y
exhaustiva antes de entrar en servicio.
Si no se siguen estas instrucciones, pueden producirse lesiones graves,
muerte o daños en el equipo.
1Para obtener información adicional, consulte NEMA ICS 1.1 (última edición),
"Safety Guidelines for the Application, Installation, and Maintenance of Solid State
Control" (Directrices de seguridad para la aplicación, la instalación y el
mantenimiento del control de estado estático) y NEMA ICS 7.1 (última edición),
"Safety Standards for Construction and Guide for Selection, Installation and
Operation of Adjustable-Speed Drive Systems" (Estándares de seguridad para la
construcción y guía para la selección, instalación y utilización de sistemas de
unidades de velocidad ajustable) o su equivalente aplicable a la ubicación
específica.
EIO0000003292.03 11
Acerca de este libro
ADVERTENCIA
FUNCIONAMIENTO IMPREVISTO DEL EQUIPO
• Utilice sólo software aprobado por Schneider Electric para este equipo.
• Actualice el programa de aplicación siempre que cambie la configuración de
hardware física.
Si no se siguen estas instrucciones, pueden producirse lesiones graves,
muerte o daños en el equipo.
Norma Descripción
12 EIO0000003292.03
Acerca de este libro
Norma Descripción
Serie IEC 61158 Comunicación digital de datos para la medición y control: bus de campo
para su uso en sistemas de control.
EIO0000003292.03 13
Introducción
Introducción
Descripción general
En este capítulo se proporciona información sobre cómo utilizar los ejemplos de
código fuente y los bloques que se requieren para ejecutar muchos de los
ejemplos de operaciones e instrucciones de asignación que se indican en este
documento.
Procedimiento de reversibilidad
Para obtener el código fuente de Diagrama de contactos equivalente:
Paso Acción
1 Seleccione y copie (Ctrl+C) el código fuente del primer escalón del programa de
muestra de este manual.
2 En EcoStruxure Machine Expert - Basic, cree un nuevo escalón haciendo clic en
en la barra de herramientas.
3 En este escalón, haga clic en el botón LD > IL para visualizar el código fuente de Lista
de instrucciones.
4 Seleccione el número de línea 0000, haga clic con el botón derecho del ratón y elija
Pegar instrucciones para pegar el código fuente en el escalón:
14 EIO0000003292.03
Introducción
Ejemplo
Programa Lista de instrucciones:
0 BLK %R0
LD %M1
I
LD %I0.3
ANDN %R2.E
O
END_BLK
1 LD %I0.3
[%MW20:=%R2.O]
2 LD %I0.2
ANDN %R2.F
[%R2.I:=%MW34]
ST %M1
EIO0000003292.03 15
Introducción
Bloques de operación
Inserción de operaciones IL e instrucciones de asignación en
diagramas de contactos
Puede utilizar el símbolo gráfico del Bloque de operación para insertar
operaciones de listas de instrucciones e instrucciones de asignación en
escalones de diagrama de contactos:
Paso Acción
1
Haga clic en el botón Bloque de operación de la barra de herramientas.
2 Haga clic en algún lugar del escalón para insertar el Bloque de operación.
3
Haga clic en el botón Modalidad de selección de la barra de herramientas.
Por ejemplo: %MF10 := ((SIN( %MF12 + 60.0 ) + COS( %MF13 )) + %MF10 ) + 1.2
16 EIO0000003292.03
Introducción
EIO0000003292.03 17
Introducción
Paso Acción
1 Opcionalmente, filtre la lista por categoría de función:
• Todos los tipos
• ASCII
• Punto flotante
• Objetos de E/S
• Coma flotante
• Procesamiento numérico
• Tabla
• PID
• Función definida por el usuario
Bloques de comparación
Inserción de expresiones de comparación de IL en diagramas de
contactos
Puede utilizar el símbolo gráfico del Bloque de comparación para insertar
expresiones de comparación de listas de instrucciones en escalones de diagrama
de contactos:
Los operandos deben corresponder a los mismos tipos de objeto: palabras con
palabras, flotante con flotante, etc.
Proceda de la manera siguiente:
Paso Acción
1
2 Haga clic en algún lugar del escalón para insertar el Bloque de comparación.
18 EIO0000003292.03
Introducción
EIO0000003292.03 19
Objetos de lenguaje
Objetos de lenguaje
Objetos
Descripción general
En EcoStruxure Machine Expert - Basic, el término objeto se utiliza para
representar un área de la memoria del controlador lógico reservada para que la
utilice una aplicación. Los objetos pueden ser:
• Variables de software simples, como bits de memoria y palabras.
• Direcciones de las entradas y salidas digitales o analógicas.
• Variables internas del controlador, como palabras y bits del sistema.
• Funciones predefinidas del sistema o de los bloques de funciones, como
temporizadores y contadores.
La memoria del controlador está preasignada para determinados tipos de objetos,
o bien se asigna automáticamente cuando una aplicación se descarga en el
controlador lógico.
Los objetos solo pueden ser direccionados por un programa una vez que se ha
asignado memoria. Los objetos se direccionan mediante el prefijo %. Por ejemplo,
%MW12 es la dirección de una palabra de memoria, %Q0.3 es la dirección de
una salida digital incrustada y %TM0 es la dirección de un bloque de funciones
Timer.
20 EIO0000003292.03
Objetos de lenguaje
Sintaxis
Utilice este formato para dirigir objetos de bits de pasos, de memoria y de
sistema:
Para obtener información sobre cómo dirigir los bits de E/S, consulte Objetos de
E/S, página 22.
Para obtener información sobre cómo dirigir un bit extraído de una palabra,
consulte Extracción de un bit de un objeto de palabra, página 28.
EIO0000003292.03 21
Objetos de lenguaje
Descripción
En esta tabla se enumeran y se describen los objetos de bits de pasos, de
memoria y de sistema que se utilizan como operandos en las instrucciones
booleanas:
Ejemplo
En esta página se muestran algunos ejemplos de direccionamiento de objetos de
bit:
Objeto de Descripción
bit
%M25 Bit de memoria número 25
%S20 Bit de sistema número 20
%X4 Paso Grafcet número 4
Objetos de E/S
Introducción
Los objetos de E/S incluyen tanto bits como palabras. Todas las entradas y
salidas físicas están asignadas a estos objetos en la memoria interna. Los objetos
de bit de E/S pueden utilizarse como operandos y se pueden comprobar con
instrucciones booleanas. Los objetos de palabra de E/S pueden utilizarse en la
mayoría de las instrucciones no booleanas como funciones e instrucciones que
contienen operaciones aritméticas.
Ejemplos de objetos de E/S:
• Entradas digitales
• Salidas digitales
• Entradas analógicas
• Salidas analógicas
• Entradas y salidas de comunicación
El rango de objetos válidos oscila entre 0 y el máximo configurado y soportado
por su controlador (consulte la Guía de hardware y la Guía de programación del
Logic Controller).
22 EIO0000003292.03
Objetos de lenguaje
Sintaxis
En esta imagen se muestra el formato de la dirección de entrada/salida:
Descripción
En esta tabla se enumeran y describen los objetos de E/S que se utilizan como
operandos en instrucciones:
EIO0000003292.03 23
Objetos de lenguaje
Ejemplos
En la tabla se presentan varios ejemplos de direccionamiento de E/S:
%QWS1.1 Estado de canal de salida analógica del canal de salida 1 del módulo de
extensión en la dirección 1 (E/S del módulo de extensión).
Objetos de palabra
Introducción
Objetos de palabra direccionados en forma de palabras de 16 bits, almacenados
en la memoria de datos y que pueden contener un valor entero desde -32.768
hasta 32.767 (excepto para el bloque de funciones del Contador Rápido, que
está entre 0 y 65.535).
Ejemplos de objetos de palabra:
• Valores inmediatos
• Palabras de memoria (%MWi)
• Palabras constantes (%KWi)
• Palabras de intercambio de E/S (%IWi, %QWi, %IWSi, %QWSi)
• Palabras de sistema (%SWi)
• Bloques de funciones (datos de tiempo de ejecución o configuración)
El rango de objetos válidos va desde 0 hasta la máxima referencia utilizada en su
aplicación (consulte la guía de programación del controlador lógico).
Por ejemplo, si la referencia máxima en su aplicación para palabras de memoria
es %MW9, el espacio asignado será desde %MW0 hasta %MW9. En este ejemplo, el
valor de %MW10 no es válido y no se puede acceder a él ni interna ni
externamente.
24 EIO0000003292.03
Objetos de lenguaje
Sintaxis
Utilice este formato para dirigir palabras de sistema, de memoria y constantes:
Formato
El contenido de las palabras o los valores se almacena en la memoria de usuario
en código binario de 16 bits (complemento a dos) mediante la convención que
aparece a continuación:
En la notación binaria con signo, el bit 15 se asigna por convención al signo del
valor codificado:
• Bit 15 establecido en 0: el contenido de la palabra es un valor positivo.
• Bit 15 establecido en 1: el contenido de la palabra es un valor negativo (los
valores negativos están expresados en lógica de complemento a dos).
EIO0000003292.03 25
Objetos de lenguaje
Lista de excepciones
En esta tabla se enumera el rango de valores de los objetos que son enteros sin
signo:
Objeto Valor
%SW de 0 a 65535
%PWM.R de 0 a 100
%PLS.P 0...32767
%PLS.N 0...32767
%PLS.ND de 0 a 2147483647
Aparte de los objetos de la lista de excepciones, los datos tienen los siguientes
rangos de valores:
• Palabras: de -32768 a 32767
• Palabras dobles: -2147483648...2147483647
26 EIO0000003292.03
Objetos de lenguaje
Descripción
En esta tabla se describen los objetos de palabra:
Ejemplo
En esta tabla se presentan diversos ejemplos de direccionamiento de objetos de
palabras:
EIO0000003292.03 27
Objetos de lenguaje
Memoria %MWi:Xk Sí
System %SWi:Xk Depende de i
Constante %KWi:Xk No
Valor de entrada %IWy.z:Xk2 No
Xk indica el número de bit que se debe extraer del objeto de palabra. Por ejemplo, %MW0.X3; se
extraerá el bit almacenado en la tercera posición secuencial de la palabra de memoria %MW0.
28 EIO0000003292.03
Objetos de lenguaje
Comprobación de validez
Cuando el resultado no se encuentra dentro del rango válido, el bit de sistema %
S18 se establece en 1.
La palabra de estado %SW17 indica la causa de un error detectado en una
operación de coma flotante.
Diferentes bits de la palabra %SW17:
%SW17:X1 Reservado
%SW17:X2 División entre 0, el resultado no es válido (–Infinito o +Infinito)
Sintaxis
Utilice este formato para dirigir objetos de coma flotante constantes y de memoria:
EIO0000003292.03 29
Objetos de lenguaje
30 EIO0000003292.03
Objetos de lenguaje
Ejemplo
En esta tabla se presentan algunos ejemplos del direccionamiento de objetos de
palabra doble y coma flotante:
Objeto Descripción
Ejemplo:
%MF0 corresponde a %MW0 y %MW1. %KF43 corresponde a %KW43 y %KW44.
EIO0000003292.03 31
Objetos de lenguaje
Objetos estructurados
Introducción
Los objetos estructurados son combinaciones de objetos adyacentes.
EcoStruxure Machine Expert - Basic admite los siguientes tipos de objetos
estructurados:
• Cadenas de bits
• Tablas de palabras
• Tablas de palabras dobles
• Tablas de palabras flotantes
Cadenas de bits
Las cadenas de bits son series de bits de objetos adyacentes del mismo tipo y
con una longitud definida (L). Se hace referencia a las cadenas de bits a partir de
los límites de bytes.
Ejemplo: Cadena de bits %M8:6
con i múltiplo de 8
con i múltiplo de 8
con i múltiplo de 8
(1) Sólo se pueden leer los bits de E/S de 0 a 16 en una cadena de bits. Para controladores lógicos
con 24 o 32 canales de E/S, los bits superiores a 16 no se pueden leer en una cadena de bits.
L Representa la longitud de los objetos estructurados (cadenas de bits, tabla de palabras, tabla de
palabras dobles y tabla de palabras flotantes).
32 EIO0000003292.03
Objetos de lenguaje
Tablas de palabras
Una tabla de palabras es una serie de palabras adyacentes del mismo tipo y de
una longitud definida (L; el valor máximo es 255).
Ejemplo: Tabla de palabras %KW10:7
(1) El número de palabras L está determinado por el controlador lógico: consulte la guía de
programación de la plataforma de hardware para obtener más información.
(2) El número de palabras L depende de la configuración de cada objeto. Consulte Objetos de E/S,
página 22 u Objetos de red, página 107.
EIO0000003292.03 33
Objetos de lenguaje
Objetos indexados
Introducción
Un objeto indexado es una palabra simple o doble o un objeto de punto flotante o
de bit de memoria con una dirección de objeto indexado. Existen 2 tipos de
direccionamiento de objetos:
• Direccionamiento directo
• Direccionamiento indexado
Direccionamiento directo
La dirección directa de un objeto se establece y se define cuando se escribe un
programa.
34 EIO0000003292.03
Objetos de lenguaje
Direccionamiento indexado
La dirección indexada de un objeto ofrece un método para modificar la dirección
del objeto mediante la adición de un índice a la dirección directa del objeto. El
contenido del índice se añade a la dirección directa del objeto. El índice lo define
una palabra de memoria %MWi.
Ejemplo: %MW108[%MW2] es una palabra con una dirección compuesta por la
dirección directa 108 más el contenido de la palabra %MW2.
Si la palabra %MW2 tiene un valor de 12, escribir en %MW108[%MW2] es
equivalente a escribir en %MW120 (108 más 12).
%MWi[%PARAMj]1 Sí
j Identificador de instancia de objeto del objeto de índice cuyo contenido debe añadirse a la
dirección directa de algún otro objeto.
1Solo es válido en el ESCALÓN de una función definida por el usuario (UDF)/bloque de funciones
definido por el usuario (UDFB) donde se define %PARAMj.
EIO0000003292.03 35
Objetos de lenguaje
ADVERTENCIA
FUNCIONAMIENTO IMPREVISTO DEL EQUIPO
• Escriba instrucciones de programación para comprobar la validez de los
operandos que se van a utilizar en operaciones matemáticas.
• No utilice operandos de diferentes tipos de datos en operaciones
matemáticas.
• Monitorice siempre los bits del sistema asignados para indicar resultados
matemáticos no válidos.
Si no se siguen estas instrucciones, pueden producirse lesiones graves,
muerte o daños en el equipo.
36 EIO0000003292.03
Objetos de lenguaje
Ejemplo
En esta ilustración se muestra un bloque de funciones Counter:
Objetos de bit
Los objetos de bit corresponden a las salidas del bloque de funciones. A estos
bits se puede acceder mediante las instrucciones de verificación booleanas a
través de uno de los métodos siguientes:
• Directamente (por ejemplo, LD E) si están cableados al bloque en
programación, página 108 reversible.
• Especificando el tipo de bloque (por ejemplo, LD %Ci.E).
Puede accederse a las entradas en forma de instrucciones.
Objetos de palabra
Los objetos de palabra corresponden a parámetros especificados y a valores, tal
como se indica a continuación:
• Parámetros de configuración de bloque: se puede acceder a algunos
parámetros a través del programa (por ejemplo, parámetros de
preselección), pero a otros no (por ejemplo, base de tiempo).
• Valores actuales: por ejemplo, %Ci.V, el valor actual de conteo.
EIO0000003292.03 37
Instrucciones
Instrucciones
Procesamiento booleano
Objeto de esta sección
En esta sección se ofrece una introducción a las instrucciones de procesamiento
booleano.
Instrucciones booleanas
Introducción
Las instrucciones booleanas pueden compararse con los elementos del lenguaje
del diagrama de contactos. Estas instrucciones se resumen en la tabla siguiente:
Escalón Instrucción
0 LD %I0.0
AND %I0.1
ST %Q0.0
38 EIO0000003292.03
Instrucciones
Reconocimiento de flancos
En esta tabla se resumen las instrucciones de detección de flancos ascendentes
y descendentes y su temporización:
Los objetos solo se actualizan al principio del siguiente ciclo maestro tras la detección de
flancos. Si se produce un cambio de estado en un bit de memoria (p. ej., %M0), este se indica con
un retardo en la exploración.
Escalón Instrucción
0 LDR %I0.0
EIO0000003292.03 39
Instrucciones
Escalón Instrucción
0 LDF %I0.0
Sintaxis
En esta tabla se enumeran los tipos de operadores de carga con los equivalentes
del diagrama de contactos y los operandos:
%Mi[%MWj]1
LDR %I, %M
LDF
40 EIO0000003292.03
Instrucciones
Ejemplos de codificación
Ejemplos de instrucciones de carga:
Escalón Instrucción
0 LD %I0.1
ST %Q0.3
1 LDN %M0
ST %Q0.2
2 LDR %I0.1
ST %Q0.4
3 LDF %I0.3
ST %Q0.5
Diagrama de temporización
En el siguiente diagrama se muestran la temporización (y el efecto en la salida)
del código de los ejemplos de codificación:
NOTA: La detección de flancos de bit del bit de memoria (%M) se lleva a cabo
entre exploraciones de tareas maestras.
EIO0000003292.03 41
Instrucciones
Sintaxis
En esta tabla se enumeran los tipos de operadores de asignación con los
equivalentes del diagrama de contactos y los operandos:
Ejemplos de codificación
Ejemplos de instrucciones de asignación:
Escalón Instrucción
0 LD %I0.1
ST %Q0.3
STN %Q0.2
S %Q0.4
1 LD %I0.2
R %Q0.4
Diagrama de temporización
En el siguiente diagrama se muestran la temporización (y el efecto en la salida)
del código de los ejemplos de codificación:
42 EIO0000003292.03
Instrucciones
Sintaxis
En esta tabla se enumeran los tipos de operadores AND con los equivalentes del
diagrama de contactos y los operandos:
AND 0/1
%Mi[%MWj](1)
ANDR %I, %M
ANDF
Ejemplos de codificación
Ejemplos de instrucciones AND lógicas:
Escalón Instrucción
0 LD %I0.1
AND %M1
ST %Q0.3
1 LD %M0
ANDN %I0.0
ST %Q0.2
2 LD %I0.3
ANDR %I0.4
S %Q0.4
3 LD %M3
ANDF %I0.5
S %Q0.5
EIO0000003292.03 43
Instrucciones
Diagrama de temporización
En el siguiente diagrama se muestran la temporización (y el efecto en la salida)
del código de los ejemplos de codificación:
Sintaxis
En esta tabla se enumeran los tipos de operadores OR con los equivalentes del
diagrama de contactos y los operandos:
ORR %I, %M
ORF
44 EIO0000003292.03
Instrucciones
Ejemplos de codificación
Ejemplos de instrucciones OR lógicas:
Escalón Instrucción
0 LD %I0.1
OR %M1
ST %Q0.0
1 LD %I0.2
ORN %M2
ST %Q0.1
2 LD %M0
ORR %I0.3
S %Q0.5
3 LDF %I0.5
ORF %I0.6
S %Q0.0
Diagrama de temporización
En el siguiente diagrama se muestran la temporización (y el efecto en la salida)
del código de los ejemplos de codificación:
EIO0000003292.03 45
Instrucciones
Sintaxis
En la tabla siguiente se enumeran los tipos de operadores XOR y los operandos:
XORR %I, %M
XORF
Ejemplos de codificación
En caso de utilizar la instrucción XOR:
Escalón Instrucción
0 LD %I0.1
XOR %M1
ST %Q0.3
Escalón Instrucción
0 LD %I0.1
ANDN %M1
OR( %M1
ANDN %I0.1
)
ST %Q0.3
Diagrama de tiempos
En el siguiente diagrama se muestran la temporización (y el efecto en la salida)
del código de los ejemplos de codificación:
46 EIO0000003292.03
Instrucciones
Casos especiales
No inserte:
• Contactos XOR en la primera posición de un escalón.
• Contactos XOR en paralelo con otros elementos del diagrama de contactos
(consulte el ejemplo siguiente).
Tal como se muestra en el siguiente ejemplo, la inserción de un elemento en
paralelo con el contacto XOR generará un error de validación:
Sintaxis
En esta tabla se muestra el operador N:
Ejemplos de codificación
Ejemplo de la instrucción NOT:
Escalón Instrucción
0 LD %I0.1
N
ST %Q0.0
EIO0000003292.03 47
Instrucciones
Diagrama de tiempos
En el siguiente diagrama se muestran la temporización (y el efecto en la salida)
del código de los ejemplos de codificación:
Sintaxis
Función Equivalente del diagrama de Operandos
contactos
RISINGn 1 No aplicable.
FALLINGn 1 No aplicable.
1 n es un entero que se incrementa cada vez que se inserta un flanco ascendente o descendente.
48 EIO0000003292.03
Instrucciones
Ejemplos de codificación
Función Escalón Instrucción
RISING 0 LD %M0
RISING0
ST %Q0.0
FALLING 1 LD %I0.1
FALLING0
ST %Q0.7
Diagrama de temporización
En el diagrama siguiente se describe la temporización del ejemplo anterior para el
tiempo de exploración de una tarea maestra:
EIO0000003292.03 49
Instrucciones
Instrucciones de comparación
Introducción
Los operadores de comparación se usan para comparar hasta 5 operandos con 3
niveles de paréntesis.
En esta tabla se enumeran los tipos de operadores de comparación:
Operador Función
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
expresiones de comparación de la lista de instrucciones, página 18 en los
escalones del diagrama de contactos utilizando un elemento gráfico de Bloque
de comparación.
Sintaxis de las instrucciones de comparación:
Operador Sintaxis
Palabras %MWi, %KWi, %IW, %QWi, %SWi, %BLK.x Valor inmediato, %MWi, %KWi, %IW, %QW, %IWSi, %
QWSi, %SWi, %BLK.x, %MWi[%MWi], %KWi[%MWi]
Palabras dobles %MDi, %KDi Valor inmediato, %MDi, %KDi, %MDi[%MWi], %KD[%
MWi]
Palabras de coma flotante %MFi, %KFi Valor de punto flotante inmediato, %MFi, %KFi, %MFi
[%MWi], %KFi[%MWi]
Ejemplos de codificación
La comparación se ejecuta entre corchetes siguiendo las instrucciones LDAND y
OR. El resultado es 1 cuando la comparación solicitada es verdadera.
50 EIO0000003292.03
Instrucciones
Escalón Instrucción
0 LD %I0.2
AND [%MW10>100]
ST %Q0.3
1 LD %M0
AND [%MW20<%KW35]
ST %Q0.4
2 LD %I0.2
OR [%MF30>=%MF40]
ST %Q0.5
Escalón Instrucción
0 LD %M0
AND( [%MF20>10.0]
OR %I0.0
)
ST %Q0.1
Procesamiento numérico
Objeto de esta sección
En esta sección se ofrece una introducción al procesamiento numérico.
Instrucciones de asignación
Introducción
Las instrucciones de asignación se utilizan para cargar el Op2 (operando 2) en el
Op1 (operando 1).
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
EIO0000003292.03 51
Instrucciones
Operador Sintaxis
:= [Op1 := Op2]
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de las asignaciones de cadenas de bits:
Operador Sintaxis
:= [Op1 := Op2]
Palabra, palabra %MWi,%QWi, %SWi Valor inmediato, %MWi, %KWi, %IW, %QWi, %IWSi, %
doble %MWi[%MWi], %MDi, %MDi[%MWi] QWSi, %SWi,%BLK.x, %MWi[%MWi], %KWi[%MWi], %
%Mi:L, %Qi:L, %Si:L, %Xi:L MDi[%MWi], %KDi[%MWi], %Mi:L,%Qi:L, %Si:L, %
%TMi.P, %Ci.P, %Ri.I, %Ri.O, %FCi.P, % Xi:L, %Ii:L
PLSi.P, %PWMi.P
%Ci.PD, %FCi.PD %TMi.P, %Ci.P, %Ri.I, %Ri.O, %FCi.P, %PLSi.P,
%PWMi.P
%Ci.PD, %FCi.PD
52 EIO0000003292.03
Instrucciones
Estructura
Ejemplos de asignaciones de cadenas de bits:
Escalón Instrucción
0 LD 1
[%Q0.0:8:=%M64:8]
1 LD %I0.2
[%MW100:=%M0:16]
2 LDR %I0.3
[%MW104:16:=%KW0]
Asignación de palabras
Introducción
Las operaciones de asignación se pueden ejecutar en las palabras y en las
palabras dobles siguientes:
• Palabra (indexada) a palabra (2, por ejemplo) (indexada o no)
• Palabra doble (indexada) a palabra doble (indexada o no)
• Valor entero inmediato a palabra (Ejemplo 3) o palabra doble (indexada o no)
• Cadena de bits a palabra o palabra doble
• Punto flotante (indexado o no) a punto flotante (indexado o no)
• Palabra o palabra doble a cadena de bits
• Valor de punto flotante inmediato a punto flotante (indexado o no)
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de asignaciones de palabras:
Operador Sintaxis
:= [Op1 := Op2]
EIO0000003292.03 53
Instrucciones
Palabra, palabra doble, %BLK.x, %MWi, %MWi[%PARAMj], %QWi, % Valor inmediato, %MWi, %MWi[%PARAMj], %KWi, %IW, %
cadena de bits SWi %MWi[%MWj], %MDi, %MDi[%MWj], %Mi: QWi, %IWSi, QWSi, %SWi, %MWi[%MWj], %KWi[%
L, %Qi:L, %Si:L, %Xi:L MWi], %MDi, %MDi[%MWj], %KDi, %KDi[%MWj], %Mi:
L, %Qi:L, %Si:L, %Xi:L, %Ii:L
Punto flotante %MFi, %MFi[%MWj] Valor de punto flotante inmediato, %MFi, %MFi[%MWj], %
KFi, %KFi[%MWj]
Estructura
Ejemplos de asignaciones de palabras:
Escalón Instrucción
0 LD 1
[%SW112:=%MW100]
1 LD %I0.2
[%MW0[%MW10]:=%KW0[%MW20]]
2 LD %I0.3
[%MW10:=100]
Operador Función
+ Sumar 2 operandos
- Restar 2 operandos
* Multiplicar 2 operandos
/ Dividir 2 operandos
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
54 EIO0000003292.03
Instrucciones
Operador Sintaxis
Palabras %MWi, %QWi, %SWi, %BLK.x 2, %MWi[%MWj 3], Valor inmediato, %MWi, %KWi, %IWi, %QWi, %IWSi, %
%MWi[%PARAMj] 4 QWSi, %SWi, %BLK.x 2 %MWi[%MWj 3], %MWi[%
PARAMj]4
Estructura
Ejemplos de instrucciones aritméticas:
Escalón Instrucción
0 LD %M0
[%MW0:=%MW10+10]
1 LD %I0.2
[%MW0:=SQRT(%MW10)]
2 LDR %I0.3
[%MW10:=32767]
Casos especiales
suma
• Desborde durante la operación con palabras
Si el resultado supera la capacidad de la palabra de resultados, el bit %S18
(desborde) se establece en 1 y el resultado no es significativo (consulte el
escalón 1 del ejemplo de aplicación, página 56). El programa de usuario
gestiona el bit %S18.
NOTA: Para las palabras dobles, los límites son -2147483648 y 2147483647.
multiplicación
• Desborde durante la operación
Si el resultado supera la capacidad de la palabra de resultados, el bit %S18
(desborde) se establece en 1 y el resultado no es significativo.
EIO0000003292.03 55
Instrucciones
División/resto
• División entre 0
Si el divisor es 0, la división es imposible y el bit de sistema %S18 se
establece en 1. Así pues, el resultado es incorrecto.
• Desborde durante la operación
Si el cociente de la división supera la capacidad de la palabra de resultados,
el bit %S18 se establece en 1.
Extracción de la raíz cuadrada
• Desborde durante la operación
La extracción de la raíz cuadrada solo se realiza en valores positivos. De
este modo, el resultado es positivo. Si el operando de la raíz cuadrada es
negativo, el bit de sistema %S18 se establece en 1 y el resultado es
incorrecto.
Algunos de los errores matemáticos detectados podrían tener un efecto
importante en la ejecución de su aplicación. Monitorice estos posibles errores y
las instrucciones del programa para controlar adecuadamente la ejecución de su
aplicación en caso de que se produzcan uno o más de estos errores detectados.
Las consecuencias de cualquiera de estos errores detectados dependen de la
configuración, el equipo utilizado y las instrucciones del programa que se hayan
ejecutado antes y después de la detección de los posibles errores.
ADVERTENCIA
FUNCIONAMIENTO IMPREVISTO DEL EQUIPO
• Escriba instrucciones de programación para comprobar la validez de los
operandos que se van a utilizar en operaciones matemáticas.
• No utilice operandos de diferentes tipos de datos en operaciones
matemáticas.
• Monitorice siempre los bits del sistema asignados para indicar resultados
matemáticos no válidos.
Si no se siguen estas instrucciones, pueden producirse lesiones graves,
muerte o daños en el equipo.
NOTA: El programa del usuario debe gestionar los bits de sistema %S17 y %
S18. El controlador los establece en 1, y el programa debe restablecerlos
para que puedan reutilizarse (consulte, por ejemplo, la página anterior).
Ejemplo de aplicación
Desborde durante la suma:
Escalón Instrucción
0 LD %M0
[%MW0:=%MW1+%MW2]
1 LDN %S18
[%MW10:=%MW0]
2 LD %S18
[%MW10 :=32767]
56 EIO0000003292.03
Instrucciones
Instrucciones lógicas
Introducción
Los operadores lógicos pueden utilizarse para realizar operaciones lógicas entre
2 operandos de palabra o, en el caso del NOT lógico, en 1 operando de palabra.
En esta tabla se enumeran los diferentes tipos de instrucciones lógicas:
Instrucción Función
AND AND (ámbito de bit) entre dos operandos
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de las instrucciones lógicas:
AND, OR, XOR [Op1 := Op2 operator Op3] %MWi, %QWi, %SWi, %BLK.x Valor inmediato (1), %MWi, %
KWi, %IWi, %QWi, %IWSi, %
NOT [Op1 := NOT(Op2)] QWSi, %SWi, %BLK.x
Estructura
Ejemplos de instrucciones lógicas:
Escalón Instrucción
0 LD %M0
[%MW0:=%MW10 AND 16#00FF]
1 LD 1
[%MW0:=%KW5 OR %MW10]
2 LD %I0.3
[%MW102:=NOT(%MW100)]
Ejemplo de aplicación
Instrucción AND lógica:
[%MW15:=%MW32 AND %MW12]
Cuando %MW32 = 0001 1011 (binario) (27, decimal) y %MW12 = 0011 0110 (binario)
(54, decimal), el resultado será %MW15 = 0001 0010 (binario) (18, decimal).
EIO0000003292.03 57
Instrucciones
Instrucciones de desplazamiento
Introducción
Las instrucciones de desplazamiento mueven los bits de un operando un
determinado número de posiciones hacia la izquierda o hacia la derecha.
En esta tabla se enumeran los tipos de instrucciones de desplazamiento:
Instrucción Función
Desplazamiento lógico
Desplazamiento circular
NOTA: El bit de sistema %S17 indica el valor del último bit expulsado.
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de las instrucciones de desplazamiento:
Operador Sintaxis
ROL, ROR
58 EIO0000003292.03
Instrucciones
%BLK.x %BLK.x
Estructura
Ejemplos de instrucciones de desplazamiento:
Escalón Instrucción
0 LDR %I0.1
[%MW0:=SHL(%MW10,5)]
1 LDR %I0.2
[%MW10:=ROR(%KW9,8)]
Instrucción Función
BTI Conversión de BCD a binario
ITB Conversión de binario a BCD
Deci- 0 1 2 3 4 5 6 7 8 9
mal
BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Ejemplos:
• La palabra %MW5 expresa el valor BCD 2450, que corresponde al valor
binario: 0010 0100 0101 0000
• La palabra %MW12 expresa el valor decimal 2450, que corresponde al valor
binario: 0000 1001 1001 0010
EIO0000003292.03 59
Instrucciones
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de las instrucciones de conversión BCD/binario:
Operador Sintaxis
%BLK.x %BLK.x
Estructura
Ejemplos de instrucciones de conversión BCD/binario:
Escalón Instrucción
0 LD %M0
[%MW0:=BTI(%MW10)]
1 LD %I0.2
[%MW10:=ITB(%KW9)]
Ejemplo de aplicación
La instrucción BTI se utiliza para procesar un valor de consigna en las entradas
del controlador a través de las ruedas codificadoras en BCD.
La instrucción ITB se utiliza para mostrar los valores numéricos (por ejemplo, el
resultado de un cálculo, el valor actual de un bloque de funciones) en monitores
de operación con codificación BCD.
60 EIO0000003292.03
Instrucciones
Instrucción Función
LW Extrae el byte menos significativo de una palabra doble a una palabra.
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de las instrucciones de conversión de palabras simples y dobles:
Estructura
Ejemplos de instrucciones de conversión de palabras simples y dobles:
Escalón Instrucción
0 LD %M0
[%MW0:=HW(%MD10)]
1 LD %I0.2
[%MD10:=DWORD(%KW9)]
2 LD %I0.3
[%MD11:=CONCATW(%MW10,%MW5)]
Programa
Objeto de esta sección
En esta sección se ofrece una introducción a las instrucciones del programa.
EIO0000003292.03 61
Instrucciones
Instrucciones END
Introducción
Las instrucciones END definen el final de la ejecución de una exploración del
programa.
Ejemplos
Ejemplo de una instrucción END incondicional:
Escalón Instrucción
0 LD %M1
ST %Q0.1
1 LD %M2
ST %Q0.2
2 END
Escalón Instrucción
0 LD %I0.0
ST %Q0.0
1 LD %I0.1
ST %Q0.1
2 LD %I0.2
ENDC
3 LD %I0.3
ST %Q0.2
4 END
62 EIO0000003292.03
Instrucciones
Instrucciones NOP
Introducción
Las instrucciones NOP no realizan ninguna operación. Utilícelas para "reservar"
líneas en un programa para que pueda insertar instrucciones más adelante sin
modificar los números de línea.
Instrucciones de salto
Introducción
Las instrucciones de salto provocan que la ejecución de un programa se
interrumpa inmediatamente y que continúe a partir de la línea después de la línea
del programa que contiene la etiqueta %Li (i = número máximo de módulos).
Ejemplos
Ejemplos de instrucciones de salto:
Escalón Instrucción
0 LD %M15
JMPC %L8
1 LD [%MW24<%MW12]
ST %Q0.3
JMPC %L12
2 %L8:
LD %M12
AND %M13
ST %M12
JMPC %L12
3 LD %M11
S %Q0.0
4 %L12:
LD %I0.0
ST %Q0.4
EIO0000003292.03 63
Instrucciones
Directrices
• Las instrucciones de salto no están permitidas entre paréntesis y no deben
situarse entre las instrucciones AND, OR y una instrucción de cierre de
paréntesis ")".
• La etiqueta solo puede situarse antes de una instrucción LD, LDN, LDR, LDF
o BLK.
• El número de etiqueta de la etiqueta %Li debe definirse solo una vez en un
programa.
• El salto de programa se realiza hacia una línea de programación ubicada en
sentido ascendente o descendente. Cuando el salto esté ubicado en sentido
ascendente, preste atención al tiempo de exploración del programa. Un
tiempo de exploración prolongado puede activar el temporizador de
watchdog.
Elementos condicionales
Descripción
Los elementos condicionales permite codificar condiciones en el programa. Los
elementos sólo se pueden programar en la modalidad offline.
Esta función contiene los tres elementos siguientes:
• IF
• ELSE
• ENDIF
Puede insertar un elemento por escalón.
NOTA: La aplicación debe estar configurada con un nivel funcional mínimo
establecido en el Nivel 6.0.
64 EIO0000003292.03
Instrucciones
Si modifica el índice de un elemento, debe asignar el mismo índice a los demás elementos.
4
De manera opcional, inserte el elemento ELSE haciendo clic en → →ELSE. Cuando la condición entre
IF y THEN es FALSE, se evalúa la parte del programa entre ELSE y ENDIF. Esto incluye instrucciones del programa en el
mismo escalón que el elemento ELSE. De lo contrario, esta parte del programa se ignora y no se evalúa.
5
En el último escalón, inserte el elemento ENDIF haciendo clic en → → ENDIF.
En el siguiente ejemplo:
• Cuando la condición IF es TRUE, es decir, %MW0 es menor de 10:
1. Se evalúa el escalón 3.
2. Se ignora el escalón el ELSE10. %MW2 y %Q0.1 conservan sus últimos
valores.
• Cuando la condición IF es FALSE, es decir, %MW0 es mayor o igual a 10:
1. Se ignora el escalón 3. %MW1 y %Q0.0 conservan sus últimos valores.
2. Se evalúa el escalón ELSE10, es decir, las operaciones en %MW2 y %
Q0.1 se ejecutan cuando %MW0 es superior a 20.
LD Si 10 es nombre Comentario
Cuerpo del
%MW0 < 10
escalón
%MW0 < 10
IF 10 < THEN 10
EIO0000003292.03 65
Instrucciones
Elementos de bucle
Descripción
Los elementos de bucle permiten codificar una secuencia de instrucciones en el
programa. Los elementos sólo se pueden programar en la modalidad offline.
Esta función contiene los dos elementos siguientes:
• FOR
• ENDFOR
Puede insertar un elemento por escalón.
NOTA: La aplicación debe configurarse con un nivel funcional (consulte
EcoStruxure Machine Expert - Basic, Guía de funcionamiento) de al menos
Nivel 6.0.
Configuración de un bucle
Paso Acción
1
En un escalón vacío, inserte el elemento FOR haciendo clic en →
→FOR.
2 Opcionalmente puede cambiar el índice.
4
En el último escalón, inserte el elemento ENDFOR haciendo clic en →
→ENDFOR.
66 EIO0000003292.03
Instrucciones
Firmar • <
• <=
• =
• >=
• >
• <>
Valor final Escriba una variable %MWx o un valor entre –32768 y 32767.
Paso de incremento Escriba una variable %MWx o un valor entre –32768 y 32767.
Instrucciones de subrutina
Introducción
Las instrucciones de subrutina hacen que un programa lleve a cabo una subrutina
y luego vuelva al programa principal en el punto desde el que se llamó a la
subrutina.
Procedimiento
Se crea una subrutina en una POU disponible. Consulte POU disponibles
(consulte EcoStruxure Machine Expert - Basic, Guía de funcionamiento) para
obtener información sobre la creación de una POU disponible y una subrutina y la
definición del número de subrutina. Además, consulte Administración de POU
(consulte EcoStruxure Machine Expert - Basic, Guía de funcionamiento) para
obtener más información sobre la administración de POU con tareas y escalones.
Llamada de una subrutina en tres pasos:
Para obtener más información sobre las subrutinas, consulte Creación de tareas
periódicas (consulte EcoStruxure Machine Expert - Basic, Guía de
funcionamiento).
EIO0000003292.03 67
Instrucciones
Ejemplos
Ejemplo de instrucciones que contienen una subrutina:
Escalón Instrucción
0 LD %M15
AND %M5
ST %Q0.0
1 LD [%MW24>%MW12]
SR1
2 LD %I0.4
AND %M13
ST %Q0.1
END
Escalón Instrucción
0 (SR1) LD %I0.0
ST %Q0.0
Directrices
• Una subrutina no debe llamar a otra subrutina. Si se intenta llamar a una
subrutina de una POU disponible, se generará un error del compilador.
• Las instrucciones de subrutina no están permitidas entre paréntesis, y no
deben colocarse entre las instrucciones AND, OR y una instrucción de
paréntesis de cierre ")".
• Cuando una instrucción de asignación va seguida directamente de una
llamada a una subrutina en IL, se debe tener cuidado. Esto se debe a que es
posible que la subrutina modifique el contenido del acumulador booleano.
Por lo tanto, es posible que tenga un valor de retorno diferente al que tenía
antes de la llamada.
Coma flotante
Objeto de esta sección
En esta sección se describen las instrucciones avanzadas de coma flotante.
68 EIO0000003292.03
Instrucciones
Instrucción Objetivo
LN Logaritmo natural
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Operadores y sintaxis de las instrucciones aritméticas en coma flotante:
Operadores Sintaxis
NOTA: EcoStruxure Machine Expert - Basic Impide el uso de la función con un %MWi como
Op1.
EIO0000003292.03 69
Instrucciones
Estructura
Ejemplo de una instrucción aritmética:
Escalón Instrucción
0 LD %M0
[%MF0:=%MF10+129.7]
1 LD %I0.2
[%MF1:=SQRT(%MF10)]
2 LDR %I0.3
[%MF2:=ABS(%MF20)]
3 LDR %I0.4
[%MF3:=TRUNC(%MF2)]
4 LD %M1
[%MF4:=LOG(%MF10)]
5 LD %I0.5
[%MF5:=LN(%MF20)]
6 LD %I0.0
[%MF6:=EXP(%MF30)]
7 LD %I0.1
[%MF7:=EXPT(%MF40,%MW52)]
Reglas de utilización
• Las operaciones con valores de coma flotante y enteros no se pueden
mezclar directamente. Las operaciones de conversión, página 72 llevan a
cabo la conversión a uno de los formatos.
• El bit de sistema %S18 se gestiona del mismo modo que las operaciones con
enteros, página 72; la palabra %SW17 indica la causa del error detectado.
• Cuando el operando de la función es un número no válido (por ejemplo,
logaritmo de un número negativo), produce un resultado indeterminado o
infinito y cambia el bit de %S18 a 1. La palabra %SW17 señala la causa del
error detectado.
NOTA: En la instrucción TRUNC, el bit de sistema %S17 no se ve afectado.
Ejemplo Result
TRUNC(3.5) 3
TRUNC(324.18765) 324
TRUNC(927.8904) 927
TRUNC(-7.7) -7
TRUNC(45.678E+20) 2 147 483 647 (palabra doble con signo máximo) 1
%S18 se establece en 1
TRUNC(-94.56E+13) - 2 147 483 648 (palabra doble con signo mínimo) 1
%S18 se establece en 1
1Este ejemplo se aplica a la instrucción TRUNC cuando se utiliza con %MDi. (Cuando se utiliza
con %MFi, la instrucción TRUNC no tiene desborde y, por lo tanto, carece de límites máximo/
mínimo).
70 EIO0000003292.03
Instrucciones
Instrucciones trigonométricas
Introducción
Estas instrucciones permiten realizar operaciones trigonométricas:
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Operadores, operandos y sintaxis de las instrucciones de operaciones
trigonométricas:
Estructura
Ejemplo de instrucciones Trigonometric:
Escalón Instrucción
0 LD %M0
[%MF0:=SIN(%MF10)]
1 LD %I0.0
[%MF1:=TAN(%MF20)]
2 LD %I0.3
[%MF2:=ATAN(%MF30)]
Reglas de utilización
• Cuando el operando de la función es un número no válido (por ejemplo, el
arco coseno de un número superior a 1), produce un resultado indeterminado
o infinito y pone el bit %S18 a 1. La palabra %SW17 señala la causa del error
detectado.
• Las funciones SIN/COS/TAN admiten como parámetro un ángulo entre
y , pero su precisión disminuye progresivamente para ángulos
fuera del rango y debido a la imprecisión introducida por el módulo
en el parámetro antes de realizar cualquier operación.
EIO0000003292.03 71
Instrucciones
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Operadores, operandos y sintaxis de las instrucciones de conversión
Estructura
Ejemplo de instrucciones de conversión:
Escalón Instrucción
0 LD %M0
[%MF0:=DEG_TO_RAD(%MF10)]
1 LD %M2
[%MF2:=RAD_TO_DEG(%MF20)]
Reglas de utilización
El ángulo que se va a convertir debe estar comprendido entre -737280.0 y
+737280.0 (para las conversiones DEG_TO_RAD) o entre y (para
las conversiones RAD_TO_DEG).
Para los valores no comprendidos entre estos límites, el resultado mostrado será
+ NaN; los bits %S18 y %SW17:X0 se establecen en 1.
72 EIO0000003292.03
Instrucciones
REAL_TO_INT Conversión de una palabra flotante a entera (el resultado es el valor algebraico
más cercano)
REAL_TO_DINT Conversión de una palabra flotante a entera doble (el resultado es el valor
algebraico más cercano)
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Operadores y sintaxis (conversión de una palabra entera a flotante):
Operadores Sintaxis
INT_TO_REAL Op1=INT_TO_REAL(Op2)
Op1 Op2
%MFi %MWi,%KWi
Operadores Sintaxis
DINT_TO_REAL Op1=DINT_TO_REAL(Op2)
Op1 Op2
%MFi %MDi,%KDi
Operadores Sintaxis
REAL_TO_INT Op1=operator(Op2)
REAL_TO_DINT
EIO0000003292.03 73
Instrucciones
Ejemplo:
• Conversión de flotante a palabra entera: entre 5978,6 y 5979
• Conversión de flotante a palabra doble entera: entre -1235978,6 y -1235979
NOTA: Si durante una conversión de real a entero (o de real a palabra doble
entera), el valor flotante está fuera de los límites de la palabra (o palabra
doble), el bit %S18 se establece en 1.
Estructura
Ejemplo de instrucción de conversión de entero/flotante:
Escalón Instrucción
0 LD 1
[%MF0:=INT_TO_REAL(%MW10)]
1 LD %I0.8
[%MD2:=REAL_TO_DINT(%MF9)]
Precisión de redondeo
La norma IEEE 754 define 4 modalidades de redondeo para las operaciones con
flotantes.
La modalidad utilizada en las instrucciones anteriores es la modalidad "redondear
al valor más cercano":
"Si los valores más cercanos que se pueden representar están a la misma
distancia del resultado teórico, el valor suministrado será aquel cuyo bit menos
significativo sea igual a 0".
Es decir, el valor se redondeará al número par, ya sea superior o inferior.
Ejemplo:
• Redondeo del valor 10.5 a 10.
• Redondeo del valor 11.5 a 12.
ASCII
Objeto de esta sección
En esta sección se describen las instrucciones avanzadas de ASCII.
Instrucciones ROUND
Introducción
La instrucción ROUND redondea una representación de coma flotante
almacenada en una cadena ASCII.
74 EIO0000003292.03
Instrucciones
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Para la instrucción ROUND, utilice la sintaxis: Op1 := ROUND( Op2,Op3 ).
Ejemplo:
[%MW0:7:=ROUND(%MW8,4)]
Parámetros
En esta tabla se describen los parámetros de la función ROUND:
Parámetros Descripción
Entero de 1 a 8
Reglas de utilización
Las reglas de la instrucción ROUND son las siguientes:
• El operando se redondea hacia abajo.
• El carácter de fin de la cadena del operando se utiliza como carácter de fin de
la cadena de resultado.
• El carácter de fin puede ser cualquier carácter ASCII que no se encuentre en
el intervalo [0 - 9] ([16#30 - 16#39]), excepto:
◦ punto '.' (16#2E),
◦ menos '-' (16#2D),
◦ más '+' (16#2B),
◦ EXP 'e' o 'E' (16#65 o 16#45).
• El resultado y el operando no deben tener un tamaño superior a 13 bytes: El
tamaño máximo de una cadena ASCII es de 13 bytes.
• No se admite la notación científica.
Casos especiales
El software comprueba la sintaxis. Los ejemplos siguientes crearían errores de
sintaxis:
EIO0000003292.03 75
Instrucciones
Ejemplo de aplicación
En esta tabla se muestran ejemplos de la instrucción ROUND:
Ejemplo Result
ROUND("987654321", 5) "987650000"
ROUND("-11.1", 8) "-11,1"
ROUND("NAN") "NAN"
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Para las instrucciones de conversión ASCII a entero, use la sintaxis siguiente:
Op1 := ASCII_TO_INT( Op2 )
Ejemplo:
[%MW0:=ASCII_TO_INT(%MW8)]
La instrucción lee hasta cuatro objetos de palabra de Op2, los convierte a formato
de entero y guarda el resultado en Op1.
Parámetros
En esta tabla se describen los parámetros de la función de conversión de ASCII a
entero:
Parámetros Descripción
76 EIO0000003292.03
Instrucciones
Reglas de utilización
Las reglas de las instrucciones de conversión de ASCII a entero son las
siguientes:
• Op2 debe estar entre -32.768 y 32.767.
• La función lee primero el byte más significativo.
• Se ignoran los espacios iniciales.
• Todo carácter ASCII que se encuentre fuera del rango [0 - 9] ([16#30 -
16#39]) se considera un carácter de fin, excepto en el caso de un signo
menos '-' (16#2D) cuando se coloca como primer carácter.
• En caso de desbordamiento (>32.767 o <-32.768), el bit de sistema %S18
(desborde aritmético o error detectado) se establece en 1 y se devuelve el
valor 32.767 o -32.768.
• Si el primer carácter del operando es un carácter "separador", se devuelve el
valor 0 y el bit %S18 se establece en 1.
NOTA: Los caracteres separadores son '+' y '-', la letra 'e' o 'E', o '.' (el
separador decimal).
• La notación científica no es válida.
Ejemplo de aplicación
Tenga en cuenta que los siguientes datos ASCII se han almacenado entre %MW10
y %MW13:
%MW10 16#3932 9, 2
%MW11 16#3133 1, 3
%MW12 16#2038 ‘ ’, 8
Ejemplo Result
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Para las instrucciones de conversión de entero a ASCII, use la sintaxis siguiente:
Op1 := INT_TO_ASCII( Op2 )
EIO0000003292.03 77
Instrucciones
Ejemplo:
[%MW0:4:=INT_TO_ASCII(%MW8)]
Parámetros
En esta tabla se describen los parámetros de la función de conversión de entero a
ASCII:
Parámetros Descripción
Reglas de utilización
Las reglas de conversión de entero a ASCII son las siguientes:
• Op2 debe estar entre -32.768 y 32.767.
• La función escribe el byte más significativo primero.
• Se agrega el carácter final seleccionado en la Comportamiento de la
aplicación (consulte EcoStruxure Machine Expert - Basic, Guía de
funcionamiento). El valor predeterminado es CR (retorno de carro, ASCII 13).
• La función determina automáticamente cuántas variables %MW se deben
llenar con valores ASCII (de 1 a 4).
Errores de sintaxis
El software comprueba la sintaxis. Los ejemplos siguientes crearían errores de
sintaxis:
Ejemplo de aplicación
Para la instrucción MW10:4 := INT_TO_ASCII(%MW1) usando el carácter final
"CR":
Si... Entonces...
Valor entero Valor hexadecimal Representación ASCII
%MW10 = 16#3231 2, 1
%MW1 = 123
%MW11 = 16#0D33 CR, 3
%MW10 = 16#3534 5, 4
%MW1 = 45
%MW11 = 16#000D CR
%MW1 = 7 %MW10 = 16#0D37 CR, 7
%MW10 = 16#312D 1, -
%MW10 = 16#3936 9, 6
78 EIO0000003292.03
Instrucciones
Si... Entonces...
Valor entero Valor hexadecimal Representación ASCII
%MW11 = 16#000D CR
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Para las instrucciones de conversión de ASCII a flotante, utilice esta sintaxis: Op1
:= ASCII_TO_FLOAT( Op2 ).
Ejemplo:
[%MF0:=ASCII_TO_FLOAT(%MW8)]
Parámetros
En esta tabla se describen los parámetros de la función de conversión de ASCII a
flotante:
Parámetros Descripción
Op1 %MF
EIO0000003292.03 79
Instrucciones
Reglas de utilización
Las reglas de conversión de ASCII a flotante son las siguientes:
• La función lee primero el byte más significativo.
• Todo carácter ASCII que no se encuentre en el intervalo [0 - 9] ([16#30 -
16#39]) se considera un carácter de "fin", excepto:
◦ punto '.' (16#2E),
◦ menos '-' (16#2D),
◦ más '+' (16#2B),
◦ EXP 'e' o 'E' (16#65 o 16#45).
• El formato de la cadena ASCII puede estar en notación científica (es decir,
-2,34567e+13) o decimal (es decir, 9.826,3457).
• En caso de desborde (el resultado del cálculo es >3,402824E+38 o
<-3,402824E+38):
◦ El bit de sistema %S18 (desborde aritmético o error detectado) se
establece en 1.
◦ %SW17:X3 se establece en 1.
◦ Se devuelve el valor +/- 1.#INF (+ o – valor infinito).
• Si el resultado del cálculo se encuentra entre -1,175494E-38 y 1,175494E-
38, se redondea a 0,0.
• Si el operando no es un número:
◦ Se devuelve el valor NaN,
◦ El bit %SW17:X0 se establece en 1.
Ejemplo de aplicación
Tenga en cuenta que los siguientes datos ASCII se han almacenado entre %MW10
y %MW14:
%MW12 16#3536 5, 6
%MW14 16#2032 ‘ ’, 2
Ejemplo Result
80 EIO0000003292.03
Instrucciones
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Para las instrucciones de conversión de flotante a ASCII, utilice esta sintaxis: Op1
:= FLOAT_TO_ASCII(Op2).
Ejemplo:
[%MW0:7:=FLOAT_TO_ASCII(%MF8)]
Parámetros
En esta tabla se describen los parámetros de la función de conversión de flotante
a ASCII:
Parámetro Descripción
Op1 %MW
Reglas de utilización
Las reglas de conversión de flotante a ASCII son las siguientes:
• La función escribe el byte más significativo primero.
• La representación se realiza mediante notación científica convencional.
• Los resultados "Infinito" o "No es un número" devuelven la cadena "NAN".
• Se agrega el carácter final seleccionado en la Comportamiento de la
aplicación (consulte EcoStruxure Machine Expert - Basic, Guía de
funcionamiento). El valor predeterminado es CR (retorno de carro, ASCII 13).
• La función determina automáticamente cuántas variables %MW se deben
llenar con valores ASCII.
• La precisión de conversión es de 6 cifras.
Errores de sintaxis
El software comprueba la sintaxis. Los ejemplos siguientes producirían errores de
sintaxis:
EIO0000003292.03 81
Instrucciones
Ejemplo de aplicación
Para la instrucción %MW10:7 := FLOAT_TO_ASCII(%MF1):
1234567800 1.234568e+09
0,000000921 9.210000e-07
9,87654321 9.876543e+00
1234 1.234000e+03
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Para la instrucción de conversión de ASCII a palabra doble, use esta sintaxis: Op1
:= ASCII_TO_DINT( Op2 )
Ejemplo:
[%MD4 := ASCII_TO_DINT(%MW5)]
Parámetros
En esta tabla se describen los parámetros de la instrucción de conversión de
ASCII a palabra doble:
Parámetros Descripción
Op1 %MDx
82 EIO0000003292.03
Instrucciones
Reglas de utilización
Las reglas de las instrucciones de conversión de ASCII a entero son las
siguientes:
• Op2 debe estar entre –2147483648 y 2147483647.
• La función lee primero el byte más significativo.
• Se ignoran los espacios iniciales.
• Todo carácter ASCII que se encuentre fuera del rango [0 - 9] ([16#30 -
16#39]) se considera un carácter de fin, excepto en el caso de un signo
menos '-' (16#2D) cuando se coloca como primer carácter.
• En caso de desbordamiento (>2147483647 o <–2147483648), el bit de
sistema %S18 (desborde aritmético o error detectado) se establece en 1 y se
devuelve el valor 2147483647 o –2147483648.
• Si el primer carácter del operando es un carácter "separador", se devuelve el
valor 0 y el bit %S18 se establece en 1.
NOTA: Los caracteres separadores son '+' y '-', la letra 'e' o 'E', o '.' (el
separador decimal).
• La notación científica no es válida.
Ejemplo de aplicación
Tenga en cuenta que los siguientes datos ASCII se han almacenado entre %MW11
y %MW13:
%MW8 16#3431 4, 1
%MW9 16#3532 5, 2
%MW10 16#3239 2, 9
%MW11 16#3133 1, 3
%MW12 16#2038 ‘ ‘, 8
Ejemplo Result
EIO0000003292.03 83
Instrucciones
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Para la instrucción de conversión de palabra doble a ASCII, use esta sintaxis: Op1
:= DINT_TO_ASCII( Op2 )
Ejemplo:
[%MW4:6 := DINT_TO_ASCII(%MD5)]
Parámetros
En esta tabla se describen los parámetros de la función de conversión de palabra
doble a ASCII:
Parámetros Descripción
Op1 %MWx:6
Reglas de utilización
Las reglas de conversión de entero a ASCII son las siguientes:
• Op2 debe estar entre –2147483648 y 2147483647.
• La función escribe el byte más significativo primero.
• Se agrega el carácter final seleccionado en la Comportamiento de la
aplicación (consulte EcoStruxure Machine Expert - Basic, Guía de
funcionamiento). El valor predeterminado es CR (retorno de carro, ASCII 13).
• La función determina automáticamente cuántas variables %MW se deben
llenar con valores ASCII (de 1 a 6).
Errores de sintaxis
El software comprueba la sintaxis. Los ejemplos siguientes producirían errores de
sintaxis:
84 EIO0000003292.03
Instrucciones
Ejemplo de aplicación
Para la instrucción %MW0:6 := DINT_TO_ASCII(%MD10) usando el carácter de
final de línea "CR":
Si... Entonces...
Valor entero Valor hexadecimal Representación ASCII
%MW1 = 16#3633 6, 3
%MW2 = 16#3835 8, 5
%MW1 = 16#000D CR
%MD10 = -1236945 %MW0 = 16#3145 1, -
%MW1 = 16#3332 3, 2
%MW2 = 16#3936 9, 6
%MW3 = 16#3534 5, 4
%MW4 = 16#000D CR
Operadores de pila
Objeto de esta sección
En esta sección se describen las instrucciones avanzadas de la pila.
Sintaxis
En esta tabla se describen las tres instrucciones de pila:
MRD Leer memoria desde pila Lee la parte superior de la pila en el acumulador.
EIO0000003292.03 85
Instrucciones
Operación
En este diagrama se muestra cómo funcionan las instrucciones de pila:
Ejemplo de aplicación
Ejemplo de uso de instrucciones de pila:
Escalón Instrucción
0 LD %I0.0
AND %M1
MPS
AND %I0.1
ST %Q0.0
MRD
AND %I0.2
ST %Q0.1
MRD
AND %I0.3
ST %Q0.2
MPP
AND %I0.4
ST %Q0.3
86 EIO0000003292.03
Instrucciones
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de las asignaciones de tablas de palabras, palabras dobles y puntos
flotantes:
Operador Sintaxis
:= [Op1 := Op2]
Tabla de palabras %MWi:L, %SWi:L, %QWi.j:L, % %MWi:L, %SWi:L, valor entero inmediato, %MWi, %KWi, %IW, %
QWEi:L, %QWMi:L, %QWNi.j.k:L QW, %SWi, %BLK.x, %QWi.j:L, %QWEi:L, %QWMi:L, %QWNi.
j.k:L, %IWi.j:L, %IWEi:L, %IWMi:L, %IWNi.j.k:L
Tablas de palabras dobles %MDi:L Valor entero inmediato, %MDi, %KDi,%MDi:L, %KDi:L
Tablas de palabras flotantes %MFi:L Valor de punto flotante inmediato, %MFi, %KFi, %MFi:L, %KFi:L
EIO0000003292.03 87
Instrucciones
Estructura
Ejemplos de asignaciones de tablas de palabras:
Escalón Instrucción
0 LD 1
[%MW0:10:=100]
1 LD %I0.0
[%MW0:10:=%MW11]
2 LDR %I0.3
[%MW10:20:=%KW20:20]
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de la instrucción de suma en tabla:
Res:=SUM_ARR(Tab)
Parámetros de la instrucción de suma en tabla:
88 EIO0000003292.03
Instrucciones
Estructura
Ejemplo de función de suma:
Escalón Instrucción
0 LD %I0.2
[%MD5:=SUM_ARR(%MD3:1)]
1 LD 1
[%MD5:=SUM_ARR(%KD5:2)]
2 LD 1
[%MF2:=SUM_ARR(%MF8:5)]
Ejemplo de aplicación
%MD4:=SUM_ARR(%MD30:4)
Donde %MD30= 10, %MD32= 20, %MD34= 30, %MD36= 40
Por tanto, %MD4:= 10 + 20 + 30 + 40
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de la instrucción de comparación de tablas:
Res:=EQUAL_ARR(Tab1,Tab2)
Parámetros de las instrucciones de comparación de tablas:
NOTA: Las tablas deben tener la misma longitud y ser del mismo tipo.
EIO0000003292.03 89
Instrucciones
Estructura
Ejemplo de función de comparación de tablas:
Escalón Instrucción
0 LD %I0.2
[%MW5:=EQUAL_ARR(%MD20:7,%KD0:7)]
1 LD 1
[%MW0:=EQUAL_ARR(%MD20:7,%KD0:7)]
2 LD 1
[%MF2:=SUM_ARR(%MF8:5)]
Ejemplo de aplicación
%MW5:=EQUAL_ARR(%MD30:4,%KD0:4)
Comparación de las 2 tablas:
1 %MD32=20 %KD2=20 =
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de las instrucciones de búsqueda en tablas:
Función Sintaxis
FIND_EQR Res:=Function(Tab,Val)
FIND_GTR
90 EIO0000003292.03
Instrucciones
Función Sintaxis
FIND_LTR
Estructura
Ejemplo de función de búsqueda en tablas:
Escalón Instrucción
0 LD %I0.2
[%MW5:=FIND_EQR(%MD20:7,%KD0)]
1 LD %I0.3
[%MW6:=FIND_GTR(%MD20:7,%KD0)]
2 LD 1
[%MW7:=FIND_LTR(%MF40:5,%KF4)]
Ejemplo de aplicación
%MW5:=FIND_EQR(%MD30:4,%KD0)
Búsqueda de la posición de la primera palabra doble = %KD0=30 en la tabla:
0 %MD30=10 -
1 %MD32=20 -
3 %MD36=40 -
EIO0000003292.03 91
Instrucciones
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de las instrucciones de búsqueda de valores máximos y mínimos en
tablas:
Función Sintaxis
MAX_ARR Result:=Function(Tab)
MIN_ARR
Estructura
Ejemplo de función de búsqueda en tablas:
Escalón Instrucción
0 LD %I0.2
[%MD0:=MIN_ARR(%MD20:7)]
1 LD 1
[%MF8:=MIN_ARR(%MF40:5)]
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
92 EIO0000003292.03
Instrucciones
Función Sintaxis
OCCUR_ARR Res:=Function(Tab,Val)
Estructura
Ejemplo de número de apariciones:
Escalón Instrucción
0 LD %I0.3
[%MW5:=OCCUR_ARR(%MF20:7,%KF0)]
1 LD %I0.2
[%MW5:=OCCUR_ARR(%MD20:7,%MD1)]
EIO0000003292.03 93
Instrucciones
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de las instrucciones de desplazamiento circular en tablas de palabras
dobles o flotantes ROL_ARR y ROR_ARR:
Función Sintaxis
ROL_ARR Function(n,Tab)
ROR_ARR
Estructura
Ejemplo de función de desplazamiento circular en tablas:
Escalón Instrucción
0 LD %I0.2
[ROL_ARR(%KW0,%MD20:7)]
1 LD %I0.3
[ROR_ARR(2,%MD20:7)]
2 LD %I0.4
[ROR_ARR(2,%MF40:5)]
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
94 EIO0000003292.03
Instrucciones
Función Sintaxis
SORT_ARR Function(direction,Tab)
Estructura
Ejemplo de función de clasificación en tablas:
Escalón Instrucción
0 LD %I0.1
[SORT_ARR(%MW20,%MF0:6)]
1 LD %I0.2
[SORT_ARR(%MW20,%MF0:6)]
2 LD %I0.3
[SORT_ARR(0,%MF40:8)]
(Ecuación 1)
para , donde ;
EIO0000003292.03 95
Instrucciones
(Ecuación 2)
para , donde .
Representación gráfica
Este gráfico muestra la regla de interpolación lineal descrita anteriormente:
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
La función LKUP usa tres operandos, dos de los cuales son atributos de función,
tal como se describe en esta tabla:
Variable de salida Valor (X) definido por el Matriz de variables (Xi,Yi) definida por
usuario el usuario
[Op1 := LKUP(Op2,Op3)] %MWi %MF0 Valor entero, %MWi,or %KWi
Definición de Op1
Op1 es la palabra de memoria que contiene la variable de salida de la función de
interpolación.
96 EIO0000003292.03
Instrucciones
0 Interpolación correcta
Definición de Op2
Op2 es la variable de coma flotante (%MF0 de la matriz de coma flotante de Op3)
que contiene el valor (X) definido por el usuario para el que se va a calcular el
valor (Y) interpolado.
Definición de Op3
Op3 establece el tamaño (Op3 / 2) de la matriz de coma flotante en la que se
almacenan los pares de datos (Xi,Yi).
Los datos Xi e Yi se almacenan en objetos de coma flotante con índices pares,
empezando por %MF4 (observe que los objetos de coma flotante %MF0 y %MF2 se
reservan para la consigna del usuario X y el valor Y interpolado,
respectivamente).
Dada una matriz de (m) pares de datos (Xi,Yi), el índice superior (u) de la matriz
de coma flotante (%MFu) se establece mediante las relaciones siguientes:
• (Ecuación 3)
• (Ecuación 4)
La matriz de coma flotante Op3 (%MFi) presenta una estructura similar a la de
este ejemplo (donde Op3=8):
(Op3=8)
EIO0000003292.03 97
Instrucciones
Estructura
Las operaciones de interpolación se realizan de la forma siguiente:
Escalón Instrucción
0 LD %I0.2
[%MW20:=LKUP(%MF0,%KW1)]
1 LD %I0.3
[%MW22:=LKUP(%MF0,10)]
Ejemplo de aplicación
Uso de una función de interpolación LKUP:
[%MW20:=LKUP(%MF0,10)]
En este ejemplo:
• %MW20 es Op1 (la variable de salida).
• %MF0 es el valor (X) definido por el usuario cuyo valor (Y) correspondiente se
debe calcular mediante interpolación lineal.
• %MF2 almacena el valor (Y) calculado resultante de la interpolación lineal.
• 10 es Op3 (calculado mediante la ecuación 3 explicada anteriormente).
Establece el tamaño de la matriz de coma flotante. El elemento más alto de la
serie %MFu, donde u=18 se calcula mediante la ecuación 4 descrita
anteriormente.
Existen cuatro pares de puntos de datos almacenados en la matriz Op3 [%
MF4,...%MF18]:
• %MF4 contiene X1,%MF6 contiene Y1.
• %MF8 contiene X2,%MF10 contiene Y2.
• %MF12 contiene X3,%MF14 contiene Y3.
• %MF16 contiene X4,%MF18 contiene Y4.
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Sintaxis de la función de cálculo de la media de una tabla de coma flotante:
Función Sintaxis
MEAN Resultado=Función(Op1)
98 EIO0000003292.03
Instrucciones
Estructura
Ejemplo de función de media:
Escalón Instrucción
0 LD %I3.2
[%MF0:=MEAN(%MF10:5)]
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Para la función SWAP, use la sintaxis:
Op1 := SWAP(Op2)
Donde:
Operando Tipo
Estructura
Ejemplo de función SWAP:
Escalón Instrucción
0 %MW0:3 := "1234"
[%MW0:3 := SWAP(%MW0:3)]
EIO0000003292.03 99
Instrucciones
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Para la instrucción READ_IMM_IN, utilice la sintaxis siguiente:
Op1 := READ_IMM_IN(Op2)
Donde:
%MWi
%KWi
i Indicador de instancia de objeto para la variable de memoria.
Código Descripción
100 EIO0000003292.03
Instrucciones
Ejemplo
%MW0 := READ_IMM_IN(2)
En la ejecución de este bloque de operación, el valor actual de la entrada %I0.2
se lee y la imagen de entrada se actualiza inmediatamente. El código de retorno
de la función se guarda en la palabra de memoria %MW0.
Estructura
Ejemplo de la instrucción READ_IMM_IN:
Escalón Instrucción
0 LD %M0
[%MW0:=READ_IMM_IN(%MW5)]
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Para la instrucción WRITE_IMM_OUT, utilice la sintaxis siguiente:
Op1 := WRITE_IMM_OUT(Op2)
Donde:
%MWi
%KWi
i es el indicador de instancia de objeto para la variable de memoria.
EIO0000003292.03 101
Instrucciones
Código Descripción
Ejemplo
%MW0 := WRITE_IMM_OUT(%MW5) (con %MW5 = 2)
En la ejecución de este bloque de operación, la imagen de salida %Q0.2 se
escribe físicamente en la salida digital incrustada. El código de retorno de la
función se guarda en la palabra de memoria %MW0.
Estructura
Ejemplo de la instrucción WRITE_IMM_OUT:
Escalón Instrucción
0 LD %M0
[%MW0:= WRITE_IMM_OUT(%MW4)]
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Para la instrucción READ_IMM, utilice la sintaxis siguiente:
READ_IMM(Op1)
102 EIO0000003292.03
Instrucciones
Donde:
Ejemplo
A continuación se muestra un ejemplo de uso de la instrucción READ_IMM:
Escalón Instrucción
0 LD %M0
[READ_IMM(%HSC0.P)]
Sintaxis
A continuación, se describe la sintaxis de la lista de instrucciones. Puede insertar
operaciones de lista de instrucciones e instrucciones de asignación, página 16 en
los escalones del diagrama de contactos utilizando un elemento gráfico de
Bloque de operación.
Para la instrucción WRITE_IMM, utilice la sintaxis siguiente:
WRITE_IMM(Op1)
Donde:
EIO0000003292.03 103
Instrucciones
Ejemplo
A continuación se muestra un ejemplo de uso de la instrucción WRITE_IMM:
Escalón Instrucción
0 LD %M1
[WRITE_IMM(%HSC0.V)]
104 EIO0000003292.03
Objetos de E/S
Objetos de E/S
Contador rápido (%FC)
Uso de los bloques de funciones del contador rápido
En esta sección se proporcionan descripciones y directrices de programación
para utilizar bloques de funciones Fast Counter.
Descripción general
Consulte la Guía de la biblioteca de funciones avanzadas de su controlador.
Descripción general
Consulte la Guía de la biblioteca de funciones avanzadas de su controlador.
Pulso (%PLS)
Uso de los bloques de funciones de pulsos
En esta sección se proporcionan descripciones y directrices de programación
para utilizar bloques de funciones Pulse.
Descripción general
Consulte la Guía de la biblioteca de funciones avanzadas de su controlador.
EIO0000003292.03 105
Objetos de E/S
Descripción general
Consulte la Guía de la biblioteca de funciones avanzadas de su controlador.
106 EIO0000003292.03
Objetos de red
Objetos de red
Objetos de red
Presentación
Los objetos de red se utilizan para la comunicación a través de EtherNet/IP,
Modbus TCP o IOScanner serie Modbus.
Hay dos tipos de objeto de red para la comunicación EtherNet/IP:
• %QWE: Input Assembly
• %IWE: Output Assembly
Hay dos tipos de objeto de red para la comunicación Modbus TCP:
• %QWM: Registros de entrada
• %IWM: Registros de salida
Para IOScanner serie Modbus, se utilizan los siguientes tipos de objetos de red:
• %IN: Entradas digitales (IOScanner)
• %QN: Salidas digitales (IOScanner)
• %IWN: Tamaño ensamblado de entrada (IOScanner)
• %QWN: Registros de salida (IOScanner)
• %IWNS: Códigos de diagnóstico de red de IOScanner
NOTA: Las referencias a entradas y salidas se realizan desde el punto de
vista del maestro EtherNet/IP o cliente Modbus TCP.
Para obtener más información sobre cómo configurar objetos de red, consulte la
guía de programación del logic controller.
EIO0000003292.03 107
Objetos de software
Objetos de software
Uso de bloques de funciones
Principios de programación de bloques de funciones
Descripción general
Un bloque de funciones es un objeto reutilizable que acepta uno o varios valores
de entrada y devuelve uno o varios valores de salida.
Puede insertar hasta cinco bloques de funciones en cada escalón del diagrama
de contactos.
Los parámetros de los bloques de funciones no están disponibles si:
• su controlador no admite el bloque de funciones;
• el bloque de funciones no está configurado.
Paso Acción
1 Inserte, página 109 el bloque de funciones en un escalón.
Línea Instrucción
1000 CU %C1
1074 CD %C1
1209 R %C1
108 EIO0000003292.03
Objetos de software
Escalón Instrucción
0 BLK %C8
LDF %I0.1
R
LD %I0.1
AND %M0
CU
OUT_BLK
LD D
AND %M1
ST %Q0.0
END_BLK
Escalón Instrucción
0 BLK %C8
LDF %I0.1
R
LD %I0.2
AND %M0
CU
END_BLK
1 LD %C8.D
AND %M1
ST %Q0.4
Paso Acción
1 Cree un nuevo escalón del diagrama de contactos en el área de trabajo de
programación de EcoStruxure Machine Expert - Basic. Consulte la sección
EcoStruxure Machine Expert - Basic Guía de funcionamiento para obtener más
información.
2 Haga clic en el botón Función de la barra de herramientas gráfica situada en la parte
superior del área de trabajo de programación.
EIO0000003292.03 109
Objetos de software
Registro LIFO/FIFO
Contador de pasos
Contador
Contador rápido
Drum
Pulso
Mensaje
Registro de datos
110 EIO0000003292.03
Objetos de software
Paso Acción
1 De manera opcional, haga clic en Dirección dentro del bloque de funciones.
Seleccione la dirección que se utilizará para identificar esta instancia del bloque de
funciones.
Las propiedades del bloque de funciones aparecen en el centro del objeto de bloque
de funciones y en la tabla Propiedades, en la mitad inferior del área de trabajo de
programación.
Cuando lo desee, puede hacer doble clic en cualquier parte dentro del bloque de
funciones para visualizar las propiedades.
3 De manera opcional, haga clic en la etiqueta Símbolo dentro del bloque de funciones
y comience a escribir el nombre del símbolo para asociarlo con este bloque de
funciones.
Aparece una lista de todos los símbolos existentes con nombres que comienzan con
el carácter o caracteres que ha escrito; haga clic en el símbolo para usarlo.
A fin de crear un nuevo símbolo para este bloque de funciones, escriba el nombre del
símbolo para crearlo y seleccione el objeto para asociarlo con el símbolo.
Temporizador (%TM)
Uso de los bloques de funciones del temporizador
En esta sección se proporcionan descripciones y directrices de programación
para utilizar bloques de funciones Timer.
EIO0000003292.03 111
Objetos de software
Descripción
Introducción
Ilustración
En esta ilustración se muestra el bloque de funciones Timer.
Comentario
Símbolo
IN Q
%TM0
Ret., din. Preajuste
Tipo: TON
TB: 1 min
Preestablecido: 9999
Entradas
El bloque de funciones Timer contiene la siguiente entrada:
Salidas
El bloque de funciones Timer contiene la siguiente salida:
Q Dirección de salida El bit asociado %TMi.Q se establece en 1 (en función del tipo
(%TMi.Q) de Timer) cuando el Timer se agota.
Configuración
Parámetros
Para configurar los parámetros, siga el procedimiento de configuración de un
bloque de funciones, página 111 y lea la descripción de las modalidades de
asignación de memoria en la Guía de funcionamiento de EcoStruxure Machine
Expert - Basic.
112 EIO0000003292.03
Objetos de software
Dirección Dirección del objeto Timer (%TMi) Un programa puede contener sólo un número limitado de No
objetos Timer. Consulte la guía de programación de la
plataforma correspondiente para saber cuál es el número
máximo de temporizadores.
EIO0000003292.03 113
Objetos de software
Objetos
El bloque de funciones Timer contiene los objetos siguientes:
114 EIO0000003292.03
Objetos de software
Casos especiales
La tabla siguiente incluye una lista de casos especiales para programar el bloque
de funciones de temporizador:
Comprobación por bit %TMi.Q (bit Permite probar el bit %TMi.Q una sola vez en el programa.
Done)
Diagrama de tiempos
En este diagrama se muestra el funcionamiento del tipo TON Timer.
EIO0000003292.03 115
Objetos de software
116 EIO0000003292.03
Objetos de software
IN
80
TMi.P
30
TMi.V
Q
t
EIO0000003292.03 117
Objetos de software
IN
80
TMi.P
30
TMi.V
Q
t
118 EIO0000003292.03
Objetos de software
Diagrama de tiempos
En este diagrama se muestra el funcionamiento del tipo TOF Timer.
EIO0000003292.03 119
Objetos de software
IN
80
TMi.P
30
TMi.V
Q
t
120 EIO0000003292.03
Objetos de software
IN
80
TMi.P
30
TMi.V
Q
t
EIO0000003292.03 121
Objetos de software
Diagrama de tiempos
En este diagrama se muestra el funcionamiento del Timer de tipo TP.
122 EIO0000003292.03
Objetos de software
IN
80
TMi.P
30
TMi.V
Q
t
EIO0000003292.03 123
Objetos de software
Ejemplo de programación
Introducción
Los bloques de funciones Timer tienen las siguientes modalidades de
funcionamiento:
• TON (Timer On-Delay), página 114: utilizado para especificar un periodo de
tiempo entre la activación de una entrada específica y el encendido de un
sensor de salida.
• TOF (Timer Off-Delay), página 118: utilizado para especificar un periodo de
tiempo entre la no detección de una salida asociada con un sensor y el
apagado de la salida correspondiente.
• TP (Timer - Pulse), página 121: utilizado para generar un pulso de duración
determinada.
Los retardos o periodos de pulsos de Timers se pueden programar y configurar
desde el software.
Programación
Este ejemplo es un bloque de funciones Timer con instrucciones reversibles:
1 LD [%TM0.V<400]
ST %Q0.1
2 LD [%TM0.V>=400]
ST %Q0.2
2 LD [%TM0.V<400]
ST %Q0.1
3 LD [%TM0.V>=400]
ST %Q0.2
Contador (%C)
Uso de bloques de funciones del contador
En esta sección se proporcionan descripciones y directrices de programación
para utilizar bloques de funciones Counter.
124 EIO0000003292.03
Objetos de software
Descripción
Introducción
Ilustración
En esta ilustración se presenta el bloque de funciones Counter.
Entradas
El bloque de funciones Counter contiene las siguientes entradas:
EIO0000003292.03 125
Objetos de software
Salidas
El bloque de funciones Counter contiene las siguientes salidas:
Configuración
Parámetros
Para configurar los parámetros, siga el procedimiento de configuración de un
bloque de funciones, página 111 y lea la descripción de las modalidades de
asignación de memoria en la Guía de funcionamiento de EcoStruxure Machine
Expert - Basic.
El bloque de funciones Counter contiene los parámetros siguientes:
126 EIO0000003292.03
Objetos de software
Objetos
El bloque de funciones Counter contiene los objetos siguientes:
Operaciones
En esta tabla se describen las principales fases de las operaciones del bloque de
funciones Counter:
Conteo regresivo Aparece un flanco ascendente en El valor actual %Ci.V disminuye en una
la entrada de conteo regresivo CD unidad.
(o se activa la instrucción CD).
EIO0000003292.03 127
Objetos de software
Casos especiales
En esta tabla se muestra una lista de casos de configuración/funcionamiento
especiales para el bloque de funciones Counter:
Efecto de un reinicio en caliente (%S1=1) No tiene ningún efecto en el valor actual de Counter
de una detención del controlador (%Ci.V).
Ejemplo de programación
Introducción
El ejemplo siguiente muestra un contador que permite contar hasta un máximo de
5.000 elementos. Cada pulso de entrada %I0.2 (cuando el bit de memoria %M0
está establecido en 1) aumenta el bloque de funciones Counter %C8 hasta su
valor preestablecido final (bit %C8.D=1). El contador se restablece mediante la
entrada %I0.1.
Programación
Este ejemplo es un bloque de funciones Counter con instrucciones reversibles:
1 LD %C8.D
ST %Q0.0
128 EIO0000003292.03
Objetos de software
Configuración
Durante la configuración, deben introducirse los parámetros:
En este ejemplo, el valor Preajuste (%Ci.P): se establece en 5.000.
Descripción general
Introducción
Un controlador lógico puede configurarse para comunicarse en el protocolo
Modbus o puede enviar o recibir mensajes en modalidad de caracteres (ASCII).
EcoStruxure Machine Expert - Basic ofrece las siguientes funciones para este tipo
de comunicaciones:
• Instrucción de Intercambio (EXCH) para transmitir/recibir mensajes.
• Bloque de funciones Message (%MSG) para controlar los intercambios de
datos.
Cuando se procesa una instrucción de Intercambio el controlador lógico utiliza el
protocolo configurado para el puerto especificado. A cada puerto de
comunicación se le puede asignar un protocolo distinto. Es posible acceder a los
EIO0000003292.03 129
Objetos de software
EXCH2 %MSG2
EXCH3 %MSG3
Instrucción de intercambio
La instrucción de Intercambio permite a un controlador lógico enviar o recibir
información dirigida a dispositivos ASCII o Modbus o procedente de ellos. El
usuario define una tabla de palabras (%MWi:L) que contiene la información de
control y los datos que se enviarán o recibirán. Consulte Configuración de la tabla
de transmisión, página 136. El intercambio de mensajes se realiza mediante la
instrucción de Intercambio.
Sintaxis
A continuación, se muestra el formato de la instrucción de Intercambio:
[EXCHx %MWi:L]
Donde: x = número de puerto; L = número total de palabras de la tabla de
palabras.
El controlador lógico debe finalizar el intercambio desde la primera instrucción de
Intercambio antes de que se pueda iniciar una segunda instrucción de
Intercambio. Se debe utilizar el bloque de funciones Message cuando se envíen
varios mensajes.
Protocolo ASCII
El protocolo ASCII proporciona al Logic Controller un protocolo de modalidad de
caracteres que permite transmitir o recibir datos mediante un dispositivo. Este
protocolo se admite mediante la instrucción de Intercambio y se controla
mediante el bloque de funciones Message.
Pueden utilizarse los tres tipos de comunicaciones siguientes con el protocolo
ASCII:
• Solo transmisión
• Transmisión/recepción
• Solo recepción
Protocolo Modbus
Si se trata de una conexión serie, el protocolo Modbus es un protocolo maestro/
esclavo que permite a un único maestro solicitar respuestas de los esclavos o
realizar acciones dependiendo de las peticiones. En Ethernet, diversos maestros
(clientes) pueden intercambiar con un esclavo (servidor). Cada esclavo debe
tener una dirección exclusiva. El maestro puede dirigirse a los esclavos
130 EIO0000003292.03
Objetos de software
Esclavo Modbus
El protocolo Modbus admite dos capas de conexión de datos de los formatos del
modelo OSI: ASCII y RTU. Cada uno está definido mediante la implementación
de la capa física: ASCII utiliza 7 bits de datos y RTU utiliza 8 bits de datos.
Cuando se utiliza la modalidad Modbus ASCII, cada byte del mensaje se envía
como dos caracteres ASCII. La trama Modbus ASCII comienza con un carácter
inicial (':') y finaliza con dos caracteres finales (CR y LF). El carácter de final de
trama está predeterminado en 0x0A (LF). El valor de comprobación de la trama
Modbus ASCII es un complemento a dos de la trama, excluyendo los caracteres
inicial y final.
La modalidad Modbus RTU no vuelve a formatear el mensaje antes de enviarlo;
sin embargo, utiliza una modalidad de cálculo de suma de comprobación
diferente, especificado como CRC.
La capa de conexión de datos de Modbus tiene las limitaciones siguientes:
• Dirección 1-247
• Bits: 128 bits previa solicitud
• Palabras: 125 palabras de 16 bits previa solicitud
Descripción
Introducción
El bloque de funciones Message administra los intercambios de datos y
tiene tres funciones:
• Comprobación de errores de comunicación:
La comprobación de errores verifica el tamaño de cada tabla de intercambio
y la validez del intercambio en relación con la configuración.
• Coordinación de varios mensajes:
Para garantizar la coordinación cuando se envían varios mensajes, el bloque
de funciones Message proporciona la información necesaria para determinar
el momento en el que ha finalizado el mensaje anterior.
• Transmisión de mensajes prioritarios:
El Message bloque de funciones permite que la transmisión del mensaje en
curso se detenga para permitir el envío inmediato de un mensaje urgente.
La programación del bloque de funciones Message es opcional.
Cuando se detectan errores, los códigos se escriben en las palabras de sistema %
SW63, %SW64, y %SW65 para los bloques de intercambio EXCH1, EXCH2 y EXCH3,
respectivamente. Para obtener más información, consulte la Guía de
programación del controlador.
EIO0000003292.03 131
Objetos de software
Ilustración
En esta ilustración se presenta el bloque de funciones Message:
Entradas
El bloque de funciones Message contiene la siguiente entrada:
132 EIO0000003292.03
Objetos de software
Salidas
El bloque de funciones Message contiene las siguientes salidas:
D Comunicación Estado 1:
finalizada (% • Final de la transmisión (si hay transmisión)
MSGx.D)
• Final de la recepción (carácter final recibido)
• Error
• Restablecimiento del bloque
Estado 0: petición en curso
E Error de Estado 1:
comunicación
• Comando sin definir
detectado (%
MSGx.E) • Tabla mal configurada
• Carácter incorrecto recibido (velocidad, paridad, etc.)
• Tabla de recepción llena (no actualizada)
Estado 0: longitud del mensaje correcta, conexión establecida
EIO0000003292.03 133
Objetos de software
6: envío
134 EIO0000003292.03
Objetos de software
Configuración
Error detectado
Si se ha detectado un error al utilizar una instrucción de intercambio, los bits %
MSGx.D y %MSGx.E se establecen en 1, la palabra del sistema %SW63 contiene el
código de error para el puerto 1, y %SW64 contiene el código de error para el
puerto 2. Consulte el capítulo Palabras de sistema de la Guía de programación
del logic controller.
Operaciones
En esta tabla se describen las principales fases de las operaciones del bloque de
funciones Message:
Casos especiales
Esta tabla contiene una lista de casos especiales para el funcionamiento de
Message:
EIO0000003292.03 135
Objetos de software
Limitaciones
Tenga en cuenta las siguientes limitaciones:
• La disponibilidad (para protocolo ASCII) y el tipo del puerto 2 (consulte %SW7)
solo se comprueban en el encendido o reseteado.
• La presencia (para protocolo Modbus) y configuración (RS-485) del puerto 2
se comprueban durante el encendido o restablecimiento.
• El procesamiento de cualquier mensaje en el puerto 1 se cancela
cuando EcoStruxure Machine Expert - Basic está conectado.
• Las instrucciones de Intercambio anulan los procesamientos del esclavo
Modbus activo.
• El procesamiento de las instrucciones de Intercambio no se repite en caso
de error detectado.
• La entrada de restablecimiento (R) puede utilizarse para anular el
procesamiento de recepción de la instrucción de Intercambio.
• Las instrucciones de Intercambio se configuran con un timeout en caso de
protocolo Modbus.
• Los mensajes múltiples se controlan a través de %MSGx.D
136 EIO0000003292.03
Objetos de software
EIO0000003292.03 137
Objetos de software
Ejemplo de programación
Introducción
A continuación se muestran ejemplos de programación de un bloque de funciones
Message.
138 EIO0000003292.03
Objetos de software
Ejemplos ASCII
Escritura en aplicación
Ejemplo de aplicación ASCII:
1 LD 1 [%MW12:=16#4F4B]: Correcto
AND %MSG2.D
NOTA: La tabla tiene 8 elementos.
[EXCH2 %MW10:8]
2 LD %MSG2.E
ST %Q0.0
END
EIO0000003292.03 139
Objetos de software
Para visualizar los posibles formatos, haga clic con el botón derecho en la casilla
Valores de la tabla de animación.
El último paso consiste en descargar la aplicación al controlador y ejecutarla.
Inicialice una tabla de animación para animar y visualizar las palabras de %MW10 a
%MW16. Esta información se intercambia con el controlador lógico y se visualiza
en una tabla de animación.
140 EIO0000003292.03
Objetos de software
Índice
Tabla de control 0 01 (transmisión/recepción) 06 (longitud de transmisión)(1)
= [1+(N1-1)/8],
(1) Este byte también recibe la longitud de la cadena transmitida tras la respuesta.
EIO0000003292.03 141
Objetos de software
Índice
Tabla de control 0 01 (transmisión/recepción) 06 (longitud de transmisión)(1)
... ...
N+6 Palabra N leída (si N>2)
(1) Este byte también recibe la longitud de la cadena transmitida tras la respuesta.
Índice
Tabla de control 0 01 (transmisión/recepción) 06 (longitud de transmisión)(1)
(2) Para asignar el valor 1 a un bit, la palabra asociada en la tabla de transmisión debe contener el valor FF00h, y 0 para asignar el valor 0
a un bit.
NOTA:
• Esta petición no necesita utilizar un offset.
• La trama de respuesta es la misma que la de esta petición (en un caso
normal).
142 EIO0000003292.03
Objetos de software
Índice
Tabla de control 0 01 (transmisión/recepción) 06 (longitud de transmisión)(1)
7 Valor escrito
(1) Este byte también recibe la longitud de la cadena transmitida tras la respuesta.
NOTA:
• Esta petición no necesita utilizar un offset.
• La trama de respuesta es la misma que la de esta petición (en un caso
normal).
Índice
Tabla de control 0 01 (transmisión/recepción) 8 + número de bytes (transmisión)
= [1+(N1-1)/8],
(N2/2+1)+5 (si N2 es
impar)
EIO0000003292.03 143
Objetos de software
Índice
Tabla de control 0 01 (transmisión/recepción) 8 + (2*N) (longitud de transmisión)
... ...
N+5 Valores N que se van a escribir
144 EIO0000003292.03
Objetos de software
1 LD 1 –
AND %MSG2.D
[EXCH2 %MW0:11]
2 LD %MSG2.E –
ST %Q0.0
END
EIO0000003292.03 145
Objetos de software
1 LD 1 –
AND %MSG2.D
[EXCH2 %
MW0:12]
2 LD %MSG2.E –
ST %Q0.0
END
146 EIO0000003292.03
Objetos de software
EIO0000003292.03 147
Objetos de software
Descripción
Introducción
Ilustración
En esta ilustración se muestra el bloque de funciones LIFO/FIFO Register.
Entradas
El bloque de funciones LIFO/FIFO Register contiene las siguientes entradas:
148 EIO0000003292.03
Objetos de software
Salidas
El bloque de funciones LIFO/FIFO Register contiene las siguientes salidas:
E Salida vacía (% El bit asociado %Ri.E indica que el LIFO/FIFO Register está
Ri.E) vacío. El valor de %Ri.E puede probarse, por ejemplo, en una
tabla de animación o con una instrucción.
F Salida llena (% El bit asociado %Ri.F indica que el LIFO/FIFO Register está
Ri.F) lleno. El valor de %Ri.F puede probarse, por ejemplo, en una
tabla de animación o con una instrucción.
Configuración
Parámetros
Para configurar los parámetros, siga el procedimiento de configuración de un
bloque de funciones, página 111 y lea la descripción de las modalidades de
asignación de memoria en la Guía de funcionamiento de EcoStruxure Machine
Expert - Basic.
El bloque de funciones LIFO/FIFO Register contiene los parámetros siguientes:
Dirección Dirección de objeto LIFO/FIFO Un programa puede contener sólo un número limitado de objetos No
Register LIFO/FIFO Register. Consulte la guía de programación de la
plataforma de hardware para saber cuál es el número máximo de
registros.
Objetos
El bloque de funciones LIFO/FIFO Register contiene los objetos siguientes:
EIO0000003292.03 149
Objetos de software
Casos especiales
En esta tabla hay una lista de casos especiales para programar el bloque de
funciones LIFO/FIFO Register:
Efecto de un reinicio en frío (%S0=1) o INIT Inicializa el contenido de LIFO/FIFO Register. El bit
de salida %Ri.E asociado a la salida E se establece
en 1.
Efecto de un reinicio en caliente (%S1=1) o No tiene ningún efecto en el valor actual de LIFO/
una detención del controlador FIFO Register ni en el estado de sus bits de salida.
Flanco ascendente detectado en %Ri.O y % Si se detecta un flanco ascendente sobre ambos %Ri.
Ri.I O y %Ri.I en la misma llamada de bloque de
funciones LIFO/FIFO Register, los valores no se
almacenan ni recuperan; el programa debe gestionar
el almacenamiento o la recuperación de los valores.
150 EIO0000003292.03
Objetos de software
Operación
En esta tabla se describe el funcionamiento de LIFO:
3 Resetear: –
EIO0000003292.03 151
Objetos de software
Operación
En esta tabla se describe el funcionamiento de FIFO:
3 Resetear: –
152 EIO0000003292.03
Objetos de software
Ejemplo de programación
Introducción
El siguiente ejemplo de programación muestra el contenido de una palabra de
memoria (%MW34) que se carga en un LIFO/FIFO Register (%R2.I) al recibir una
petición de almacenamiento (%I0.2) si LIFO/FIFO Register %R2 no está
completo (%R2.F = 0). La petición de almacenamiento en el LIFO/FIFO Register
se realiza mediante %M1. La petición de recuperación se confirma mediante la
entrada %I0.3, y %R2.O se carga en %MW20 si el registro no está vacío (%R2.E =
0).
Programación
Este ejemplo es un bloque de funciones LIFO/FIFO Register con instrucciones
reversibles:
1 LD %I0.3
[%MW20:=%R2.O]
2 LD %I0.2
ANDN %R2.F
[%R2.I:=%MW34]
ST %M1
3 LD %I0.2
ANDN %R2.F
[%R2.I:=%MW34]
ST %M1
Drums (%DR)
Uso de los bloques de funciones de Drum
En esta sección se proporcionan descripciones y directrices de programación
para utilizar bloques de funciones Drum.
EIO0000003292.03 153
Objetos de software
Descripción
Introducción
Ilustración
En esta figura se muestra el bloque de funciones Drum en modalidad offline.
Entradas
El bloque de funciones Drum contiene las siguientes entradas:
Salidas
El bloque de funciones Drum contiene la siguiente salida:
154 EIO0000003292.03
Objetos de software
Configuración
Parámetros
Para configurar los parámetros, siga el procedimiento de configuración de un
bloque de funciones, página 111 y lea la descripción de las modalidades de
asignación de memoria en la Guía de funcionamiento de EcoStruxure Machine
Expert - Basic.
El bloque de funciones Drum contiene los parámetros siguientes:
Objetos
El bloque de funciones Drum contiene el siguiente objeto:
%DRi.S Número del paso 0<=%DRi.S<=7. Palabra que se puede leer y escribir.
actual El valor escrito debe ser un valor inmediato decimal.
Cuando se escribe, el efecto se produce en la
siguiente ejecución del bloque de funciones.
Operación
El bloque de funciones Drum consta de:
• Una matriz de datos constantes (las levas) organizada en 8 pasos (de 0 a 7)
y 16 bits (estado del paso) organizada en columnas numeradas de 0 a 15.
• Una lista de bits de control está asociada con una salida configurada (%Qi.j)
o una palabra de memoria (%Mi). En el transcurso del paso actual, los bits de
control adquieren los estados binarios definidos para este paso.
EIO0000003292.03 155
Objetos de software
Asistente Drum
Utilice el Asistente Drum para configurar el bloque de funciones Drum.
Configure el Número de pasos: De 1 a 8 y las salidas o bits de memoria
asociados a cada paso: Bit0 ... Bit15 y, a continuación, haga clic en Aceptar.
Casos especiales
Esta tabla contiene una lista de casos especiales para el funcionamiento de
Drum:
Efecto de un reinicio en Actualiza los bits de control después del paso actual.
caliente (%S1=1)
Efecto de un salto del El hecho de que el Drum ya no se explore significa que los bits de
programa control conservan su estado más reciente.
Actualización de los bits de Solo ocurre cuando se produce un cambio de paso o un reinicio en
control frío o en caliente.
Ejemplo de programación
Introducción
A continuación se muestra un ejemplo de programación de un Drum que está
configurado de modo que ninguno de los controles está establecido en el paso 0 y
los controles están establecidos para los pasos 1 a 6 de las salidas %Q0.0 a %
Q0.5 respectivamente (consulte la Configuración, página 159).
156 EIO0000003292.03
Objetos de software
Programación
Este ejemplo es un programa de bloque de funciones Drum:
Escalón Instrucción
0 BLK %DR1
LD %I0.0
R
LD %I0.1
U
OUT_BLK
LD F
ST %Q0.7
END_BLK
EIO0000003292.03 157
Objetos de software
Diagrama de tiempos
En este diagrama se muestra el funcionamiento de Drum:
158 EIO0000003292.03
Objetos de software
Configuración
Durante la configuración se define la siguiente información:
• Número de pasos: 6
• Estados de salida (bits de control) para cada paso de Drum:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Paso 0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Paso 1: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Paso 2: 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
Paso 3: 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
Paso 4: 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
Paso 5: 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
2 %Q0.2
3 %Q0.3
4 %Q0.4
5 %Q0.5
Descripción
Introducción
EIO0000003292.03 159
Objetos de software
Ilustración
En esta ilustración se muestra el bloque de funciones Shift Bit Register:
El valor del Shift Bit Register se muestra en el centro del bloque de funciones:
• Valor decimal, por ejemplo, 7
• Valor binario, por ejemplo, 111
• Valor hexadecimal, por ejemplo, 16#7
Entradas
El bloque de funciones Shift Bit Register contiene las siguientes entradas:
Configuración
Parámetros
Para configurar los parámetros, siga el procedimiento de configuración de un
bloque de funciones, página 111 y lea la descripción de las modalidades de
asignación de memoria en la Guía de funcionamiento de EcoStruxure Machine
Expert - Basic.
El bloque de funciones Shift Bit Register contiene los siguientes parámetros:
Dirección Shift Bit Register Un programa solo puede contener un número limitado
dirección del objeto de objetos de Shift Bit Register. Consulte la guía de
programación de la plataforma de hardware para
saber cuál es el número máximo de registros.
160 EIO0000003292.03
Objetos de software
Objetos
El bloque de funciones Shift Bit Register contiene los siguientes objetos:
Operación
En la siguiente ilustración se muestra un modelo de bit antes y después de una
operación de desplazamiento:
Casos especiales
En esta tabla hay una lista de casos especiales para programar el bloque de
funciones Shift Bit Register:
Efecto de un reinicio en caliente (%S1=1) No tiene efecto sobre los bits de la palabra de
registro.
Ejemplo de programación
Introducción
El bloque de funciones Shift Bit Register proporciona un desplazamiento a la
izquierda o a la derecha de bits de datos binarios (0 o 1).
Programación
En este ejemplo, un bit se desplaza hacia la izquierda cada segundo mientras que
el bit 0 asume el estado al bit 15.
EIO0000003292.03 161
Objetos de software
En instrucciones reversibles:
1 LD %SBR0.15
ST %SBR0.0
En instrucciones no reversibles:
Descripción
Introducción
Ilustración
Esta ilustración corresponde a un bloque de funciones Step Counter:
162 EIO0000003292.03
Objetos de software
Entradas
El bloque de funciones Step Counter contiene las siguientes entradas:
Configuración
Parámetros
Para configurar los parámetros, siga el procedimiento de configuración de un
bloque de funciones, página 111 y lea la descripción de las modalidades de
asignación de memoria en la Guía de funcionamiento de EcoStruxure Machine
Expert - Basic.
El bloque de funciones Step Counter contiene los parámetros siguientes:
Objetos
El bloque de funciones Step Counter contiene el siguiente objeto:
%SCi.j Bit de Step Counter Los bits de Step Counter 0 a 255 (j = de 0 a 255) se
pueden verificar mediante una operación lógica de
carga y se pueden escribir mediante una instrucción de
asignación.
Caso especial
Esta tabla contiene una lista de casos especiales de funcionamiento del bloque
de funciones Step Counter:
Efecto de un reinicio en caliente (%S1=1) No tiene ningún efecto sobre el Step Counter.
EIO0000003292.03 163
Objetos de software
Ejemplo de programación
Introducción
En este ejemplo se muestra un bloque de funciones Step Counter.
• El Step Counter 0 se reduce mediante la entrada %I0.1.
• El Step Counter 0 se aumenta mediante la entrada %I0.2.
• El Step Counter 0 se restablece a 0 mediante la entrada %I0.3 o cuando
llega al paso 3.
• El paso 0 controla la salida %Q0.1, el paso 1 controla la salida %Q0.2 y el
paso 2 controla la salida %Q0.3.
Programación
Este ejemplo es un bloque de funciones Step Counter con instrucciones
reversibles:
1 LD %SC0.0
ST %Q0.1
2 LD %SC0.1
ST %Q0.2
3 LD %SC0.2
ST %Q0.3
4 LD %SC0.1
ST %Q0.2
5 LD %SC0.2
ST %Q0.3
164 EIO0000003292.03
Objetos de software
Diagrama de tiempos
En este diagrama se muestra el funcionamiento del bloque de funciones Step
Counter:
Fechadores (%SCH)
Uso de los fechadores
En esta sección se proporcionan descripciones y directrices de programación
para utilizar Schedule blocks.
Descripción
Introducción
Los fechadores se utilizan para controlar las acciones en un mes, día u hora
predefinidos.
Los fechadores sólo se configuran en EcoStruxure Machine Expert - Basic; no se
pueden insertar en un escalón de programa del mismo modo que otros bloques
de funciones.
EIO0000003292.03 165
Objetos de software
NOTA: Compruebe el bit del sistema %S51 y la palabra del sistema %SW118
para confirmar que la opción Reloj de tiempo real (RTC) esté instalada. La
opción RTC también es necesaria para utilizar Schedule blocks.
Los fechadores pueden configurarse:
• En la ventana Propiedades de los fechadores (ficha Herramientas >
Fechadores).
• Usando objetos dedicados %SCHi.xxx, página 166.
Dirección Dirección de objeto Schedule blocks Un programa puede contener sólo un número limitado de
objetos Schedule blocks. Consulte la guía de la plataforma de
hardware para saber cuál es el número máximo de Schedule
blocks.
Configurado Indica si el número de Schedule blocks Si se selecciona la casilla de verificación, está configurado
seleccionado está configurado para ser utilizado. para ser utilizado. De lo contrario, no se utiliza.
Bit de salida Bit de salida El Schedule blocks activa la asignación de salida: %Mi o %Qj.
k.
Objetos
Estos objetos sólo están disponibles si el bloque se configura como se explicaba
anteriormente.
La aplicación debe configurarse con un nivel funcional (consulte EcoStruxure
Machine Expert - Basic, Guía de funcionamiento), como mínimo Nivel 6.0.
166 EIO0000003292.03
Objetos de software
Objetos Descripción
Habilitación de fechadores
Los bits de la palabra de sistema %SW114 habilitan (bit establecido en 1) o
deshabilitan (bit establecido en 0) el funcionamiento de cada uno de los 16
Schedule blocks.
Asignación de Schedule blocks en %SW114:
EIO0000003292.03 167
Objetos de software
Programación y configuración
Introducción
Los Schedule blocks se utilizan para controlar las acciones en un mes, día u hora
predefinidos.
Ejemplo de programación
En esta tabla se muestran los parámetros de ejemplo de un programa de
vaporización para un mes veraniego:
168 EIO0000003292.03
Objetos de software
Escalón Instrucción
0 LD %M4
[ %M0:4 := 7 ]
1 LD %M0
RISING1
R %M0
2 LD %M1
RISING0
R %M1
3 LD %M2
RISING2
[%SCH0.DOW := %MW8]
Diagrama de tiempos
Este diagrama de tiempos muestra la activación de la salida %Q0.2:
EIO0000003292.03 169
Objetos de software
Descripción
Introducción
Ilustración
En esta ilustración se muestra el bloque de funciones de RTC.
170 EIO0000003292.03
Objetos de software
Entradas
El bloque de funciones RTC contiene las siguientes entradas:
Valor predeterminado: 12
De 1 a 31
Month %RTCi.MONTH Mes
Valor predeterminado: 6
1-12
Year %RTCi.YEAR Año
Valor predeterminado: 0
0-23
Minutes %RTCi.MINUTES Minutos
Valor predeterminado: 0
0-59
Seconds %RTCi.SECONDS Segundos
Valor predeterminado: 0
0-59
EIO0000003292.03 171
Objetos de software
Salidas
El bloque de funciones RTC contiene las siguientes salidas:
Rango: De 0 a 7
Códigos de error
A continuación se indican los códigos de error que se pueden devolver en el
objeto %RTCi.ErrorId cuando la salida Error se establece en 1.
0 Sin errores
1 Error de año
2 Error de mes
3 Error de día
4 Error de semana
5 Error de hora
6 Error de minuto
7 Error de segundo
8 Error de combinación
9 Error interno de RTC
256 Lectura y escritura simultáneas
Configuración
Presentación
Configure las propiedades del bloque de funciones RTC con los valores que se
van a utilizar para actualizar el RTC en el logic controller.
Para mostrar la página RTC propiedades, siga uno de estos pasos:
• Haga doble clic en un bloque de funciones de RTC.
• En la ficha Programación, seleccione Herramientas > Objetos de software
> RTC.
172 EIO0000003292.03
Objetos de software
RTC propiedades
Para configurar los parámetros, siga el procedimiento de configuración de un
bloque de funciones, página 111 y lea la descripción de las modalidades de
asignación de memoria en la Guía de funcionamiento de EcoStruxure Machine
Expert - Basic.
La página RTC propiedades muestra las propiedades siguientes:
PID
Función PID
Introducción
La función PID se utiliza para controlar un proceso dinámico de manera continua.
El propósito del control PID es mantener un proceso en ejecución tan cerca como
sea posible del valor de consigna deseado.
Consulte la Guía de la biblioteca de funciones avanzadas para obtener
información detallada sobre el comportamiento y funcionalidades del PID y la
implementación de la función PID:
• Modos de funcionamiento de PID
• Configuración del ajuste automático de PID
• Configuración estándar de PID
• Asistente de PID
• Programación de PID
• Parámetros de PID
◦ Rol e influencia de los parámetros de PID
◦ Método de ajuste del parámetro de PID
EIO0000003292.03 173
Objetos de software
Registro de datos
Registro de datos
Descripción del bloque de funciones
La función de registro de datos permite almacenar de manera retentiva datos de
objetos o cadenas en el archivo /user/DATALOGx.csv, donde x es el entero
correspondiente al número de instancia de registro de datos. Este archivo se
almacena en la tarjeta SD.
Si DATALOGx.csv supera el tamaño de archivo máximo definido, se le cambia el
nombre por DATALOGx.bak, y se sobrescribe cualquier archivo DATALOGx.bak
existente. Los nuevos datos de registro se almacenan en el nuevo archivo
DATALOGx.csv. El archivo DATALOGx.bak también se almacena en la tarjeta SD.
El nombre de la tarjeta SD debe ser DATA.
NOTA: La aplicación debe configurarse con un nivel funcional (consulte
EcoStruxure Machine Expert - Basic, Guía de funcionamiento) de como
mínimo Nivel 6.0 y la versión del cargador de arranque 50 o superior.
Consulte Palabra de sistema (consulte Modicon M221 Logic Controller, Guía
de programación) %SW13.
Representación gráfica
174 EIO0000003292.03
Objetos de software
2
En la columna Configuración, haga clic en .
• Haga clic en y en .
• Arrastre y suelte desde las propiedades de Registro de datos.
Input
En la tabla siguiente se describe la entrada del bloque de funciones:
Salidas
En la tabla siguiente se describen las salidas del bloque de funciones:
BUSY BOOL Si TRUE, indica que la ejecución del bloque de funciones está
en curso.
ERROR BOOL Si TRUE, indica que se ha detectado un error. Detenida la
ejecución de bloques de funciones. La salida Errorld indica el
código de error.
EIO0000003292.03 175
Objetos de software
Códigos de error
Código de error Descripción
0 Sin errores.
1 Operación en curso.
Pasos de Grafcet
Pasos de Grafcet
Descripción general
Los objetos de paso de Grafcet (%Xi) se utilizan para identificar el estado del
paso Grafcet correspondiente i de un programa.
Parámetros
La ventana Propiedades de paso de Grafcet muestra las siguientes propiedades:
176 EIO0000003292.03
Objetos PTO
Objetos PTO
Motion Task Table (%MT)
Uso de Motion Task Table
Esta sección contiene descripciones y directrices de programación para utilizar
las Motion Task Tables y los bloques de funciones Motion Task Table.
Descripción general
Consulte la Guía de la biblioteca de funciones avanzadas de su controlador.
Descripción general
Consulte la Guía de la biblioteca de funciones avanzadas de su controlador.
EIO0000003292.03 177
Objetos de accionamiento
Objetos de accionamiento
Objetos de accionamiento
Descripción general
Los objetos de accionamiento controlan las unidades ATV y otros dispositivos
configurados en el IOScanner serie Modbus. o Modbus TCP IOScanner.
Consulte la Guía de la biblioteca de funciones avanzadas de su controlador
lógico.
178 EIO0000003292.03
Objetos de comunicación
Objetos de comunicación
Introducción
Los bloques de funciones de comunicación se utilizan para la comunicación con
dispositivos Modbus y enviar/recibir mensajes en la modalidad de caracteres
(ASCII).
NOTA: En un puerto de comunicación sólo puede estar activo un bloque de
funciones de comunicación cada vez durante un ciclo de tarea maestra. Si
intenta utilizar varios bloques de funciones de comunicación o instrucciones
EXCH de manera simultánea en el mismo puerto de comunicación, los
bloques de funciones devuelven un código de error. Por lo tanto, antes de
iniciar un bloque de funciones de comunicación o una instrucción EXCH,
compruebe que no esté en proceso ningún intercambio activo (%MSGx.D es
TRUE) en un puerto de comunicación.
Descripción
Introducción
El bloque de funciones %READ_VAR se utiliza para leer datos desde un
dispositivo remoto en Modbus SL o Modbus TCP.
Ilustración
En esta ilustración se muestra el bloque de funciones %READ_VAR:
EIO0000003292.03 179
Objetos de comunicación
Entradas
El bloque de funciones %READ_VAR contiene las siguientes entradas:
Salidas
El bloque de funciones %READ_VAR contiene las siguientes salidas:
Busy BOOL Si TRUE, indica que la ejecución del bloque de funciones está en
curso.
Cancela- BOOL Si TRUE, indica que la ejecución del bloque de funciones se ha
do cancelado con la entrada Anular.
Error BOOL Si TRUE, indica que se ha detectado un error. Detenida la
ejecución de bloques de funciones.
180 EIO0000003292.03
Objetos de comunicación
EIO0000003292.03 181
Objetos de comunicación
254 (FE hex) IllegalFunction 1 (00000001 hex) El código de función recibido en la petición no
(código de es una acción autorizada para el esclavo. El
excepción estado del esclavo puede ser erróneo para
Modbus) procesar una petición específica.
255 (FF hex) TargetResourceMissing 1 (00000001 hex) El recurso del sistema de destino no está
(rechazado) disponible.
182 EIO0000003292.03
Objetos de comunicación
Configuración de funciones
Propiedades
Haga doble clic en el bloque de funciones para abrir la tabla de propiedades de la
función.
Las propiedades de este bloque de funciones no se pueden modificar en la
modalidad online.
EIO0000003292.03 183
Objetos de comunicación
Símbolo Texto definido por el usuario El símbolo identifica este objeto de forma inequívoca. Para
obtener más información, consulte la EcoStruxure Machine
Expert - Basic Guía de funcionamiento (Definición y uso de los
símbolos) (consulte EcoStruxure Machine Expert - Basic, Guía
de funcionamiento).
Timeout Especificado en unidades de 100 ms, con un valor El timeout establece el tiempo máximo de espera de recepción
predeterminado de 100 (10 segundos). de una respuesta.
Un valor de 0 significa que no se ha aplicado Si el timeout finaliza, el intercambio finaliza en error con un
timeout. código de error (CommError = 01 hex). Si el sistema recibe una
respuesta después de la caducidad del timeout, esta respuesta
se ignora.
NOTA: El timeout establecido en el bloque de funciones
anula el valor configurado en las pantallas de
configuración de EcoStruxure Machine Expert - Basic
(Configuración de Modbus TCP (consulte Modicon M221,
Controlador lógico, Guía de programación) y Configuración
de la línea serie (consulte Modicon M221, Controlador
lógico, Guía de programación).
ObjType El tipo de objeto que se va a leer: Los tipos de códigos de función de lectura Modbus son:
• 0 para palabras • Mbs 0x03 - Lectura de varias palabras (registro de
• 1 para entradas digitales mantenimiento)
• 2 para salidas digitales • Mbs 0x02 - Lectura de varios bits (entradas digitales)
• 3 para palabras de entrada • Mbs 0x01 - Lectura de varios bits (salidas digitales)
• Mbs 0x04 - Lectura de varias palabras (registro de
entrada)
FirstObj de 0 a 65535 Dirección del primer objeto del dispositivo remoto desde donde
se leen los valores.
Cantidad • De 1 a 125 para %MW Número de objetos que se van a leer desde el dispositivo
remoto.
• De 1 a 2000 para %I
• De 1 a 2000 para %Q o %M
• De 1 a 125 para %IW
Comentario Texto definido por el usuario Un comentario para asociar a este objeto.
184 EIO0000003292.03
Objetos de comunicación
Objetos
El bloque de funciones %READ_VAR contiene los objetos siguientes:
%READ_VARi.DONE Ejecución completada correctamente Consulte Salidas, página 180. Sólo lectura.
Se puede leer en una tabla de animación.
%READ_VARi.BUSY La ejecución está en proceso Consulte Salidas, página 180. Sólo lectura.
Se puede leer en una tabla de animación.
EIO0000003292.03 185
Objetos de comunicación
Ejemplo de programación
Introducción
El bloque de funciones %READ_VAR se puede configurar como se muestra en
este ejemplo de programación.
Programación
Este ejemplo es un bloque de funciones %READ_VAR:
Escalón Instrucción
0 BLK %READ_VAR0
LD %I0.0
EXECUTE
LD %I0.1
ABORT
OUT_BLK
LD DONE
ST %Q0.0
LD BUSY
ST %Q0.1
LD ABORTED
ST %M1
LD ERROR
ST %Q0.2
END_BLK
Diagrama de tiempos
Diagramas de tiempos para bloques de funciones de comunicación, página 212.
Descripción
Introducción
El bloque de funciones %WRITE_VAR se utiliza para escribir datos en un
dispositivo externo utilizando el protocolo Modbus SL o Modbus TCP.
186 EIO0000003292.03
Objetos de comunicación
Ilustración
En esta ilustración se muestra el bloque de funciones %WRITE_VAR:
Entradas
El bloque de funciones %WRITE_VAR contiene las siguientes entradas:
Salidas
El bloque de funciones %WRITE_VAR contiene las siguientes salidas:
Busy BOOL Si TRUE, indica que la ejecución del bloque de funciones está en
curso.
Cancela- BOOL Si TRUE, indica que la ejecución del bloque de funciones se ha
do cancelado con la entrada Anular.
Error BOOL Si TRUE, indica que se ha detectado un error. Detenida la
ejecución de bloques de funciones.
EIO0000003292.03 187
Objetos de comunicación
Configuración de funciones
Propiedades
Haga doble clic en el bloque de funciones para abrir la tabla de propiedades de la
función.
Las propiedades de este bloque de funciones no se pueden modificar en la
modalidad online.
188 EIO0000003292.03
Objetos de comunicación
Símbolo Texto definido por el usuario El símbolo identifica este objeto de forma
inequívoca. Para obtener más información,
consulte la EcoStruxure Machine Expert - Basic
Guía de funcionamiento (Definición y uso de los
símbolos) (consulte EcoStruxure Machine Expert -
Basic, Guía de funcionamiento).
Timeout Especificado en unidades de 100 ms, con un valor El timeout establece el tiempo máximo de espera
predeterminado de 100 (10 segundos). de recepción de una respuesta.
ObjType Se admiten los siguientes códigos de función Modbus: El tipo de objetos que se escribirá:
• 0 • Mbs 0x10 - Escritura de varias palabras
(registro)
• 2
• Mbs 0x0F - Escritura de varios bits
• 4
(salidas digitales)
• 5
• Mbs 0x05 - Escritura de un bit (salida
digital)
• Mbs 0x06 - Escritura de una palabra
(registro)
NOTA: Para utilizar los códigos de
función Modbus Single Coil (Mbs 0x05)
o Single Register (Mbs 0x06), la
aplicación debe configurarse con un
nivel funcional mínimo establecido en
5.0.
FirstObj de 0 a 65535 Dirección del primer objeto del dispositivo remoto
en el que se escriben los valores.
Cantidad • De 1 a 123 (registro interno) para %MW Número de objetos que se van a escribir en el
dispositivo remoto.
• De 1 a 1968 (bit interno) para %M o %Q
Se ignora para objetos de tipo Single Coil y Single
Register.
EIO0000003292.03 189
Objetos de comunicación
Comentario Texto definido por el usuario Un comentario para asociar a este objeto.
Objetos
El bloque de funciones %WRITE_VAR contiene los objetos siguientes:
%WRITE_VARi.DONE Ejecución completada correctamente Consulte Salidas, página 187. Sólo lectura.
Se puede leer en una tabla de animación.
%WRITE_VARi.BUSY La ejecución está en proceso Consulte Salidas, página 187. Sólo lectura.
Se puede leer en una tabla de animación.
190 EIO0000003292.03
Objetos de comunicación
Ejemplo de programación
Introducción
El bloque de funciones %WRITE_VAR se puede configurar como se muestra en
este ejemplo de programación.
Programación
Este ejemplo es un bloque de funciones %WRITE_VAR:
Escalón Instrucción
0 BLK %WRITE_VAR0
LD %I0.0
EXECUTE
LD %I0.1
ABORT
OUT_BLK
LD DONE
ST %Q0.0
LD BUSY
ST %Q0.1
LD ABORTED
ST %M1
LD ERROR
ST %Q0.2
END_BLK
Diagrama de tiempos
Diagramas de tiempos para bloques de funciones de comunicación, página 212.
Descripción
Introducción
El bloque de funciones %WRITE_READ_VAR se utiliza para leer y escribir datos
guardados en la memoria de las palabras internas a un dispositivo externo
utilizando el protocolo Modbus SL o Modbus TCP.
Este bloque de funciones ejecuta una única petición de escritura seguida de una
única petición de lectura en la misma transacción.
EIO0000003292.03 191
Objetos de comunicación
Ilustración
En esta ilustración se muestra el bloque de funciones %WRITE_READ_VAR:
Entradas
El bloque de funciones %WRITE_READ_VAR contiene las siguientes entradas:
Salidas
El bloque de funciones %WRITE_READ_VAR contiene las siguientes salidas:
Busy BOOL Si TRUE, indica que la ejecución del bloque de funciones está en
curso.
Cancela- BOOL Si TRUE, indica que la ejecución del bloque de funciones se ha
do cancelado con la entrada Anular.
Error BOOL Si TRUE, indica que se ha detectado un error. Detenida la
ejecución de bloques de funciones.
192 EIO0000003292.03
Objetos de comunicación
Configuración de funciones
Propiedades
Haga doble clic en el bloque de funciones para abrir la tabla de propiedades de la
función.
Las propiedades de este bloque de funciones no se pueden modificar en la
modalidad online.
EIO0000003292.03 193
Objetos de comunicación
Símbolo Texto definido por el usuario El símbolo identifica este objeto de forma inequívoca.
Para obtener más información, consulte la EcoStruxure
Machine Expert - Basic Guía de funcionamiento
(Definición y uso de los símbolos) (consulte EcoStruxure
Machine Expert - Basic, Guía de funcionamiento).
Timeout Especificado en unidades de 100 ms, con un El timeout establece el tiempo máximo de espera de
valor predeterminado de 100 (10 segundos). recepción de una respuesta.
Un valor de 0 significa que no se ha aplicado Si el timeout finaliza, el intercambio finaliza en error con
timeout. un código de error (CommError = 01 hex). Si el sistema
recibe una respuesta después de la caducidad del
timeout, esta respuesta se ignora.
NOTA: El timeout establecido en el bloque de
funciones anula el valor configurado en las pantallas
de configuración de EcoStruxure Machine Expert -
Basic (Configuración de Modbus TCP (consulte
Modicon M221, Controlador lógico, Guía de
programación) y Configuración de la línea serie
(consulte Modicon M221, Controlador lógico, Guía de
programación).
ObjType %MW (Mbs Fct 17): palabras de memoria El tipo de código de función de lectura/escritura de
Modbus es Mbs Fct 17, que equivale al código 17 de
función de Modbus.
FirstWriteObj de 0 a 65535 Dirección del primer objeto del dispositivo remoto en el
que se escriben los valores.
Comentario Texto definido por el usuario Un comentario para asociar a este objeto.
194 EIO0000003292.03
Objetos de comunicación
Objetos
El bloque de funciones %WRITE_READ_VAR contiene los objetos siguientes:
%WRITE_READ_VARi.FIRSTREADOBJ Dirección del primer objeto del Consulte Propiedades, página 193. Se
dispositivo remoto desde donde se leen puede leer y escribir. Se puede modificar en
los valores. una tabla de animación.
%WRITE_READ_VARi.READQUANTITY Número de objetos que se van a leer Consulte Propiedades, página 193. Se
desde el dispositivo remoto. puede leer y escribir. Se puede modificar en
una tabla de animación.
%WRITE_READ_VARi.INDEXDATAIN Dirección de la tabla de palabras local Consulte Propiedades, página 193. Se
(%MW) en la que se guardan los valores puede leer y escribir. Se puede modificar en
leídos. una tabla de animación.
%WRITE_READ_VARi.COMMERROR Códigos de error de comunicación Consulte los códigos de error de
comunicación, página 193. Sólo lectura. Se
puede leer en una tabla de animación.
%WRITE_READ_VARi.DONE Ejecución completada correctamente Consulte Salidas, página 192. Sólo lectura.
Se puede leer en una tabla de animación.
%WRITE_READ_VARi.BUSY La ejecución está en proceso Consulte Salidas, página 192. Sólo lectura.
Se puede leer en una tabla de animación.
Ejemplo de programación
Introducción
El bloque de funciones %WRITE_READ_VAR se puede configurar como se
muestra en este ejemplo de programación.
EIO0000003292.03 195
Objetos de comunicación
Programación
Este ejemplo es un bloque de funciones %WRITE_READ_VAR:
Escalón Instrucción
0 BLK %WRITE_READ_VAR0
LD %I0.0
EXECUTE
LD %I0.1
ABORT
OUT_BLK
LD DONE
ST %Q0.0
LD BUSY
ST %Q0.1
LD ABORTED
ST %M1
LD ERROR
ST %Q0.2
END_BLK
Diagrama de tiempos
Diagramas de tiempos para bloques de funciones de comunicación, página 212.
Descripción
Introducción
El bloque de funciones %SEND_RECV_MSG se emplea para enviar o recibir
datos en una línea serie configurada para el protocolo ASCII.
196 EIO0000003292.03
Objetos de comunicación
Ilustración
En esta ilustración se muestra el bloque de funciones %SEND_RECV_MSG:
Entradas
El bloque de funciones %SEND_RECV_MSG contiene las siguientes entradas:
Salidas
El bloque de funciones %SEND_RECV_MSG contiene las siguientes salidas:
Busy BOOL Si TRUE, indica que la ejecución del bloque de funciones está en
curso.
Cancela- BOOL Si TRUE, indica que la ejecución del bloque de funciones se ha
do cancelado con la entrada Anular.
Error BOOL Si TRUE, indica que se ha detectado un error. Detenida la
ejecución de bloques de funciones.
EIO0000003292.03 197
Objetos de comunicación
Condiciones de finalización
Para una operación de sólo envío, la salida Finalizado se establece en TRUE
cuando se han enviado todos los datos (incluido cualquier carácter de arranque/
parada).
Para una operación de sólo recepción, el sistema recibe caracteres hasta que se
la condición de finalización sea TRUE. Cuando se alcanza la condición de
finalización, la salida Finalizado se establece en TRUE. Los caracteres recibidos
se copian en BufferToRecv, hasta los caracteres RecvBuffer. sizeRecvBuffer
no es una condición de finalización.
La condición de finalización debe ajustarse en la Pantalla Configuración de la
línea serie (consulte Modicon M221, Controlador lógico, Guía de programación):
Configuración de funciones
Propiedades
Haga doble clic en el bloque de funciones para abrir la tabla de propiedades de la
función.
198 EIO0000003292.03
Objetos de comunicación
Símbolo Texto definido por el usuario El símbolo identifica este objeto de forma
inequívoca. Para obtener más información,
consulte la EcoStruxure Machine Expert -
Basic Guía de funcionamiento (Definición y uso
de los símbolos) (consulte EcoStruxure
Machine Expert - Basic, Guía de
funcionamiento).
Timeout Especificado en unidades de 100 ms, con un valor El timeout establece el tiempo máximo de
predeterminado de 100 (10 segundos). espera de recepción de una respuesta.
Comentario Texto definido por el usuario Un comentario para asociar a este objeto.
EIO0000003292.03 199
Objetos de comunicación
Objetos
El bloque de funciones %SEND_RECV_MSG contiene los objetos siguientes:
%SEND_RECV_MSGi.DONE Ejecución completada correctamente Consulte Salidas, página 197. Sólo lectura.
Se puede leer en una tabla de animación.
%SEND_RECV_MSGi.BUSY La ejecución está en proceso Consulte Salidas, página 197. Sólo lectura.
Se puede leer en una tabla de animación.
Ejemplo de programación
Introducción
El bloque de funciones %SEND_RECV_MSG se puede configurar como se
muestra en este ejemplo de programación.
200 EIO0000003292.03
Objetos de comunicación
Programación
Este ejemplo es un bloque de funciones %SEND_RECV_MSG:
Escalón Instrucción
0 BLK %SEND_RECV_MSG0
LD %I0.0
EXECUTE
LD %I0.1
ABORT
OUT_BLK
LD DONE
ST %Q0.0
LD BUSY
ST %Q0.1
LD ABORTED
ST %M1
LD ERROR
ST %Q0.2
END_BLK
Diagrama de tiempos
Diagramas de tiempos para bloques de funciones de comunicación, página 212.
Descripción
Introducción
El bloque de funciones %SEND_RECV_SMS sirve para enviar y recibir mensajes
SMS (servicio de mensajes cortos) mediante un módem conectado a una línea
serie. Por ejemplo, el controlador puede enviar un SMS para transmitir una
alarma a un teléfono móvil especificado, o recibir un SMS para finalizar una
función de la máquina.
NOTA: La aplicación debe configurarse con un nivel funcional (consulte
EcoStruxure Machine Expert - Basic, Guía de funcionamiento) de como
mínimo Nivel 3.2 para usar la funcionalidad de SMS.
El bloque de funciones %SEND_RECV_SMS se utiliza para una de estas
opciones:
• Enviar un SMS a un solo destinatario, o
• Recibir un SMS filtrado por una tabla de números de teléfono aprobados
En un programa sólo se puede utilizar 1 bloque de funciones %SEND_RECV_
SMS.
EIO0000003292.03 201
Objetos de comunicación
Se debe tener cuidado y adoptar las medidas adecuadas para utilizar la función
de SMS como dispositivo de control remoto, con el fin de evitar consecuencias no
deseadas en el funcionamiento solicitado de máquinas, cambios de estado del
controlador, o alteración de la memoria de datos o de los parámetros de
funcionamiento de la máquina.
ADVERTENCIA
FUNCIONAMIENTO IMPREVISTO DEL EQUIPO
• Asegúrese de que un observador local, competente y cualificado, esté
presente al utilizarlo desde una ubicación remota.
• Configure e instale la entrada Run/Stop en la aplicación con el objetivo de
poder mantener el control local sobre el inicio y la detención del controlador,
independientemente de los comandos remotos enviados al controlador.
Si no se siguen estas instrucciones, pueden producirse lesiones graves,
muerte o daños en el equipo.
ADVERTENCIA
FUNCIONAMIENTO IMPREVISTO DEL EQUIPO
• No permita funciones críticas para la seguridad en comandos por SMS.
• No utilice comandos o mensajes SMS para ninguna función que sea crítica.
Si no se siguen estas instrucciones, pueden producirse lesiones graves,
muerte o daños en el equipo.
Ilustración
En esta ilustración se muestra el bloque de funciones %SEND_RECV_SMS:
202 EIO0000003292.03
Objetos de comunicación
Entradas
En esta tabla se describen las entradas del bloque de funciones:
Ejecutar BOOL Inicia la ejecución del bloque de funciones cuando se detecta un flanco
ascendente.
Abort BOOL Detiene la ejecución del bloque de funciones cuando se detecta un flanco
ascendente.
Enlace BYTE 1 - SL1 Indica la línea serie utilizada para la comunicación a través del módem.
2 - SL2
Timeout WORD De 0 a 255 Establece el tiempo máximo de espera de recepción de una respuesta del
módem.
EIO0000003292.03 203
Objetos de comunicación
Salidas
En esta tabla se describen las salidas del bloque de funciones:
Termina- BOOL Si es TRUE, indica que la ejecución del bloque de funciones ha finalizado
do correctamente y no se han detectado errores.
Busy BOOL Si TRUE, indica que la ejecución del bloque de funciones está en curso.
NOTA: Cuando la salida Busy se establece en TRUE, la ejecución continúa hasta que una de
las salidas Done, Aborted o Error se establece en TRUE.
NOTA: Mientras la salida Busy está establecida en TRUE, los cambios en la entrada Execute
no afectan a la ejecución del bloque de funciones en curso. Sin embargo, si se llama a otro
bloque de funciones %SEND_RECV_SMS, éste finaliza con un error (CommError = 255 (FF
hex) y OperError = 11 (0B hex)).
204 EIO0000003292.03
Objetos de comunicación
De 10 a 14 Ok
De 15 a 19 Bueno
Superior a 20 Excelente
EIO0000003292.03 205
Objetos de comunicación
206 EIO0000003292.03
Objetos de comunicación
Configuración de funciones
Pasos principales
El siguiente procedimiento describe los pasos principales para configurar el
bloque de funciones %SEND_RECV_SMS tras conectar un módem a la línea
serie:
Paso Acción
1 En la ficha Configuración de EcoStruxure Machine Expert - Basic, configure la línea serie con el módem, el Comando Init y
el protocolo ASCII. Para obtener más información, consulte la guía de programación correspondiente a su controlador lógico.
2 Verifique que el módem esté conectado a la línea serie del controlador y que:
• La tarjeta SIM está desbloqueada, es decir, no protegida mediante un código PIN
• El número de teléfono del centro de SMS está configurado correctamente en la tarjeta SIM
3 En la ficha Programación:
• Añada el bloque de funciones %SEND_RECV_SMS y haga doble clic en el bloque de funciones para ver la tabla de
propiedades de la función
• Haga clic en el botón Configuración de SMS para abrir la ventana Asistente de SMS
• Edite las tablas Mensajes, Comandos y Números de teléfono
Para obtener más información, consulte el Asistente de SMS.
• Haga clic en Aplicar para cerrar el Asistente de SMS
NOTA: Si la dirección del bloque de funciones (por ejemplo %SEND_RECV_SMS0) no es válida y hacer doble clic está
deshabilitado, compruebe que el nivel funcional de la aplicación (ficha Programación > Tareas > Comportamiento)
esté como mínimo en el Nivel 3.2).
Para obtener información sobre estos campos, consulte Propiedades, página 209.
ADVERTENCIA
FUNCIONAMIENTO IMPREVISTO DEL EQUIPO
Antes de usar el bloque de funciones, verifique que los índices para los
mensajes, comandos y números de teléfono utilizados en el bloque de
funciones sean válidos (aquellos que piense usar).
Si no se siguen estas instrucciones, pueden producirse lesiones graves,
muerte o daños en el equipo.
Asistente de SMS
Para utilizar el bloque de funciones %SEND_RECV_SMS, configure las tablas de
comandos, mensajes y números de teléfono.
Haga clic en el botón Configuración de SMS en el área de propiedades de
Enviar Recibir SMS para abrir la ventana Asistente de SMS.
EIO0000003292.03 207
Objetos de comunicación
La ventana Asistente de SMS tiene tres fichas con tablas para configurar:
• Mensajes
Especifique las cadenas que se utilizan cuando el controlador envía un SMS.
Utilice marcadores de posición para incluir variables, fecha y hora. Tenga en
cuenta los límites de número de caracteres y el formato.
• Comandos
Especifique las cadenas que se utilizan cuando el controlador recibe un
SMS. Utilice marcadores de posición para incluir variables. Tenga en cuenta
los límites de número de caracteres y el formato.
• Números de teléfono
Al programar el bloque de funciones para el envío de mensajes SMS,
seleccione el destinatario en esta tabla.
Al programar el bloque de funciones para la recepción de mensajes SMS,
seleccione los números de teléfono de origen autorizados en esta lista.
Cuando una llamada y el SMS correspondiente se transmiten a la aplicación
a través del módem, el número de teléfono de origen se valida antes de
considerar el SMS entrante.
Para obtener más información, consulte la línea MASKPHONE en
Propiedades, página 209.
NOTA: Consulte la documentación del módem para ver el formato de los
códigos de marcación internacionales.
Si la aplicación se configura con el nivel funcional mínimo Nivel 6.1, puede
declarar las cadenas en una variable %MW e introducir esta variable de memoria
en el campo Valor.
NOTA: Las variables %MW se admiten como variables, no como cadenas.
Cada tabla contiene un máximo de 16 entradas con un índice en cada línea de 0
a 15.
Las cadenas incluidas en las tablas del asistente se pueden interpretar con los
siguientes formatos y límite de tamaño de mensaje:
NOTA: El formato de caracteres viene determinado automáticamente por los caracteres del
campo de texto.
$$ El símbolo $ 1 2
208 EIO0000003292.03
Objetos de comunicación
Ejemplos
Este ejemplo muestra el uso de marcadores de posición en los mensajes:
Mensajes
Comandos
Comando Valor A = $VAD y Valor B = $VBD
configurado
Propiedades
Haga doble clic en el bloque de funciones para abrir la tabla de propiedades de la
función.
Las propiedades de este bloque de funciones no se pueden modificar en la
modalidad online.
EIO0000003292.03 209
Objetos de comunicación
Símbolo Texto definido por el usuario. El símbolo identifica este objeto de forma inequívoca. Para obtener más
información, consulte Definición y uso de los símbolos (consulte EcoStruxure
Machine Expert - Basic, Guía de funcionamiento).
2 - SL2
Timeout De 0 a 255 El timeout establece el tiempo máximo de espera de recepción de una
respuesta del módem.
Especificado en unidades de
100 ms, con un valor Si se supera el timeout, el intercambio finaliza con un código de error (%SEND_
predeterminado de 100 RECV_SMSi.CommError = 01 hex). Si el sistema recibe una respuesta
(10 segundos). después de la caducidad del timeout, esta respuesta se ignora.
Un valor de 0 significa que no se ha NOTA: El timeout establecido en el bloque de funciones anula el valor
aplicado timeout. configurado en la pantalla de configuración EcoStruxure Machine Expert -
Basic. Para obtener más información, consulte la guía de programación
correspondiente a su controlador lógico.
Índice 0 a 15 • En el envío, el valor del índice se utiliza para seleccionar un texto para
NOTA: 0 corresponde a la enviar en la tabla Mensajes.
primera cadena de la lista. • En la recepción, el valor corresponde al índice de la tabla Comandos
que coincide con el texto recibido.
Comentario Texto definido por el usuario Un comentario para asociar a este objeto.
210 EIO0000003292.03
Objetos de comunicación
Objetos
El bloque de funciones %SEND_RECV_SMS contiene los objetos siguientes:
Diagramas de tiempos
Consulte Comportamiento de la señal de los bloques de funciones con la entrada
Execute, página 212.
EIO0000003292.03 211
Objetos de comunicación
Ejemplo 2
Ejecución completada con un error:
Ejemplo 3
Bloque de funciones interrumpido por la aplicación:
212 EIO0000003292.03
Objetos de comunicación
Ejemplo 4
Ejecución completada sin error después de que Execute se haya establecido en
FALSE.
EIO0000003292.03 213
Funciones definidas por el usuario
214 EIO0000003292.03
Bloques de funciones definidos por el usuario
EIO0000003292.03 215
Funciones de reloj
Funciones de reloj
Descripción general
En este capítulo se describen las funciones de gestión de tiempo para los
controladores.
Funciones de reloj
Introducción
En controladores lógicos equipados con una función de reloj en tiempo real
(RTC), puede utilizar las siguientes funciones del reloj de fecha/hora cuando
EcoStruxure Machine Expert - Basic esté conectado al controlador lógico:
• Los bloques de funciones RTC, página 170 se utilizan para leer la hora y la
fecha del RTC, o para actualizar el RTC en el logic controller con una fecha y
hora definidas por el usuario.
• Los bloques de funciones del Programador, página 165 se utilizan para
controlar acciones a horas predefinidas o calculadas.
• Fijación de fecha y hora, página 216 se utiliza para asignar fechas y horas a
eventos y para medir la duración de los eventos.
El reloj de fecha/hora puede ajustarse mediante un programa, página 216. La
batería del controlador facilita que la configuración del reloj siga funcionando
durante un año como máximo aunque el controlador esté apagado. El controlador
no tiene una batería recargable. La vida útil promedio de la batería es de 4 años y
debe reemplazarse antes del final de su vida útil. Con el objetivo de no perder los
datos durante la sustitución de la batería, cámbiela durante los 120 segundos
posteriores a la extracción de la batería del controlador.
El reloj de fecha y hora tiene formato de 24 horas y tiene en cuenta los años
bisiestos.
Fechado de un evento
Para asociar una fecha a un evento, basta con utilizar operaciones de asignación
para transferir el contenido de palabras de sistema a palabras de memoria y
luego procesar estas palabras de memoria (por ejemplo, transmisión a una
pantalla mediante la instrucción EXCH).
216 EIO0000003292.03
Funciones de reloj
Ejemplo de programación
En este ejemplo se muestra cómo fechar un flanco ascendente en una entrada %
I0.1:
Escalón Instrucción
0 LDR %I0.1
[%MW11:5:=%SW49:5]
%MW12 00 Segundo
EIO0000003292.03 217
Funciones de reloj
218 EIO0000003292.03
Funciones de reloj
%MW11 – Segundo
Utilización de %SW59
Otro método para actualizar la fecha y la hora es utilizar el bit de sistema %S59 y
la palabra de sistema de ajuste de fecha %SW59.
El establecimiento del bit %S59 en 1 permite configurar la fecha y la hora actuales
mediante la palabra %SW59. %SW59 aumenta o disminuye cada uno de los
componentes de fecha y hora en un flanco ascendente.
En esta tabla se describe cada bit de la palabra de sistema %SW59 para ajustar
los parámetros de fecha y hora:
(1) El usuario no puede modificar (ni aumentar ni disminuir) el día de la semana ni los siglos.
EIO0000003292.03 219
Funciones de reloj
Ejemplo de aplicación
Este panel frontal se ha creado para modificar la hora, los minutos y los segundos
del reloj interno.
220 EIO0000003292.03
Glosario
A
ASCII:
(Código estándar estadounidense para el intercambio de información) Un
protocolo que representa caracteres alfanuméricos (letras, números y algunos
caracteres gráficos y de control).
B
bloque de funciones:
Una unidad de programación que dispone de una o varias entradas y devuelve
una o varias salidas. Los FBs se llaman mediante una instancia (copia del bloque
de funciones con nombre y variables dedicados), y todas las instancias tienen un
estado persistente (salidas y variables internas) de una llamada a otra.
Ejemplos: temporizadores, contadores
E
elemento condicional:
Permite implementar condiciones en el programa en modalidad offline.
elemento de bucle:
Permite implementar una secuencia de instrucciones en el programa en
modalidad offline.
entrada analógica:
Convierte los niveles de tensión o corriente recibidos en valores numéricos.
Puede almacenar y procesar estos valores en el controlador lógico.
L
lenguaje de diagrama de contactos:
Una representación gráfica de instrucciones de un programa de controlador con
símbolos para contactos, bobinas y bloques en una serie de escalones
ejecutados de forma secuencial por un controlador (consulte IEC 61131-3).
Q
%Q:
Según el estándar IEC, %Q representa un bit de salida (por ejemplo, un objeto de
lenguaje de tipo OUT digital).
R
registro de datos:
Almacena datos de los objetos o cadenas de forma permanente.
EIO0000003292.03 221
RTC:
(reloj de tiempo real) Un reloj calendario de fecha/hora con respaldo de batería
que funciona de forma continua aunque el controlador no reciba alimentación,
mientras dure la batería.
S
salida analógica:
Convierte los valores numéricos del controlador lógico y envía niveles de tensión
o corriente proporcionales.
%:
Según el estándar IEC, % es un prefijo que identifica direcciones de memoria
interna en el controlador lógico que se utilizan para almacenar el valor de las
variables del programa, constantes, E/S, etc.
222 EIO0000003292.03
dividir ...................................................................54
Índice %DR .................................................................. 154
Drum
configuration.................................................... 155
A description....................................................... 154
programming example...................................... 156
ABS .....................................................................69
ACOS...................................................................71
AND .....................................................................43
ANDF ...................................................................43
E
ANDN...................................................................43 ejemplos, código fuente .........................................14
ANDR...................................................................43 elemento condicional.............................................64
ASCII configuración .....................................................65
ejemplos ......................................................... 139 elemento de bucle .................................................66
ASIN ....................................................................71 configuración .....................................................66
Asistente Drum ................................................... 156 EQUAL_ARR ........................................................89
ATAN....................................................................71 EXCH................................................................. 129
EXP .....................................................................69
expresión de comparación
B insertar en escalones del diagrama de
contactos.........................................................18
bits de sistema
EXPT ...................................................................69
%S18................................................................29
bloques de comparación
insertar expresiones IL en...................................18
bloques de funciones
F
counter............................................................ 125 FALLING
definidos por el usuario..................................... 215 operador ...........................................................48
descripción general ............................................36 fechadores
Drum............................................................... 154 programación y configuración ........................... 168
Fechadores ..................................................... 165 FIND_ ..................................................................90
LIFO/FIFO register........................................... 148 flanco ascendente
message ......................................................... 131 detección con instrucción LDR ............................39
principios de programación ............................... 108 detección con operador RISING..........................39
%READ_VAR .................................................. 179 flanco descendente
Reloj en tiempo real (RTC) ............................... 170 detección con instrucción LDF ............................40
%SEND_RECV_MSG ...................................... 196 detección con operador FALLING .......................40
%SEND_RECV_SMS ...................................... 201 formato de dirección de entrada/salida....................22
shift bit register ................................................ 159 funciones de reloj
step counter .................................................... 162 ajuste de fecha y hora ...................................... 218
timer ............................................................... 112 descripción general .......................................... 216
%WRITE_READ_VAR ..................................... 191 marcas de fecha y hora .................................... 216
%WRITE_VAR................................................. 186 funciones definidas por el usuario......................... 214
bloques de funciones definidos por el usuario........ 215
bloques de operación
insertar instrucciones de asignación en ...............16 G
Grafcet ............................................................... 176
C
%C..................................................................... 125 H
cadenas de bits .....................................................32
código fuente, ejemplo de uso ................................14 herramientas
COS.....................................................................71 Objetos de accionamiento ................................ 178
counter objetos de red.................................................. 107
configuration.................................................... 126
description....................................................... 125
ejemplo de programación ................................. 128 I
%I ........................................................................22
incremento............................................................54
D instrucción NOP ....................................................63
DEG_TO_RAD .....................................................72 instrucciones
Desborde aritmético ..........................................................54
índice................................................................35 ASCII ................................................................74
desborde de índice ................................................35 booleano ...........................................................38
DINT_TO_REAL ...................................................73 comparación......................................................50
direccionamiento conversión de ángulo .........................................72
formato .............................................................23 conversión de ASCII a entero..............................76
Objetos de E/S ..................................................22 conversión de ASCII a flotante ............................79
disminución ..........................................................54 conversión de ASCII a palabra doble ...................82
conversión de entero a ASCII..............................77
EIO0000003292.03 223
conversión de enteros/flotantes...........................73 M
conversión de flotante a ASCII ............................81
conversión de palabra doble a ASCII ...................84 %M ......................................................................21
MAX_ARR ............................................................91
END..................................................................62
%MD ....................................................................28
intercambio ..................................................... 129
NOP .................................................................63 MEAN ..................................................................98
message
objetos de entrada/salida.................................. 105
configuration.................................................... 135
pila....................................................................85
ROUND ............................................................74 description....................................................... 131
salto..................................................................63 programming example...................................... 138
%MF ....................................................................28
SR ....................................................................67
subrutina ...........................................................67 MIN_ARR .............................................................91
tabla de objetos .................................................86 modbus
peticiones y ejemplos estándar ......................... 141
tablas de objetos................................................88
%MSG ............................................................... 131
trigonométricas ..................................................71
instrucciones aritméticas........................................54 multiplicar .............................................................54
%MW ...................................................................24
instrucciones booleanas ........................................38
instrucciones de asignación
cadenas de bits..................................................52
insertar en escalones del diagrama de N
contactos.........................................................16 N..........................................................................47
numérico ...........................................................51
palabras ............................................................53
tablas de objetos................................................87 O
instrucciones de comparación ................................50
instrucciones de conversión objetos
BCD/Binario ......................................................59 definición...........................................................20
una/dos palabras ...............................................61 dirección directa.................................................34
instrucciones de desplazamiento ............................58 dirección indexada .............................................34
instrucciones de intercambio estructurados.....................................................32
EXCH1............................................................ 129 indexados..........................................................34
EXCH2............................................................ 129 red .................................................................. 107
EXCH3............................................................ 129 software .......................................................... 108
instrucciones de la pila tablas................................................................32
MPP .................................................................85 Objetos de accionamiento.................................... 178
MPS .................................................................85 objetos de bit
MRD .................................................................85 bloque de funciones ...........................................37
Instrucciones de SR (subrutina)..............................67 objetos de bit de memoria
Instrucciones END.................................................62 descripción ........................................................21
instrucciones lógicas .............................................57 objetos de coma flotante
instrucciones numéricas descripción ........................................................28
desplazamiento .................................................58 objetos de palabra
INT_TO_REAL......................................................73 bloque de funciones ...........................................37
%IW .....................................................................22 descripción ........................................................24
%IWS...................................................................22 objetos de palabra doble
bloque de funciones ...........................................37
descripción ........................................................28
K objetos de red ..................................................... 107
OCCUR_ARR .......................................................92
%KD ....................................................................28 operaciones
%KF.....................................................................28 insertar en escalones del diagrama de
%KW....................................................................24 contactos.........................................................16
operador NOT.......................................................47
operadores
L AND..................................................................43
asignación.........................................................42
LD........................................................................40
LDF......................................................................40 carga ................................................................40
LDN .....................................................................40 FALLING ...........................................................48
NOT..................................................................47
LDR ............................................................... 39–40
LIFO/FIFO register OR....................................................................44
configuration.................................................... 149 RISING .............................................................48
XOR .................................................................45
description....................................................... 148
Operadores AND...................................................43
FIFO ............................................................... 152
LIFO ............................................................... 151 operadores de asignación ......................................42
operadores de carga .............................................40
programming example...................................... 153
Operadores OR.....................................................44
LKUP ...................................................................95
LN........................................................................69 operadores OR exclusivos .....................................45
LOG .....................................................................69 OR .......................................................................44
ORF .....................................................................44
ORN.....................................................................44
224 EIO0000003292.03
ORR.....................................................................44 descripción ...................................................... 162
ejemplo de programación ................................. 164
STN .....................................................................42
P SUM_ARR............................................................88
sumar...................................................................54
palabras de sistema %SW....................................................................24
%SW17.............................................................29 SWAP ..................................................................99
PID .................................................................... 173
potencia ...............................................................54
procesamiento numérico T
asignación.........................................................51
descripción general ............................................51 tablas
Propiedades de %Xi (paso de Grafcet) ................. 176 instrucciones en.................................................86
TAN......................................................................71
timer
Q configuration.................................................... 112
description....................................................... 112
%Q ......................................................................22 programming example...................................... 124
%QW ...................................................................22 TOF type ......................................................... 118
%QWS .................................................................22 TON type......................................................... 114
TP type ........................................................... 121
%TM .................................................................. 112
R TRUNC ................................................................69
R.................................................................. 42, 148
RAD_TO_DEG .....................................................72
raíz cuadrada........................................................54 U
READ_IMM_IN ................................................... 100 uso de ejemplos de código fuente...........................14
%READ_VAR ..................................................... 179
configuración ................................................... 183
descripción ...................................................... 179
ejemplo de programación ................................. 186
V
REAL_TO_DINT ...................................................73 valor absoluto .......................................................54
REAL_TO_INT......................................................73
registro de datos ................................................. 174
configuración ................................................... 175 W
restar....................................................................54
resto.....................................................................54 WRITE_IMM_OUT .............................................. 101
RISING %WRITE_READ_VAR......................................... 191
operador ...........................................................48 configuración ................................................... 193
ROL_ARR ............................................................93 descripción ...................................................... 191
ROR_ARR............................................................93 ejemplo de programación ................................. 195
RTC %WRITE_VAR .................................................... 186
configuration.................................................... 172 configuración ................................................... 188
descripción ...................................................... 186
ejemplo de programación ................................. 191
S
%S ................................................................. 21, 42 X
%SBR ................................................................ 159
%SC .................................................................. 162 %X .......................................................................21
%SCH ................................................................ 165 XOR.....................................................................45
schedule blocks XORF...................................................................45
descripción ...................................................... 165 XORN ..................................................................45
%SEND_RECV_MSG ......................................... 196 XORR ..................................................................45
configuración ................................................... 198
descripción ...................................................... 196
ejemplo de programación ................................. 200
%SEND_RECV_SMS.......................................... 201
configuración ................................................... 207
descripción ...................................................... 201
shift bit register
configuración ................................................... 160
descripción ...................................................... 159
programming example...................................... 161
SIN ......................................................................71
SORT_ARR ..........................................................94
SQRT...................................................................69
ST........................................................................42
step counter
configuración ................................................... 163
EIO0000003292.03 225
Schneider Electric
35 rue Joseph Monier
92500 Rueil Malmaison
France
+ 33 (0) 1 41 29 70 00
www.se.com