Página 1
___________________ Controlador programable S7-1200 Prólogo ___________________ Sinopsis del producto ___________________ Nuevas funciones ___________________ Software de programación SIMATIC STEP 7 ___________________ Montaje ___________________ Controlador programable S7-1200 Principios básicos del PLC ___________________ Configuración de dispositivos ___________________ Principios básicos de programación Manual de sistema ___________________ Instrucciones básicas ___________________...
Página 2
Considere lo siguiente: ADVERTENCIA Los productos de Siemens sólo deberán usarse para los casos de aplicación previstos en el catálogo y la documentación técnica asociada. De usarse productos y componentes de terceros, éstos deberán haber sido recomendados u homologados por Siemens. El funcionamiento correcto y seguro de los productos exige que su transporte, almacenamiento, instalación, montaje, manejo y mantenimiento hayan sido realizados de forma...
Además de la documentación, Siemens ofrece conocimientos técnicos en Internet, en la página web del Customer Support (https://support.industry.siemens.com/cs/ww/es/). Contacte con el representante de Siemens más próximo si tiene consultas de carácter técnico, así como para obtener información sobre los cursillos de formación o para pedir productos S7.
SIMATIC S7 Controlador programable S7-1200 que no pudo incluirse en el presente manual. ● La página web de Siemens Industry Online Support también cuenta con preguntas frecuentes y otros documentos que pueden ser de ayuda para S7-1200 y STEP 7.
(http://www.industry.siemens.com/topics/global/en/industrial- security/Pages/default.aspx). Los productos y las soluciones de Siemens están sometidos a un desarrollo constante con el fin de mejorar todavía más su seguridad. Siemens recomienda expresamente realizar actualizaciones en cuanto estén disponibles y utilizar únicamente las últimas versiones de los productos.
Página 6
Prólogo Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Índice Prólogo ..............................3 Sinopsis del producto ..........................27 Introducción al PLC S7-1200 ....................27 Capacidad de expansión de la CPU ..................31 Paneles HMI Basic ........................33 Nuevas funciones ..........................35 Software de programación STEP 7 ....................... 39 Requisitos del sistema ......................40 Diferentes vistas que facilitan el trabajo .................
Página 8
Índice Directrices de cableado ......................81 Principios básicos del PLC ........................89 Ejecución del programa de usuario ..................89 5.1.1 Estados operativos de la CPU ....................94 5.1.2 Procesamiento del ciclo en estado operativo RUN ............... 98 5.1.3 Bloques de organización (OB) ....................99 5.1.3.1 OB de ciclo ..........................
Página 9
Índice 5.5.4 Utilizar la Memory Card como tarjeta de "Programa" ............157 5.5.5 Actualización de firmware ..................... 161 Recuperación si se olvida la contraseña ................165 Configuración de dispositivos ......................167 Insertar una CPU ........................168 Cargar la configuración de una CPU conectada ..............170 Agregar módulos a la configuración ..................
Página 10
Índice 7.6.4 Protección anticopia ......................231 Cargar los elementos del programa en la CPU ..............233 Sincronizar la CPU online y el proyecto offline ..............236 Cargar desde la CPU online ....................238 7.9.1 Comparar la CPU online con la CPU offline ................ 238 7.10 Depurar y comprobar el programa ..................
Página 11
Índice 8.6.9 Instrucciones Variant ......................305 8.6.9.1 VariantGet (Leer valor de una variable VARIANT) ............... 305 8.6.9.2 VariantPut (escribir valor en una variable VARIANT) ............306 8.6.9.3 CountOfElements (consultar número de elementos de ARRAY) ......... 307 8.6.10 Instrucciones Legacy ......................308 8.6.10.1 Instrucciones FieldRead (Leer campo) y FieldWrite (Escribir campo) .........
Página 12
Índice Instrucciones avanzadas ........................355 Funciones de fecha, hora y reloj ..................355 9.1.1 Instrucciones de fecha y hora ....................355 9.1.2 Funciones de reloj ........................ 358 9.1.3 Estructura de datos TimeTransformationRule ..............361 9.1.4 SET_TIMEZONE (ajustar zona horaria) ................362 9.1.5 RTM (contador de horas de funcionamiento) ..............
Página 13
Índice Alarmas ..........................443 9.5.1 Instrucciones ATTACH y DETACH (Asignar OB a evento de alarma/deshacer asignación) ..........................443 9.5.2 Alarmas cíclicas ........................447 9.5.2.1 SET_CINT (ajustar parámetros de alarma cíclica) ............... 447 9.5.2.2 QRY_CINT (consultar parámetros de alarma cíclica) ............449 9.5.3 Alarmas horarias: ........................
Página 14
Índice 9.10.3 ATTR_DB (leer atributos de un bloque de datos) ..............571 9.10.4 DELETE_DB (borrar bloque de datos) ................573 9.11 Procesamiento de direcciones ..................... 575 9.11.1 GEO2LOG (determinar la ID de hardware a partir del slot) ..........575 9.11.2 LOG2GEO (determinar el slot a partir de la ID de hardware) ..........
Página 15
Índice 10.2.4.3 Parámetros Warning de PID_Temp ..................653 10.2.5 Configuración de los reguladores PID_Compact y PID_3Step ..........654 10.2.6 Configuración del regulador PID_Temp................657 10.2.7 Puesta en servicio de los reguladores PID_Compact y PID_3Step ........673 10.2.8 Puesta en servicio del regulador PID_Temp ................ 675 10.3 Motion control ........................
Página 16
Índice 11.2.3.1 Asignar direcciones IP a los dispositivos de programación y red ........844 11.2.3.2 Comprobar la dirección IP de la programadora ..............846 11.2.3.3 Asignar una dirección IP a una CPU online ................. 846 11.2.3.4 Configurar una dirección IP para una CPU en el proyecto ..........848 11.2.4 Comprobar la red PROFINET ....................
Página 17
Índice 11.2.14.2 Ejemplo: configurar un Shared Device (configuración GSD) ..........974 11.2.14.3 Ejemplo: Configuración de un I-device como un Shared Device ......... 980 11.2.15 Media Redundancy Protocol (MRP) ..................990 11.2.15.1 Redundancia de medios con topologías en anillo ..............990 11.2.15.2 Uso de Media Redundancy Protocol (MRP) .................
Página 18
Índice 12.5 Usar un módulo CP para acceder a páginas web ............. 1048 12.6 Páginas web estándar ....................... 1049 12.6.1 Representación de las páginas web estándar ..............1049 12.6.2 Páginas básicas ......................... 1050 12.6.3 Inicio de sesión y privilegios de usuario ................1051 12.6.4 Introducción ........................
Página 19
12.8.3 Reglas para introducir nombres de variables y valores ............1125 12.8.4 Importar el certificado de seguridad Siemens ..............1126 12.8.5 Importar registros de datos en formato CSV a versiones de Microsoft Excel que no son estadounidenses ni británicas ..................1127 Procesador de comunicaciones y Modbus TCP ..................1129...
Página 20
Índice 13.5 Comunicación Modbus ...................... 1213 13.5.1 Sinopsis de la comunicación Modbus RTU y Modbus TCP ..........1213 13.5.2 Modbus TCP ........................1216 13.5.2.1 Vista general ........................1216 13.5.2.2 Seleccionar la versión de las instrucciones Modbus TCP ..........1217 13.5.2.3 Instrucciones Modbus TCP ....................
Página 21
Índice 13.9.3.2 MB_MASTER (comunicar como maestro Modbus vía puerto PtP) ........1323 13.9.3.3 MB_SLAVE (comunicar como esclavo Modbus vía puerto PtP) ........1329 13.9.4 Ejemplos de Modbus RTU antiguo ..................1336 13.9.4.1 Ejemplo: programa de maestro Legacy Modbus RTU ............1336 13.9.4.2 Ejemplo: programa de esclavo Legacy Modbus RTU ............
Página 22
Realizar una copia de seguridad de una CPU online ............1408 15.17.3 Restaurar una CPU ......................1410 Datos técnicos ........................... 1413 Página web de Siemens Online Support ................1413 Datos técnicos generales ....................1413 Asignación de pines del puerto X1 de la interfaz PROFINET ........... 1424 CPU 1211C ........................1425 A.4.1...
Página 23
Índice A.7.4.3 Rangos de medida de entradas analógicas de tensión (CPU) .......... 1476 A.7.4.4 Especificaciones de salidas analógicas................1477 A.7.5 Diagramas de cableado de la CPU 1215C ................. 1478 CPU 1217C ......................... 1483 A.8.1 Especificaciones generales y propiedades ................ 1483 A.8.2 Temporizadores, contadores y bloques lógicos admitidos por la CPU 1217C ....
Página 24
Índice A.14.2 Datos técnicos de la SB 1232 de 1 salida analógica ............1576 A.14.3 Rangos de medida para entradas y salidas analógicas ............ 1578 A.14.3.1 Respuesta a un escalón de las entradas analógicas ............1578 A.14.3.2 Tiempo de muestreo y tiempos de actualización para entradas analógicas ..... 1578 A.14.3.3 Rangos de medida de entradas analógicas de tensión e intensidad (SB y SM) ....
Página 25
Índice Información de pedido ........................1623 Módulos CPU ........................1623 Módulos de señales (SM), Signal Boards (SB) y Battery Boards (BB) ......1624 Comunicación ........................1626 CPUs y módulos de señales de seguridad positiva ............1628 Otros módulos ........................1628 Memory Cards ........................1629 Dispositivos HMI Basic .......................
Página 26
Índice Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Sinopsis del producto Introducción al PLC S7-1200 El controlador S7-1200 ofrece la flexibilidad y potencia necesarias para controlar una gran variedad de dispositivos para las distintas necesidades de automatización. Gracias a su diseño compacto, configuración flexible y amplio juego de instrucciones, el S7-1200 es idóneo para controlar una gran variedad de aplicaciones.
Página 28
Sinopsis del producto 1.1 Introducción al PLC S7-1200 La CPU incorpora un puerto PROFINET para la comunicación en una red PROFINET. Hay disponibles módulos adicionales para la comunicación en redes PROFIBUS, GPRS, RS485, RS232, RS422, IEC, DNP3 y WDC (Wideband Data Communication). ①...
Página 29
Sinopsis del producto 1.1 Introducción al PLC S7-1200 Tabla 1- 1 Comparación de los modelos de CPU Función CPU 1211C CPU 1212C CPU 1214C CPU 1215C CPU 1217C Dimensiones físicas (mm) 90 x 100 x 75 110 x 100 x 75 130 x 100 x 75 150 x 100 x 75 Memoria de usu-...
Página 30
Sinopsis del producto 1.1 Introducción al PLC S7-1200 Los diferentes modelos de CPU ofrecen una gran variedad de funciones y prestaciones que permiten crear soluciones efectivas destinadas a numerosas aplicaciones. Para más información sobre una CPU en particular, consulte los datos técnicos (Página 1413). Tabla 1- 2 Bloques, temporizadores y contadores que soporta el S7-1200 Elemento...
Sinopsis del producto 1.2 Capacidad de expansión de la CPU Capacidad de expansión de la CPU La familia S7-1200 ofrece diversos módulos y placas de conexión para ampliar las capacidades de la CPU con E/S adicionales y otros protocolos de comunicación. Para más información sobre un módulo en particular, consulte los datos técnicos (Página 1413).
Página 32
E/S analógicas • RTD y termopar • Maestro SM 1278 IO-Link • SM 1238 Energy Meter • (https://support.industry.siemens.com/ cs/ww/en/view/109483435) ① LEDs de estado ② Lengüeta de desplazamiento del conector de bus ③ Conector extraíble para el cableado de usuario Los módulos de comunicación (CM) y los procesadores de comunicaciones (CP) agregan opciones de comunicación a la...
Sinopsis del producto 1.3 Paneles HMI Basic Paneles HMI Basic Los SIMATIC HMI Basic Panels incorporan pantalla táctil para el control básico por parte del operador y tareas de control. Todos los paneles ofrecen el grado de protección IP65 y certificación CE, UL, cULus y NEMA 4x.
Página 34
Sinopsis del producto 1.3 Paneles HMI Basic Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Nuevas funciones La versión V4.2 ofrece las siguientes nuevas funciones: ● Mejoras del servidor web (Página 1039): – Más funciones compartidas con el servidor web S7-1500 – Posibilidad de definir una página web definida por el usuario como página de inicio –...
Página 36
Nuevas funciones Get_Name (leer el nombre de un dispositivo PROFINET IO) (Página 477) GetStationInfo (leer la dirección IP o MAC de un dispositivo PROFINET IO) (Página 484) CTRL_PTO (tren de impulsos) (Página 513) DataLogClear (vaciar Data Log) (Página 545) DataLogDelete (borrar Data Log) (Página 547) CREATE_DB (crear bloque de datos) (Página 563) ATTR_DB (leer atributos de un bloque de datos) (Página 571) DELETE_DB (borrar bloque de datos) (Página 573)
Los nuevos módulos amplían la potencia de la CPU S7-1200 y ofrecen la flexibilidad necesaria para cubrir las necesidades de automatización: ● Nuevas CPU de seguridad (https://support.industry.siemens.com/cs/ww/es/view/104547552/en): Hay dos CPU de seguridad nuevas en combinación con S7-1200 V4.2 o versiones posteriores: – CPU 1212FC DC/DC/DC (6ES7212-1AF40-0XB0) –...
Página 38
Nuevas funciones Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Software de programación STEP 7 STEP 7 ofrece un entorno confortable que permite desarrollar, editar y observar la lógica del programa necesaria para controlar la aplicación, incluyendo herramientas para gestionar y configurar todos los dispositivos del proyecto, tales como controladores y dispositivos HMI. Para poder encontrar la información necesaria, STEP 7 ofrece un completo sistema de ayuda en pantalla.
Software de programación STEP 7 3.1 Requisitos del sistema Requisitos del sistema Hay que instalar STEP 7 con derechos de administrador. Tabla 3- 1 Requisitos del sistema Hardware/software Requisitos Tipo de procesador Intel® Core™ i5-3320M 3.3 GHz o mejor 8 GB Espacio disponible en el disco 2 GB en la unidad de disco C:\ duro...
Software de programación STEP 7 3.2 Diferentes vistas que facilitan el trabajo Diferentes vistas que facilitan el trabajo STEP 7 proporciona un entorno de fácil manejo para programar la lógica del controlador, configurar la visualización de HMI y definir la comunicación por red. Para aumentar la productividad, STEP 7 ofrece dos vistas diferentes del proyecto, a saber: Distintos portales orientados a tareas y organizados según las funciones de las herramientas (vista del portal) o una vista orientada a los elementos del proyecto (vista del proyecto).
Página 42
Software de programación STEP 7 3.2 Diferentes vistas que facilitan el trabajo Puesto que todos estos componentes se encuentran en un solo lugar, es posible acceder fácilmente a cualquier área del proyecto. El área de trabajo consta de tres pestañas: ●...
Software de programación STEP 7 3.3 Herramientas fáciles de utilizar Herramientas fáciles de utilizar 3.3.1 Introducir instrucciones en el programa de usuario STEP 7 dispone de Task Cards que contienen las instrucciones del programa. Las instrucciones se agrupan por funciones. Para crear el programa, arrastre las instrucciones desde las Task Cards a los diferentes segmentos mediante Drag &...
Software de programación STEP 7 3.3 Herramientas fáciles de utilizar 3.3.3 Crear una ecuación compleja con una instrucción sencilla La instrucción Calcular (Página 274) permite crear una función matemática que se ejecuta con múltiples parámetros de entrada para obtener el resultado en función de la ecuación definida.
Página 45
Software de programación STEP 7 3.3 Herramientas fáciles de utilizar En este ejemplo, introduzca la ecuación siguiente para escalar un valor analógico bruto. (Las designaciones "In" y "Out" corresponden a los parámetros de la instrucción Calcular.) = ((Out - Out ) / (In - In )) * (In...
Software de programación STEP 7 3.3 Herramientas fáciles de utilizar 3.3.4 Agregar entradas o salidas a una instrucción KOP o FUP Algunas de las instrucciones permiten crear entradas o salidas adicionales. ● Para agregar una entrada o salida, haga clic en el icono "Crear" o haga clic con el botón derecho del ratón en el terminal de entrada del parámetro IN u OUT existente y seleccione el comando "Insertar entrada".
Software de programación STEP 7 3.3 Herramientas fáciles de utilizar 3.3.6 Seleccionar la versión de una instrucción Los ciclos de desarrollo y lanzamiento de determinados conjuntos de instrucciones (como Modbus, PID y de movimiento) han dado lugar a múltiples versiones de dichas instrucciones.
Software de programación STEP 7 3.3 Herramientas fáciles de utilizar 3.3.8 Arrastrar y soltar elementos entre los distintos editores Para ayudar a realizar las tareas rápida y fá- cilmente, STEP 7 permite arrastrar y soltar elementos de un editor a otro. Así, es posible, por ejemplo, arrastrar una entrada de la CPU a la dirección de una instrucción del programa de usuario.
CPU (Página 94). Nota El modo de operación de la CPU se cambia también desde el servidor web (Página 1039) o desde la SIMATIC Automation Tool (https://support.industry.siemens.com/cs/ww/es/view/98161300). Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Software de programación STEP 7 3.3 Herramientas fáciles de utilizar 3.3.10 Modificar el tipo de llamada de un DB STEP 7 permite crear o modificar fácilmente la asigna- ción de un DB de una instrucción o un FB que está en un •...
Software de programación STEP 7 3.3 Herramientas fáciles de utilizar 3.3.11 Desconectar temporalmente dispositivos de una red Desde la vista de redes existe la posibilidad de desconectar de la subred determinados dispositivos de red. Puesto que la configuración del dispositivo no se elimina del proyecto, resulta fácil restablecer la conexión con el dispositivo.
Software de programación STEP 7 3.3 Herramientas fáciles de utilizar 3.3.12 Desconexión virtual de dispositivos desde la configuración STEP 7 dispone de un área de almace- namiento para módulos "no enchufados". Puede arrastrar un módulo desde el rack para guardar la configuración del módulo en cuestión.
Software de programación STEP 7 3.4 Compatibilidad con versiones anteriores Compatibilidad con versiones anteriores STEP 7 V14 soporta la configuración y programación de una CPU S7-1200 V4.2 y ofrece todas las nuevas funciones (Página 35). Es posible descargar proyectos para CPU S7-1200 V4.0 y V4.1 desde STEP 7 (V12 o posterior) en una CPU S7-1200 V4.2.
Página 54
Software de programación STEP 7 3.4 Compatibilidad con versiones anteriores Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Montaje Directrices para montar dispositivos S7-1200 Los equipos S7-1200 son fáciles de montar. El S7-1200 puede montarse en un panel o en un raíl DIN, bien sea horizontal o verticalmente. El tamaño pequeño del S7-1200 permite ahorrar espacio. Los estándares de equipos eléctricos clasifican el sistema SIMATIC S7-1200 como Equipo abierto.
Página 56
Montaje 4.1 Directrices para montar dispositivos S7-1200 Alejar los dispositivos S71200 de fuentes de calor, alta tensión e interferencias Como regla general para la disposición de los dispositivos del sistema, los aparatos que generan altas tensiones e interferencias deben mantenerse siempre alejados de los equipos de baja tensión y de tipo lógico, tales como el S71200.
Página 57
Montaje 4.1 Directrices para montar dispositivos S7-1200 Al planificar la disposición del sistema S71200, prevea espacio suficiente para el cableado y la conexión de los cables de comunicación. ① ③ Vista lateral Montaje vertical ② ④ Montaje horizontal Espacio libre Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Montaje 4.2 Corriente necesaria Corriente necesaria La CPU dispone de una fuente de alimentación interna que suministra energía eléctrica a la CPU, los módulos de señales, la Signal Board y los módulos de comunicación, así como otros consumidores de 24 V DC. En los datos técnicos (Página 1413) encontrará...
Página 59
Montaje 4.2 Corriente necesaria Algunos puertos de entrada de la alimentación de 24 V DC del sistema S7-1200 están interconectados, teniendo un circuito lógico común que conecta varios bornes M. Por ejemplo, los circuitos siguientes están interconectados si no tienen aislamiento galvánico según las hojas de datos técnicos: la fuente de alimentación de 24 V DC de la CPU, la entrada de alimentación de la bobina de relé...
Montaje 4.3 Procedimientos de montaje y desmontaje Procedimientos de montaje y desmontaje 4.3.1 Dimensiones de montaje de los dispositivos S7-1200 Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Página 61
Montaje 4.3 Procedimientos de montaje y desmontaje Tabla 4- 1 Dimensiones de montaje (mm) Dispositivos S7-1200 Ancho A Ancho B Ancho C (mm) (mm) (mm) CPU 1211C y CPU 1212C CPU 1214C CPU 1215C 65 (parte Parte infe- superior) rior: C1: 32,5 C2: 65 C3: 32,5...
Montaje 4.3 Procedimientos de montaje y desmontaje Cada CPU, SM, CM y CP admite el montaje en un perfil DIN o en un panel. Utilice los clips del módulo previstos para el perfil DIN para fijar el dispositivo al perfil. Estos clips también pueden extenderse a otra posición para poder montar la unidad directamente en un panel.
Página 63
Montaje 4.3 Procedimientos de montaje y desmontaje Al sustituir o montar un dispositivo S7-1200, vigile que se utilice siempre el módulo correcto o un dispositivo equivalente. ADVERTENCIA El montaje incorrecto de un módulo S7-1200 puede ocasionar el funcionamiento impredecible del programa del S7-1200. Si un dispositivo S7-1200 no se sustituye por el mismo modelo o si no se monta con la orientación correcta y en el orden previsto, podrían producirse la muerte, lesiones corporales graves y/o daños materiales debido al funcionamiento inesperado del equipo.
Montaje 4.3 Procedimientos de montaje y desmontaje 4.3.2 Montaje y desmontaje de la CPU La CPU se puede montar en un panel o en un perfil DIN. Nota Conecte los módulos de comunicación necesarios a la CPU y monte el conjunto en forma de unidad.
Página 65
Montaje 4.3 Procedimientos de montaje y desmontaje Tabla 4- 2 Instalar la CPU en un perfil DIN Tarea Procedimiento 1. Monte el perfil DIN. Atornille el perfil al panel de montaje dejando un espacio de 75 mm entre tornillo y tornillo. 2.
Montaje 4.3 Procedimientos de montaje y desmontaje 4.3.3 Montaje y desmontaje de SB, CB o BB Tabla 4- 4 Montaje de SB, CB o BB 1297 Tarea Procedimiento 1. Asegúrese de que la CPU y todo el equipamiento S7-1200 están desconectados de la tensión eléctrica.
Página 67
Montaje 4.3 Procedimientos de montaje y desmontaje Instalación o sustitución de la batería en la BB 1297 La BB 1297 requiere una batería de tipo CR1025. La batería no se suministra con la BB 1297 y debe adquirirse. Para instalar o sustituir la batería, proceda del siguiente modo: 1.
Montaje 4.3 Procedimientos de montaje y desmontaje 4.3.4 Instalación y desmontaje de un SM Tabla 4- 6 Instalación de un SM Tarea Procedimiento El SM se monta una vez montada la CPU. 1. Asegúrese de que la CPU y todo el equipamiento S7-1200 están desconectados de la tensión eléctrica.
Página 69
Montaje 4.3 Procedimientos de montaje y desmontaje Tabla 4- 7 Desmontaje de un SM Tarea Procedimiento Cualquier SM se puede desmontar sin necesidad de desmontar la CPU u otros SMs. 1. Asegúrese de que la CPU y todo el equipamiento S7-1200 están desconecta- dos de la tensión eléctrica.
Montaje 4.3 Procedimientos de montaje y desmontaje 4.3.5 Montaje y desmontaje de un CM o CP Conecte los módulos de comunicación necesarios a la CPU y monte el conjunto como una unidad, tal y como se muestra en Instalación y desmontaje de una CPU (Página 64). Tabla 4- 8 Instalación de un CM o CP Tarea...
Montaje 4.3 Procedimientos de montaje y desmontaje ATENCIÓN Separe los módulos sin usar una herramienta. No utilice herramientas para separar los módulos, puesto que podrían deteriorarse. 4.3.6 Extraer y reinsertar el conector del bloque de terminales del S7-1200 La CPU, la SB y los módulos SM incorporan conectores extraíbles que facilitan la conexión del cableado.
Página 72
Montaje 4.3 Procedimientos de montaje y desmontaje Tabla 4- 11 Instalación del conector Tarea Procedimiento Prepare los componentes para el montaje del bloque de terminales desconectando la alimentación de la CPU y abriendo la tapa para el conector. 1. Asegúrese de que la CPU y todo el equipamiento S7-1200 están desconectados de la tensión eléctrica.
Montaje 4.3 Procedimientos de montaje y desmontaje 4.3.7 Instalación y desmontaje de un cable de ampliación El cable de ampliación S7-1200 proporciona una flexibilidad adicional a la hora de configurar la estructura del sistema S7-1200. Solo se permite un cable de ampliación por sistema de CPU.
Página 74
Montaje 4.3 Procedimientos de montaje y desmontaje Tabla 4- 13 Montaje del conector hembra del cable de ampliación Tarea Procedimiento 1. Asegúrese de que la CPU y todo el equipamiento S7- 1200 están desconectados de la tensión eléctrica. 2. Coloque el conector hembra en el conector de bus del lado izquierdo del módulo de señales.
Página 75
Montaje 4.3 Procedimientos de montaje y desmontaje Nota Instalación del cable de ampliación en un entorno con vibraciones Si el cable de ampliación está conectado a módulos en movimiento o que no están fijados firmemente, el extremo macho del cable puede aflojarse gradualmente. Utilice una brida para fijar el cable del extremo macho en el perfil DIN (o cualquier otro lugar) para aliviar más la tensión.
Montaje 4.3 Procedimientos de montaje y desmontaje 4.3.8 TS (TeleService) Adapter 4.3.8.1 Conectar el adaptador de TeleService Antes de instalar el TS (TeleService) Adapter IE Basic o TS (TeleService) Adapter IE Advanced hay que conectar el TS Adapter y un módulo TS. Módulos TS disponibles: ●...
Página 77
Montaje 4.3 Procedimientos de montaje y desmontaje Nota Antes de conectar un módulo TS con la unidad básica del TS Adapter, asegúrese de que las ④ clavijas no estén dobladas. Al realizar la conexión, asegúrese de que el conector macho y los pines de guiado están bien colocados.
Montaje 4.3 Procedimientos de montaje y desmontaje 4.3.8.2 Instalar la tarjeta SIM Localice el slot de la tarjeta SIM en la parte inferior del TS module GSM. Nota La tarjeta SIM solo debe retirarse o insertarse si el TS module GSM no tiene tensión. Tabla 4- 15 Instalar la tarjeta SIM Tarea...
Montaje 4.3 Procedimientos de montaje y desmontaje 4.3.8.3 Instalación del adaptador TS en un perfil DIN Requisitos: el TS Adapter y el módulo TS deben estar conectados y el perfil DIN debe estar instalado. Nota Si se instala la unidad TS en posición vertical o en un entorno con muchas vibraciones, es posible que el módulo TS se desconecte del TS Adapter.
Montaje 4.3 Procedimientos de montaje y desmontaje 4.3.8.4 Instalación del TS Adapter en un panel Requisitos: el TS Adapter y el módulo TS deben estar conectados. ① 1. Desplace la lengüeta deslizante de fijación situada en la parte posterior del TS Adapter y el módulo TS en la dirección de la flecha hasta que encaje.
Montaje 4.4 Directrices de cableado Directrices de cableado La puesta a tierra y el cableado correctos de todos los equipos eléctricos es importante para garantizar el funcionamiento óptimo del sistema y aumentar la protección contra interferencias de la aplicación y del S7-1200. Encontrará los diagramas de cableado del S7- 1200 en los datos técnicos (Página 1413).
Montaje 4.4 Directrices de cableado Directrices de aislamiento galvánico Los límites de la alimentación AC del S7-1200 y de las E/S a los circuitos AC se han diseñado y aprobado para proveer un aislamiento galvánico seguro entre las tensiones de línea AC y los circuitos de baja tensión.
Montaje 4.4 Directrices de cableado Directrices de cableado del S7-1200 Al diseñar el cableado del S7-1200, prevea un interruptor unipolar para cortar simultáneamente la alimentación de la CPU S7-1200, de todos los circuitos de entrada y de todos los circuitos de salida. Prevea dispositivos de protección contra sobreintensidad (p. ej. fusibles o cortacircuitos) para limitar las corrientes de fallo en el cableado de alimentación.
Montaje 4.4 Directrices de cableado A continuación se muestra un resumen de las reglas de cableado para las CPU S7-1200 y los módulos SM y SB: Tabla 4- 17 Reglas de cableado para CPU S7-1200, SM y SB Reglas de cableado pa- Conector de CPU y SM Conector de SB ra...
Montaje 4.4 Directrices de cableado Directrices relativas a las cargas inductivas Utilice circuitos supresores con cargas inductivas para limitar el incremento de tensión producido al desactivarse las salidas. Los circuitos supresores protegen las salidas de averías prematuras causadas por crestas de alta tensión que se producen cuando se interrumpe el flujo de corriente que pasa por una carga inductiva.
Página 86
Montaje 4.4 Directrices de cableado Circuito de supresión típico para salidas de relé o DC que conmutan cargas inductivas DC En la mayoría de las aplicaciones es suficiente pre- ver adicionalmente un diodo (A) paralelo a una carga inductiva DC. No obstante, si la aplicación requiere tiempos de desconexión más rápidos, se recomienda utilizar un diodo Zener (B).
Montaje 4.4 Directrices de cableado Si diseña su propio circuito supresor, la tabla siguiente ofrece sugerencias para valores de resistores y condensadores para varias cargas AC. Los valores se basan en cálculos con parámetros de componentes ideales. "I rms" hace referencia en la tabla a la intensidad en estado estacionario de la carga cuando está...
Página 88
Montaje 4.4 Directrices de cableado Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Principios básicos del PLC Ejecución del programa de usuario La CPU soporta los siguientes tipos de bloques lógicos que permiten estructurar eficientemente el programa de usuario: ● Los bloques de organización (OBs) definen la estructura del programa. Algunos OBs tienen reacciones y eventos de arranque predefinidos. No obstante, también es posible crear OBs con eventos de arranque personalizados.
Página 90
Principios básicos del PLC 5.1 Ejecución del programa de usuario La solución de automatización S7-1200 puede constar de un rack central con la CPU S7-1200 y módulos adicionales. El término "rack central" hace referencia al montaje en perfil o en panel de la CPU y los módulos asociados. Los módulos (SM, SB, BB, CB, CM o CP) solo se detectan e incorporan en el proceso de arranque.
Principios básicos del PLC 5.1 Ejecución del programa de usuario Actualización de memorias imagen de proceso y memorias imagen parciales de proceso La CPU actualiza las E/S digitales y analógicas locales de forma síncrona con el ciclo utilizando un área de memoria interna denominada memoria imagen de proceso. La memoria imagen de proceso contiene una instantánea de las entradas y salidas físicas (es decir, las E/S físicas de la CPU, de la Signal Board y de los módulos de señales).
Página 92
Principios básicos del PLC 5.1 Ejecución del programa de usuario Para asignar E/S digitales o analógicas a una memoria imagen parcial de proceso o para excluir las E/S de las actualizaciones de memoria imagen de proceso, proceda del siguiente modo: 1.
Página 93
Principios básicos del PLC 5.1 Ejecución del programa de usuario Es posible leer inmediatamente los valores de las entradas físicas y escribir inmediatamente los valores de las salidas físicas cuando se ejecuta una instrucción. Una lectura inmediata accede al estado actual de la entrada física y no actualiza la memoria imagen de proceso de las entradas, independientemente de si se ha configurado que la entrada se almacene en la memoria imagen de proceso.
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.1 Estados operativos de la CPU La CPU tiene tres estados operativos, a saber: STOP, ARRANQUE y RUN. Los LEDs de estado en el frente de la CPU indican el estado operativo actual. ●...
Página 95
Principios básicos del PLC 5.1 Ejecución del programa de usuario Se puede configurar el ajuste "arranque tras POWER ON" de la CPU. Este ajuste se encuentra en la "Configuración de dispositivos" de la CPU en "Arranque". Al arrancar, la CPU ejecuta una secuencia de pruebas de diagnóstico de arranque e inicialización del sistema.
Página 96
Principios básicos del PLC 5.1 Ejecución del programa de usuario El estado operativo actual se puede cambiar con los comandos "STOP" o "RUN" (Página 1374) de las herramientas online del software de programación. También se puede insertar una instrucción STP (Página 331) en el programa para cambiar la CPU a STOP. Esto permite detener la ejecución del programa en función de la lógica.
Principios básicos del PLC 5.1 Ejecución del programa de usuario Procesamiento del ARRANQUE Cada vez que el modo operativo cambia de STOP a RUN, la CPU borra las entradas de la memoria imagen de proceso, inicializa las salidas de la memoria imagen de proceso y procesa los OBs de arranque.
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.2 Procesamiento del ciclo en estado operativo RUN En cada ciclo, la CPU escribe en las salidas, lee las entradas, ejecuta el programa de usuario, actualiza los módulos de comunicación y reacciona a los eventos de alarma de usuario y peticiones de comunicación.
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.3 Bloques de organización (OB) Los OB controlan la ejecución del programa de usuario. Determinados eventos de la CPU disparan la ejecución de un bloque de organización. Un OB no puede llamar a otro. Tampoco es posible llamar un OB desde una FC o un FB.
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.3.2 OB de arranque Los OB de arranque se ejecutan una vez cuando el estado operativo de la CPU cambia de STOP a RUN, al arrancar en el estado operativo RUN y en una transición ordenada de STOP a RUN.
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.3.4 OB de alarma cíclica Los OB de alarma cíclica se ejecutan en intervalos periódicos. Puede configurar hasta un total de cuatro eventos de alarma cíclica con un OB correspondiente a cada evento de alarma cíclica.
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.3.5 OB de alarma de proceso Los OB de alarma de proceso se ejecutan cuando se produce el evento de hardware pertinente. Los OB de alarma de proceso interrumpen la ejecución cíclica normal del programa como reacción a una señal de un evento de hardware.
Principios básicos del PLC 5.1 Ejecución del programa de usuario Los bits de EventType dependen del módulo causante de la alarma, tal como se muestra a continuación: Módulo / sub- Valor Evento de proceso módulo E/S integradas 16#0 Flanco ascendente 16#1 Flanco descendente CPU o SB...
Página 104
Principios básicos del PLC 5.1 Ejecución del programa de usuario ● Desbordamiento de la cola de espera La produce una condición "Desbordamiento de la cola de espera" si las alarmas ocurren más rápidamente de lo que la CPU puede procesarlas. La CPU limita el número de eventos pendientes (en cola de espera) utilizando una cola diferente para cada tipo de evento.
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.3.7 OB de alarma de error de diagnóstico El OB de alarma de error de diagnóstico se ejecuta cuando la CPU detecta un error de diagnóstico o si un módulo apto para el diagnóstico detecta un error y el usuario ha habilitado la alarma de error de diagnóstico para el módulo.
Página 106
Principios básicos del PLC 5.1 Ejecución del programa de usuario El OB de alarma de error de diagnóstico incluye información de arranque que ayuda a determinar si el evento se debe a la aparición o desaparición de un error, así como el dispositivo y canal que han notificado el error.
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.3.8 OB de presencia de módulo El OB de presencia de módulo se ejecuta cuando un módulo o submódulo de E/S descentralizadas y no desactivado (PROFIBUS, PROFINET, AS-i) genera un evento relacionado con la inserción o extracción de un módulo.
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.3.9 OB de fallo del rack o estación El OB de "Fallo del rack o estación" se ejecuta cuando la CPU detecta el fallo o la pérdida de comunicación de un rack o estación descentralizados. Evento de fallo del rack o estación La CPU genera un evento de fallo de rack o estación cuando detecta una de las situaciones siguientes:...
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.3.10 OB de hora Los OB de hora se ejecutan en función de las condiciones horarias configuradas. La CPU admite dos OB de hora. Eventos de hora Puede configurar un evento de alarma horaria para que ocurra una vez en una fecha u hora especificada o bien cíclicamente con uno de los ciclos siguientes: ●...
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.3.12 OB de actualización Los OB de actualización se ejecutan si un esclavo DPV1 o PNIO dispara una alarma de actualización. Eventos de actualización Para obtener información detallada sobre los eventos que disparan una alarma de actualización, consulte la documentación del fabricante con relación al esclavo DPV1 o PNIO.
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.3.15 MC-PreServo El OB MC-PreServo puede programarse de forma que contenga la lógica del programa para que el programa STEP 7 se ejecute justo antes de que se ejecute el OB MC-Servo. Eventos de MC-PreServo El OB MC-PreServo permite leer en microsegundos la información del ciclo de aplicación configurado.
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.3.16 MC-PostServo El OB MC-PostServo puede programarse de forma que contenga la lógica del programa para que el programa STEP 7 se ejecute justo después de que se ejecute el OB MC-Servo. Eventos de MC-PostServo El OB MC-PostServo permite leer en microsegundos la información del ciclo de aplicación configurado.
Página 113
Principios básicos del PLC 5.1 Ejecución del programa de usuario Modos de ejecución con y sin interrupciones Los OB (Página 99) se ejecutan en orden de prioridad de los eventos que los disparan. En las propiedades de arranque de la configuración de dispositivos de la CPU (Página 185) es posible configurar que la ejecución de los OB sea con o sin interrupciones.
Página 114
Principios básicos del PLC 5.1 Ejecución del programa de usuario Nota Si configura el modo de ejecución del OB sin interrupciones, un OB de error de tiempo no puede interrumpir OB que no sean OB de ciclo. Antes de la V4.0 de la CPU S7-1200, un OB de error de tiempo podía interrumpir cualquier OB en ejecución.
Página 115
Principios básicos del PLC 5.1 Ejecución del programa de usuario Encontrará más información sobre el comportamiento de la CPU en caso de sobrecarga y la cola de eventos en el sistema de información de STEP 7. Todo evento de la CPU tiene asignada una prioridad. Generalmente, la CPU procesa los eventos según su prioridad (primero los de mayor prioridad).
Principios básicos del PLC 5.1 Ejecución del programa de usuario Además, la CPU reconoce otros eventos que carecen de OB asociados. La tabla siguiente describe esos eventos y las correspondientes acciones de la CPU: Tabla 5- 17 Eventos adicionales Evento Descripción Acción de la CPU Error de acceso a E/S...
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.4 Vigilancia y configuración del tiempo de ciclo El tiempo de ciclo es el tiempo que requiere el sistema operativo de la CPU para ejecutar la fase cíclica del estado operativo RUN. La CPU ofrece dos métodos para vigilar el tiempo de ciclo: ●...
Página 118
Principios básicos del PLC 5.1 Ejecución del programa de usuario Si la CPU no finaliza el ciclo normal dentro del tiempo de ciclo mínimo especificado, lo finalizará normalmente (incluyendo el procesamiento de las peticiones de comunicación), sin que el rebase del tiempo de ciclo mínimo cause una reacción del sistema. La tabla siguiente define los rangos y valores predeterminados de las funciones de observación para el tiempo de ciclo: Tabla 5- 18...
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.5 Memoria de la CPU Gestión de la memoria La CPU provee las áreas de memoria siguientes para almacenar el programa de usuario, los datos y la configuración: ● La memoria de carga permite almacenar de forma no volátil el programa de usuario, los datos y la configuración.
Principios básicos del PLC 5.1 Ejecución del programa de usuario Memoria remanente Es posible evitar la pérdida de datos tras un corte de alimentación marcando determinados datos como remanentes. La CPU permite configurar como remanentes los datos siguientes: ● Área de marcas (M): El tamaño de la memoria remanente para marcas puede definirse en la tabla de variables PLC o en el plano de ocupación.
Principios básicos del PLC 5.1 Ejecución del programa de usuario La CPU soporta un total de 10240 bytes de datos remanentes. Para ver cuánto espacio está disponible, haga clic en el botón "Remanencia" de la barra de herramientas de la tabla de variables PLC o del plano de ocupación.
Página 122
Principios básicos del PLC 5.1 Ejecución del programa de usuario La CPU inicializa estos bytes cuando el estado operativo cambia de STOP a ARRANQUE. Los bits de las marcas de ciclo cambian de forma síncrona al reloj de la CPU durante los estados operativos ARRANQUE y RUN.
Página 123
Principios básicos del PLC 5.1 Ejecución del programa de usuario Las marcas de ciclo configuran un byte que activa y desactive los distintos bits en intervalos fijos. Cada bit de reloj genera un impulso de onda cuadrada en el bit correspondiente del área de marcas.
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.6 Búfer de diagnóstico La CPU soporta un búfer de diagnóstico que contiene una entrada para cada evento de diagnóstico. Toda entrada incluye la fecha y hora del evento, así como su categoría y descripción.
Principios básicos del PLC 5.1 Ejecución del programa de usuario ● Tiempo excedido cuando una conexión online existente está inactiva ● Inicio de sesión en el servidor web con la contraseña correcta o incorrecta ● Crear una copia de seguridad de la CPU ●...
Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.8 Configurar las salidas en una transición de RUN a STOP Es posible configurar la reacción de las salidas digitales y analógicas cuando la CPU se encuentre en estado operativo STOP. Es posible congelar los valores de las salidas o aplicar un valor sustitutivo a cualquier salida de una CPU, SB o SM: ●...
Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento Almacenamiento de datos, áreas de memoria, E/S y direccionamiento 5.2.1 Acceder a los datos del S7-1200 STEP 7 facilita la programación simbólica. Se crean nombres simbólicos o "variables" para las direcciones de los datos, ya sea como variables PLC asignadas a direcciones de memoria y E/S o como variables locales utilizadas dentro de un bloque lógico.
Página 128
Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento Toda posición de memoria diferente tiene una dirección unívoca. El programa de usuario utiliza estas direcciones para acceder a la información de la posición de memoria. Las referencias a las áreas de memoria de entrada (I) o salida (Q), como I0.3 o Q1.7, acceden a la memoria imagen del proceso.
Página 129
Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento Al acceder a un bit en la dirección para un valor booleano, no se introduce ningún nemónico para el tamaño. Solo se introduce el área de memoria, la ubicación del byte y la ubicación del bit de los datos (como I0.0, Q0.1, o M3.4).
Página 130
Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento Agregando una ":P" a la dirección es posible leer inmediatamente las entradas digitales y analógicas de CPU, SB, SM o módulo descentralizado. La diferencia entre un acceso que utiliza I_:P en vez de I es que los datos provienen directamente de las entradas direccionadas, en vez de la memoria imagen de proceso de las entradas.
Página 131
Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento Los accesos Q_:P también están restringidos por el tamaño de las salidas que soporta una única CPU, SB o SM, redondeado al byte más próximo. Así, por ejemplo, si las salidas de una SB de 2 DI / 2 DQ se configuran para que arranquen en Q4.0, es posible acceder a las salidas como Q4.0:P y Q4.1:P o como QB4:P.
Página 132
Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento La estructura de llamada en STEP 7 indica la cantidad de memoria temporal (local) que utilizan los bloques del programa. Seleccione Información del programa en el árbol del proyecto y, a continuación, la pestaña Estructura de llamada.
Página 133
Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento Configuración de las E/S de la CPU y los módulos de E/S Al agregar una CPU y módulos E/S a la configura- ción del dispositivo, STEP 7 asigna automática- mente direcciones de entrada y salida.
Principios básicos del PLC 5.3 Procesamiento de valores analógicos Procesamiento de valores analógicos Los módulos de señales analógicas proporcionan señales de entrada o esperan valores de salida que representen un rango de tensión o de corriente. Estos rangos son ±10 V, ±5 V, ±2,5 V o 0 - 20 mA.
Página 135
Principios básicos del PLC 5.3 Procesamiento de valores analógicos En las aplicaciones de PLC, el método típico es la normalización del valor de entrada analógica a un valor en coma flotante entre 0,0 y 1,0. Seguidamente, el valor resultante se escalaría a un valor en coma flotante en el rango de las unidades físicas.
Principios básicos del PLC 5.4 Tipos de datos Tipos de datos Los tipos de datos se utilizan para determinar el tamaño de un elemento de datos y cómo deben interpretarse los datos. Todo parámetro de instrucción soporta como mínimo un tipo de datos.
Principios básicos del PLC 5.4 Tipos de datos Aunque no están disponibles como tipos de datos, las instrucciones de conversión soportan el siguiente formato numérico BCD: Tabla 5- 28 Tamaño y rango del formato BCD Formato Tamaño Rango numérico Ejemplos de entrada de constantes (bits) BCD16 -999 a 999...
Principios básicos del PLC 5.4 Tipos de datos Tipo de Tama- Tipo de Rango Ejemplos Ejemplos de datos ño número numérico de constante dirección en bits * El guión bajo "_" es un separador de miles que mejora la legibilidad de los números de más de ocho dígitos. 5.4.2 Tipos de datos de entero Tabla 5- 30...
Principios básicos del PLC 5.4 Tipos de datos 5.4.3 Tipos de datos de real en coma flotante Los números reales (o en coma flotante) se representan como números de 32 bits de precisión simple (Real) o de 64 bits de precisión doble (LReal) según la norma ANSI/IEEE 7541985.
Principios básicos del PLC 5.4 Tipos de datos 5.4.4 Tipos de datos de fecha y hora Tabla 5- 32 Tipos de datos de fecha y hora Tipo de Tama- Rango Ejemplos de entrada de cons- datos ño tantes Time 32 bits T#-24d_20h_31m_23s_648ms a T#5m_30s T#24d_20h_31m_23s_647ms...
Página 141
Principios básicos del PLC 5.4 Tipos de datos El tipo de datos DTL (fecha y hora largo) utiliza una estructura de 12 bytes para guardar información sobre la fecha y la hora. DTL se puede definir en la memoria temporal de un bloque o en un DB.
Principios básicos del PLC 5.4 Tipos de datos 5.4.5 Tipos de datos Carácter y Cadena Tabla 5- 35 Tipos de datos Carácter y Cadena Tipo de Tamaño Rango Ejemplos de entrada de constantes datos Char 8 bits 16#00 a 16#FF 'A', 't', '@', 'ä', '∑' WChar 16 bits...
Página 143
Principios básicos del PLC 5.4 Tipos de datos El ejemplo siguiente define un String con un número máximo de 10 caracteres y un número actual de 3 caracteres. Esto significa que el String contiene actualmente 3 caracteres de un byte, pero que podría ampliarse hasta 10 caracteres de un byte. Tabla 5- 36 Ejemplo de tipo de datos STRING Número de...
Principios básicos del PLC 5.4 Tipos de datos 5.4.6 Tipo de datos ARRAY Matrices Se puede crear una matriz que contenga varios elementos del mismo tipo de datos. Las matrices pueden crearse en las interfaces de bloques OB, FC, FB y DB. En el editor de variables PLC no se pueden crear matrices.
Principios básicos del PLC 5.4 Tipos de datos 5.4.7 Tipo de datos Estructura de datos Se puede utilizar el tipo de datos "Struct" para definir una estructura de datos formada por otros tipos de datos. El tipo de datos STRUCT puede emplearse para gestionar un grupo de datos de proceso relacionados como una unidad de datos simple.
Principios básicos del PLC 5.4 Tipos de datos 5.4.9 Tipo de datos de puntero Variant El tipo de datos Variant puede apuntar a variables de diferentes tipos de datos o parámetros. El puntero Variant puede apuntar a estructuras y componentes estructurales individuales.
Principios básicos del PLC 5.4 Tipos de datos Nota Los tipos de datos válidos a los que se puede acceder por segmento son Byte, Char, Conn_Any, Date, DInt, DWord, Event_Any, Event_Att, Hw_Any, Hw_Device, HW_Interface, Hw_Io, Hw_Pwm, Hw_SubModule, Int, OB_Any, OB_Att, OB_Cyclic, OB_Delay, OB_WHINT, OB_PCYCLE, OB_STARTUP, OB_TIMEERROR, OB_Tod, Port, Rtm, SInt, Time, Time_Of_Day, UDInt, UInt, USInt, y Word.
Página 148
Principios básicos del PLC 5.4 Tipos de datos Ejemplo En este ejemplo se muestran los parámetros de entrada de un FB de acceso estándar. La variable de byte B1 se superpone con una matriz de boolean: Otro ejemplo es una variable DWord superpuesta con un Struct que incluye una palabra, un byte y dos booleanos: La columna Offset de la interfaz de bloque muestra la ubicación de los tipos de datos superpuestos en relación con la variable original.
Página 149
Principios básicos del PLC 5.4 Tipos de datos Reglas ● La superposición de variables solo es posible en bloques FB y FC con acceso estándar (no optimizado). ● Se pueden superponer parámetros de todos los tipos de bloques y secciones de declaración.
Principios básicos del PLC 5.5 Utilizar una Memory Card Utilizar una Memory Card Nota La CPU solo admite las SIMATIC Memory Cards (Página 1609) preformateadas. Antes de copiar cualquier programa en la Memory Card formateada, borre todo programa almacenado previamente en ella. Utilice la Memory Card como tarjeta de transferencia o de programa.
Principios básicos del PLC 5.5 Utilizar una Memory Card 5.5.1 Insertar una Memory Card en la CPU ATENCIÓN Cómo proteger la Memory Card y la ranura frente a la descarga electroestática Las descargas electroestáticas pueden deteriorar la Memory Card o la ranura para tarjetas en la CPU.
Página 152
Principios básicos del PLC 5.5 Utilizar una Memory Card Nota Si se inserta una Memory Card estando la CPU en estado operativo STOP, el búfer de diagnóstico mostrará un mensaje de que se ha iniciado la evaluación de la Memory Card. La CPU evaluará...
Página 153
Principios básicos del PLC 5.5 Utilizar una Memory Card Forma en que la CPU revisa la Memory Card Si la CPU no está configurada para "Desactivar la copia de la memoria de carga interna a la memoria de carga externa" en las propiedades de protección de la configuración de dispositivos (Página 229), la CPU determina el tipo de Memory Card que se ha insertado: ●...
Principios básicos del PLC 5.5 Utilizar una Memory Card 5.5.2 Configurar los parámetros de arranque de la CPU antes de copiar el proyecto en la Memory Card Cuando un programa se copia en una tarjeta de transferencia o de programa, incluye los parámetros de arranque de la CPU.
Principios básicos del PLC 5.5 Utilizar una Memory Card Crear una tarjeta de transferencia Recuerde siempre que es necesario configurar los parámetros de arranque de la CPU (Página 154) antes de copiar un programa en la tarjeta de transferencia. Para crear una tarjeta de transferencia, proceda del siguiente modo: 1.
Principios básicos del PLC 5.5 Utilizar una Memory Card 5. Agregue el programa seleccionando la CPU (p. ej. PLC_1 [CPU 1214C DC/DC/DC]) en el árbol del proyecto y arrastrándola hasta la Memory Card. (Como alternativa, copie la CPU e insértela en la Memory Card.) Cuando la CPU se copia en la Memory Card se abre el diálogo "Cargar vista preliminar".
Principios básicos del PLC 5.5 Utilizar una Memory Card Para transferir el programa a una CPU, proceda del siguiente modo: 1. Inserte la tarjeta de transferencia en la CPU (Página 151). Si la CPU está en RUN, pasará a estado operativo STOP. El LED de mantenimiento (MAINT) parpadea para indicar que es necesario revisar la Memory Card.
Página 158
Principios básicos del PLC 5.5 Utilizar una Memory Card Crear una tarjeta de programa Si se utiliza como tarjeta de programa, la Memory Card es la memoria de carga externa de la CPU. Si se extrae la tarjeta de programa, la memoria de carga interna de la CPU estará vacía.
Página 159
Principios básicos del PLC 5.5 Utilizar una Memory Card 4. En el diálogo "Memory Card", seleccione "Programa" en la lista desplegable. 5. Agregue el programa seleccionando la CPU (p. ej. PLC_1 [CPU 1214C DC/DC/DC]) en el árbol del proyecto y arrastrándola hasta la Memory Card. (Como alternativa, copie la CPU e insértela en la Memory Card.) Cuando la CPU se copia en la Memory Card se abre el diálogo "Cargar vista preliminar".
Página 160
Principios básicos del PLC 5.5 Utilizar una Memory Card Para utilizar una tarjeta de programa en la CPU, proceda del siguiente modo: 1. Inserte la tarjeta de programa en la CPU. Si la CPU está en RUN, pasará a estado operativo STOP.
No utilice la utilidad de formateo de Windows o cualquier otra utilidad de formateo para reformatear la tarjeta de memoria. Si se vuelve a formatear una Siemens Memory Card con la utilidad de formateo de Microsoft Windows, entonces la tarjeta de memoria ya no podrá utilizarse en una CPU S7- 1200.
Página 162
Principios básicos del PLC 5.5 Utilizar una Memory Card Para descargar la actualización de firmware en la Memory Card, siga los siguientes pasos: 1. Inserte una Memory Card SIMATIC vacía que no esté protegida contra escritura en el lector/grabador de tarjetas SD conectado al PC. (Si la tarjeta está protegida contra escritura, deslice el interruptor de protección fuera de la posición de bloqueo).
Página 163
Principios básicos del PLC 5.5 Utilizar una Memory Card Para instalar la actualización de firmware, proceda del siguiente modo: ADVERTENCIA Antes de instalar la actualización de firmware, compruebe que la CPU no esté ejecutando activamente ningún proceso. Al instalar la actualización de firmware, la CPU pasará a STOP, lo que puede afectar la operación de un proceso online o de una máquina.
Página 164
Principios básicos del PLC 5.5 Utilizar una Memory Card El programa de usuario y la configuración hardware no se ven afectados por la actualización de firmware. Al poner en marcha la CPU, esta adopta el estado de arranque configurado. (Si el modo de arranque de la CPU estaba configurado como "Modo de rearranque en caliente antes de POWER OFF", la CPU se encontrará...
Principios básicos del PLC 5.6 Recuperación si se olvida la contraseña Recuperación si se olvida la contraseña Si se ha olvidado la contraseña de una CPU protegida por contraseña, es preciso utilizar una tarjeta de transferencia vacía para borrar el programa protegido por contraseña. La tarjeta de transferencia vacía borra la memoria de carga interna de la CPU.
Página 166
Principios básicos del PLC 5.6 Recuperación si se olvida la contraseña Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Configuración de dispositivos Para crear la configuración de dispositivos del PLC es preciso agregar una CPU y módulos adicionales al proyecto. ① Módulo de comunicación (CM) o procesador de comunicaciones (CP): máx. 3, insertados en los slots 101, 102 y 103 ②...
Configuración de dispositivos 6.1 Insertar una CPU Insertar una CPU Una CPU puede insertarse en el proyecto desde la vista del portal o desde la vista del proyecto de STEP • En la vista de portal, seleccione "Dispositivos y redes" y haga clic en "Agregar dispositivo".
Página 169
Configuración de dispositivos 6.1 Insertar una CPU Diálogo "Agregar dispositivo" Vista de dispositivos de la confi- guración de hardware Al seleccionar la CPU en la vista de dispositivos se visualizan las propiedades de la CPU en la ventana de inspección. La CPU no tiene una dirección IP preconfigurada.
Configuración de dispositivos 6.2 Cargar la configuración de una CPU conectada Cargar la configuración de una CPU conectada STEP 7 ofrece dos métodos para cargar la configuración hardware de una CPU conectada: ● Cargar el dispositivo conectado como una estación nueva ●...
Página 171
Configuración de dispositivos 6.2 Cargar la configuración de una CPU conectada En el editor de configuración de dispositivos, seleccione la opción de detección del dispositi- vo conectado. Tras seleccionar la CPU en el cuadro de diálogo online y pulsar el botón de carga, STEP 7 carga la configuración de hardware de la CPU, incluidos todos los módulos (SM, SB o CM).
Configuración de dispositivos 6.3 Agregar módulos a la configuración Agregar módulos a la configuración El catálogo de hardware se utiliza para agregar módulos a la CPU: ● El módulo de señales (SM) ofrece E/S digitales o analógicas adicionales. Estos módulos se conectan a la derecha de la CPU.
(opciones) que usan un subconjunto de esta configuración. El manual PROFINET con STEP 7 (https://support.industry.siemens.com/cs/ww/es/view/49948856) hace referencia a estos tipos de proyectos como "Proyectos de máquina estándar". Un registro de control que se programa en el bloque de programa de arranque notifica a la CPU cuántos módulos faltan en la instalación real en comparación con la configuración o...
Página 174
Configuración de dispositivos 6.4 Control de configuración 3. Desde el nodo de control de configuración en las propiedades de la CPU, seleccione la casilla de verificación "Permitir la reconfiguración del dispositivo con el programa de usuario". 4. Cree un tipo de datos PLC que contenga el registro de control. Configúrelo como una estructura que incluya cuatro USint para la información del control de configuración y otros USint que se correspondan con los slots de una configuración de dispositivo máxima en S7-1200, tal y como sigue:...
Página 175
Configuración de dispositivos 6.4 Control de configuración 5. Cree un bloque de datos del tipo de datos PLC que ha creado. Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Página 176
Configuración de dispositivos 6.4 Control de configuración 6. En este bloque de datos configure Block_length, Block_ID, versión y subversión tal y como se muestra abajo. Configure los valores para los slots sobre la base de su presencia o ausencia y posición en la instalación real: –...
Configuración de dispositivos 6.4 Control de configuración 7. En el OB de arranque debe llamar la instrucción WRREC (Escribir registro) ampliada para transferir el registro de control que ha creado al índice 196 de la ID de hardware 33. Use una etiqueta y una instrucción JMP (saltar) para esperar a que la instrucción WRREC finalice.
Configuración de dispositivos 6.4 Control de configuración Registro de control Un registro de control 196 contiene la asignación de slots y representa la configuración real tal y como se muestra abajo: Byte Elemento Valor Explicación Longitud de bloque Encabezado ID de bloque Versión Subversión Asignación de la tarjeta adjunta a la...
Página 179
Configuración de dispositivos 6.4 Control de configuración Reglas Tenga en cuenta las reglas siguientes: ● El control de configuración no soporta cambios de posición para módulos de comunicación. Las posiciones de slots para registros de control en los slots 101 a 103 deben corresponderse con la instalación real.
Configuración de dispositivos 6.4 Control de configuración Comportamiento durante el funcionamiento Para la visualización online y para la visualización en el búfer de diagnóstico (módulo en buen estado o módulo defectuoso), STEP 7 utiliza la configuración del dispositivo y no la configuración real divergente.
Configuración de dispositivos 6.4 Control de configuración 6.4.3 Ejemplo de control de configuración Este ejemplo describe una configuración consistente en una CPU y tres módulos E/S. El módulo del slot 3 no está presente en la primera instalación real, de forma que se usa el control de configuración para "ocultarlo".
Página 182
Configuración de dispositivos 6.4 Control de configuración Para indicar la ausencia del módulo que falta debe configurarse el slot 3 en el registro de control con 0. Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Página 183
Configuración de dispositivos 6.4 Control de configuración Ejemplo: instalación real con el módulo agregado posteriormente en un slot diferente En el segundo ejemplo, el módulo del slot 3 de la configuración del dispositivo está presente en la instalación real pero está en el slot 4. Figura 6-3 Configuración del dispositivo comparado con la instalación real con módulos intercambiados en los slots 3 y 4...
Página 184
Configuración de dispositivos 6.4 Control de configuración Para correlacionar la configuración del dispositivo con la instalación real, edite el registro de control para asignar los módulos a las posiciones correctas de los slots. Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Configuración de dispositivos 6.5 Cambiar un dispositivo Cambiar un dispositivo Existe la posibilidad de cambiar el tipo de dispositivo de una CPU o un módulo configurado. En la configuración de dispositivos, haga clic con el botón derecho del ratón en el dispositivo y elija el comando "Cambiar dispositivo"...
Página 186
Configuración de dispositivos 6.6 Configurar el funcionamiento de la CPU Tabla 6- 2 Propiedades de la CPU Propiedad Descripción Interfaz PROFINET Permite configurar la dirección IP de la CPU y la sincronización horaria DI, DO y AI Permite configurar la reacción de las E/S locales (integradas) digitales y analógicas (por ejemplo, tiempos de filtro de entradas digitales y reacción de las salidas digitales ante una parada de la CPU).
Configuración de dispositivos 6.6 Configurar el funcionamiento de la CPU Propiedad Descripción Protección (Página 227) Permite ajustar la protección de lectura/escritura y las contraseñas para acceder a la CPU. Control de configuración Permite realizar una configuración de dispositivo maestro que puede controlarse para dife- (Página 173) rentes configuraciones reales de dispositivos Recursos de conexión...
Página 188
Configuración de dispositivos 6.6 Configurar el funcionamiento de la CPU ● Si la entrada cambia en ambos sentidos, el contador aumentará a veces y disminuirá a veces. La memoria imagen de proceso cambiará cuando la acumulación neta de los contajes alcance el tiempo de filtro o "0". ●...
Configurar tiempos de filtro para las entradas digitales utilizadas como HSC Modifique el tiempo de filtro de las entradas que utilice como contadores rápidos (HSC) a un valor apropiado para no perder recuentos. Siemens recomienda los ajustes siguientes: Tipo de HSC Tiempo de filtro recomendado...
Página 190
Configuración de dispositivos 6.6 Configurar el funcionamiento de la CPU La figura siguiente muestra la reacción de una función de captura de impulsos a diversas condiciones de entrada. Si en un ciclo dado se presenta más de un impulso, se lee solo el primer impulso.
Configuración de dispositivos 6.7 Configurar el soporte multilingüe Configurar el soporte multilingüe La configuración del soporte multilingüe permite asignar uno de los dos idiomas del proyecto a cada idioma de la interfaz de usuario para el servidor web (Página 1039) del S7-1200. También existe la posibilidad de no configurar un idioma del proyecto para un idioma de la interfaz de usuario.
Página 192
Configuración de dispositivos 6.7 Configurar el soporte multilingüe Correspondencia entre el idioma del proyecto y el idioma de la interfaz de usuario en el servidor web El servidor web soporta los mismos idiomas de interfaz de usuario que el TIA Portal; sin embargo, solo soporta dos idiomas del proyecto como máximo.
Configuración de dispositivos 6.8 Configurar los parámetros de los módulos Configurar los parámetros de los módulos Para configurar los parámetros operativos de un módulo, selecciónelo en la vista de dispositivos y utilice la ficha "Propiedades" de la ventana de inspección. Configurar un módulo de señales (SM) o una Signal Board (SB) La configuración de dispositivos de los módulos de señales y las Signal Boards ofrecen la posibilidad de configurar lo siguiente:...
Página 194
Configuración de dispositivos 6.8 Configurar los parámetros de los módulos Configurar una interfaz de comunicación (CM, CP o CB) Dependiendo del tipo de interfaz de comunicación, se configuran los parámetros del segmento. Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Configuración de dispositivos 6.9 Configurar la CPU para la comunicación Configurar la CPU para la comunicación El S71200 se ha diseñado para solucionar las tareas de comunicación en redes, soportando redes tanto sencillas como complejas. El S7-1200 incorpora herramientas que facilitan la comunicación con otros aparatos (p.
Página 196
Configuración de dispositivos 6.9 Configurar la CPU para la comunicación Para los protocolos de Ethernet TCP, ISO on TCP y UDP, utilice las "Propiedades" de la instrucción (TSEND_C, TRCV_C o TCON) para configurar las conexiones "local/interlocutor". La figura muestra las "Propiedades de conexión" de la ficha "Configuración"...
1200 que esté conectado a un sistema SCADA que incorpore un reloj maestro. Consulte los CP S7-1200 (https://support.industry.siemens.com/cs/es/es/ps) en el soporte de producto de Siemens Industry Online Support si desea más información sobre todos los CP S7-1200 que soportan la función de sincronización horaria.
Página 198
Configuración de dispositivos 6.10 Sincronización horaria Cuando se activa la sincronización horaria en un módulo, la estación de ingeniería (ES) pide que se seleccione la casilla de verificación "La CPU sincroniza los módulos del dispositivo" si todavía no se ha seleccionado en el cuadro de diálogo "Sincronización horaria" de la CPU.
Principios básicos de programación Directrices para diseñar un sistema PLC Al diseñar un sistema PLC es posible seleccionar entre diferentes métodos y criterios. Las directrices generales siguientes pueden aplicarse a un gran número de proyectos. Por supuesto que es necesario respetar las directrices corporativas y las prácticas usuales aprendidas y aplicadas.
Página 200
Principios básicos de programación 7.1 Directrices para diseñar un sistema PLC Pasos recomendados Tareas Determinar las estacio- Según los requisitos de las especificaciones funcionales, cree los siguientes dibujos de las esta- nes de operador ciones de operador: Dibujo general de la ubicación de todas las estaciones de operador con respecto al proceso •...
Principios básicos de programación 7.2 Estructurar el programa de usuario Estructurar el programa de usuario Al crear el programa de usuario para las tareas de automatización, las instrucciones del programa se insertan en bloques lógicos: ● Un bloque de organización (OB) reacciona a un evento específico en la CPU y puede interrumpir la ejecución del programa de usuario.
Página 202
Principios básicos de programación 7.2 Estructurar el programa de usuario Estructura lineal: Estructura modular: Creando bloques lógicos genéricos que pueden reutilizarse en el programa de usuario, es posible simplificar el diseño y la implementación del programa de usuario. La utilización de bloques lógicos genéricos ofrece numerosas ventajas: ●...
Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Utilizar bloques para estructurar el programa Diseñando FBs y FCs que ejecuten tareas genéricas, se crean bloques lógicos modulares. El programa se estructura luego, de manera que otros bloques lógicos llamen estos bloques modulares reutilizables.
Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa 7.3.1 Bloque de organización (OB) Los bloques de organización permiten estructurar el programa. Estos bloques sirven de interfaz entre el sistema operativo y el programa de usuario. Los OBs son controlados por eventos.
Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Creación de OB adicionales Puede crear varios OB para el programa de usuario, incluso para los eventos de OB correspondientes a los OB de ciclo y de arranque. Use el cuadro de diálogo "Agregar nuevo bloque"...
Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa 7.3.2 Función (FC) Una función (FC) es un bloque lógico que, por lo general, realiza una operación específica en un conjunto de valores de entrada. La FC almacena los resultados de esta operación en posiciones de memoria.
Página 207
Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Asignar el valor inicial en el DB instancia El DB instancia almacena un valor predeterminado y un valor iniciar para cada parámetro. El valor inicial proporciona el valor que debe utilizarse cuando se ejecuta el FB. Posteriormente, el valor inicial puede modificarse durante la ejecución del programa de usuario.
Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa 7.3.4 Bloque de datos (DB) Los bloques de datos (DB) se crean en el programa de usuario para almacenar los datos de los bloques lógicos. Todos los bloques del programa de usuario pueden acceder a los datos en un DB global.
Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Tenga en cuenta que el acceso al bloque optimizado es el valor predeterminado de los nuevos bloques de datos. Si deselecciona "Acceso optimizado al bloque", el bloque utiliza el acceso estándar.
Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Se pueden guardar en librerías objetos que se desea reutilizar. A cada proyecto hay conectada una librería de proyecto. Además de la librería del proyecto se puede crear un número indeterminado de librerías globales, que pueden utilizarse en varios proyectos.
Consulte la sección "Bloques optimizados" de la Guía de programación S7 para S7- 1200/1500, STEP 7 (TIA Portal), 03/2014 (https://support.industry.siemens.com/cs/ww/es/view/81318674) para encontrar información sobre bloques optimizados. Los FBs y las FCs se crean para procesar datos optimizados y no optimizados. Es posible seleccionar la casilla de verificación "Acceso optimizado al bloque"...
Página 212
Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Cuando el programa de usuario transfiere un parámetro complejo (por ejemplo STRUCT) a una función, el sistema comprueba el ajuste de optimización del bloque de datos que contiene la estructura y el ajuste de optimización del bloque de programa. Si se optimizan tanto el bloque de datos como la función, el programa de usuario transfiere STRUCT mediante "llamada por referencia".
Principios básicos de programación 7.4 Principios básicos de la coherencia de datos Hay varias formas de solucionar este problema: ● La mejor solución es que los ajustes de optimización del bloque de programa y del bloque de datos sean los mismos cuando se utilizan tipos de datos complejos (por ejemplo STRUCT).
Página 214
Principios básicos de programación 7.4 Principios básicos de la coherencia de datos Las instrucciones PtP (punto a punto), PROFINET (p. ej. TSEND_C y TRCV_C), instrucciones E/S descentralizadas para PROFINET (Página 405) y instrucciones E/S descentralizadas para PROFIBUS (Página 405) transfieren búferes de datos que podrían interrumpirse.
Principios básicos de programación 7.5 Lenguaje de programación Lenguaje de programación STEP 7 ofrece los lenguajes de programación estándar siguientes para S7-1200: ● KOP (esquema de contactos) es un lenguaje de programación gráfico. Su representación se basa en esquemas (Página 215) de circuitos. ●...
Principios básicos de programación 7.5 Lenguaje de programación Tenga en cuenta las reglas siguientes al crear segmentos KOP: ● No se permite programar ramas que puedan ocasionar un flujo invertido de la corriente. ● No se permite programar ramas que causen cortocircuitos. 7.5.2 Diagrama de funciones (FUP) Al igual que KOP, FUP es un lenguaje de programación gráfico.
Principios básicos de programación 7.5 Lenguaje de programación 7.5.3 El lenguaje de control estructurado (SCL, Structured Control Language) es un lenguaje de programación de alto nivel basado en PASCAL para las CPU de SIMATIC S7. SCL soporta la estructura de bloques de STEP 7 (Página 203). Su proyecto puede incluir bloques de programa en uno de los tres lenguajes de programación: SCL, KOP y FUP.
Página 218
Principios básicos de programación 7.5 Lenguaje de programación El código SCL para la instrucción se introduce directamente en la sección de código. El editor incluye botones para las construcciones y comentarios de código habituales. Para obtener instrucciones más complejas, basta con arrastrar las instrucciones SCL del árbol de instrucciones y soltarlas en el programa.
Principios básicos de programación 7.5 Lenguaje de programación Si se llama el bloque lógico SCL desde otro bloque lógico, los parámetros del bloque lógico SCL aparecen como entradas o salidas. En este ejemplo, las variables de "Start" y "On" (de la tabla de variables de proyecto) se corresponden con "StartStopSwitch"...
Página 220
Principios básicos de programación 7.5 Lenguaje de programación Tipo Operación Operador Prioridad Mayor > Mayor o igual >= Igual Diferente <> Lógica con bits Negación (unaria) Combinación Y lógica Y o & Combinación lógica O-exclusiva Combinación lógica O Parametrización Parametrización Como lenguaje de programación de alto nivel, SCL utiliza instrucciones estándar para tareas básicas: ●...
Principios básicos de programación 7.5 Lenguaje de programación Instrucciones de control Una instrucción de control es un tipo de expresión SCL especializada, que realiza las siguiente tareas: ● Ramificación del programa ● Repetición de secciones del código del programa SCL ●...
Página 222
Principios básicos de programación 7.5 Lenguaje de programación Llamar otros bloques lógicos desde el programa SCL Para llamar otro bloque lógico en el programa de usuario, basta con introducir el nombre (o dirección absoluta) del FB o la FC que contiene los parámetros. En el caso de un FB, también hay que indicar un DB de instancia para llamarlo con el FB.
Principios básicos de programación 7.5 Lenguaje de programación 7.5.3.3 Direccionamiento indexado con instrucciones PEEK y POKE SCL ofrece instrucciones PEEK y POKE que permiten leer de bloques de datos, E/S o memoria, o escribir en ellos. Hay que proporcionar parámetros de offsets de byte, o de bit, específicos para la operación.
Página 224
Principios básicos de programación 7.5 Lenguaje de programación POKE(area:=_in_, Escribe el valor (Byte, Word o DWord) en el dbNumber:=_in_, byteOffset referenciado del bloque de datos, byteOffset:=_in_, E/S o área de memoria referenciados. value:=_in_); Ejemplo de referencia al bloque de datos: POKE(area:=16#84, dbNumber:=2, byteOffset:=3, value:="Tag_1");...
Principios básicos de programación 7.5 Lenguaje de programación 7.5.4 EN y ENO para KOP, FUP y SCL Determinar el "flujo de corriente" (EN y ENO) para una instrucción Algunas instrucciones (p. ej. matemáticas y de transferencia) proporcionan parámetros para EN y ENO. Estos parámetros se refieren al flujo de corriente en KOP y FUP y determinan si la instrucción se ejecuta en ese ciclo.
Principios básicos de programación 7.5 Lenguaje de programación Uso de ENO en el código del programa Asimismo, puede usar ENO en el código del programa, por ejemplo asignando ENO a una variable PLC o evaluando ENO en un bloque local. Ejemplos: “MyFunction”...
Principios básicos de programación 7.6 Protección Protección 7.6.1 Protección de acceso a la CPU La CPU ofrece cuatro niveles de seguridad para restringir el acceso a determinadas funciones. Al configurar el nivel de protección y la contraseña de una CPU, se limitan las funciones y áreas de memoria accesibles sin introducir una contraseña.
Página 228
Los usuarios autorizados pueden realizar cambios en el estado operativo, escribir datos de PLC y actualizar el firmware. Siemens recomienda observar las siguientes consignas de seguridad: • Niveles de acceso a la CPU protegidos por contraseña e IDs de usuario de servidor web (Página 1043) con contraseñas seguras.
Principios básicos de programación 7.6 Protección Mecanismos de conexión Para acceder a interlocutores remotos con instrucciones PUT/GET, el usuario también debe disponer de permisos. Por defecto, la opción "Permitir acceso vía comunicación PUT/GET" está desactivada. En ese caso, el acceso de lectura y escritura a los datos de la CPU solo es posible para conexiones de comunicación que requieren configuración o programación tanto para la CPU local como para el interlocutor.
Principios básicos de programación 7.6 Protección 7.6.3 Protección de know-how La protección de know-how impide el acceso no autorizado a uno o más bloques lógicos (OB, FB, FC o DB) del programa. Es posible crear una contraseña para limitar el acceso al bloque lógico.
Principios básicos de programación 7.6 Protección 7.6.4 Protección anticopia Una función de protección adicional permite enlazar bloques de programa para el uso con una Memory Card o CPU específica. Esta función se usa especialmente para proteger la propiedad intelectual. Al enlazar un bloque de programa a un dispositivo específico, solo se permite usar dicho programa o bloque lógico con una CPU o Memory Card determinada.
Página 232
Principios básicos de programación 7.6 Protección Utilice la Task Card "Propiedades" del bloque lógico para enlazar el bloque con una CPU o Memory Card determinada. 1. Después de abrir el bloque lógico, seleccione "Protección". 2. En la opción "Protección contra copia" de la lista desplegable, seleccione el tipo de protección contra copia que desea usar.
Principios básicos de programación 7.7 Cargar los elementos del programa en la CPU Cargar los elementos del programa en la CPU Los elementos del proyecto se pueden cargar desde la programadora a la CPU. Cuando se descarga un proyecto, la CPU almacena el programa de usuario (OB, FC, FB y DB) en la memoria de carga interna o, en caso de haber una SIMATIC Memory Card, en la memoria de carga externa (la tarjeta).
Página 234
Principios básicos de programación 7.7 Cargar los elementos del programa en la CPU Descarga cuando la CPU configurada es diferente de la CPU conectada STEP 7 y el S7-1200 permiten la descarga si la CPU conectada tiene capacidad suficiente para almacenar una descarga de la CPU configurada, de acuerdo con los requisitos de memoria del proyecto y la compatibilidad de las E/S.
Principios básicos de programación 7.7 Cargar los elementos del programa en la CPU STEP 7 y el S7-1200 prohíben la descarga si la CPU conectada no tiene capacidad suficiente para almacenar una descarga de la CPU configurada; así, por ejemplo, no es posible descargar la configuración hardware y el programa en los casos siguientes: ●...
Principios básicos de programación 7.8 Sincronizar la CPU online y el proyecto offline Si esto ocurriera y los intentos sucesivos también fallaran, habrá que borrar la memoria de carga interna o externa: 1. Si se utiliza una memoria de carga interna, restablezca la configuración de fábrica de la CPU.
Principios básicos de programación 7.8 Sincronizar la CPU online y el proyecto offline Opciones de sincronización Cuando se descarga un proyecto en la CPU, se visualiza el cuadro de diálogo de sincronización si STEP 7 detecta que los bloques de datos o las variables de la CPU online son más recientes que los valores del proyecto.
Principios básicos de programación 7.9 Cargar desde la CPU online Cargar desde la CPU online También se pueden copiar bloques de programa de una CPU online o una Memory Card conectada a la programadora. Prepare el proyecto offline para los bloques de programa copiados: 1.
Principios básicos de programación 7.10 Depurar y comprobar el programa 7.10 Depurar y comprobar el programa 7.10.1 Vigilar y modificar datos de la CPU Tal y como muestra la tabla siguiente, los valores de la CPU online pueden vigilarse y modificarse.
Principios básicos de programación 7.10 Depurar y comprobar el programa 7.10.2 Tablas de observación y tablas de forzado Las "tablas de observación" se utilizan para observar y forzar los valores del programa de usuario que se está ejecutando en la CPU online. Es posible crear y guardar diferentes tablas de observación en el programa para soportar distintos entornos de test.
Principios básicos de programación 7.10 Depurar y comprobar el programa 7.10.3 Referencia cruzada para mostrar la utilización La ventana de inspección muestra referencias cruzadas sobre cómo un objeto seleccionado se utiliza en todo el proyecto, p. ej. en el programa de usuario, la CPU y los dispositivos HMI.
Principios básicos de programación 7.10 Depurar y comprobar el programa 7.10.4 Estructura de llamadas para ver la jerarquía de llamadas La estructura de llamadas describe la jerarquía de llamadas del bloque dentro del programa de usuario. Proporciona una vista general de los bloques utilizados, las llamadas a otros bloques, la relación entre bloques, los datos necesarios para cada bloque y el estado de los bloques.
Instrucciones básicas Operaciones lógicas con bits 8.1.1 Operaciones lógicas con bits KOP y FUP resultan muy efectivos para procesar lógica booleana. Por otro lado, aunque SCL resulta especialmente efectivo para la computación matemática compleja y para estructuras de control de proyectos, se puede utilizar para la lógica booleana. Contactos KOP Tabla 8- 1 Contactos normalmente abiertos y normalmente cerrados...
Página 244
Instrucciones básicas 8.1 Operaciones lógicas con bits Cuadros Y, O y O-exclusiva en FUP En la programación FUP, los segmentos de los contactos KOP se transforman en segmentos de cuadros Y (&), O (>=1) y O-exclusiva (x), en los que pueden indicarse valores de bit para las entradas y salidas de los cuadros.
Página 245
Instrucciones básicas 8.1 Operaciones lógicas con bits Invertir resultado lógico (NOT) Tabla 8- 5 Invertir RLO (resultado lógico) Descripción En la programación FUP es posible arrastrar la función "In- vertir RLO" desde la barra de herramientas "Favoritos" o desde el árbol de instrucciones y soltarla en una entrada o salida para crear un inversor lógico en ese conector del cuadro.
Instrucciones básicas 8.1 Operaciones lógicas con bits ● Si fluye corriente a través de una bobina de salida o se habilita un cuadro FUP "=", el bit de salida se pone a 1. ● Si no fluye corriente a través de una bobina de salida o no se habilita un cuadro de asignación FUP "=", el bit de salida se pone a 0.
Instrucciones básicas 8.1 Operaciones lógicas con bits Activar y desactivar mapa de bits Tabla 8- 10 Instrucciones SET_BF y RESET_BF Descripción No disponible Activar mapa de bits: Cuando se activa SET_BF, el valor de datos 1 se asigna a "n" bits, comenzando en la variable de dirección OUT.
Página 248
Instrucciones básicas 8.1 Operaciones lógicas con bits Tabla 8- 13 Tipos de datos para los parámetros Parámetro Tipo de datos Descripción S, S1 Bool Activar entrada; 1 indica dominancia R, R1 Bool Desactivar entrada; 1 indica dominancia INOUT Bool Variable de bit asignada "INOUT" Bool Corresponde al estado del bit "INOUT"...
Instrucciones básicas 8.1 Operaciones lógicas con bits 8.1.3 Instrucciones de flanco ascendente y descendente Tabla 8- 14 Detección de flanco ascendente y descendente Descripción No disponible Consultar flanco de señal ascendente de un operando. KOP: El estado de este contacto es TRUE cuando se detecta un flanco ascendente (OFF a ON) en el bit "IN"...
Página 250
Instrucciones básicas 8.1 Operaciones lógicas con bits Tabla 8- 15 P_TRIG y N_TRIG KOP / FUP Descripción No disponible Consultar flanco de señal ascendente del RLO (resultado lógico). El flujo de corriente o estado lógico de la salida Q es TRUE cuando se detecta un flanco ascendente (OFF a ON) en el estado lógico de CLK (en FUP) o en el flujo de corriente de CLK (en KOP).
Página 251
Instrucciones básicas 8.1 Operaciones lógicas con bits Para R_TRIG y F_TRIG, cuando inserte la instrucción en el programa, se abre automáticamente el cuadro de diálogo "Opciones de llamada". En este cuadro de diálogo puede asignar si la marca de flanco se almacena en su propio bloque de datos (instancia única) o como una variable local (multiinstancia) en la interfaz de bloque.
Instrucciones básicas 8.2 Temporizadores Temporizadores Las instrucciones con temporizadores se utilizan para crear retardos programados. El número de temporizadores que pueden utilizarse en el programa de usuario está limitado solo por la cantidad de memoria disponible en la CPU. Cada temporizador utiliza una estructura de DB del tipo de datos IEC_Timer de 16 bytes para guardar la información del temporizador especificada encima de la instrucción de cuadro o bobina.
Página 253
Instrucciones básicas 8.2 Temporizadores Tabla 8- 19 Tipos de datos para los parámetros Parámetro Tipo de datos Descripción Cuadro: IN Bool TP, TON, y TONR: Bobina: Flujo de corriente Cuadro: 0=deshabilitar temporizador, 1=habilitar temporizador Bobina: Sin flujo de corriente=deshabilitar temporizador, flujo de corrien- te=habilitar temporizador TOF: Cuadro: 0=habilitar temporizador, 1=deshabilitar temporizador...
Instrucciones básicas 8.2 Temporizadores Los valores PT (tiempo predeterminado) y ET (tiempo transcurrido) se almacenan en los datos de DB IEC_TIMER como enteros dobles con signo que representan milisegundos. Los datos TIME utilizan el identificador T# y pueden introducirse como unidad de tiempo simple ("T#200ms ó...
Instrucciones básicas 8.2 Temporizadores Bobinas Inicializar temporizador -(RT)- y predeterminar temporizador -(PT)- Estas instrucciones de bobina pueden utilizarse con temporizadores de cuadro o bobina y pueden colocarse en una posición central. El estado del flujo de salida de la bobina siempre es el mismo que el estado de entrada de la bobina.
Página 256
Instrucciones básicas 8.2 Temporizadores Temporizador Cronograma TOF: Retardo al desconectar El temporizador TOF pone la salida Q a OFF tras un tiempo de retardo predeterminado. TONR: Acumulador de tiempo El temporizador TONR pone la salida Q a ON tras un tiempo de retardo predeterminado.
Instrucciones básicas 8.2 Temporizadores Una actualización de temporizador se realiza única y exclusivamente cuando: ● Se ejecuta una instrucción de temporizador (TP, TON, TOF o TONR) ● El miembro "ELAPSED" de la estructura del DB se referencia directamente con una instrucción ●...
Página 258
Instrucciones básicas 8.2 Temporizadores ● Las inicializaciones propias de los temporizadores resultan útiles para lanzar acciones que deben producirse periódicamente. Generalmente, los temporizadores autoinicializables se crean colocando un contacto normalmente cerrado que referencie el bit de temporizador situado frente a la instrucción de temporizador. Este segmento de temporizador se suele colocar sobre uno o más segmentos dependientes, que utilizan el bit del temporizador para lanzar acciones.
Página 259
Instrucciones básicas 8.2 Temporizadores Asignar un DB global para guardar los datos de temporizador como datos remanentes Esta opción funciona independientemente de dónde se encuentre el temporizador (OB, FC o FB). 1. Crear un DB global: – Haga doble clic en "Agregar nuevo bloque" en el árbol del proyecto –...
Página 260
Instrucciones básicas 8.2 Temporizadores Asignar un DB multiinstancia para guardar los datos de temporizador como datos remanentes Esta opción solo funciona si el temporizador se coloca en un FB Esta opción depende de si las propiedades del FB especifican "Acceso optimizado al bloque"...
Instrucciones básicas 8.3 Contadores Contadores Tabla 8- 23 Instrucciones con contadores KOP / FUP Descripción "IEC_Counter_0_DB".CTU Las instrucciones con contadores se utilizan para contar eventos del programa internos y eventos del proceso externos. Todo contador CU:=_bool_in, utiliza una estructura almacenada en un bloque de datos para con- servar sus datos.
Página 262
Instrucciones básicas 8.3 Contadores Tabla 8- 24 Tipos de datos para los parámetros Parámetro Tipo de datos Descripción CU, CD Bool Contaje ascendente o descendente, en incrementos de uno R (CTU, CTUD) Bool Poner a cero el valor del contador LD (CTD, CTUD) Bool Control de carga del valor predeterminado...
Instrucciones básicas 8.3 Contadores Manejo de los contadores Tabla 8- 25 Operación de CTU (contador ascendente) Contador Operación El contador CTU incrementa en 1 cuando el valor del parámetro CU cambia de 0 a 1. El cronograma de CTU muestra el manejo con un valor de contaje de entero sin signo (donde PV = 3).
Página 264
Instrucciones básicas 8.3 Contadores Tabla 8- 27 Operación de CTUD (contador ascendente - descendente) Contador Operación El contador CTUD incrementa o decrementa en 1 en una transi- ción de 0 a 1 de las entradas de contaje ascendente (CU) o des- cendente (CD).
Página 265
Instrucciones básicas 8.3 Contadores Asignar un DB global para guardar los datos de contador como datos remanentes Esta opción funciona independientemente de dónde se encuentre el contador (OB, FC o FB). 1. Crear un DB global: – Haga doble clic en "Agregar nuevo bloque" en el árbol del proyecto –...
Página 266
Instrucciones básicas 8.3 Contadores 6. En la parte superior de la nueva instrucción de contador escriba el nombre (no utilice la función de ayuda para examinar) del DB global y de la estructura de contador que ha creado antes (ejemplo: "Bloque_datos_3.Estático_1"). Con esa acción se rellenan los tipos de valores predeterminado y de contaje correspondientes (ejemplo: UInt para una estructura IEC_UCounter).
Página 267
Instrucciones básicas 8.3 Contadores Si el FB no especifica "Acceso optimizado al bloque", el tipo de acceso al bloque es estándar, que es compatible con configuraciones clásicas de S7-300/400 y permite el direccionamiento simbólico y directo. Para asignar una multiinstancia en un FB de acceso estándar al bloque, proceda del siguiente modo: 1.
Instrucciones básicas 8.4 Comparación Comparación 8.4.1 Instrucciones de comparación Tabla 8- 28 Instrucciones de comparación Descripción out := in1 = in2; Compara varios elementos del mismo tipo de datos. Si la comparación de contactos KOP es TRUE (verdade- ra), se activa el contacto. Si la comparación de cuadros IF in1 = in2 FUP es TRUE (verdadera), la salida del cuadro es THEN out := 1;...
Instrucciones básicas 8.4 Comparación 8.4.2 IN_Range (valor dentro del rango) y OUT_Range (valor fuera del rango) Tabla 8- 31 Instrucciones de valor dentro del rango y valor fuera del rango KOP / FUP Descripción out := IN_RANGE(min, Comprueba si un valor de entrada está dentro o fuera de un rango val, max);...
Instrucciones básicas 8.4 Comparación 8.4.3 OK (comprobar validez) y NOT_OK (comprobar invalidez) Tabla 8- 33 Instrucciones OK (comprobar validez) y NOT_OK (comprobar invalidez) Descripción No disponible Comprueba si una referencia de datos de entrada es un número real válido según la especificación IEEE 754. No disponible En KOP y FUP: Si el contacto KOP es TRUE, se activa este contacto y conduce corriente.
Instrucciones básicas 8.4 Comparación 8.4.4 Instrucciones de comparación Variant y Array 8.4.4.1 Instrucciones de comparación de igualdad y desigualdad La CPU S7-1200 ofrece instrucciones para consultar el tipo de datos de una variable a la que apunta un operando Variant para saber si el tipo de datos del otro operando es igual o Asimismo, la CPU S7-1200 ofrece instrucciones para consultar el tipo de datos de un elemento Array para saber si el tipo de datos del otro operando es igual o no.
Instrucciones básicas 8.4 Comparación Tabla 8- 37 Tipos de datos para los parámetros Parámetro Tipo de datos Descripción Operand1 Variant Primer operando Operand2 Cadenas de bits, enteros, números en coma Segundo operando flotante, temporizadores, fecha y hora, cade- nas de caracteres, ARRAY, tipos de datos 8.4.4.2 Instrucciones de comparación con cero Las instrucciones IS_NULL y NOT_NULL se utilizan para determinar si la entrada apunta a...
Instrucciones básicas 8.4 Comparación 8.4.4.3 IS_ARRAY (Consultar si es un ARRAY) Puede emplear la instrucción "Consultar si es un ARRAY" para consultar si Variant apunta a una variable del tipo de datos Array. <Operand> debe tener el tipo de datos Variant. Las instrucciones devuelven 1 (verdadero) si el operando es un Array.
Instrucciones básicas 8.5 Funciones matemáticas Funciones matemáticas 8.5.1 CALCULATE (calcular) Tabla 8- 42 Instrucción CALCULATE KOP / FUP Descripción Utilice las ex- La instrucción CALCULATE permite crear una función matemática que presiones ma- funciona con entradas (IN1, IN2, ... INn) y genera el resultado en OUT, temáticas SCL según la ecuación definida.
Instrucciones básicas 8.5 Funciones matemáticas Nota También es necesario crear una entrada para las constantes que pudiera haber en la función. En este caso, el valor constante se introduciría en la entrada asociada de la instrucción CALCULATE. Si se introducen constantes como entradas, es posible copiar la instrucción CALCULATE a otras ubicaciones del programa de usuario sin tener que cambiar la función.
Página 276
Instrucciones básicas 8.5 Funciones matemáticas Para agregar una entrada ADD o MUL, haga clic en el icono "Crear" o haga clic con el botón derecho del ratón en el conector de entrada del parámetro IN exis- tente y seleccione el comando "Insertar entrada". Para quitar una entrada, haga clic con el botón derecho del ratón en el conector de entrada de uno de los parámetros IN existentes (si hay más entradas además de las dos originales) y seleccione el comando "Borrar".
Instrucciones básicas 8.5 Funciones matemáticas 8.5.3 MOD (obtener resto de división) Tabla 8- 47 Instrucción MOD (obtener resto de división) KOP / FUP Descripción out := in1 MOD in2; La instrucción MOD se puede utilizar para obtener el resto de una opera- ción de división de enteros.
Instrucciones básicas 8.5 Funciones matemáticas 8.5.4 NEG (generar complemento a dos) Tabla 8- 50 Instrucción NEG (generar complemento a dos) KOP / FUP Descripción -(in); La instrucción NEG invierte el signo aritmético del valor del parámetro IN y deposita el resultado en el parámetro OUT.
Instrucciones básicas 8.5 Funciones matemáticas 8.5.5 INC (incrementar) y DEC (decrementar) Tabla 8- 53 Instrucciones INC y DEC KOP / FUP Descripción in_out := in_out + 1; Incrementa un valor de número entero con o sin signo: Valor IN_OUT +1 = valor IN_OUT in_out := in_out - 1;...
Instrucciones básicas 8.5 Funciones matemáticas 8.5.6 ABS (calcular valor absoluto) Tabla 8- 56 Instrucción ABS (calcular valor absoluto) KOP / FUP Descripción out := ABS(in); Calcula el valor absoluto de un entero con signo o número real indicado en el parámetro IN y deposita el resultado en el parámetro OUT.
Instrucciones básicas 8.5 Funciones matemáticas 8.5.7 MIN (determinar mínimo) y MAX (determinar máximo) Tabla 8- 59 Instrucciones MIN (determinar mínimo) y MAX (determinar máximo) KOP / FUP Descripción out:= MIN( La instrucción MIN compara el valor de dos parámetros IN1 y in1:=_variant_in_, IN2 y asigna el valor mínimo (menor) al parámetro OUT.
Instrucciones básicas 8.5 Funciones matemáticas 8.5.8 LIMIT (ajustar valor límite) Tabla 8- 62 Instrucción LIMIT (ajustar valor límite) KOP / FUP Descripción LIMIT(MN:=_variant_in_, La instrucción Limit comprueba si el valor del parámetro IN se IN:=_variant_in_, encuentra dentro del rango de valores especificado por los pará- MX:=_variant_in_, metros MIN y MAX and if not, clamps the value at MIN or MAX.
Instrucciones básicas 8.5 Funciones matemáticas 8.5.9 Instrucciones para exponentes, logaritmos y trigonometría Las instrucciones en coma flotante sirven para programar operaciones matemáticas utilizando los tipos de datos Real o LReal: ● SQR: Calcular cuadrado (IN = OUT) ● SQRT: Calcular raíz cuadrada (√IN = OUT) ●...
Página 284
Instrucciones básicas 8.5 Funciones matemáticas Tabla 8- 66 Tipos de datos para parámetros Parámetro Tipo de datos Descripción IN, IN1 Real, LReal, constante Entradas SInt, Int, DInt, USInt, UInt,UDInt, Real, LReal, constante Entrada exponencial EXPT Real, LReal Salidas Tabla 8- 67 Estado de ENO Instrucción Condición...
Instrucciones básicas 8.6 Transferencia Transferencia 8.6.1 MOVE (copiar valor), MOVE_BLK (copiar área), UMOVE_BLK (copiar área sin interrupciones) y MOVE_BLK_VARIANT (copiar área) Las instrucciones de desplazamiento permiten copiar elementos de datos en otra dirección de memoria y convertir un tipo de datos en otro. El proceso de desplazamiento no modifica los datos de origen.
Página 286
Instrucciones básicas 8.6 Transferencia Tabla 8- 69 Tipos de datos para la instrucción MOVE Parámetro Tipo de datos Descripción SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Dirección de origen DWord, Char, WChar, Array, Struct, DTL, Time, Date, TOD, IEC tipos de datos, tipos de datos PLC SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, Dirección de destino...
Página 287
Instrucciones básicas 8.6 Transferencia Nota Reglas para las operaciones de copia de datos • Para copiar el tipo de datos Bool, utilice las instrucciones SET_BF, RESET_BF, R, S o bobina de salida (KOP) (Página 246) • Para copiar un solo tipo de datos elemental, utilice MOVE •...
Página 288
Instrucciones básicas 8.6 Transferencia Tabla 8- 73 Códigos de condición para la instrucción MOVE_BLK_VARIANT RET_VAL Descripción (W#16#...) 0000 No hay error 80B4 Los tipos de datos no concuerdan. 8151 No es posible acceder al parámetro SRC. 8152 El operando del parámetro SRC es un tipo no válido. 8153 Error de generación del código en el parámetro SRC 8154...
Instrucciones básicas 8.6 Transferencia 8.6.2 Deserializar La instrucción "Deserializar" se utiliza para volver a convertir la representación secuencial de un tipo de datos PLC (UDT) en un tipo de datos PLC y rellenar todo su contenido. Si la comparación es TRUE la salida del cuadro es TRUE. El área de memoria que tiene la representación secuencial de un tipo de datos PLC debe tener el tipo de datos Array of Byte y debe declararse que el bloque de datos tiene un acceso estándar (no optimizado).
Instrucciones básicas 8.6 Transferencia Tabla 8- 76 Parámetro RET_VAL RET_VAL Descripción (W#16#...) 0000 No hay error 80B0 Las áreas de memoria para los parámetros SRC_ARRAY y DEST_VARIABLE se solapan. 8136 El bloque de datos del parámetro DEST_VARIABLE no es un bloque con acceso estándar. 8150 El tipo de datos Variant en el parámetro SRC_ARRAY no contiene valores.
Página 291
Instrucciones básicas 8.6 Transferencia Interfaz del bloque de función (o la función): Tipos de datos PLC personalizados: La estructura de los dos tipos de datos PLC (UDTs) para este ejemplo es la siguiente: Bloques de datos: Los dos bloques de datos para este ejemplo son los siguientes: Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Instrucciones básicas 8.6 Transferencia 8.6.3 Serialize La instrucción "Serialize" se utiliza para convertir diferentes tipos de datos PLC (UDT) en una representación secuencial sin perder la estructura. La instrucción puede emplearse para guardar temporalmente varios elementos de datos estructurados del programa en un búfer, por ejemplo en un bloque de datos global, y enviarlos a otra CPU.
Instrucciones básicas 8.6 Transferencia Tabla 8- 79 Parámetro RET_VAL RET_VAL Descripción (W#16#...) 0000 No hay error 80B0 Las áreas de memoria para los parámetros SRC_VARIABLE y DEST_ARRAY se solapan. 8150 El tipo de datos Variant en el parámetro SRC_VARIABLE no contiene valores. 8152 Error de generación del código en el parámetro SRC_VARIABLE.
Página 294
Instrucciones básicas 8.6 Transferencia La instrucción "Serialize" serializa los datos de un artículo concreto, que se calcula en runtime, del bloque de datos "Source" y los escribe en representación secuencial en el bloque de datos "Buffer" después de los caracteres "arti". Interfaz de bloque: Tipos de datos PLC personalizados: La estructura de los dos tipos de datos PLC (UDTs) para este ejemplo es la siguiente:...
Instrucciones básicas 8.6 Transferencia 8.6.4 FILL_BLK (rellenar área) y UFILL_BLK (rellenar área sin interrupciones) Tabla 8- 80 Instrucciones FILL_BLK y UFILL_BLK KOP / FUP Descripción FILL_BLK( Instrucción "Rellenar área sin interrupciones": rellena un área de in:=_variant_in, direcciones con copias de un elemento de datos específico count:=int, out=>_variant_out);...
Página 296
Instrucciones básicas 8.6 Transferencia Las instrucciones FILL_BLK y UFILL_BLK se diferencian en la forma de procesar las alarmas: ● Los eventos de alarma se ponen en cola de espera y se procesan durante la ejecución de FILL_BLK. Utilice la instrucción FILL_BLK si los datos contenidos en la dirección de destino del desplazamiento no se utilizan en un OB de alarma.
Instrucciones básicas 8.6 Transferencia 8.6.5 SWAP (cambiar disposición) Tabla 8- 83 Instrucción SWAP KOP / FUP Descripción out := SWAP(in); Invierte el orden de los bytes para elementos de datos de dos bytes y cuatro bytes. El orden de los bits no se modifica dentro de los distintos bytes. ENO es siempre TRUE (verdadero) tras ejecutarse la instrucción SWAP.
Instrucciones básicas 8.6 Transferencia 8.6.6 LOWER_BOUND: (leer límite inferior del ARRAY) Tabla 8- 85 Instrucción LOWER_BOUND KOP / FUP Descripción out := LOWER_BOUND( En la interfaz del bloque es posible declarar ARR:=_variant_in_, variables con ARRAY[*]. Para estas variables DIM:=_udint_in_); locales pueden leerse los límites del ARRAY. La dimensión necesaria debe especificarse en el parámetro DIM.
Página 299
Instrucciones básicas 8.6 Transferencia Ejemplo En la interfaz del bloque de función (FC), el parámetro de entrada ARRAY_A es un array unidimensional con dimensiones variables. Si el operando "Enable_Start" devuelve el estado lógico "1", la CPU ejecuta la instrucción LOWER_BOUND . Lee el límite inferior variable del ARRAY #ARRAY_A a partir del array unidimensional.
Instrucciones básicas 8.6 Transferencia 8.6.7 UPPER_BOUND: (leer límite superior de ARRAY) Tabla 8- 86 Instrucción LOWER_BOUND KOP / FUP Descripción out := UPPER_BOUND( En la interfaz del bloque es posible declarar ARR:=_variant_in_, variables con ARRAY[*]. Para estas variables DIM:=_udint_in_); locales pueden leerse los límites del ARRAY. La dimensión necesaria debe especificarse en el parámetro DIM.
Página 301
Instrucciones básicas 8.6 Transferencia Ejemplo En la interfaz del bloque de función (FC), el parámetro de entrada ARRAY_A es un array unidimensional con dimensiones variables. Si el operando "Enable_Start" devuelve el estado lógico "1", la CPU ejecuta la instrucción . Lee el límite superior variable del ARRAY #ARRAY_A a partir del array unidimensional.
Instrucciones básicas 8.6 Transferencia 8.6.8 Instrucciones de leer / escribir memoria 8.6.8.1 PEEK y POKE (solo SCL) SCL ofrece instrucciones PEEK y POKE que permiten leer de bloques de datos, E/S o memoria, o escribir en ellos. Hay que proporcionar parámetros de offsets de byte, o de bit, específicos para la operación.
Página 303
Instrucciones básicas 8.6 Transferencia POKE(area:=_in_, Escribe el valor (Byte, Word o DWord) en el dbNumber:=_in_, byteOffset referenciado del bloque de datos, byteOffset:=_in_, E/S o área de memoria referenciados. value:=_in_); Ejemplo de referencia al bloque de datos: POKE(area:=16#84, dbNumber:=2, byteOffset:=3, value:="Tag_1"); Ejemplo de referencia a la salida QB3: POKE(area:=16#82, dbNumber:=0, byteOffset:=3, value:="Tag_1");...
Instrucciones básicas 8.6 Transferencia 8.6.8.2 Instrucciones Leer y escribir en formato Big y Little Endian (SCL) La CPU S7-1200 ofrece instrucciones SCL para leer y escribir datos en formato Little-Endian y en formato Big-Endian. El formato Little-Endian significa que el byte con el bit menos significativo está...
Instrucciones básicas 8.6 Transferencia Tabla 8- 89 Parámetros de las instrucciones WRITE_LITTLE and WRITE_BIG Parámetro Tipo de datos Descripción src_variable Cadenas de bits, enteros, números en coma flotante, LDT, Datos de origen de la variable TOD, LTOD, DATA, Char, WChar dest_array Array of Byte Área de memoria en la que se...
Instrucciones básicas 8.6 Transferencia Nota Para copiar estructuras y Arrays, puede utilizarse la instrucción "MOVE_BLK_VARIANT: Copiar área". Tabla 8- 92 Parámetros de la instrucción VariantGet Parámetro Tipo de datos Descripción Variant Puntero hacia los datos de origen Cadenas de bits, enteros, números en coma flotante, tempori- Destino en el que se escriben los zadores, fecha y hora, cadenas de caracteres, elementos datos...
Instrucciones básicas 8.6 Transferencia Tabla 8- 95 Parámetros de la instrucción VariantPut Parámetro Tipo de datos Descripción Bit strings, integers, floating-point numbers, timers, date and Puntero hacia los datos de origen time, character strings, ARRAY elements, PLC data types Variant Destino en el que se escriben los datos Tabla 8- 96...
Instrucciones básicas 8.6 Transferencia Tabla 8- 98 Parámetros de la instrucción CountOfElements Parámetro Tipo de datos Descripción Variant Variable con elementos Array que deben contarse RET_VAL UDint Resultado de la instrucción Tabla 8- 99 Estado de ENO Condición Resultado No hay error La instrucción devuelve el número de elemen- tos Array.
Instrucciones básicas 8.6 Transferencia Tabla 8- 100 Instrucciones FieldRead y FieldWrite KOP / FUP Descripción value := mem- FieldRead lee el elemento de matriz con el valor de ber[index]; índice INDEX de la matriz cuyo primer elemento está especificado por el parámetro MEMBER. El valor del elemento de matriz se transfiere a la posición especi- ficada en el parámetro VALUE.
Página 310
Instrucciones básicas 8.6 Transferencia Ejemplo: Acceso a datos mediante indexación de matriz Para acceder a los elementos de una matriz con una variable, basta con utilizar la variable como índice de matriz en la lógica del programa. Por ejemplo, el segmento siguiente activa una salida basada en el valor booleano de una matriz de booleanos en "Data_block_1"...
Instrucciones básicas 8.7 Conversión Conversión 8.7.1 CONV (convertir valor) Tabla 8- 102 Instrucción Convertir valor (CONV) KOP / FUP Descripción out := <data type in>_TO_<data type out>(in); Convierte un elemento de datos de un tipo de datos a otro tipo de datos. En KOP y FUP: haga clic en "???"...
Instrucciones básicas 8.7 Conversión 8.7.2 Instrucciones de conversión de SCL Instrucciones de conversión de SCL Tabla 8- 105 Conversión de un Bool, Byte, Word o DWord Tipo de datos Instrucción Resultado BOOL_TO_BYTE, BOOL_TO_WORD, Bool El valor se transfiere al bit menos significativo del tipo de BOOL_TO_DWORD, BOOL_TO_INT, datos de destino.
Página 313
Instrucciones básicas 8.7 Conversión Tabla 8- 106 Conversión de un entero corto (SInt o USInt) Tipo de datos Instrucción Resultado SINT_TO_BOOL SInt El bit menos significativo se transfiere al tipo de datos de destino. SINT_TO_BYTE El valor se transfiere al tipo de datos de destino. SINT_TO_WORD, SINT_TO_DWORD El valor se transfiere al byte menos significativo del tipo de datos de destino.
Página 314
Instrucciones básicas 8.7 Conversión Tabla 8- 108 Conversión de un entero doble (Dint o UDInt) Tipo de datos Instrucción Resultado DINT_TO_BOOL DInt El bit menos significativo se transfiere al tipo de datos de destino. DINT_TO_BYTE, DINT_TO_WORD, DINT_TO_SINT, El valor está convertido. DINT_TO_USINT, DINT_TO_INT, DINT_TO_UINT, DINT_TO_UDINT, DINT_TO_REAL, DINT_TO_LREAL, DINT_TO_CHAR, DINT_TO_STRING...
Instrucciones básicas 8.7 Conversión Tabla 8- 111 Conversión de un Char o String Tipo de datos Instrucción Resultado CHAR_TO_SINT, CHAR_TO_USINT, Char El valor está convertido. CHAR_TO_INT, CHAR_TO_UINT, CHAR_TO_DINT, CHAR_TO_UDINT CHAR_TO_STRING El valor se transfiere al primer carácter de la cadena. STRING_TO_SINT, STRING_TO_USINT, String El valor está...
Instrucciones básicas 8.7 Conversión Tabla 8- 114 Estado de ENO Descripción Resultado de OUT No hay error Resultado válido IN es +/- INF o +/- NaN +/- INF o +/- NaN 8.7.4 CEIL y FLOOR (redondear un número en coma flotante al siguiente entero superior o inferior) Tabla 8- 115 Instrucciones CEIL y FLOOR KOP / FUP...
Instrucciones básicas 8.7 Conversión 8.7.5 SCALE_X (escalar) y NORM_X (normalizar) Tabla 8- 118 Instrucciones SCALE_X y NORM_X KOP / FUP Descripción out :=SCALE_X(min:=_in_, Escala el parámetro VALUE real normalizado value:=_in_, (donde 0,0 <= VALUE <= 1,0) al tipo de datos y max:=_in_);...
Página 318
Instrucciones básicas 8.7 Conversión Nota SCALE_X parámetro VALUE debe restringirse a ( 0,0 <= VALUE <= 1,0 ) Si el parámetro VALUE es menos que 0,0 o mayor que 1,0: • La operación de escala lineal puede producir valores OUT menores que el parámetro MIN o mayores que el valor del parámetro MAX de valores OUT comprendidos dentro del rango de valores del tipo de datos OUT.
Página 319
Instrucciones básicas 8.7 Conversión Ejemplo (KOP): Normalización y escalado de un valor de entrada analógica Una entrada analógica de un módulo de señales analógicas o Signal Board que usa entrada de intensidad se encuentra en el rango de valores válidos entre 0 y 27648. Suponiendo que una entrada analógica representa una temperatura en la que el valor 0 de la entrada analógica representa -30,0 grados C y 27648 representa 70,0 grados C.
Instrucciones básicas 8.7 Conversión En los Datos técnicos encontrará información adicional sobre representaciones de entradas analógica (Página 1530) y representaciones de salidas analógicas (Página 1532) en intensidad y tensión. 8.7.6 Instrucciones de conversión Variant 8.7.6.1 VARIANT_TO_DB_ANY (convertir VARIANT en DB_ANY) La instrucción "VARIANT to DB_ANY"...
Instrucciones básicas 8.7 Conversión Tabla 8- 124 Códigos de salida de error para la instrucción VARIANT_TO_DB_ANY Descripción (W#16#...) 0000 No hay error 252C El tipo de datos Variant en el parámetro IN tiene el valor 0. La CPU cambia al estado operativo STOP. 8131 El bloque de datos no existe o es demasiado corto (primer acce- so).
Página 322
Instrucciones básicas 8.7 Conversión Tabla 8- 127 Estado de ENO Condición Resultado No hay error La instrucción convierte el número de bloque de datos en Variant y lo guarda en la salida de función DB_ANY La entrada de habilitación EN tiene el estado lógico La instrucción no hace nada.
Instrucciones básicas 8.8 Control del programa Control del programa 8.8.1 Instrucciones JMP (Saltar si RLO = 1), JMPN (Saltar si RLO = 0) y LABEL (Etiqueta) Tabla 8- 129 Instrucciones JMP, JMPN y LABEL Descripción Véase la instrucción GOTO Saltar si RLO (resultado de la operación lógica) = 1: (Página 346).
Instrucciones básicas 8.8 Control del programa 8.8.2 JMP_LIST (definir lista de saltos) Tabla 8- 131 Instrucción JMP_LIST KOP / FUP Descripción CASE k OF La instrucción JMP_LIST actúa como un distribuidor de saltos de pro- 0: GOTO dest0; grama para controlar la ejecución de secciones de un programa. De- 1: GOTO dest1;...
Instrucciones básicas 8.8 Control del programa 8.8.3 SWITCH (distribuidor de saltos) Tabla 8- 133 Instrucción SWITCH KOP / FUP Descripción No disponible La instrucción SWITCH actúa como un distribuidor de salto de programa para controlar la ejecución de secciones de un progra- ma.
Instrucciones básicas 8.8 Control del programa Agregar y borrar entradas y especificar tipos de comparación Si el cuadro SWITCH de KOP o FUP se coloca en el programa en primer lugar, hay dos entradas de comparación. Se pueden asignar tipos de comparación y agregar entradas/destinos de salto de la forma indicada a continuación.
Instrucciones básicas 8.8 Control del programa 8.8.4 RET (retroceder) La instrucción RET opcional sirve para finalizar la ejecución del bloque actual. Solo si fluye corriente a la bobina RET (LAD) o si se cumple la entrada del cuadro RET (FUP), la ejecución del programa del bloque actual finalizará...
Instrucciones básicas 8.8 Control del programa 8.8.5 ENDIS_PW (limitar y habilitar legitimación de la contraseña) Tabla 8- 138 Instrucción ENDIS_PW KOP / FUP Descripción ENDIS_PW( La instrucción ENDIS_PW puede permitir o req:=_bool_in_, no permitir las conexiones de cliente a una f_pwd:=_bool_in_, CPU S7-1200, aunque el cliente disponga full_pwd:=_bool_in_,...
Página 329
Instrucciones básicas 8.8 Control del programa ENDIS_PW se ejecuta de forma síncrona en un ciclo y los parámetros de salida de la contraseña siempre muestran el estado actual del permiso de las contraseñas al margen del parámetro de entrada REQ. Todas las contraseñas que configure como permisibles deben poder cambiarse a no permitidas/permitidas.
Instrucciones básicas 8.8 Control del programa Nota Niveles de acceso a la CPU protegidos por contraseñas seguras. Las contraseñas seguras tienen diez caracteres como mínimo, constan de letras, números y caracteres especiales, no son palabras que puedan encontrarse en un diccionario, ni son nombres ni identificadores que puedan derivarse a partir de información personal.
Instrucciones básicas 8.8 Control del programa Ajustar el tiempo de ciclo máximo del PLC Configure el valor para el tiempo máximo de ciclo en la Configuración de dispositivos para "Tiempo de ciclo". Tabla 8- 142 Valores de tiempo de ciclo Vigilancia del tiempo de Valor mínimo Valor máximo...
Instrucciones básicas 8.8 Control del programa 8.8.8 Instrucciones GET_ERROR y GET_ERROR_ID (consultar error e ID de error localmente) Las instrucciones GET_ERROR proporcionan información acerca de errores de ejecución de bloques de programa. Si se ha insertado una instrucción GET_ERROR o GET_ERROR_ID en el bloque lógico, los errores del programa podrán tratarse en el bloque de programa.
Página 333
Instrucciones básicas 8.8 Control del programa Componentes de la estructura Tipo de datos Descripción MODE Byte Modo de acceso: Dependiendo del tipo de acceso, puede obtenerse la siguiente información: Modo Offset Área Ubi- Alcance Número cación Área Offset Área N.º DB Offset N.º...
Página 334
Instrucciones básicas 8.8 Control del programa GET_ERROR_ID Tabla 8- 147 Instrucción GetErrorID KOP / FUP Descripción GET_ERR_ID(); Indica que ha ocurrido un error de ejecución de bloque de programa y notifica la ID (identificación) del error. Tabla 8- 148 Tipos de datos para los parámetros Parámetro Tipo de datos Descripción...
Instrucciones básicas 8.8 Control del programa Operación De forma predeterminada, la CPU reacciona a un error de ejecución de bloque registrando un error en el búfer de diagnóstico. No obstante, si se insertan una o más instrucciones GET_ERROR o GET_ERROR_ID en un bloque lógico, este podrá tratar los errores en el bloque.
Instrucciones básicas 8.8 Control del programa 8.8.9 RUNTIME (medir tiempo de ejecución) Tabla 8- 150 Instrucción RUNTIME KOP / FUP Descripción Ret_Val := RUNTIME( Mide el tiempo de ejecución de todo el programa, bloques individua- _lread_inout_); les o secuencias de comandos. Si desea medir el tiempo de ejecución de todo el programa, llame la instrucción "Medir tiempo de ejecución"...
Instrucciones básicas 8.8 Control del programa Ejemplo: Instrucción RUNTIME El ejemplo siguiente muestra el uso de la instrucción RUNTIME para medir el tiempo de ejecución de un bloque de función: Segmento 1: Segmento 2: Segmento 3: Cuando el operando "Tag_1" del segmento 1 tiene el estado lógico "1", se ejecuta la instrucción RUNTIME.
Instrucciones básicas 8.8 Control del programa 8.8.10 Instrucciones de control del programa de SCL 8.8.10.1 Vista general de las instrucciones de control del programa de SCL Structured Control Language (SCL) proporciona tres tipos de instrucción de control de programa para estructurar el programa de usuario: ●...
Instrucciones básicas 8.8 Control del programa 8.8.10.2 Instrucción IF-THEN La instrucción IF-THEN es una instrucción condicional que controla el flujo del programa ejecutando una serie de instrucciones basándose en la evaluación de un valor Bool de una expresión lógica. También es posible utilizar paréntesis para anidar o estructurar la ejecución de instrucciones IF-THEN múltiples.
Instrucciones básicas 8.8 Control del programa 8.8.10.3 Instrucción CASE Tabla 8- 155 Elementos de la instrucción CASE Descripción CASE "Valor_test" OF La instrucción CASE ejecuta uno de varios "ListaValores": Instrucción[; Instrucción, ...] grupos de instrucciones en función del valor "ListaValores": Instrucción[; Instrucción, ...] de una expresión.
Instrucciones básicas 8.8 Control del programa Ejemplo: instruccionesCASE anidadas Las instrucciones CASE pueden anidarse. Cada instrucción CASE anidada debe tener asociada una instrucción END_CASE. CASE "var1" OF 1 : #var2 := 'A'; 2 : #var2 := 'B'; ELSE CASE "var3" OF 65..90: #var2 := 'UpperCase';...
Instrucciones básicas 8.8 Control del programa La instrucción FOR se ejecuta de la siguiente manera: ● Al comienzo del bucle, la variable de control se pone al valor inicial (asignación inicial) y cada vez que el bucle itera se incrementa con el incremento especificado (incremento positivo) o se decrementa (incremento negativo) hasta que se alcanza el valor final.
Instrucciones básicas 8.8 Control del programa La instrucción WHILE se ejecuta de acuerdo con las siguientes normas: ● Antes de cada iteración del cuerpo del bucle se evalúa la condición de ejecución. ● El cuerpo del bucle que sigue a DO va iterando mientras la condición de ejecución tenga el valor TRUE.
Instrucciones básicas 8.8 Control del programa 8.8.10.7 Instrucción CONTINUE Tabla 8- 163 Instrucción CONTINUE Descripción CONTINUE La instrucción CONTINUE salta las instrucciones siguientes de un bucle de programa Instrucción; (FOR, WHILE, REPEAT) y continúa el bucle comprobando si se da la condición de fin. Si no es así, el bucle continúa.
Instrucciones básicas 8.8 Control del programa 8.8.10.8 Instrucción EXIT Tabla 8- 164 Instrucción EXIT Descripción EXIT; La instrucción EXIT se utiliza para finalizar un bucle (FOR, WHILE o REPEAT) en cualquier punto, inde- pendientemente de si se cumple o no la condición de fin. La instrucción EXIT se ejecuta de acuerdo con las siguientes normas: ●...
Instrucciones básicas 8.8 Control del programa 8.8.10.9 Instrucción GOTO Tabla 8- 165 Instrucción GOTO Descripción GOTO JumpLabel; La instrucción GOTO omite instrucciones y salta a una etiqueta del mismo bloque. instrucción; La etiqueta ("JumpLabel") y la instrucción GOTO deben estar en el mismo bloque..
Instrucciones básicas 8.9 Operaciones lógicas con palabras Operaciones lógicas con palabras 8.9.1 Instrucciones de operaciones lógicas AND, OR y XOR Tabla 8- 167 Instrucciones de operaciones lógicas AND, OR y XOR KOP / FUP Descripción out := in1 AND in2; Y: Y lógica out := in1 OR in2;...
Instrucciones básicas 8.9 Operaciones lógicas con palabras 8.9.2 INV (complemento a 1) Tabla 8- 169 Instrucción INV KOP / FUP Descripción No disponible Calcula el complemento binario a uno del parámetro IN. El complemento a uno se obtiene invirtiendo cada valor de bit del parámetro IN (cambian- do cada 0 a 1 y cada 1 a 0).
Página 349
Instrucciones básicas 8.9 Operaciones lógicas con palabras Tabla 8- 172 Tipos de datos para los parámetros Parámetro Tipo de datos Descripción ENCO: Byte, Word, DWord ENCO: Patrón de bits que debe codificarse DECO: UInt DECO: Valor que debe descodificarse ENCO: Int ENCO: Valor codificado DECO: Byte, Word, DWord DECO: Patrón de bits descodificado...
Instrucciones básicas 8.9 Operaciones lógicas con palabras 8.9.4 Instrucciones SEL (Seleccionar), MUX (Multiplexar) y DEMUX (Desmultiplexar) Tabla 8- 175 Instrucción SEL (seleccionar) KOP / FUP Descripción out := SEL( La instrucción SEL (Seleccionar) asigna uno de dos valores de g:=_bool_in, entrada al parámetro OUT, dependiendo del valor del parámetro G.
Página 351
Instrucciones básicas 8.9 Operaciones lógicas con palabras Para agregar una entrada, haga clic en el icono "Crear" o haga clic con el botón derecho del ratón en el conector de entrada del parámetro IN existente y seleccione el comando "Insertar entrada". Para quitar una entrada, haga clic con el botón derecho del ratón en el conector de entrada de uno de los parámetros IN existentes (si hay más entradas además de las dos originales) y seleccione el comando "Borrar".
Página 352
Instrucciones básicas 8.9 Operaciones lógicas con palabras Para agregar una salida, haga clic en el icono "Crear" o haga clic con el botón derecho del ratón en un conector de salida del parámetro OUT existente y se- leccione el comando "Insertar salida". Para eliminar una salida, haga clic con el botón derecho del ratón en el conector de salida de uno de los parámetros OUT existentes (si hay más salidas además de las dos originales) y seleccione el comando "Borrar".
Instrucciones básicas 8.10 Desplazamiento y rotación 8.10 Desplazamiento y rotación 8.10.1 Instrucciones SHR (Desplazar a la derecha) y SHL (Desplazar a la izquierda) Tabla 8- 182 Instrucciones SHR y SHL KOP / FUP Descripción out := SHR( Utilice las instrucciones de desplazamiento (SHL y SHR) para in:=_variant_in_, desplazar el patrón de bits del parámetro IN.
Instrucciones básicas 8.10 Desplazamiento y rotación 8.10.2 Instrucciones ROR (Rotar a la derecha) y ROL (Rotar a la izquierda) Tabla 8- 185 Instrucciones ROR y ROL KOP / FUP Descripción out := ROL( Utilice las instrucciones de rotación (ROR y ROL) para rotar el patrón in:=_variant_in_, de bits del parámetro IN.
Instrucciones avanzadas Funciones de fecha, hora y reloj 9.1.1 Instrucciones de fecha y hora Utilice las instrucciones de fecha y hora para realizar cálculos de calendario y hora. ● T_CONV convierte un valor a o desde (tipos de datos de fecha y hora) y (tipos de datos de byte, palabra y palabra doble).
Página 356
Instrucciones avanzadas 9.1 Funciones de fecha, hora y reloj Nota Uso de T_CONV para convertir un tamaño de datos mayor en un tamaño de datos menor Los valores de datos se pueden truncar cuando convierte un tipo de datos mayor con más bytes en un tipo de datos menor con menos bytes.
Página 357
Instrucciones avanzadas 9.1 Funciones de fecha, hora y reloj Tabla 9- 5 Instrucción T_DIFF (Diferencia de tiempo) KOP / FUP Descripción out := T_DIFF( T_DIFF resta el valor DTL (IN2) del valor DTL (IN1). En el parámetro in1:=_DTL_in, OUT se deposita el valor de diferencia como tipo de datos Time. in2:=_DTL_in);...
(http://www.industry.siemens.com/topics/global/en/industrial- security/Documents/operational_guidelines_industrial_security_en.pdf) en la página de atención al cliente de Siemens. Las instrucciones de reloj se utilizan para ajustar y leer el reloj del sistema de la CPU. El tipo de datos DTL (Página 140) se utiliza para proporcionar valores de fecha y hora.
Página 359
Instrucciones avanzadas 9.1 Funciones de fecha, hora y reloj KOP / FUP Descripción ret_val := RD_LOC_T (leer hora local) da la hora local actual de la CPU RD_LOC_T( como tipo de datos DTL. Este valor de tiempo refleja la zona horaria local ajustada correctamente según el cambio de horario de verano/invierno (si está...
Página 360
Instrucciones avanzadas 9.1 Funciones de fecha, hora y reloj Tabla 9- 10 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción Hora que debe ajustarse en el reloj del sistema de la CPU RD_SYS_T: hora de sistema actual de la CPU RD_LOC_T: hora local actual, incluido cualquier ajuste para el horario de verano, si está...
Instrucciones avanzadas 9.1 Funciones de fecha, hora y reloj RET_VAL (W#16#..) Descripción 8087 Valor de nanosegundo no válido (bytes 8 a 11 en formato DTL) 8089 El valor de hora no existe (la hora ya ha pasado al cambiar al horario de verano) 80B0 Ha fallado el reloj de tiempo real 80B1...
Instrucciones avanzadas 9.1 Funciones de fecha, hora y reloj 9.1.4 SET_TIMEZONE (ajustar zona horaria) Tabla 9- 11 Instrucción SET_TIMEZONE KOP / FUP Descripción "SET_TIMEZONE_DB"( Ajusta la zona horaria local y los paráme- REQ:=_bool_in, tros de horario de invierno/verano utilizados Timezone:=_struct_in, para convertir la hora del sistema de la DONE=>_bool_out_, CPU en hora local.
Instrucciones avanzadas 9.1 Funciones de fecha, hora y reloj 9.1.5 RTM (contador de horas de funcionamiento) Tabla 9- 13 Instrucción RTM KOP / FUP Descripción RTM(NR:=_uint_in_, La instrucción RTM (Contador de horas de funcionamiento) MODE:=_byte_in_, puede inicializar, arrancar, parar y leer los contadores de horas PV:=_dint_in_, de funcionamiento de la CPU.
Página 364
Instrucciones avanzadas 9.1 Funciones de fecha, hora y reloj Un fallo de alimentación de la CPU o una desconexión y reconexión provoca un proceso de cierre (power down), que guarda los valores actuales de horas de funcionamiento en una memoria remanente. Cuando la CPU vuelve a arrancar, los valores de horas de funcionamiento guardados se vuelven a cargar en los temporizadores, y los totales anteriores de horas de funcionamiento no se pierden.
Instrucciones avanzadas 9.2 Cadena y carácter Cadena y carácter 9.2.1 Sinopsis del tipo de datos String Tipo de datos STRING Los datos String se almacenan como encabezado de 2 bytes seguido de 254 bytes de caracteres en código ASCII. Un encabezado String contiene dos longitudes. El primer byte contiene la longitud máxima que se indica entre corchetes cuando se inicializa una cadena o 254 (ajuste predeterminado).
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.2 S_MOVE (desplazar cadena de caracteres) Tabla 9- 16 Instrucción Desplazar cadena de caracteres KOP / FUP Descripción out := in; Copiar la cadena IN fuente en la posición OUT. La instrucción S_MOVE no afecta a los contenidos de la cadena fuente.
Página 367
Instrucciones avanzadas 9.2 Cadena y carácter S_CONV (convertir cadena de caracteres) Tabla 9- 18 Instrucciones de conversión de cadenas KOP / FUP Descripción out := Convierte una cadena de caracteres en el valor correspondiente o <Type>_TO_<Type>(in); viceversa. La instrucción S_CONV no tiene opciones de formato de salida.
Página 368
Instrucciones avanzadas 9.2 Cadena y carácter S_CONV (convertir cadena de caracteres) Tabla 9- 20 Tipos de datos (valor en cadena) Parámetro y tipo Tipo de datos Descripción String, WString, Char, WChar, SInt, Int, DInt, USInt, UInt, UDInt, Entrada que contiene el valor Real, LReal numérico String, WString...
Página 369
Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9- 21 Longitudes de cadena máximas para cada tipo de datos Tipo de da- Posiciones Ejemplo de cadena convertida Longitud total de la cadena incluyendo los bytes de tos IN de caracteres longitud máxima y actual asignadas por S_CONV USInt...
Página 370
Instrucciones avanzadas 9.2 Cadena y carácter La conversión comienza en el offset de carácter P de la cadena IN y continúa hasta su final, o bien hasta que se encuentra el primer carácter que no sea "+", "-", ".", ",", "e", "E" o "0" a "9".
Página 371
Instrucciones avanzadas 9.2 Cadena y carácter VAL_STRG (convertir valor numérico en cadena de caracteres) Tabla 9- 26 Operación de conversión de valor en cadena KOP / FUP Descripción "VAL_STRG"( Convierte un valor entero, entero sin signo o en coma in:=_variant_in, flotante en la cadena de caracteres correspondiente.
Página 372
Instrucciones avanzadas 9.2 Cadena y carácter El parámetro FORMAT de la instrucción VAL_STRG se define a continuación. Los bits no utilizados deben ponerse a cero. Tabla 9- 28 Formato de la instrucción VAL_STRG Bit 8 Bit 7 Bit 0 s = Carácter de signo 1= usar los signos "+"...
Instrucciones avanzadas 9.2 Cadena y carácter ● Si el parámetro FORMAT está ajustado a notación exponencial, los valores del tipo de datos Real se escriben en el búfer de salida de la siguiente manera: <espacios iniciales><signo><dígito> '.' <dígitos PREC>'E' <signo><dígitos sin cero inicial>...
Página 374
Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9- 31 Ejemplo de conversión de cadena en valor con S_CONV Cadena IN Tipo de datos OUT Valor OUT "123" Int o DInt TRUE "-00456" Int o DInt -456 TRUE "123,45" Int o DInt TRUE "+2345"...
Página 375
Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9- 33 Ejemplo: conversión de STRG_VAL Cadena IN FORMAT Tipo de datos OUT Valor OUT (W#16#..) "123" 0000 Int o DInt TRUE "-00456" 0000 Int o DInt -456 TRUE "123,45" 0000 Int o DInt TRUE "+2345"...
Página 376
Instrucciones avanzadas 9.2 Cadena y carácter Los siguientes ejemplos de conversión VAL_STRG se basan en una cadena OUT que se inicializa de la manera siguiente: " " Current Temp = xxxxxxxxxx C , donde el carácter " " representa caracteres de espacio asignados al valor convertido. Tabla 9- 34 Ejemplo: conversión de VAL_STRG Tipo de...
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.3.2 Instrucciones Strg_TO_Chars y Chars_TO_Strg (Convertir a/de cadena de caracteres y Array of CHAR) Strg_TO_Chars copia una cadena de caracteres ASCII en una matriz de bytes de caracteres. Chars_TO_Strg copia una matriz de bytes de caracteres ASCII en una cadena de caracteres.
Página 378
Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9- 37 Instrucción Chars_TO_Strg KOP / FUP Descripción Chars_TO_Strg( Toda una matriz de caracteres o una parte de ella se copia en Chars:=_variant_in_, una cadena. pChars:=_dint_in_, La cadena de salida debe estar declarada antes de ejecutar Cnt:=_uint_in_, Chars_TO_Strg.
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.3.3 Instrucciones ATH y HTA (Convertir a/de cadena de caracteres ASCII y número hexadecimal) Utilice las instrucciones ATH (ASCII a hexadecimal) y HTA (hexadecimal a ASCII) para realizar conversiones entre bytes de caracteres ASCII (0 a 9 y mayúsculas solo de A a F) y los correspondientes nibbles hexadecimales de 4 bits.
Página 380
Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9- 43 Instrucción HTA KOP / FUP Descripción ret_val := HTA( Convierte dígitos hexadecimales comprimidos en los correspon- in:=_variant_in_, dientes bytes de caracteres ASCII. n:=_uint_in_, out=>_variant_out_); Tabla 9- 44 Tipos de datos para la instrucción HTA Parámetro y tipo Tipo de datos Descripción...
Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9- 46 Códigos de condición ATH and HTA RET_VAL Descripción (W#16#..) 0000 No hay error TRUE 0007 Carácter de entrada ATH no válido: Se ha encontrado un carácter que no era un ca- FALSE rácter ASCII 0-9, minúscula de "a"...
Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9- 48 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción String, WString Cadena de entrada DInt Número máximo de caracteres permitidos para una cadena IN 9.2.4.2 LEN (determinar la longitud de una cadena de caracteres) Tabla 9- 49 Instrucciones de longitud KOP / FUP...
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.4.3 CONCAT (agrupar cadenas de caracteres) Tabla 9- 52 Instrucción Agrupar cadenas KOP / FUP Descripción out := CONCAT(in1, in2); CONCAT (agrupar cadenas) agrupa los parámetros de las cade- nas IN1 y IN2 para proporcionar una cadena que se deposita en OUT.
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.4.4 Instrucciones LEFT, RIGHT y MID (Leer los caracteres izquierdos, derechos o centrales de una cadena) Tabla 9- 55 Operaciones de subcadenas izquierda, derecha y central KOP / FUP Descripción out := LEFT(in, L); LEFT (Leer los caracteres izquierdos de una cadena) crea una subca- dena formada por los primeros caracteres L del parámetro de cadena Si L es mayor que la longitud actual de la cadena IN, OUT devuel-...
Página 385
Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9- 57 Estado de ENO Condición No se han detectado errores Caracteres válidos La longitud actual se pone a 0 L o P es menor o igual que 0 • P es mayor que la longitud máxima de IN •...
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.4.5 DELETE (borrar caracteres de una cadena) Tabla 9- 58 Instrucción Borrar caracteres de una cadena KOP / FUP Descripción out := DELETE(in, L, p); Borra L caracteres de la cadena IN. El borrado de caracteres comienza en la posición P (inclusive) y la subcadena resultante se deposita en el parámetro OUT.
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.4.6 INSERT (insertar caracteres en una cadena) Tabla 9- 61 Instrucción Insertar caracteres en una cadena KOP / FUP Descripción out := INSERT(in1, in2, p); Inserta la cadena IN2 en la cadena IN1. La inserción comienza tras el carácter de la posición P.
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.4.7 REPLACE (reemplazar caracteres de una cadena) Tabla 9- 64 Instrucción Reemplazar caracteres en una cadena KOP / FUP Descripción out := REPLACE( Reemplaza L caracteres en el parámetro de cadena IN1. La susti- in1:=_string_in_, tución comienza en la posición de carácter P (inclusive) de la ca- in2:=_string_in_,...
Página 389
Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9- 66 Estado de ENO Condición No se han detectado errores Caracteres válidos P excede la longitud de IN1 IN2 se agrupa con IN1 inmediatamente después del último carácter de IN1 P cabe en IN1, pero menos de L caracteres permanecen en IN1 IN2 reemplaza los caracteres finales de IN1 comenzando por la posición P La cadena resultante tras la sustitución excede la longitud máxima...
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.4.8 FIND (buscar caracteres en una cadena) Tabla 9- 67 Instrucción Buscar caracteres en una cadena KOP / FUP Descripción out := FIND( Proporciona la posición de carácter de la subcadena especificada en in1:=_string_in_, IN2 dentro de la cadena IN1.
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.5 Información de tiempo de ejecución 9.2.5.1 GetSymbolName (leer nombre de una variable en el parámetro de entrada) Tabla 9- 70 Instrucción GetSymbolName KOP / FUP Descripción OUT := GetSymbolName( La instrucción GetSymbolName devuelve una variable:=_parameter_in_, cadena correspondiente al nombre de una size:=_dint_in_);...
Instrucciones avanzadas 9.2 Cadena y carácter Ejemplo: Significado del parámetro SIZE El siguiente ejemplo ilustra el significado del parámetro SIZE. El nombre de variable siguiente se lee desde la interfaz del bloque: "MyPLCTag" (las comillas dobles al principio y al final forman parte del nombre). SIZE Se devuelve GetSym- Explicación...
Instrucciones avanzadas 9.2 Cadena y carácter Ejemplo: Leer un nombre simbólico En el ejemplo siguiente se lee el nombre de una variable que está interconectada mediante el parámetro de entrada de un bloque. Cree dos variables en un bloque de datos global para guardar los datos. Cree un parámetro de entrada inputValue con el tipo de datos BYTE en el bloque Level1.
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.5.2 GetSymbolPath (consultar el nombre global compuesto de la alimentación del parámetro de entrada) Tabla 9- 71 Instrucción GetSymbolPath KOP / FUP Descripción OUT := GetSymbolPath( La instrucción GetSymbolPath lee el nombre variable:=_parameter_in_, global compuesto de un parámetro de entrada size:=_dint_in_);...
Instrucciones avanzadas 9.2 Cadena y carácter Utilización Tenga en cuenta los consejos siguientes sobre el uso de la instrucción GetSymbolPath: ● Especifique la interfaz del bloque a través de la que se lee el nombre de la variable de entrada en el parámetro VARIABLE de la instrucción: –...
Página 396
Instrucciones avanzadas 9.2 Cadena y carácter Ejemplo: Llamar GetSymbolPath en varios niveles de llamada del bloque El ejemplo siguiente muestra el uso de GetSymbolPath en varios niveles de llamada: ● El bloque de organización OB1 llama el bloque FB_Level_1 que, a su vez, llama el bloque FB_Level_2.
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.5.3 GetInstanceName (leer el nombre de la instancia de bloque) Tabla 9- 72 Instrucción GetInstanceName KOP / FUP Descripción OUT := GetInstanceName( La instrucción GetInstanceName se utiliza size:=_dint_in_); para leer el nombre del bloque de datos de instancia dentro de un bloque de función.
Página 398
Instrucciones avanzadas 9.2 Cadena y carácter Ejemplo: Significado del parámetro SIZE Para limitar la longitud del nombre de instancia leído debe utilizarse el parámetro SIZE. Si la instrucción ha truncado el nombre, indica el truncamiento en el carácter "..." (carácter Unicode 16#2026) al final del nombre.
Página 399
Instrucciones avanzadas 9.2 Cadena y carácter Ejemplo: Leer el nombre de un bloque de datos de instancia El ejemplo siguiente muestra cómo se lee el nombre de un bloque de datos de instancia. Cree dos variables en un bloque de datos global para guardar los datos. Defina los parámetros de la instrucción del siguiente modo.
Instrucciones avanzadas 9.2 Cadena y carácter 9.2.5.4 GetInstancePath (consultar el nombre global compuesto de la instancia de bloque) Tabla 9- 73 Instrucción GetInstancePath KOP / FUP Descripción OUT := GetInstancePath( La instrucción GetInstancePath se utiliza para size:=_dint_in_); leer el nombre global compuesto de la instan- cia del bloque dentro de un bloque de función.
Página 401
Instrucciones avanzadas 9.2 Cadena y carácter Ejemplo: Llamar GetInstancePath para obtener la ruta de una llamada de FB multiinstancia En el ejemplo siguiente, el bloque de función FB_Level_3 llama la instrucción GetInstancePath. ● El bloque de función FB_Level_3 guarda sus datos en el bloque de función FB_Level_2 que efectúa la llamada.
Instrucciones avanzadas 9.2 Cadena y carácter SIZE Se devuelve GetInstance- Explicación Path '"IDB_...' Primer carácter de WSTRING:' • Los cinco primeros caracteres del nombre e identificador • de que se ha truncado el nombre: "IDB_... Último carácter de WSTRING:' • '"IDB_LEVEL_1".Level_2_ Primer carácter de WSTRING:' •...
Página 403
Instrucciones avanzadas 9.2 Cadena y carácter Encontrará información adicional sobre los tipos de datos válidos en "Tipos de datos (Página 136)". Ejemplo: Significado del parámetro SIZE Para limitar la longitud del nombre del bloque en un determinado número de caracteres, especifique la longitud máxima en el parámetro SIZE.
Página 404
Instrucciones avanzadas 9.2 Cadena y carácter Ejemplo: Leer un nombre de bloque El ejemplo siguiente muestra cómo se lee el nombre de un bloque. 1. Cree dos variables en un bloque de datos global para guardar los datos. 2. Defina los parámetros de la instrucción del siguiente modo: El bloque Level1_gbn ejecuta la instrucción GetBlockName.
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) E/S distribuidas (PROFINET, PROFIBUS o AS-i) 9.3.1 Instrucciones de E/S descentralizadas Las siguientes instrucciones E/S descentralizadas pueden utilizarse con PROFINET, PROFIBUS o AS-i: ● Instrucción RDREC (Página 406): Lee un registro con el número INDEX de un módulo o dispositivo.
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) 9.3.2 RDREC y WRREC (leer/escribir registro) Las instrucciones RDREC (leer registro) y WRREC (escribir registro) se pueden utilizar con PROFINET, PROFIBUS y AS-i. Tabla 9- 75 Instrucciones RDREC y WRREC KOP / FUP Descripción "RDREC_DB"( Use la instrucción RDREC para leer un...
Página 407
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Tabla 9- 76 Tipos de datos RDREC y WRREC para los parámetros Parámetro y tipo Tipo de datos Descripción Bool REQ = 1: Transferir juego de datos HW_IO (Word) Dirección lógica del esclavo DP o componente PROFINET IO (módulo o submódulo): Para un módulo de salida debe activarse el bit 15 (por ejem- •...
Página 408
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Parámetro y tipo Tipo de datos Descripción OUT (RDREC) UInt Longitud de la información de registro recuperada (RDREC) • IN (WRREC) Longitud máxima en bytes del registro que debe transferirse • (WRREC) RECORD IN_OUT...
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) 9.3.3 GETIO (leer memoria imagen de proceso) La instrucción "GETIO" se utiliza para leer de forma coherente las entradas de módulos o submódulos de esclavos DP o dispositivos PROFINET IO. La instrucción "GETIO" llama la instrucción "DPRD_DAT (Página 430)".
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) 9.3.4 SETIO (transferir memoria imagen de proceso) La instrucción "SETIO" se utiliza para transferir de forma coherente los datos del rango de origen definido en el parámetro OUTPUTS a los módulos o submódulos direccionados de esclavos DP normalizados y dispositivos PROFINET IO.
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Parámetros La tabla siguiente muestra los parámetros de la instrucción "SETIO": Parámetro Declaración Tipo de datos Descripción HW_SUBMOD Identificador de hardware del esclavo DP normalizado / dispositivo PROFINET IO STATUS DWord Contiene la información de error de "DPWR_DAT (Página 430)"...
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) 9.3.5 GETIO_PART (leer área de memoria imagen de proceso) La instrucción "GETIO_PART" se utiliza para leer de forma coherente una parte de las entradas de módulos o submódulos de esclavos DP o dispositivos PROFINET IO. GETIO_PART llama la instrucción "DPRD_DAT (Página 430)".
Página 413
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Parámetros La tabla siguiente muestra los parámetros de la instrucción GETIO_PART: Parámetro Declaración Tipo de datos Descripción HW_SUBMO Identificador de hardware del módulo DULE OFFSET Número del primer byte que debe leerse en la memoria imagen de proceso del componente (mínimo valor posible: 0) Número de bytes que deben leerse STATUS...
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) 9.3.6 SETIO_PART (transferir área de memoria imagen de proceso) La instrucción "SETIO_PART" se utiliza para escribir de forma coherente datos del área de origen delimitada por OUTPUTS en las salidas de módulos o submódulos de esclavos DP o dispositivos PROFINET IO.
Página 415
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Parámetros La tabla siguiente muestra los parámetros de la instrucción SETIO_PART: Parámetro Declaración Tipo de datos Descripción HW_SUBMO Identificador de hardware del módulo de periferia DULE OFFSET Número del primer byte que debe escribirse en la memoria imagen de proceso del componente (mínimo valor posible: 0) Número de bytes que deben escribirse STATUS...
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) 9.3.7 RALRM (recibir alarma) La instrucción RALRM (Recibir alarma) puede usarse con PROFINET y PROFIBUS. Tabla 9- 81 Instrucción RALRM KOP / FUP Descripción "RALRM_DB"( Use la instrucción RALRM (leer alarma) para leer la información mode:=_int_in_, de una alarma de diagnóstico desde módulos o dispositivos de f_ID:=_word_in_,...
Página 417
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Parámetro y tipo Tipo de datos Descripción HW_IO (Word) Identificador de hardware del módulo de E/S que ha provocado la alarma de diagnóstico. Nota: consulte el parámetro F_ID para obtener una explicación de cómo determinar la ID de dispositivo.
Página 418
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Llamar RALRM La instrucción RALRM se puede llamar en tres modos de operación diferentes (MODE). Tabla 9- 83 Modos de operación de la instrucción RALRM MODE Descripción ID contiene la ID de hardware del módulo de E/S que ha disparado la alarma. •...
Página 419
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Datos de bloques de organización de TInfo En la tabla se muestra cómo se organizan los datos de TInfo para la instrucción RALRM: Igual para OB: estado, actualización, SI_Format OB_Class OB_Nr perfil, alarma de error de diagnóstico, presencia de módulo, fallo de rack o esta- ción...
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) 9.3.8 D_ACT_DP (activar/desactivar dispositivos PROFINET IO) La instrucción "D_ACT_DP" permite desactivar y activar dispositivos PROFINET IO configurados de forma selectiva. También es posible determinar si cada dispositivo PROFINET IO asignado está activado o desactivado en esos momentos. Nota La instrucción D_ACT_DP solo puede utilizarse con dispositivos PROFINET IO.
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Ejemplos Desde el punto de vista de un fabricante de máquinas hay muchas opciones de dispositivos posibles en la fabricación de máquinas en serie. Sin embargo, cada máquina suministrada incluye únicamente una combinación de opciones determinada. El fabricante configura cada una de estas opciones posibles para la máquina como un dispositivo PROFINET IO.
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Si una estación PROFINET IO falla después de haberla desactivado con D_ACT_DP, el sistema operativo no detecta el fallo. Activar dispositivos PROFINET IO Cuando se reactiva un dispositivo PROFINET IO con D_ACT_DP, el controlador PROFINET IO asociado configura el componente y lo parametriza (igual que cuando retorna una estación PROFINET IO que había fallado).
Página 423
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Parámetro Declara- Tipo de datos Descripción ción LADDR HW_DEVICE Identificador de hardware del dispositivo PROFINET IO (HW_Device) El número puede tomarse de las propiedades del dispositivo PROFINET IO en la Vista de redes o de la ficha "Constantes de sistema"...
Página 424
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Código de Explicación error* (W#16#...) 80A1 No es posible asignar parámetros al componente direccionado. (Este código de error solo es posible si MODE = 1.) Nota: Si este componente vuelve a fallar durante la parametrización del dispositivo activado, la instrucción D_ACT_DP proporciona la información de error.
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) 9.3.9 Parámetro STATUS para RDREC, WRREC y RALRM El parámetro de salida STATUS contiene información de error que se interpreta como ARRAY[1...4] OF BYTE con la siguiente estructura: Tabla 9- 85 Matriz de salida STATUS Elemento de Nombre...
Página 426
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Tabla 9- 87 Valores de STATUS[3] Error_decode Error_code_1 Explicación (DVP1) Descripción (B#16#..) (B#16#..) Sin errores o alarmas Reservado, rechazar Llamada inicial; sin transferencia de registro activa Reservado, rechazar Llamada inicial; transferencia de registro iniciada Reservado, rechazar Llamada intermedia;...
Página 427
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Error_decode Error_code_1 Explicación (DVP1) Descripción (B#16#..) (B#16#..) Error de longitud de La información de longitud en el parámetro RECORD es escritura incorrecta. Con "RALRM": error de longitud en AINFO • Nota: consulte la Ayuda online de STEP 7 para acce- der directamente a información sobre cómo interpre- tar los búferes "AINFO"...
Página 428
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Error_decode Error_code_1 Explicación (DVP1) Descripción (B#16#..) (B#16#..) Recurso no disponible Los recursos requeridos están ocupados en este mo- mento. Error temporal interno. No ha sido posible realizar la tarea. Repetir la tarea. Si se produce este error, compruebe la instalación en busca de fuentes de perturbación eléctrica.
Página 429
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Error_decode Error_code_1 Explicación (DVP1) Descripción (B#16#..) (B#16#..) 00 a FF Error en el 15.º parámetro de llamada FE, FF 00 a FF Error específico de perfil Elemento de matriz STATUS[4] Con errores DPV1, el maestro DP transfiere en STATUS[4] a la CPU y a la instrucción. Sin un error de DPV1, este valor se pone a 0 con las siguientes excepciones para RDREC: ●...
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) 9.3.10 Otras 9.3.10.1 DPRD_DAT y DPWR_DAT (leer/escribir datos coherentes) La instrucción DPRD_DAT (leer datos coherentes) se utiliza para leer uno o varios bytes de datos de forma coherente y la instrucción DPWR_DAT (escribir datos coherentes) se utiliza para transferir uno o varios bytes de datos de forma coherente.
Página 431
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Nota Si se utiliza las instrucciones DPRD_DAT y DPWR_DAT con datos coherentes, hay que retirar los datos coherentes de la actualización automática de la memoria imagen de proceso. Véase "Conceptos de PLC: Ejecución del programa de usuario" (Página 89) para obtener más información.
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Operaciones DPWR_DAT Utilice el parámetro LADDR para seleccionar el módulo del esclavo DP normalizado / dispositivo PROFINET IO. Si se produce un error de acceso en el módulo direccionado, se emite el código de error W#16#8090. Utilice el parámetro RECORD para definir el rango de origen de los datos que deben escribirse: ●...
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Nota Si se accede a esclavos DPV1, la información de error de estos puede transmitirse del maestro DP a la instrucción. 9.3.10.2 RCVREC (recibir registro con I-device/esclavo I) Un I-device puede recibir un registro de un controlador de nivel superior. La recepción tiene lugar en el programa de usuario con la instrucción RCVREC (recibir registro).
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Ponga CODE1 y CODE2 a cero para la respuesta positiva al controlador de nivel superior. Si el registro recibido debe rechazarse, introduzca la respuesta negativa al controlador de nivel superior en Error Code 1 de CODE1 y en Error Code 2 de CODE2. Nota Si el I-device ha recibido una petición para recibir un registro, hay que acusar la entrega de esta petición en un tiempo determinado.
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Parámetros La tabla siguiente muestra los parámetros de la instrucción RCVREC: Parámetro Declara- Tipo de datos Descripción ción MODE Modo F_ID HW_SUBMODULE Subslot en el área de transferencia del I-device para el registro que debe recibirse (solo relevante si MODE = 2).
Página 436
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) La instrucción tiene los siguientes estados operativos: ● Comprobar si el I-device tiene una petición para proveer un registro ● Transferir el registro solicitado al controlador de nivel superior ● Enviar una respuesta al controlador de nivel superior El estado operativo que ejecuta la instrucción se determina mediante el parámetro de entrada MODE (véase más abajo).
Página 437
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Estados operativos El estado operativo de la instrucción PRVREC se determina con el parámetro de entrada MODE. Este paso se explica en la tabla siguiente: MODE Significado Comprobar si existe una petición para proveer un registro Si en el I-device hay una petición de un controlador de nivel superior para proveer un registro, la instrucción solo escribe en los parámetros de salida NEW, SLOT, SUBSLOT, INDEX y RLEN.
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Parámetros La tabla siguiente muestra los parámetros de la instrucción PRVREC: Parámetro Declara- Tipo de datos Descripción ción MODE Modo F_ID HW_SUBMODULE Subslot en el área de transferencia del I-device para el registro que debe enviarse (solo relevante si MODE = 2).
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) 9.3.10.4 DPNRM_DG (leer datos de diagnóstico de un esclavo DP) La instrucción DPNRM_DG (Leer datos de diagnóstico de un esclavo DP) puede utilizarse con PROFIBUS. Tabla 9- 93 Instrucción DPNRM_DG KOP / FUP Descripción ret_val := DPNRM_DG( Utilice la instrucción DPNRM_DG para leer los datos de diagnóstico...
Página 440
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Tabla 9- 95 Estructura de datos del diagnóstico de esclavo Byte Descripción Estado de estación 1 Estado de estación 2 Estado de estación 3 Número de estación maestra ID del fabricante (byte high) ID del fabricante (byte low) 6 ...
Página 441
Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Código de Descripción Restricción error 80C0 No hay información de diagnóstico. 80C1 El módulo aún no ha procesado los datos de la tarea de escritura anterior para el mismo registro. 80C2 Actualmente el módulo está...
Encontrará más información sobre PROFIenergy en la Ayuda en pantalla de STEP 7 (TIA Portal). Encontrará ejemplos de uso de las instrucciones PROFIenergy en la entrada "PROFIenergy - Ahorrar energía con SIMATIC S7 (http://support.automation.siemens.com/WW/view/es/41986454)" de Industry Online Support. Controlador programable S7-1200...
Instrucciones avanzadas 9.5 Alarmas Alarmas 9.5.1 Instrucciones ATTACH y DETACH (Asignar OB a evento de alarma/deshacer asignación) Las instrucciones ATTACH y DETACH permiten activar y desactivar subprogramas controlados por eventos de alarma. Tabla 9- 97 Instrucciones ATTACH y DETACH KOP / FUP Descripción ret_val := ATTACH( ATTACH habilita la ejecución de un subpro-...
Página 444
Instrucciones avanzadas 9.5 Alarmas Eventos de alarma de proceso La CPU soporta los siguientes eventos de alarma de proceso: ● Eventos de flanco ascendente: primeras 12 entradas digitales de la CPU integradas (de DIa.0 a DIb.3) y todas las entradas digitales de SB –...
Página 445
Instrucciones avanzadas 9.5 Alarmas Agregar OBs de alarma de proceso nuevos al programa de usuario De forma predeterminada, ningún OB está asignado a un evento cuando este se habilita por primera vez. Esto se indica en la etiqueta "<no conectado>" de la configuración de dispositivos para "Alarma de proceso:".
Instrucciones avanzadas 9.5 Alarmas Funcionamiento general Todo evento de hardware puede asignarse a un OB de alarma de proceso que se pondrá en cola de espera para ser ejecutado cuando ocurra el evento de alarma de proceso. El OB puede asignarse al evento durante la configuración o en runtime. Es posible asignar o cancelar la asignación de un OB a un evento habilitado al realizar la configuración.
Instrucciones avanzadas 9.5 Alarmas 9.5.2 Alarmas cíclicas 9.5.2.1 SET_CINT (ajustar parámetros de alarma cíclica) Tabla 9- 100 SET_CINT (Ajustar parámetros de alarma cíclica) KOP / FUP Descripción ret_val := SET_CINT( Ajustar el OB de alarma cíclica específico al comienzo ob_nr:=_int_in_, de la ejecución cíclica que interrumpe el ciclo del cycle:=_udint_in_, programa.
Página 448
Instrucciones avanzadas 9.5 Alarmas Para reiniciar la ejecución de un OB de menor prioridad en un ciclo de tiempo fijo, el tiempo de desfase debe ser mayor que el tiempo de procesamiento de OBs de mayor prioridad. Tabla 9- 102 Códigos de condición RET_VAL (W#16#..) Descripción 0000...
Instrucciones avanzadas 9.5 Alarmas 9.5.2.2 QRY_CINT (consultar parámetros de alarma cíclica) Tabla 9- 103 QRY_CINT (consultar parámetros de alarma cíclica) KOP / FUP Descripción ret_val := QRY_CINT( Obtener los parámetros y el estado de ejecución ob_nr:=_int_in_, de un OB de alarma cíclica. Los valores que se cycle=>_udint_out_, devuelven existían en el momento de ejecutar QRY_CINT.
CPU. Para más información sobre seguridad y recomendaciones, consulte nuestras "Guías operacionales sobre seguridad industrial" (http://www.industry.siemens.com/topics/global/en/industrial- security/Documents/operational_guidelines_industrial_security_en.pdf) en la página de atención al cliente de Siemens. Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Instrucciones avanzadas 9.5 Alarmas 9.5.3.1 SET_TINTL (Ajustar alarma horaria) Tabla 9- 107 SET_TINTL (Ajustar alarma horaria) KOP / FUP Descripción ret_val := SET_TINTL( Ajuste una alarma de fecha y hora. El OB OB_NR:=_int_in_, de alarma de programa se puede ajustar SDT:=_dtl_in_, para una ejecución o para una ejecución recurrente con un periodo de tiempo asig-...
Instrucciones avanzadas 9.5 Alarmas El valor de día de la semana en los datos DTL del parámetro SDT se pasa por alto. Para ajustar la fecha y hora actual de una CPU, utilice la función "Ajustar la hora" en la vista "Online y diagnóstico"...
Instrucciones avanzadas 9.5 Alarmas Tabla 9- 112 Códigos de condición RET_VAL (W#16#..) Descripción 0000 No hay error 8090 Parámetro OB_NR no válido 80A0 No hay fecha/hora de inicio ajustada para el OB de alarma 9.5.3.3 ACT_TINT (Activar alarma horaria) Tabla 9- 113 ACT_TINT (Activar una alarma de fecha y hora) KOP / FUP Descripción ret_val:=ACT_TINT(_int_in_);...
Instrucciones avanzadas 9.5 Alarmas 9.5.3.4 QRY_TINT (Consultar estado de alarma horaria) Tabla 9- 116 QRY_TINT (Consultar una alarma de fecha y hora) KOP / FUP Descripción ret_val:=QRY_TINT( Consulta el estado del evento de alarma de fecha y OB_NR:=_int_in_, hora de un OB de alarma especificado. STATUS=>_word_out_);...
Instrucciones avanzadas 9.5 Alarmas 9.5.4 Alarmas de retardo El procesamiento de las alarmas de retardo se puede iniciar y cancelar con las instrucciones SRT_DINT y CAN_DINT o se puede consultar el estado de la alarma con la instrucción QRY_DINT. Toda alarma de retardo es un evento único que ocurre al cabo del tiempo de retardo indicado.
Página 456
Instrucciones avanzadas 9.5 Alarmas Operación Si EN=1, la instrucción SRT_DINT inicia el temporizador de retardo interno (DTIME). Cuando termina el retardo, la CPU genera un alarma de programa que dispara la ejecución del OB de alarma de retardo asociado. Es posible cancelar una alarma de retardo en curso antes de que se produzca el retardo especificado ejecutando la instrucción CAN_DINT.
Página 457
Instrucciones avanzadas 9.5 Alarmas Parámetro STATUS de QRY_DINT Tabla 9- 122 Si hay un error (REL_VAL <> 0), entonces STATUS = 0. Valor Descripción En RUN En el arranque La alarma está habilitada. La alarma está deshabilitada. La alarma no está activa o ha transcurrido. La alarma está...
Instrucciones avanzadas 9.5 Alarmas 9.5.5 Instrucciones DIS_AIRT y EN_AIRT (Retardar/habilitar tratamiento de eventos de alarma y errores asíncronos de mayor prioridad) Las instrucciones DIS_AIRT y EN_AIRT sirven para deshabilitar y habilitar el procesamiento de alarmas. Tabla 9- 124 Instrucciones DIS_AIRT y EN_AIRT KOP / FUP Descripción DIS_AIRT();...
Instrucciones avanzadas 9.6 Alarmas Alarmas 9.6.1 Gen_UsrMsg (crear avisos de diagnóstico de usuario) Tabla 9- 126 Instrucción Gen_UsrMsg KOP / FUP Descripción ret_val :=Gen_UsrMsg( La instrucción "Gen_UsrMsg" se utiliza para Mode:=_uint_in_, crear un aviso de diagnóstico de usuario que TextID:=_uint_in_, puede ser tanto entrante como saliente.
Instrucciones avanzadas 9.6 Alarmas Definir valores asociados La entrada en la lista de textos define los nuevos valores asociados que deben agregarse al aviso: ● Incluya la información siguiente en la entrada de la lista de textos para definir valores asociados: @<N.º...
Página 461
Instrucciones avanzadas 9.6 Alarmas Parámetro AssocValues Utilice el tipo de datos de sistema AssocValues para definir los valores asociados que deben enviarse. Se admiten como máximo ocho valores asociados. Introduzca el tipo de datos "AssocValues" como bloque de datos para crear la estructura. Los valores asociados se seleccionan introduciendo sus números para los parámetros Value[x].
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Diagnóstico (PROFINET o PROFIBUS) 9.7.1 Instrucciones de diagnóstico Las siguientes instrucciones de diagnóstico se pueden utilizar tanto con PROFINET como con PROFIBUS: ● Instrucción RD_SINFO (Página 463): Lee la información de arranque del OB actual ●...
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 9.7.2 RD_SINFO (leer información de arranque del OB actual) Descripción Tabla 9- 127 Instrucción RD_SINFO KOP / FUP Descripción ret_val := RD_SINFO( La instrucción "RD_SINFO" se utiliza para leer la TOP_SI=>_variant_out_, información de arranque de los OB siguientes: El último OB llamado que todavía no ha ter- •...
Página 464
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) SDT del parámetro TOP_SI La tabla siguiente muestra los SDT posibles del parámetro TOP_SI: Bloques de organización (OB) Tipos de datos de sistema (SDT) Números de tipos de datos de sistema Cualquiera SI_classic* 592* SI_none ProgramCycleOB...
Página 465
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Estructuras Las tablas siguientes definen los elementos de las diferentes estructuras: Tabla 9- 128 Estructura de SI_classic Elemento de estructu- Tipo de datos Descripción EV_CLASS BYTE Bits 0 a 3: ID de evento •...
Página 466
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 131 Estructura de SI_TimeOfDay Elemento de estructu- Tipo de datos Descripción SI_Format USINT 16#FF = no hay información • 16#FE = información de arranque optimizada • OB_Class USINT := 10 Clase de OB para "no hay información" o "información de arranque optimiza- da"...
Página 467
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 134 Estructura de SI_HWInterrupt Elemento de estructu- Tipo de datos Descripción SI_Format USINT 16#FF = no hay información • 16#FE = información de arranque optimizada • OB_Class USINT := 40 Clase de OB para "no hay información" o "información de arranque optimiza- da"...
Página 468
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 137 Estructura de SI_IORedundancyError Elemento de estructu- Tipo de datos Descripción SI_Format USINT 16#FF = no hay información • 16#FE = información de arranque optimizada • OB_Class USINT := 70 Clase de OB para "no hay información" o "información de arranque optimiza- da"...
Página 469
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 140 Estructura de SI_DiagnosticInterrupt Elemento de estructu- Tipo de datos Descripción SI_Format USINT 16#FF = no hay información • 16#FE = información de arranque optimizada • OB_Class USINT := 82 Clase de OB para "no hay información" o "información de arranque optimiza- da"...
Página 470
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 143 Estructura de SI_StationFailure Elemento de estructu- Tipo de datos Descripción SI_Format USINT 16#FF = no hay información • 16#FE = información de arranque optimizada • OB_Class USINT := 86 Clase de OB para "no hay información" o "información de arranque optimiza- da"...
Página 471
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 145 Estructura de SI_Ipo Elemento de estructu- Tipo de datos Descripción SI_Format USINT 16#FF = no hay información • 16#FE = información de arranque optimizada • OB_Class USINT := 92 Clase de OB para "no hay información" o "información de arranque optimiza- da"...
Página 472
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 147 Estructura de SI_ProgIOAccessError Elemento de estructu- Tipo de datos Descripción SI_Format USINT 16#FF = no hay información • 16#FE = información de arranque optimizada • OB_Class USINT Clase de OB para "no hay información" o "información de arranque optimiza- da"...
Página 473
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetro RET_VAL En la tabla siguiente se explican los valores del parámetro RET_VAL: Código de Explicación error* (W#16#...) 8081 La información de arranque del OB actual no se corresponde con el tipo de datos de sistema especificado 8083 La información de arranque del último OB de arranque iniciado no se corresponde con el tipo de datos de sistema especificado...
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) La tabla siguiente muestra la asignación entre los elementos de estructura del parámetro START_UP_SI de la instrucción "RD_SINFO" y las variables locales asignadas del OB 100. Elemento de estructura Tipo de datos OB 100 - Variable local Tipo de datos START_UP_SI EV_CLASS...
Página 475
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 150 Estado de RET_VAL RET_VAL (W#16#...) Descripción Estado de LED 0 a 9 El DB no existe Color 1 encendido (permanente) Color 2 encendido (permanente) Color 1 parpadea a 2 Hz Color 2 parpadea a 2 Hz Color 1 &...
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 9.7.4 Get_IM_Data (leer datos de identificación y mantenimiento) La instrucción Get_IM_Data se utiliza para comprobar los datos de identificación y mantenimiento (I&M) del módulo o submódulo especificado. Tabla 9- 151 Instrucción Get_IM_Data KOP / FUP Descripción "GET_IM_DATA_DB"(LADDR:=16#0 Utilice la instrucción Get_IM_Data para com-...
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) ● Si el Array of Byte/Char que aparece en DATA es más largo que los datos IM solicitados, se agrega el valor 16#00. ● No se soportan otros tipos de datos, que devuelven el error 8093. Tabla 9- 153 Códigos de condición RET_VAL (W#16#...) Descripción...
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) El nombre que se lee depende del tipo de dispositivo IO: ● Esclavo DP o dispositivo IO: Nombre del módulo de cabecera ● Esclavo I o I-device: Nombre del módulo de interfaz ● Panel HMI: Nombre de la interfaz ●...
Página 479
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetro Declaración Tipo de datos Descripción DInt Longitud del nombre del dispositivo IO (número de caracte- res). STATUS Word Parámetro de estado: El parámetro solo está activado mien- tras dura una llamada. Para mostrar el estado debe copiar STATUS en un área de datos libre.
Página 480
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Ejemplo El ejemplo siguiente muestra cómo leer el nombre de estación de un dispositivo PROFINET IO ET 200SP: 1. Configurar un ET 200SP: – Cree un ET 200SP con el nombre de estación "Conveyor_1" en la vista de redes y asígnelo al mismo sistema PROFINET IO que la CPU.
Página 481
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Nota Cuando utilice la lista desplegable para configurar la variable en el parámetro DATA, seleccione el DB (en el ejemplo, "Bloque de datos") y la variable (en el ejemplo, "String[ ]"). Con el fin de leer todo el tipo de datos String, debe borrar los corchetes para que el resultado final sea: "Bloque de datos".String –...
Página 482
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 3. Ejecución de la instrucción Get_Name: – Mientras se ejecuta la instrucción, el parámetro de salida BUSY puede ponerse a "1" y el parámetro DONE se pone a "0". – La información del código de error se muestra en el parámetro de salida STATUS. Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Página 483
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 4. Completar la ejecución de la instrucción Get_Name: – Tras ejecutar la instrucción, el programa escribe "Conveyor_1", el nombre de la estación del ET 200SP, en el bloque de datos del parámetro DATA. –...
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 9.7.6 GetStationInfo (leer la dirección IP o MAC de un dispositivo PROFINET IO) La instrucción "GetStationInfo" lee la dirección IP o MAC de un dispositivo PROFINET IO del sistema IO local o de un dispositivo PROFINET IO ubicado en un sistema IO de nivel inferior (conectado usando módulos CP/CM).
Página 485
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) La instrucción muestra el estado de ejecución de la tarea de lectura por medio de los parámetros de salida BUSY, DONE y ERROR y el parámetro de salida STATUS. Nota Direccione el dispositivo IO empleando solo el identificador de hardware de la estación. La estación, el dispositivo IO y la interfaz PROFINET disponen de su propio identificador de hardware.
Página 486
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetro Declaración Tipo de datos Descripción ERROR Bool Parámetro STATUS: 0: Sin errores. • 1: Se ha producido un error al ejecutar la instrucción. • La información detallada se emite mediante el parámetro STATUS.
Página 487
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) ● Utilice la estructura "IF_CONF_MAC" en el parámetro DATA para guardar la dirección MAC: Byte Parámetro Tipo de datos Valor inicial Descripción 0 … 1 UINT ID de la estructura "IF_CONF_MAC" 2 … 3 Length UNIT Longitud de la lectura de datos en BYTE...
Página 488
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Ejemplo En el ejemplo inferior se utiliza la instrucción GetStationInfo para leer los datos de la dirección IP de un dispositivo IO y escribir la información en un bloque de datos. Los datos de la dirección IP incluyen la dirección IP, la máscara de subred y los datos de dirección del router (si se utiliza).
Página 489
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 2. Asignar parámetros para la instrucción GetStationInfo : – Cree cinco variables y una estructura con el tipo de datos IF_CONF_v4 en un bloque de datos global para guardar los datos de la dirección IP. Asigne un nombre cualquiera a la estructura.
Página 490
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 3. Asignar parámetros para la instrucción GetStationInfo: – Introduzca la ID de hardware del dispositivo IO en el parámetro LADDR. El identificador de hardware solo identifica el producto y, en este ejemplo, la ID de hardware es "270".
Página 491
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 4. Ejecución de la instrucción GetStationInfo: – Cuando la entrada REQ = 1 (FALSE), la instrucción no muestra información de la dirección IP en el parámetro entrada/salida DATA ni información del código de error en el parámetro de salida STATUS.
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 9.7.7 Instrucción DeviceStates Puede utilizar la instrucción DeviceStates para devolver los estados de todos los dispositivos esclavos de E/S descentralizadas conectados a un maestro de E/S descentralizadas. Tabla 9- 156 Instrucción DeviceStates KOP / FUP Descripción ret_val := DeviceStates( DeviceStates recupera los estados operativos...
Página 493
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 157 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción LADDR HW_IOSYSTEM Dirección lógica: (Identificador del sistema I/O) MODE UInt Admite cinco modos de funcionamiento. La entrada MODE deter- mina los datos que se devolverán a la ubicación especificada para la información de STATE.
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 9.7.7.1 Configuraciones de ejemplo de DeviceStates Ejemplo de PROFIBUS El ejemplo PROFIBUS comprende lo siguiente: ● 16 Los dispositivos PROFIBUS denominados de "DPSlave_10" a "DPSlave_25" ● Los 16 dispositivos PROFIBUS utilizan las direcciones PROFIBUS de 10 a 25, respectivamente.
Página 495
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 160 Ejemplo 2: Se ha extraído un módulo del dispositivo esclavo PROFIBUS "DPSlave_12". Se devuelve un valor de 0x0110_0000 para MODE 2 (dispositivo defectuoso). Byte con valor Patrón de bit con valor Notas Byte 1 0x01 Bit 7 0000-0001 Bit 0...
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Ejemplo de PROFINET El ejemplo PROFINET comprende lo siguiente: ● 16 Los dispositivos esclavos PROFINET denominados de "et200s_1" a "et200s_16" ● Los 16 dispositivos PROFINET utilizan los números de dispositivos PROFINET de 1 a 16, respectivamente.
Página 497
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 164 Ejemplo 2: Se ha desconectado un módulo del dispositivo esclavo PROFINET "et200s_1". Se devuelve un valor de 0x0300_0000 para MODE 2 (dispositivo defectuo- so). Byte con valor Patrón de bit con valor Notas Byte 1 0x03 Bit 7 0000-0011 Bit 0...
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 9.7.8 Instrucción ModuleStates Puede utilizar la instrucción ModuleStates para devolver el estado de todos los módulos en una estación PROFIBUS o PROFINET. Tabla 9- 167 Instrucción ModuleStates KOP / FUP Descripción ret_val := ModuleStates( ModuleStates determina los estados operati- laddr:=_word_in_, vos de los módulos de E/S.
Página 499
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 168 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción LADDR HW_DEVICE Dirección lógica (identificador de los módulos de E/S) MODE UInt Admite cinco modos de funcionamiento. La entrada MODE deter- mina los datos que se devolverán a la ubicación especificada para la información de STATE.
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 9.7.8.1 Configuraciones de ejemplo de ModuleStates Ejemplo de PROFIBUS El ejemplo PROFIBUS comprende lo siguiente: ● 16 Los dispositivos PROFIBUS denominados de "DPSlave_10" a "DPSlave_25" ● Los 16 dispositivos PROFIBUS utilizan las direcciones PROFIBUS de 10 a 25, respectivamente.
Página 501
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 171 Ejemplo 2: Se ha extraído un módulo del dispositivo esclavo PROFIBUS "DPSlave_12". Se devuelve un valor de 0x0900_0000 para MODE 2 (dispositivo defectuoso). Byte con valor Patrón de bit con valor Notas Byte 1 0x09 Bit 7 0000-1001 Bit 0...
Página 502
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Ejemplo de PROFINET El ejemplo PROFINET comprende lo siguiente: ● 16 Los dispositivos esclavos PROFINET denominados de "et200s_1" a "et200s_16" ● Los 16 dispositivos PROFINET utilizan los números de dispositivos PROFINET de 1 a 16, respectivamente.
Página 503
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9- 175 Ejemplo 2: Se ha desconectado un módulo del dispositivo esclavo PROFINET "et200s_1". Se devuelve un valor de 0x0180_0000 para MODE 2 (módulo defectuoso). Byte con valor Patrón de bit con valor Notas Byte 1 0x01 Bit 7 0000-0001 Bit 0...
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 9.7.9 GET_DIAG (leer información de diagnóstico) Descripción Se puede usar la instrucción "GET_DIAG" para leer la información de diagnóstico de un dispositivo de hardware. El dispositivo de hardware se selecciona con el parámetro LADDR. Con el parámetro MODE se selecciona la información de diagnóstico que se va a leer.
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetro MODE Según el valor en el parámetro MODE, se obtienen datos diferentes de diagnóstico en los parámetros de salida DIAG, CNT_DIAG y DETAILS: Tabla 9- 180 Parámetro MODE MODE Descripción DIAG CNT_DIAG DETAILS Salida de toda la información Cadena de bits de los mo-...
Página 506
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Estructura DIS Con el parámetro MODE = 1, la información de diagnóstico se obtiene según la estructura DIS. En la tabla siguiente se explican los valores de cada parámetro: Tabla 9- 181 Estructura de la Diagnostic Information Source (DIS, fuente de información de diagnóstico) Parámetro Tipo de datos Valor...
Página 507
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetro Tipo de datos Valor Descripción 16 a 31 Información de estado de los módulos generada por la CPU: Bit 16 = 1: Módulo deshabilitado Bit 17 = 1: Modo CiR activo Bit 18 = 1: Entrada no disponible Bit 19 = 1: Salida no disponible Bit 20 = 1: Desbordamiento del búfer de diagnóstico Bit 21 = 1: Diagnóstico no disponible...
Página 508
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetro Tipo de datos Valor Descripción Módulo defectuoso Sin alimentación En STOP/sin DIS Estructura DNN Con el parámetro MODE = 2, los detalles de información de diagnóstico se obtienen según la estructura DNN. En la tabla siguiente se explican los valores de cada parámetro: Tabla 9- 182 Estructura del Diagnostic Navigation Node (DNN, nodo de navegación de diagnóstico) Parámetro Tipo de datos Valor...
Página 509
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Ejemplo En el siguiente esquema de lógica de escalera y DB se muestra cómo utilizar los tres modos con las tres estructuras: ● DIS ● DNN ① ② Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Nota En el DB, debe indicar manualmente el tipo de datos para acceder a cada una de las tres estructuras; no hay ninguna lista desplegable para efectuar la selección. Indique los tipos de datos exactamente como se muestra a continuación: •...
Instrucciones avanzadas 9.8 Impulso Utilice la instrucción GET_DIAG (Página 504) para obtener información de diagnóstico de cada estación. Esto le permitirá tratar desde el programa los errores encontrados en el dispositivo y, si es necesario, para la CPU a modo STOP. Este método hace necesario especificar el dispositivo de hardware desde el que leer la información de estado.
Página 512
Instrucciones avanzadas 9.8 Impulso Determine el generador de impulsos habilitado que desea utilizar, utilizando su nombre de variable para el parámetro PWM. Cuando la entrada EN es TRUE, la instrucción PWM_CTRL inicia o detiene el PWM identificado, según el valor de la entrada ENABLE. El valor de la dirección de salida de palabra Q asociada indica la duración de impulso.
Instrucciones avanzadas 9.8 Impulso 9.8.2 CTRL_PTO (tren de impulsos) La instrucción PTO ofrece una onda cuadrada con un 50 % de salida de ciclo de carga a una frecuencia especificada. Se utiliza la instrucción CTRL_PTO para asignar la frecuencia sin un bloque de datos (DB) de eje para objetos tecnológicos (TO). La instrucción requiere un generador de impulsos.
Página 514
Instrucciones avanzadas 9.8 Impulso Parámetro y tipo Tipo de datos Descripción ERROR Word Se ha detectado un error (valor predeterminado: 0) STATUS Word Código de condición de ejecución (valor predeterminado: 0) La instrucción CTRL_PTO almacena la información de parámetros en el DB. El usuario no modifica por separado los parámetros del bloque de datos, sino que la instrucción CTRL_PTO los controla.
Página 515
Instrucciones avanzadas 9.8 Impulso Puesto que la instrucción CTRL_PTO solo inicia el PTO, la instrucción CTRL_PTO termina inmediatamente. Como resultado, la salida BUSY nunca se activa. La salida DONE sigue activada mientras no se produce ningún error. Si se detecta un error, el parámetro ERROR se pone a TRUE y el parámetro STATUS contiene un código de condición.
Instrucciones avanzadas 9.8 Impulso Tabla 9- 190 Valor del código de error del parámetro STATUS Código de error (W#16#...) Descripción Sin errores 0x8090 El generador de impulsos con la ID de hardware especificada está en uso. 0x8091 Frecuencia fuera de rango. La frecuencia teórica excede la frecuencia máxima de la salida de impulsos seleccionada.
Página 517
Instrucciones avanzadas 9.8 Impulso En la tabla que se muestra más abajo se muestran las asignaciones de E/S predeterminadas; sin embargo, los cuatro generadores de impulsos se pueden configurar para cualquier salida digital de CPU integrada o SB. Las diferentes salidas admiten tensiones y velocidades distintas, por lo que debe tenerlo en cuenta al asignar las ubicaciones PWM/PTO.
Instrucciones avanzadas 9.8 Impulso Descripción Impulso Sentido PTO4 E/S incorporadas Q0.6 Q0.7 E/S de la SB Q4.2 Q4.3 PWM4 Salidas incorporadas Q0.6 Salidas de la SB Q4.3 La CPU 1211C no tiene las salidas Q0.4, Q0.5, Q0.6 ni Q0.7. Por lo tanto, esas salidas no pueden usarse en la CPU 1211C.
Instrucciones avanzadas 9.8 Impulso Tabla 9- 193 Salida de la Signal Board (SB): Frecuencia máxima (PTO) y tiempo de ciclo mínimo (PWM) Signal Board (SB) Canal de salida de la Frecuencia máxima Tiempo de ciclo mínimo SB 1222, 200 kHz De DQe.0 a DQe.3 200 kHz 5 µs...
Página 520
Instrucciones avanzadas 9.8 Impulso ● Tiempo de ciclo (solo aplicable a PWM): Asigne el tiempo que se tardará en finalizar un impulso (el tiempo de impulso "high" más el tiempo de impulso "low" es igual al tiempo de ciclo). El tiempo de ciclo se puede modificar en tiempo de ejecución seleccionando la casilla de verificación "Permitir modificar el tiempo de ciclo en tiempo de ejecución".
Instrucciones avanzadas 9.8 Impulso Determinar el valor de duración de impulso La "duración de impulso" se calcula multiplicando la "duración de impulso inicial" por el "tiempo de ciclo". Cuando se selecciona una "Base de tiempo", un "Formato de la duración de impulso", un "Tiempo de ciclo"...
Instrucciones avanzadas 9.8 Impulso Direcciones de periferia PWM tiene dos bytes de memoria Q para "Duración de impulso". Mientras PWM se está ejecutando, es posible modificar el valor en la memoria Q asignada y cambiar la duración de impulso. En la sección Dirección de periferia, introduzca la dirección de palabra Q en la que desee almacenar el valor de la duración de impulso.
Instrucciones avanzadas 9.9 Recetas y registros de datos Recetas y registros de datos 9.9.1 Recetas 9.9.1.1 Vista general de la receta Almacenamiento de datos de la receta ● El bloque de datos de receta que cree en su proyecto debe almacenarse en la memoria de carga de la CPU.
Instrucciones avanzadas 9.9 Recetas y registros de datos Importación de recetas (del archivo CSV al DB de receta) Una vez completada la operación de exportación, puede utilizar el archivo CSV generado como plantilla de estructura de datos. 1. Utilice la página File Browser en el servidor web de la CPU para cargar un archivo CSV de receta existente de la CPU en un PC.
Página 525
Instrucciones avanzadas 9.9 Recetas y registros de datos Creación de un bloque de datos de receta Nota Reglas para los bloques datos de receta • El DB de receta debe contener una matriz de una sola dimensión de un tipo de datos de PLC o una estructura.
Página 526
Instrucciones avanzadas 9.9 Recetas y registros de datos En segundo lugar, cree un bloque de datos de receta ● Cree su DB de receta como un bloque de datos global con la propiedad de DB "Depositar solo en la memoria de carga" habilitada. ●...
Página 527
Instrucciones avanzadas 9.9 Recetas y registros de datos Importación de recetas (del archivo CSV al DB de receta) 1. Utilice la página File Browser en el servidor web de la CPU para descargar en un PC un archivo CSV de receta existente de la memoria de carga de la CPU. 2.
Instrucciones avanzadas 9.9 Recetas y registros de datos 9.9.1.3 Instrucciones del programa que transfieren datos de receta RecipeExport (exportación de receta) Tabla 9- 194 Instrucción RecipeExport KOP / FUP Descripción "RecipeExport_DB"( La instrucción "RecipeExport" exporta todos req:=_bool_in_, los registros de receta de un bloque de datos done=>_bool_out_, de receta al formato de archivo CSV.
Instrucciones avanzadas 9.9 Recetas y registros de datos Tabla 9- 195 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción Bool Parámetro de control REQUEST: Activa la exportación cuando hay un flanco ascendente. RECIPE_DB In/Out Variant Puntero al bloque de datos de receta.
Instrucciones avanzadas 9.9 Recetas y registros de datos RecipeImport (importación de receta) Tabla 9- 197 Instrucción RecipeImport KOP / FUP Descripción "RecipeImport_DB"( La instrucción "RecipeImport" impor- req:=_bool_in_, ta los datos de receta de un archivo done=>_bool_out_, CSV de la memoria de carga de la CPU en un bloque de datos referen- busy=>_bool_out_, ciado por el parámetro RECIPE_DB.
Página 531
Instrucciones avanzadas 9.9 Recetas y registros de datos Reglas de archivo CSV: ● El archivo CSV debe encontrarse en la carpeta "Recipes" del directorio raíz de la memoria de carga interna o la memoria de carga externa, si se ha instalado una Memory Card de "programa"...
Instrucciones avanzadas 9.9 Recetas y registros de datos 9.9.1.4 Programa de ejemplo de receta Requisitos para el programa de ejemplo de receta Los requisitos del programa de ejemplo de receta son los siguientes: ● Un DB de receta que almacena todos los registros de receta. El DB de receta se almacena en la memoria de carga.
Página 533
Instrucciones avanzadas 9.9 Recetas y registros de datos Programa de ejemplo de receta Segmento 1 Un flanco ascendente en REQ inicia el proceso de exportación. Se genera un archivo CSV a partir de los datos del DB de receta y se colocan en la carpeta de recetas de memoria de la CPU.
Página 534
Instrucciones avanzadas 9.9 Recetas y registros de datos Segmento 5 READ_DBL copia los valores de arranque de una receta "Recipe_DB". Productos[1] (en la memoria de carga de la CPU) en los valores actuales del DB Active_Recipe (en la memoria de trabajo de la CPU). Después de la ejecución de READ_DBL, la lógica del programa puede acceder a los valores de los componentes de la receta direccionando las ubicaciones del DB Active_Recipe.
Instrucciones avanzadas 9.9 Recetas y registros de datos 9.9.2 Registros El programa de control puede usar las instrucciones Data log para almacenar valores de datos de runtime en archivos de registro permanentes. La CPU guarda los archivos de registro en la memoria flash (CPU o Memory Card) en formato estándar CSV (Comma Separated Value).
Instrucciones avanzadas 9.9 Recetas y registros de datos Parámetro HEADER de la instrucción DataLogCreate El parámetro HEADER apunta a nombres de encabezado de columna para la fila superior de la matriz de datos encriptada en el archivo CSV. Los datos HEADER deben estar ubicados en una memoria DB o M y los caracteres deben cumplir las normas estándar del formato CSV, con comas como carácter de separación entre columnas.
Página 537
Instrucciones avanzadas 9.9 Recetas y registros de datos Tabla 9- 201 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción Bool Un cambio de señal low a high (flanco ascendente) lan- za la operación. (Valor predeterminado: False) RECORDS UDint El número máximo de registros que puede contener el...
Página 538
Instrucciones avanzadas 9.9 Recetas y registros de datos Parámetro y tipo Tipo de datos Descripción HEADER In/Out Variant Puntero a nombres de encabezados de columnas de registro para la fila superior de la matriz de datos encrip- tada en el archivo CSV. (Valor predeterminado: cero). Los datos HEADER deben estar ubicados en una me- moria DB o M.
Página 539
Instrucciones avanzadas 9.9 Recetas y registros de datos Uso de los recursos de memoria: ● Los registros solo consumen memoria de carga. ● El tamaño de todos los registros combinados está limitado por los recursos de memoria de carga disponibles. Solo se pueden abrir ocho registros a la vez. Los registros de datos se administran desde la página web estándar del File Browser (Página 1075).
Página 540
Instrucciones avanzadas 9.9 Recetas y registros de datos Tabla 9- 202 Valores de ERROR y STATUS ERROR STATUS Descripción (W#16#..) 0000 No hay error 7000 Llamada sin flanco REQ: BUSY = 0, DONE = 0 7001 Primera llamada con flanco de REQ (en curso): BUSY = 1, DONE = 0 7002 Llamada N (en curso): BUSY = 1, DONE = 0...
Página 541
Instrucciones avanzadas 9.9 Recetas y registros de datos DataLogOpen (abrir Data Log) Tabla 9- 203 Instrucción DataLogOpen KOP / FUP Descripción "DataLogOpen_DB"( Abre un archivo de registro ya existente. Es necesario abrir un req:=_bool_in_, registro antes de poder escribir (Página 543) registros nuevos en mode:=_uint_in_, él.
Página 542
Instrucciones avanzadas 9.9 Recetas y registros de datos Se puede proporcionar el parámetro NAME o un parámetro ID (ID en forma de entrada) de un registro ya existente. Si se suministran ambos parámetros y una ID válida se corresponde con en registro NAME, se usa la ID y NAME se ignora. NAME debe ser el nombre de un registro creado por la instrucción DataLogCreate.
Página 543
Instrucciones avanzadas 9.9 Recetas y registros de datos DataLogWrite (escribir Data Log) Tabla 9- 206 Instrucción DataLogWrite KOP / FUP Descripción "DataLogWrite_DB"( Escribe un registro en el registro especificado. El registro de destino req:=_bool_in_, previo debe estar abierto (Página 541) antes de poder escribir en él con done=>_bool_out_, una instrucción DataLogWrite.
Página 544
Instrucciones avanzadas 9.9 Recetas y registros de datos Si hay registros vacíos en el archivo de registro circular, la instrucción DataLogWrite escribe el siguiente registro vacío disponible. Si todos los registros están llenos, la instrucción DataLogWrite sobrescribe el registro más antiguo. ATENCIÓN Las operaciones de creación de registro deben finalizarse antes empezar una operación de escritura de registro.
Página 545
Instrucciones avanzadas 9.9 Recetas y registros de datos DataLogClear (vaciar Data Log) Descripción Tabla 9- 209 Instrucción DataLogClear KOP / FUP Descripción "DataLogClear_DB"( La instrucción "DataLogClear" borra todos los REQ:=_bool_in_, registros de un archivo de registro existente. La DONE=>_bool_out_, instrucción no borra el encabezado opcional del archivo CSV (consulte la descripción del paráme- BUSY=>_bool_out_, tro HEADER de la instrucción "DataLogCreate...
Página 546
Instrucciones avanzadas 9.9 Recetas y registros de datos Encontrará información adicional sobre los tipos de datos válidos en "Tipos de datos (Página 136)". Parámetro STATUS Código de Explicación error* (W#16#...) 0000 Sin errores. 7000 No se está procesando ninguna tarea. 7001 Comienza el procesamiento de la tarea.
Página 547
Instrucciones avanzadas 9.9 Recetas y registros de datos Tabla 9- 211 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción Bool Un cambio de señal low a high (flanco ascendente) lanza la operación. (Valor predeterminado: False) In/Out DWord Identificador numérico de un registro.
Página 548
Instrucciones avanzadas 9.9 Recetas y registros de datos Parámetros La tabla siguiente muestra los parámetros de la instrucción "DataLogDelete": Parámetro Declaración Tipo de datos Área de memoria Descripción Input BOOL I, Q, M, L, D, T, C o Ejecución de la instrucción con un flanco constante ascendente.
Instrucciones avanzadas 9.9 Recetas y registros de datos Parámetros NAME e ID Seleccione el registro que debe borrarse mediante los parámetros NAME e ID. El parámetro ID se evalúa en primer lugar. Si hay un registro con la ID relevante, el parámetro NAME no se evaluará.
Página 550
Instrucciones avanzadas 9.9 Recetas y registros de datos Tabla 9- 215 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción Bool Un cambio de señal low a high (flanco ascendente) lanza la operación. (Valor predeterminado: False) RECORDS UDInt El número máximo de registros que puede contener el registro circular an-...
Página 551
Instrucciones avanzadas 9.9 Recetas y registros de datos Operación DataLogNewFile: Cuando la lógica del programa de usuario recibe la señal de que el registro está lleno, este estado se utiliza para activar una operación DataLogNewFile. DataLogNewFile debe ejecutarse con la ID de un registro ya existente (generalmente lleno) y abierto, pero con un solo parámetro NAME nuevo.
Instrucciones avanzadas 9.9 Recetas y registros de datos 9.9.2.3 Trabajar con registros de datos Los archivos de registro se guardan en formato de valores separados por comas (*.csv) en una memoria flash remanente. Los archivos de registro pueden verse utilizando la función de servidor web del PLC o retirando la Memory Card del PLC e insertándola en un lector de tarjetas de PC convencional.
Página 553
Instrucciones avanzadas 9.9 Recetas y registros de datos Ver registros de una Memory Card del PLC Si la CPU S7-1200 tiene insertada una Memory Card "Programa" del tipo S7-1200, se puede extraer e insertar en una ranura SD (Secure Digital) o MMC (MultiMediaCard) estándar de un PC o una programadora.
Instrucciones avanzadas 9.9 Recetas y registros de datos 9.9.2.4 Límite del tamaño de los archivos de registro Los archivos de registro comparten espacio de la memoria de carga del PLC con el programa, los datos del programa, los datos de configuración, las páginas web definidas por el usuario y los datos del sistema PLC.
Instrucciones avanzadas 9.9 Recetas y registros de datos Cálculo del tamaño de un archivo de registro (todos los registros) Cuando se crea el archivo de registro, la CPU asigna el tamaño de memoria máximo. Además del tamaño necesario para todos los registros, debe incluir espacio de almacenamiento para un encabezado de registro (si se utiliza), un encabezado de sello de tiempo (si se utiliza), un encabezado de índice de registro y el tamaño del bloque mínimo para la asignación de memoria.
Página 556
Instrucciones avanzadas 9.9 Recetas y registros de datos Datos Bytes de datos de registro = ((bytes de datos en un registro + bytes de sello de tiempo + 12 bytes) * número de registros) Bytes de datos en un registro El parámetro DATA de DataLogCreate apunta a una estructura que asigna el número de campos de datos y tipo de datos de cada campo para un registro.
Instrucciones avanzadas 9.9 Recetas y registros de datos Número de registros en un archivo de registro El parámetro RECORDS de la instrucción DataLogCreate especifica el número máximo de registros de un archivo de registro. Bytes de sello de tiempo en un registro ●...
Instrucciones avanzadas 9.9 Recetas y registros de datos Ejemplo de programa de registro Los nombres del registro, el texto del encabezado y la estructura MyData del ejemplo se crean en un bloque de datos. Las tres variables MyData guardan temporalmente valores de muestreo nuevos.
Página 559
Instrucciones avanzadas 9.9 Recetas y registros de datos Segmento 4 Una señal de flanco ascendente se dispara cuando deben guardarse valores de proceso nuevos en la estructura MyData. Segmento 5 El estado de la entrada EN se toma como base cuando la operación DataLogCreate ha finalizado.
Página 560
Instrucciones avanzadas 9.9 Recetas y registros de datos Segmento 7 Una entrada REQ DataLogOpen para la señal de flanco ascendente simula la pulsación de un botón por parte del usuario en un HMI que abre un archivo de registro. Si se abre un archivo de registro cuyos registros contienen datos de proceso, la próxima operación DataLogWrite sobrescribirá...
Página 561
Instrucciones avanzadas 9.9 Recetas y registros de datos Archivos de registro creados por el programa de ejemplo vistos con el servidor web de la CPU S7- 1200 ① La opción "Borrar" solo está disponible si el usuario ha iniciado sesión con privilegios de modi- ficación.
Página 562
Instrucciones avanzadas 9.9 Recetas y registros de datos Tabla 9- 218 Ejemplos de archivos .csv descargados vistos con Excel Dos registros escritos en un archivo de cinco registros como máximo Cinco registros en un archivo de registro con un máximo de cinco registros Después de escribir un registro adicional en el archivo anterior, que ya está...
Instrucciones avanzadas 9.10 Control de bloques de datos 9.10 Control de bloques de datos 9.10.1 CREATE_DB (crear bloque de datos) Tabla 9- 219 Instrucción CREATE_DB KOP / FUP Descripción ret_val := CREATE_DB( Utilice la instrucción "CREATE_DB" para crear un REQ:=_bool_in_, bloque de datos nuevo en la memoria de carga LOW_LIMIT:=_uint_in_, y/o de trabajo.
Instrucciones avanzadas 9.10 Control de bloques de datos Descripción del funcionamiento La instrucción "CREATE_DB" funciona de forma asíncrona. El procesamiento se extiende a lo largo de varias llamadas. Inicie la tarea llamando "CREATE_DB" con REQ = 1. Los parámetros de salida RET_VAL y BUSY indican el estado de la tarea. Consulte también: DELETE_DB (borrar bloque de datos) (Página 573) Parámetros La tabla siguiente muestra los parámetros de la instrucción "CREATE_DB":...
Instrucciones avanzadas 9.10 Control de bloques de datos Parámetro Declara- Tipo de Área de memoria Descripción ción datos Bit 3 = 0: Creación del DB en la memoria de carga o en la • memoria de trabajo (selección con el bit 0, véase más arri- Bit 3 = 1: Creación del DB tanto en la memoria de carga •...
Página 566
Instrucciones avanzadas 9.10 Control de bloques de datos Parámetro RET_VAL Código de Descripción error* (W#16#...) 0000 Sin errores 0081 El área de destino es mayor que la de origen. El área de origen se escribe por completo en el área de destino. Los bytes restantes del área de destino no cambian.
Instrucciones avanzadas 9.10 Control de bloques de datos 9.10.2 Instrucciones READ_DBL y WRIT_DBL (Leer de/escribir en un bloque de datos de la memoria de carga) Tabla 9- 220 Instrucciones READ_DBL y WRIT_DBL KOP / FUP Descripción READ_DBL( Copia valores iniciales del DB o partes req:=_bool_in_, de ellos de la memoria de carga a un srcblk:=_variant_in_,...
Página 568
Instrucciones avanzadas 9.10 Control de bloques de datos Típicamente, un DB se almacena tanto en memoria de carga (flash) como en memoria de trabajo (RAM). Los valores de arranque (valores iniciales) siempre se almacenan en memoria de carga, y los valores actuales siempre se almacenan en memoria de trabajo. READ_DBL se puede utilizar para copiar un conjunto de valores de arranque de la memoria de carga a los valores actuales de un DB en memoria de trabajo que se referencia mediante el programa.
Página 569
Instrucciones avanzadas 9.10 Control de bloques de datos READ_DBL y WRIT_DBL se ejecutan de forma asíncrona respecto al ciclo del programa. El procesamiento se extiende en varias llamadas de READ_DBL y WRIT_DBL. La tarea de transferencia de DB se inicia llamando con REQ = 1 y a continuación controlado las salidas BUSY y RET_VAL para determinar cuándo se ha completado la transferencia de datos y si lo ha hecho correctamente.
Página 570
Instrucciones avanzadas 9.10 Control de bloques de datos Tabla 9- 222 Códigos de condición RET_VAL Descripción (W#16#...) 0000 No hay error 0081 Advertencia: Que el área de origen sea menor que la de destino. Los datos fuente se copian al comple- to con los bytes adicionales en el área de destino sin modificación.
Instrucciones avanzadas 9.10 Control de bloques de datos 9.10.3 ATTR_DB (leer atributos de un bloque de datos) Tabla 9- 223 Instrucción ATTR_DB KOP / FUP Descripción ret_val := ATTR_DB( La instrucción "ATTR_DB" se utiliza para obtener REQ:=_bool_in_, información acerca del bloque de datos (DB) DB_NUMBER:=_uint_in_, ubicado en la memoria de trabajo de la CPU.
Página 572
Instrucciones avanzadas 9.10 Control de bloques de datos Parámetro Declaración Tipo de Área de memoria Descripción datos Si el bit 0 = 1, el bit 2 es irrelevante y se pone a 1. Bit 2 = 0: Remanente - El DB se considera rema- •...
Instrucciones avanzadas 9.10 Control de bloques de datos 9.10.4 DELETE_DB (borrar bloque de datos) Tabla 9- 224 Instrucción DELETE_DB KOP / FUP Descripción ret_val := DELETE_DB( La instrucción "DELETE_DB" se utiliza para bo- REQ := _bool_in_, rrar un bloque de datos (DB) que el programa de DB_NUMBER := usuario había creado llamando la instrucción _uint_in_,...
Página 574
Instrucciones avanzadas 9.10 Control de bloques de datos Parámetro RET_VAL Código de Explicación error* (W#16#...) 0000 No ha ocurrido ningún error. 7000 Primera llamada con REQ = 0: No hay ninguna transferencia de datos activa; BUSY tiene el valor "0". 7001 Primera llamada con REQ = 1: Transferencia de datos disparada;...
Instrucciones avanzadas 9.11 Procesamiento de direcciones 9.11 Procesamiento de direcciones 9.11.1 GEO2LOG (determinar la ID de hardware a partir del slot) La instrucción GEO2LOG se utiliza para determinar el identificador de hardware en base a una información de slot. Tabla 9- 225 Instrucción GEO2LOG KOP / FUP Descripción ret_val := GEO2LOG(...
Página 576
Instrucciones avanzadas 9.11 Procesamiento de direcciones El parámetro AREA del tipo de datos del sistema GEOADDR no se evalúa. Tabla 9- 226 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción GEOADDR IN/OUT or Variant Puntero a la estructura de tipo de datos del sistema GEOADDR. El tipo IN ? de datos del sistema GEOADDR contiene la información de slot a partir de la que se determina la ID de hardware.
Instrucciones avanzadas 9.11 Procesamiento de direcciones 9.11.2 LOG2GEO (determinar el slot a partir de la ID de hardware) Utilice la instrucción LOG2GEO para determinar la dirección geográfica (slot de módulo) a partir de la dirección lógica perteneciente a un identificador de hardware. Tabla 9- 228 Instrucción LOG2GEO KOP / FUP Descripción...
Instrucciones avanzadas 9.11 Procesamiento de direcciones Para obtener más información sobre los tipos de datos válidos, consulte la "Vista general de los tipos de datos válidos" en la Ayuda en pantalla de STEP 7. Tabla 9- 230 Códigos de condición RET_VAL Descripción (W#16#...)
Página 579
Instrucciones avanzadas 9.11 Procesamiento de direcciones Tabla 9- 232 Tipos de datos para los parámetros Parámetro Declaración Tipo de datos Área de memoria Descripción ADDR IN or IN/OUT ? Variant I, Q, M, D, L Dirección E/S (I, Q, PI, PQ) dentro de un (sub)módulo.
Instrucciones avanzadas 9.11 Procesamiento de direcciones 9.11.4 RD_ADDR (determinar las direcciones ES a partir de la ID de hardware) Use la instrucción RD_ADDR para obtener las direcciones de E/S de un submódulo. Tabla 9- 234 Instrucción RD_ADDR KOP / FUP Descripción ret_val := RD_ADDR( Use la instrucción RD_ADDR para obtener las...
Instrucciones avanzadas 9.11 Procesamiento de direcciones Para obtener más información sobre los tipos de datos válidos, consulte la "Vista general de los tipos de datos válidos" en la Ayuda en pantalla de STEP 7. Tabla 9- 236 Códigos de condición RET_VAL Descripción (W#16#...)
Página 582
Instrucciones avanzadas 9.11 Procesamiento de direcciones Estructura del tipo de datos del sistema GEOADDR La estructura GEOADDR se crea automáticamente si introduce "GEOADDR" como tipo de datos en un bloque de datos. Nombre del parámet- Tipo de datos Descripción GEOADDR STRUCT HWTYPE UINT...
Instrucciones avanzadas 9.12 Códigos de error comunes para las instrucciones avanzadas 9.12 Códigos de error comunes para las instrucciones avanzadas Tabla 9- 237 Códigos de condición comunes para las instrucciones avanzadas Código de condición (W#16#..) Descripción 8x22 Área demasiado pequeña para la entrada 8x23 Área demasiado pequeña para la salida 8x24...
Página 584
Instrucciones avanzadas 9.12 Códigos de error comunes para las instrucciones avanzadas Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Las instrucciones básicas con contadores, descritas en "Operaciones con contador" (Página 261) están limitadas a eventos de contaje que se producen a una velocidad inferior al ciclo de la CPU S7-1200. La función de contador rápido (HSC) ofrece la posibilidad de contar impulsos que ocurren a una velocidad mayor que el ciclo del PLC.
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.1 Instrucción CTRL_HSC_EXT (controlar contador rápido) 10.1.1.1 Descripción general de la instrucción Tabla 10- 1 Instrucción CTRL_HSC_EXT KOP / FUP Descripción "CTRL_HSC_1_DB" ( Toda instrucción CTRL_HSC_EXT (con- hsc:=_hw_hsc_in_, trolar contadores rápidos (avanzado)) done:=_done_out_, utiliza una estructura de datos definida por el sistema y almacenada en un DB busy:=_busy_ out_, global definido por el usuario para guardar...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.1.2 Ejemplo Para utilizar la instrucción CTRL_HSC_EXT, proceda del siguiente modo: 1. Coloque la instrucción CTRL_HSC_EXT en el segmento KOP, con lo que también se crea el siguiente bloque de datos de instancia: "CTRL_HSC_EXT_DB": 2.
Página 588
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 3. Cree un bloque de datos global denominado "Data_block_1" (también puede utilizar un bloque de datos global que ya exista): – Dentro de "Data_block_1", busque una fila vacía y agregue una variable que tenga por nombre "MyHSC".
Página 589
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 4. Asigne la variable "'Data_block_1'. MyHSC" al pin de entrada CTRL de la instrucción CTRL_HSC_EXT: – Seleccione "Data_block_1". – Seleccione "MyHSC". Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) – Borre el período (".") que sigue a: "'Data_block_1'.MyHSC". A continuación, haga clic fuera del cuadro o pulse la tecla ESC una vez y pulse seguidamente la tecla Intro. Nota Después de borrar el período (".") que sigue a: "'Data_Block_1'.MyHSC", no pulse únicamente la tecla Intro.
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.1.3 Tipos de datos de sistema (SDT) de la instrucción CTRL_HSC_EXT Los siguientes tipos de datos del sistema (SDT) solo se utilizan con el pin CTRL de la instrucción CTRL_HSC_EXT. Para utilizarlos, cree un bloque de datos de usuario y agregue un objeto con el tipo de datos del SDT que equivalga al modo configurado (tipo de contaje) para el HSC.
Página 592
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Cuando se produce un evento y se ejecuta la instrucción CTRL_HSC_EXT, la instrucción activa un bit de estado. La próxima vez que se ejecute la instrucción CTRL_HSC_EXT, esta desactivará el bit de estado, a menos que el evento se produzca de nuevo antes de que se ejecute la instrucción.
Página 593
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Elemento de Declaración Tipo de datos Descripción estructura NewCurrentCount IN Dint Valor de contaje actual NewStartValue Dint Valor de arranque: valor inicial del HSC NewReference1 Dint Valor de Reference1 NewReference2 Dint Valor de Reference2 NewUpperLimit Dint Valor del límite superior de contaje...
Página 594
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Los ejemplos siguientes muestran cómo la instrucción mide períodos: Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Página 595
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) SDT: HSC_Frequency El tipo de datos "HSC_Frequency" equivale a un HSC configurado para el modo de frecuencia. La instrucción CTRL_HSC_EXT permite al programa acceder a la frecuencia de impulsos de entrada, medida durante un período específico. El modo de frecuencia de la instrucción CTRL_HSC_EXT ofrece las siguientes funcionalidades: Tabla 10- 6...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.2 Funcionamiento del contador rápido 10.1.2.1 Función de sincronización La función de sincronización (Sync) se utiliza para poner el contador al valor inicial con una señal de entrada externa. El valor inicial puede modificarse ejecutando la instrucción CTRL_HSC_EXT.
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) En Funciones de entrada (Página 609) encontrará información sobre cómo configurar la función de sincronización. 10.1.2.2 Función de puerta Muchas aplicaciones requieren que los procesos de contaje se inicien o detengan en función de otros eventos. En estos casos, el contaje se inicia y detiene utilizando la función de puerta interna.
Página 598
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) La figura inferior muestra un ejemplo de cómo la puerta hardware se abre y se cierra con una entrada digital. La entrada digital está configurada para una nivel "high" activo: Nota Los filtros de entrada configurados retardan la señal de control de la entrada digital. La función de puerta hardware solo está...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.2.3 Función de captura La función de captura se utiliza para guardar el valor actual del contador con una señal de referencia externa. Cuando está configurada y activada mediante el bit "HSC_Count.EnCapture", la función de captura provoca la captura del contaje actual cuando se produce un flanco de entrada externa.
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.2.4 Función de comparación Cuando está activada, la función de salida de comparación genera un impulso individual configurable cada vez que se produce el evento configurado. Los eventos incluyen un contaje igual a uno de los valores de referencia o los desbordamientos del contador. Si hay un impulso en curso y el evento se repite, no se genera ningún impulso para dicho evento.
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.2.5 Aplicaciones Una aplicación típica consiste en utilizar el HSC para supervisar las respuestas de un encóder rotativo incremental. El encóder rotativo ofrece un número determinado de contajes por revolución que pueden utilizarse como entrada de reloj para el HSC. También hay un impulso de reset que ocurre una vez por revolución y que puede utilizarse como entrada de sincronización para el HSC.
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.3 Configurar un contador rápido Para configurar un contador rápido (HSC): ● Seleccione la configuración de dispositivos en el árbol del proyecto. ● Seleccione la CPU que desea configurar. ● Haga clic en la ficha Propiedades situada en la ventana de inspección (ver la figura inferior).
Página 603
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) La tabla siguiente ofrece una relación de las entradas y salidas que están disponibles para cada configuración: Tabla 10- 8 Modos de contaje del HSC Tipo Entrada 1 Entrada 2 Entrada 3 Entrada 4 Entrada 5 Salida 1 Función...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.3.1 Tipo de contaje Hay cuatro tipos de contaje o modos. Cuando se cambia el modo también cambian las opciones de configuración disponibles para el HSC: ● Contaje: Cuenta el número de impulsos e incrementa o decrementa el valor de contaje, según sea el estado del control de sentido.
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.3.2 Fase de operación Seleccione la fase de operación deseada del HSC. Las cuatro figuras inferiores muestran cuándo cambia el valor del contador, cuándo se produce el evento de que el valor actual (CV) es igual al valor de referencia (RV) y cuándo se produce el evento de cambio de sentido.
Página 606
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Dos fases Las dos fases cuentan: ● ascendente en la entrada de reloj adelante ● descendente en la entrada de reloj atrás Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Contador A/B La fase A/B en cuadratura cuenta: ● ascendente con un flanco ascendente en la entrada de reloj A cuando la entrada de reloj B es "low" ● descendente con un flanco descendente en la entrada de reloj A cuando la entrada de reloj B es "low"...
Página 608
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) ● descendente con un flanco ascendente en la entrada de reloj A cuando la entrada de reloj B es "high" ● descendente con un flanco descendente en la entrada de reloj A cuando la entrada de reloj B es "low"...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.3.3 Valores iniciales Cada vez que la CPU pasa a RUN, carga los valores iniciales. Los valores iniciales solo se utilizan en modo de contaje: ● Valor inicial del contador: El programa pone el valor de contaje actual al valor inicial del contador cuando la CPU pasa de STOP a RUN o cuando el programa dispara la entrada de sincronización.
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Entrada de captura La entrada de captura pone el valor de contaje capturado al valor de contaje guardado en el momento de disparar la entrada de captura. La captura puede dispararse cuando el pin de entrada tiene uno de los estados siguientes: ●...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.3.6 Eventos de alarma En la sección de configuración de eventos existe la posibilidad de seleccionar un OB de alarma de proceso en el menú desplegable (o bien crear un OB nuevo) y asignarlo a un evento del HSC.
Página 612
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) ADVERTENCIA Riesgos asociados con los cambios en el ajuste de tiempos de filtrado de los canales de entradas digitales Si se reajusta el tiempo de filtrado de un canal de entrada digital, puede que sea necesario presentar un nuevo valor de entrada de nivel "0"...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Cuando se asigna un punto de entrada a una función HSC es posible asignar el mismo punto de entrada a varias funciones HSC. Así, por ejemplo, está permitido asignar I0.3 a la entrada de sincronización de HSC1 y a la entrada de sincronización de HASC2 con el fin de sincronizar el contaje de ambos HSC al mismo tiempo;...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.3.9 Direcciones de la memoria de entrada del HSC Todo HSC utiliza una sección de palabra doble de la memoria de entrada que guarda el contaje actual. Si se configura el HSC para frecuencia, esta se guarda en la ubicación mencionada de la memoria de entrada.
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.4 Instrucción CTRL_HSC (controlar contadores rápidos) antigua 10.1.4.1 Descripción general de la instrucción Tabla 10- 12 Instrucción CTRL_HSC (para contaje general) KOP / FUP Descripción "CTRL_HSC_1_DB" ( Toda instrucción CTRL_HSC (Controlar hsc:=W#16#0, contadores rápidos) utiliza una estructura dir:=False, almacenada en un DB para conservar los datos de contador.
Página 616
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Tabla 10- 13 Tipos de datos para los parámetros Parámetro Declaración Tipo de datos Descripción HW_HSC Identificador del HSC Bool 1 = solicitar nuevo sentido de contaje 1, 2 Bool 1 = solicitar activación del nuevo valor del contador Bool 1 = solicitar activación del nuevo valor de referencia PERIOD...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Si se produce un error, ENO se pone a "0" y la salida STATUS indica un código de condición: Tabla 10- 14 Execution condition codes STATUS (W#16#) Descripción No hay error 80A1 El identificador HSC no direcciona un HSC 80B1 Valor de NEW_DIR no permitido 80B2...
Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.4.3 Valor de contaje actual del HSC La CPU almacena el valor actual de cada HSC en una dirección de entrada (I). La tabla siguiente muestra las direcciones predeterminadas asignadas al valor actual de cada HSC. La dirección I del valor actual se puede cambiar modificando las propiedades de la CPU en la "Configuración de dispositivos".
Instrucciones tecnológicas 10.2 Control PID 10.2 Control PID STEP 7 ofrece las siguientes instrucciones PID para la CPU S7-1200: ● La instrucción PID_Compact se utiliza para controlar procesos técnicos con variables continuas de entrada y salida. ● La instrucción PID_3Step se utiliza para controlar dispositivos accionados por motor, como válvulas que requieren señales discretas para las acciones de apertura y cierre.
Página 620
Instrucciones tecnológicas 10.2 Control PID Algoritmo PID El regulador PID (Proporcional/Integral/Derivativo) mide el intervalo de tiempo entre dos llamadas y evalúa el resultado para controlar el tiempo de muestreo. En cada cambio de modo y en el primer arranque se genera un valor medio del tiempo de muestreo. Dicho valor se utiliza como referencia para la función de vigilancia y para realizar cálculos.
Instrucciones tecnológicas 10.2 Control PID 10.2.1 Insertar la instrucción PID y un objeto tecnológico STEP 7 ofrece dos instrucciones de control PID: ● La instrucción PID_Compact y su objeto tecnológico ofrecen un regulador PID universal con optimización. El objeto tecnológico contiene todos los ajustes para el lazo de regulación.
Instrucciones tecnológicas 10.2 Control PID Tabla 10- 17 (Opcional) Crear un objeto tecnológico desde el árbol del proyecto También es posible crear objetos tecnológicos para el proyecto antes de insertar la instrucción PID. Si se crea el objeto tecnológico antes de insertar una instrucción PID en el programa de usuario, puede seleccionarse dicho objeto tecnológico al insertar la instrucción PID.
Instrucciones tecnológicas 10.2 Control PID 10.2.2 PID_Compact 10.2.2.1 Instrucción PID_Compact La instrucción PID_Compact ofrece un regulador PID universal con autoajuste integrado para modo automático y manual. Tabla 10- 18 Instrucción PID_Compact KOP / FUP Descripción "PID_Compact_1"( PID_Compact ofrece un regulador PID con Setpoint:=_real_in_, autoajuste para modo automático y modo Input:=_real_in_,...
Página 624
Instrucciones tecnológicas 10.2 Control PID Tabla 10- 19 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción Setpoint Real Consigna del regulador PID en modo automático. (Valor predetermina- do: 0,0) Input Real Una variable del programa de usuario se utiliza como fuente para el valor de proceso.
Página 625
Instrucciones tecnológicas 10.2 Control PID Parámetro y tipo Tipo de datos Descripción Output_PER Word Valor de salida analógico. (Valor predeterminado: W#16#0) Output_PWM Bool Valor de salida para la modulación del ancho de impulso. (Valor prede- terminado: FALSE) Los tiempos de activación y desactivación forman el valor de salida. SetpointLimit_H Bool Límite superior de consigna.
Página 626
Instrucciones tecnológicas 10.2 Control PID Operación del regulador PID_Compact Figura 10-1 Operación del regulador PID_Compact Figura 10-2 Operación del regulador PID_Compact como regulador PIDT1 con anti-windup Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Instrucciones tecnológicas 10.2 Control PID 10.2.2.2 Instrucción PID_Compact Límites del valor de proceso Los "límites del valor de proceso" se suelen emplear junto con la entrada analógica, aunque también pueden utilizarse para otros fines. La configuración de los límites del valor del proceso tiene dos funciones: ●...
Instrucciones tecnológicas 10.2 Control PID Si se introduce una consigna que está fuera del rango, Compact_PID limita automáticamente la variable de proceso al rango configurado. Así, por ejemplo, si el límite superior del valor de proceso se establece en 120% (tal y como se muestra en la figura superior), es posible introducir una consigna mayor que 120%.
Página 629
Instrucciones tecnológicas 10.2 Control PID ErrorBit (DW#16#...) Descripción 1000 Valor no válido en el parámetro Setpoint: el valor tiene un formato de núme- 2, 3 ro no válido. 10000 Valor no válido en el parámetro ManualValue: el valor tiene un formato de número no válido.
Instrucciones tecnológicas 10.2 Control PID 10.2.2.4 Parámetros Warning de la instrucción PID_Compact Si el regulador PID tiene varias advertencias pendientes, muestra los valores de los códigos de error utilizando una suma binaria. Si se muestra el código de error 0003, por ejemplo, significa que los errores 0001 y 0002 están pendientes.
Instrucciones tecnológicas 10.2 Control PID 10.2.3 PID_3Step 10.2.3.1 Instrucción PID_3Step La instrucción PID_3Step configura un regulador PID con capacidades de autoajuste que se ha optimizado para válvulas accionadas por motor y actuadores. Tabla 10- 22 Instrucción PID_3Step KOP / FUP Descripción "PID_3Step_1"( PID_3Step configura un regulador PID con...
Página 632
Instrucciones tecnológicas 10.2 Control PID Tabla 10- 23 Tipos de datos de los parámetros Parámetro y tipo Tipo de datos Descripción Setpoint Real Consigna del regulador PID en modo automático. (Valor predetermina- do: 0,0) Input Real Una variable del programa de usuario se utiliza como fuente para el valor de proceso.
Página 633
Instrucciones tecnológicas 10.2 Control PID Parámetro y tipo Tipo de datos Descripción ManualValue Real Valor de proceso para operación manual. (Valor predeterminado: 0,0) En modo manual, el usuario especifica la posición absoluta de la válvu- la. ManualValue solo se evalúa si se utiliza OutputPer o si hay reali- mentación de posición.
Página 634
Instrucciones tecnológicas 10.2 Control PID Parámetro y tipo Tipo de datos Descripción ScaledFeedback Real Realimentación de posición escalada de válvula Nota: para un actuador sin realimentación de posición, la posición del actuador indicada en ScaledFeedback es muy imprecisa. Sca- ledFeedback solo puede utilizarse para una estimación aproximada de la posición actual en este caso.
Página 635
Instrucciones tecnológicas 10.2 Control PID Parámetro y tipo Tipo de datos Descripción Error Bool Si Error = TRUE, hay como mínimo un mensaje de error pendiente. (Valor predeterminado: FALSE) Nota: el parámetro Error en V1.x PID era el campo ErrorBits que con- tenía los códigos de error.
Página 636
Instrucciones tecnológicas 10.2 Control PID Figura 10-4 Operación del regulador PID_3Step sin realimentación de posición Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Página 637
Instrucciones tecnológicas 10.2 Control PID Figura 10-5 Operación del regulador PID_3Step con realimentación de posición habilitada Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Instrucciones tecnológicas 10.2 Control PID 10.2.3.2 Parámetros ErrorBit de la instrucción PID_3Step Si hay varios errores pendientes, los valores de los códigos de error se muestran mediante suma binaria. La indicación del código de error 0003, por ejemplo, indica que también están pendientes los errores 0001 y 0002.
Página 639
Instrucciones tecnológicas 10.2 Control PID ErrorBit (DW#16#...) Descripción 10000 Valor no válido en el parámetro ManualValue: el valor tiene un formato de número no válido. El actuador no se puede mover al valor manual y permanece en la posición actual. Asigne un valor válido en ManualValue o mueva el actuador en modo ma- nual con Manual_UP y Manual_DN.
Instrucciones tecnológicas 10.2 Control PID 10.2.3.3 Parámetros Warning de la instrucción PID_3Step Si el regulador PID tiene varias advertencias pendientes, muestra los valores de los códigos de error utilizando una suma binaria. Si se muestra el código de error 0003, por ejemplo, significa que los errores 0001 y 0002 están pendientes.
Instrucciones tecnológicas 10.2 Control PID 10.2.4 PID_Temp 10.2.4.1 Instrucción PID_Temp La instrucción PID_Temp ofrece un regulador PID universal que permite manejar los requisitos específicos de control de temperatura. Tabla 10- 26 Instrucción PID_Temp KOP / FUP Descripción "PID_Temp_1"( PID_Temp ofrece las funcionalidades si- Setpoint:=_real_in_, guientes: Input:=_real_in_,...
Página 642
Instrucciones tecnológicas 10.2 Control PID Tabla 10- 27 Tipos de datos de los parámetros Parámetro y tipo Tipo de datos Descripción Setpoint Real Consigna del regulador PID en modo automático. (Valor predetermina- do: 0,0) Input Real Una variable del programa de usuario se utiliza como fuente para el valor de proceso.
Página 643
Instrucciones tecnológicas 10.2 Control PID Parámetro y tipo Tipo de datos Descripción Mode IN/OUT Activado en el primer flanco de la entrada Mode Activate. Selección del modo de operación (valor predeterminado: 0,0): Mode = 0: Inactivo • Mode = 1: Optimización inicial •...
Página 644
Instrucciones tecnológicas 10.2 Control PID Parámetro y tipo Tipo de datos Descripción OutputHeat_PWM Bool Valor de salida con modulación del ancho de impulso para calefacción. (Valor predeterminado: FALSE) Este valor de salida solo se calcula si se selecciona usando el paráme- tro Config.Output.Heat.Select =1 (valor predeterminado).
Instrucciones tecnológicas 10.2 Control PID Parámetro y tipo Tipo de datos Descripción Warning DWord La instrucción PID_Temp, tabla de parámetros de advertencia (Pági- na 653) define los mensajes de advertencia pendientes que son rele- vantes para el usuario. (Valor predeterminado: DW#16#0000 (ninguna advertencia)).
Página 646
Instrucciones tecnológicas 10.2 Control PID ControlZone Con el regulador PID_Temp, se puede definir una zona de regulación para cada juego de parámetros en el parámetro "ControlZone". Si el error de regulación (consigna – entrada) se encuentra dentro de la zona de regulación, PID_Temp utiliza el algoritmo PID para calcular las señales de salida.
Página 647
Instrucciones tecnológicas 10.2 Control PID Operaciones de regulador PID_Temp Los siguientes diagramas de bloques muestran las operaciones estándar y en cascada de la instrucción PID_Temp: Figura 10-6 PID_Temp_Operation_Block_Diagram Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Instrucciones tecnológicas 10.2 Control PID Figura 10-7 PID_Temp_Cascade_Operation_Block_Diagram Reguladores en cascada Los reguladores PID de temperatura se pueden ajustar en cascada para procesar más de una temperatura que dependa del mismo actuador. Orden de llamada Los reguladores PID en cascada se pueden llamar en el mismo ciclo de OB. Primero hay que llamar el maestro, a continuación el siguiente esclavo o los siguientes esclavos en el flujo de señal de regulación, y así...
Instrucciones tecnológicas 10.2 Control PID Conexiones de comunicación Si se ajustan reguladores en cascada, hay que conectar maestro y esclavo de forma que puedan compartir información entre sí. Hay que conectar el parámetro IN/OUT “Master” de un esclavo con el parámetro IN/OUT “Slave” de su maestro en el sentido de flujo de las señales.
Instrucciones tecnológicas 10.2 Control PID Autoajuste El autoajuste de reguladores maestros en cascada debe cumplir los siguientes requisitos: ● Ser puesto en servicio desde su esclavo interior al primer maestro. ● Todos los esclavos del maestro deben estar en "Modo automático". ●...
Instrucciones tecnológicas 10.2 Control PID Anti-windup Un esclavo en cascada recibe su consigna de la salida de su maestro. Si el esclavo alcanza sus propios límites de salida mientras el maestro todavía ve un error de regulación (consigna – entrada), el maestro congela o reduce su contribución a la integración para impedir el efecto llamado "WindUp".
Página 652
Instrucciones tecnológicas 10.2 Control PID ErrorBit (DW#16#...) Descripción 0080 Error durante la optimización inicial. Configuración incorrecta de los límites del valor de salida. Compruebe si los límites del valor de salida están configurados correcta- mente y coinciden con la lógica de control. 0100 Un error durante la optimización fina ha provocado parámetros no válidos.
Instrucciones tecnológicas 10.2 Control PID ErrorBit (DW#16#...) Descripción 4000000 Error al iniciar la optimización fina. "Heat.EnableTuning" y "Co- ol.EnableTuning" no pueden activarse al mismo tiempo. 8000000 Un error durante el cálculo del parámetro PID ha resultado en parámetros no válidos (por ejemplo, ganancia negativa; los parámetros PID actuales permanecen invariables y la optimización no tiene efecto).
Instrucciones tecnológicas 10.2 Control PID Advertencia Descripción (DW#16#...) 1000 No es posible acceder al valor de salida de sustitución porque está fuera de los límites para el valor de salida. 4000 No se soporta la selección de salida especificada para calentamiento y/o enfriamiento.
Página 655
Instrucciones tecnológicas 10.2 Control PID Tabla 10- 30 Ejemplo de ajustes de configuración de la instrucción PID_Compact Ajustes Descripción Básicos Tipo de regulador Selecciona las unidades de ingeniería. Invertir la lógica de Permite seleccionar un lazo PID de acción inversa. control Si no está...
Página 656
Instrucciones tecnológicas 10.2 Control PID Tabla 10- 31 Ejemplo de ajustes de configuración de la instrucción PID_3Step Configuración Descripción Básicos Tipo de regulador Selecciona las unidades de ingeniería. Invertir la lógica de Permite seleccionar un lazo PID de acción inversa. control Si no está...
Instrucciones tecnológicas 10.2 Control PID Configuración Descripción Avanzada Vigilancia del valor Ajusta los límites superior e inferior de advertencia para el valor de proceso. de proceso Parámetros PID Si el usuario lo desea, puede introducir sus propios parámetros de optimización PID en esta ventana.
Instrucciones tecnológicas 10.2 Control PID Tabla 10- 32 Ejemplo de ajustes de configuración de la instrucción PID_Temp Configuración Descripción Básicos Tipo de regulador Selecciona las unidades de ingeniería. Activar modo tras Reinicia el lazo PID después de resetearlo o si se ha excedido un rearranque de la límite de entrada y se ha vuelto al rango válido.
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Activar "RunModeByStartup" Bool Casilla de verifi- Si se ajusta TRUE modo cación (=predeterminada), el tras regulador cambia al es- rearran- tado guardado en la que de la variable “Mode”...
Página 660
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Entrada Input o Input_PER Real Real o Int Solo accesible en la o Int página de propiedades. Sin regulación multivalor en modo online de la vista funcional. Salida "Config.Output.Heat.Select"...
Página 661
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Activar "Config.ActivateCooling" Bool Bool Si se activa esta casilla salida de verificación: (enfri- Se pone "Con- • amiento) fig.Output. Heat.PidLowerLimit = 0.0 una vez. Se pone •...
Página 662
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Salida "Config.Output.Cool.Select" 2 >= Config.Output. Selecciona el tipo de de se- (Enu Heat.Select salida que se va a utili- lección >= 0 zar para el enfriamiento. (enfri- Selecciones posibles: amiento)
Instrucciones tecnológicas 10.2 Control PID Parámetros de cascada Los siguientes parámetros permiten seleccionar reguladores como maestros o esclavos y determinar el número de reguladores esclavos que reciben la consigna directamente del regulador maestro: Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Este...
Página 664
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Número "Config.Cascade.CountSlaves" 255 >= Con- Número de reguladores fig.Cascade. esclavos que obtienen la esclavos CountSlaves consigna directamente >= 1 de este regulador maes- tro. La instrucción PID_Temp procesa este valor, junto con otros, para el tratamiento anti-...
Instrucciones tecnológicas 10.2 Control PID Ejemplo: Reguladores en cascada En el cuadro de diálogo “Ajustes básicos” que aparece a continuación se pueden ver las secciones “Parámetros de entrada/salida” y “Cascada” para el regulador esclavo "PID_Temp_2" tras seleccionar "PID_Temp_1" como maestro. Se realiza la conexión entre los reguladores maestro y esclavo: Segmento 1: En estos segmentos se establece la conexión entre el maestro "PID_Temp_1"...
Instrucciones tecnológicas 10.2 Control PID Segmento 2: Se establece la conexión entre los parámetros “OutputHeat” y "slave" del maestro "PID_Temp_1" y los parámetros “Setpoint” y "Master" del esclavo "PID_Temp_2" respectivamente: Autoajuste de procesos de temperatura La instrucción PID_Temp proporciona dos modos de autoajuste: ●...
Página 667
Instrucciones tecnológicas 10.2 Control PID Dependiendo de la configuración del regulador, habrá disponibles diferentes variantes de estos métodos de optimización: Configuración Regulador con salida de Regulador con salida de Regulador con salida de calentamiento calentamiento y enfria- calentamiento y enfria- miento usando factor de miento usando dos juegos enfriamiento...
Página 668
Instrucciones tecnológicas 10.2 Control PID Límites y escala del valor de salida Activación de enfriamiento deshabilitada Si configura la instrucción PID_Temp como maestro para una cascada, la casilla de verificación “Activar salida (refrigeración)” de la vista “Ajustes básicos” estará desactivada y deshabilitada, todos los ajustes de la vista “Ajustes de la salida”...
Página 669
Instrucciones tecnológicas 10.2 Control PID Activación de enfriamiento habilitada La siguiente figura muestra la sección "Límites de valor de salida y escalado” en la vista “Ajustes de la salida” con enfriamiento activado (OutputCool_PER y OutputHeat_PWM seleccionados en la vista “Parámetros de entrada/salida”; OutputCool y OutputHeat siempre habilitados): Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Instrucciones tecnológicas 10.2 Control PID Modos de operación Para cambiar el modo de operación manualmente, el usuario tiene que ajustar el parámetro de entrada/salida “Mode” del regulador y activarlo cambiando “ModeActivate” de FALSE a TRUE (disparo por flanco ascendente). Es necesario resetear “ModeActivate” antes de volver a cambiar el modo;...
Instrucciones tecnológicas 10.2 Control PID El parámetro de salida “State” muestra el modo de operación actual y, si es posible, se pone en el modo (“Mode”) solicitado. El parámetro “State” no puede cambiarse directamente; solo se cambia con el parámetro “Mode” o con cambios de modo de operación automáticos del regulador.
Página 672
Instrucciones tecnológicas 10.2 Control PID "Mode" / Nombre Descripción "State" Modo manual Es este modo, el regulador PID escala, limita y transfiere el valor del parámetro “Manual- Value” a las salidas. El regulador PID asigna “ManualValue” en el escalado del algoritmo PID (igual que “Pi- dOutputSum”), de ese modo su valor decide si es efectivo en las salidas de calentamien- to o enfriamiento.
Instrucciones tecnológicas 10.2 Control PID 10.2.7 Puesta en servicio de los reguladores PID_Compact y PID_3Step Utilice el editor de puesta en servicio para configurar el regulador PID de modo que se autoajuste al arrancar y durante el funcionamiento. Para abrir el editor de puesta en servicio, haga clic en el icono de la instrucción o del árbol del proyecto.
Página 674
Instrucciones tecnológicas 10.2 Control PID Control del valor de arranque PID Los valores reales de los parámetros de configuración PID se pueden editar para que el comportamiento del regulador PID pueda optimizarse en modo online. Abra los "Objetos tecnológicos" del regulador PID y su objeto "Configuración". Para acceder al control del valor de arranque, haga clic en el icono "monóculo"...
Instrucciones tecnológicas 10.2 Control PID La figura inferior muestra la pantalla de parámetros PID con iconos de comparación que muestran qué valores difieren en los proyectos online y offline. Un icono verde indica que los valores son los mismos; un icono azul/naranja indica que los valores difieren. Además, haga clic en el botón de parámetros con la flecha hacia abajo y abra la pequeña ventana que muestra el valor de arranque del proyecto (offline) y el valor de arranque del PLC (online) para cada parámetro:...
Página 676
Instrucciones tecnológicas 10.2 Control PID Límites PWM Los actuadores controlados con la función de software PWM del PID_Temp pueden requerir protección frente a duraciones de impulso demasiado cortas (por ejemplo, un relé tiristor tiene que activarse durante más de 20 ms antes de que pueda reaccionar); para ello se asigna un mínimo de tiempo.
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Tiempo "Config.Output.Cool. Real 100000,0 Un impulso en Out- conexión MinimumOnTime" >= Config.Output. putCool_PWM" nunca Cool. será inferior a este mín (refrig- MinimumOnTime valor. eración) >= 0,0 1,3,4 Tiempo "Config.Output.Cool.
Página 678
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Activar "Retain.CtrlParams. Bool Bool Hay que activar esta SetByUser" casilla de verificación Entrada para introducir los pa- manual rámetros PID manual- mente. Ganancia "Retain.CtrlParams. Real Ganancia >= 0.0 Ganancia proporcional proporcional Heat.Gain"...
Página 679
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Ancho de la "Retain.CtrlParams. Real ControlZone> 0.0 Ancho de la zona del zona de Heat.ControlZone" error de regulación regulación para calentamiento en (calefac- la que la regulación ción) PID está...
Página 680
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Estructura "PIDSelfTune.SUT. "PIDSelf- Se puede seleccionar del regula- TuneRuleHeat", Tune.SUT. el algoritmo de optimi- dor (cale- TuneRuleHeat" zación para calenta- "PIDSelfTune.TIR. facción) = 0..2, miento. TuneRuleHeat" "PIDSelf- Selecciones posibles: Tune.TIR.
Página 681
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Coeficiente Retain.CtrlParams. Real TdFiltRatio>= 0.0 Coeficiente de retardo retardo Cool.TdFiltRatio" derivativo PID para derivativo enfriamiento que define (enfri- el tiempo de retardo amiento) derivativo como coefi- ciente del tiempo deri- vativo PID.
Página 682
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Ancho de la "Retain.CtrlParams. Real ControlZone> 0.0 Ancho de la zona del zona de Cool.ControlZone" error de regulación regulación para enfriamiento en la (refrigera- que la regulación PID ción) está...
Página 683
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos Estructura "PIDSelfTune.SUT. "PIDSelf- Se puede seleccionar del regula- TuneRuleCool", Tune.SUT. el algoritmo de optimi- dor (refrig- TuneRuleHeat" zación para enfriamien- "PIDSelfTune.TIR. eración) = 0..2, TuneRuleCool" "PIDSelf- Selecciones posibles: Tune.TIR.
Página 684
Instrucciones tecnológicas 10.2 Control PID Ajuste Parámetro TO-DB Tipo Rango de valores Descripción datos El campo muestra "s" (segundos) como unidad de tiempo. Solo disponible si se ha activado "Activar entrada manual” en los parámetros PID ("Re- tain.CtrlParams.SetByUser" = TRUE). La unidad de medida se indica al final del campo de la forma seleccionada en la vista “Ajustes básicos”.
Página 685
Instrucciones tecnológicas 10.2 Control PID Ahora puede cambiar el valor de cualquier parámetro de configuración del regulador PID como muestra la figura inferior. Se puede comparar el valor actual con el valor de arranque del proyecto (offline) y el valor de arranque del PLC (online) de cada parámetro.
Instrucciones tecnológicas 10.3 Motion control 10.3 Motion control La CPU ofrece funciones de control de movimiento para el uso de motores paso a paso y servomotores con interfaz por impulsos. Las funciones de control de movimiento controlan y monitorizan los accionamientos. ●...
Página 687
Instrucciones tecnológicas 10.3 Motion control Los cuatro generadores de impulsos tienen asignaciones de E/S predeterminadas. Sin embargo, se pueden configurar para cualquier salida digital de la CPU o SB. Los generadores de impulsos de la CPU no se pueden asignar a SM o a las E/S descentralizadas.
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 36 Salida de la CPU: frecuencia máxima Canal de salida de la Salida de impulsos A/B, cuadratura, arri- y sentido ba/abajo y impulso/sentido 1211C De Qa.0 a Qa.3 100 kHz 100 kHz 1212C De Qa.0 a Qa.3 100 kHz 100 kHz...
Página 689
Instrucciones tecnológicas 10.3 Motion control Ejemplo: configuraciones de velocidad de salida de impulsos de la CPU 1217C Nota La CPU 1217C puede generar salidas de impulsos de hasta 1 MHz mediante las salidas diferenciales incorporadas. En los ejemplos que se muestran a continuación se muestran cuatro posibles combinaciones de velocidad de salida: ●...
Página 690
Instrucciones tecnológicas 10.3 Motion control P = Impulso Salidas integradas en CPU Salidas de SB rápidas Salidas de D = Sentido estándar 2 - 200 PTO4 (todos salida de sentido) Ejemplo: configuraciones de velocidad de salida de impulsos de CPU 1211C, CPU 1212C, CPU 1214C y CPU 1215C En los ejemplos que se muestran a continuación se muestran cuatro posibles combinaciones de velocidad de salida:...
Instrucciones tecnológicas 10.3 Motion control P = Impulso Salidas integradas en CPU Salidas de SB rápidas Salidas de SB lentas D = Sentido salida de PTO4 sentido) Ej. 4: PTO1 2 - 100 PTO2 kHz; PTO3 2 - 200 PTO4 kHz (todos con salida de senti-...
Página 692
Instrucciones tecnológicas 10.3 Motion control ● PTO (con desplazamiento de fase A/B): si selecciona una opción PTO (A/B con desplazamiento de fase), ambas salidas emiten impulsos a la velocidad especificada, pero con un desfase de 90 grados. Se trata de una configuración 1X, lo que significa que un impulso es la cantidad de tiempo entre transiciones positivas de P0.
Página 693
Instrucciones tecnológicas 10.3 Motion control ● PTO (A/B con desplazamiento de fase - cuádruple): si selecciona una opción PTO (A/B con desplazamiento de fase - cuádruple), ambas salidas emiten impulsos a la velocidad especificada, pero con un desfase de 90 grados. La configuración cuádruple es una configuración 4X, lo que significa que un impulso es la transición de cada salida (tanto positiva como negativa).
Instrucciones tecnológicas 10.3 Motion control 10.3.2 Configurar un generador de impulsos 1. Agregue un objeto tecnológico: – En el árbol de proyectos, expanda el nodo "Objetos tecnológicos" y seleccione "Agregar objeto". – Seleccione el icono "Eje" (cambie el nombre si fuera necesario) y haga clic en "Aceptar"...
Instrucciones tecnológicas 10.3 Motion control Nota Configurar un generador de impulsos para salidas de Signal Board: Seleccione las propiedades "Generadores de impulsos (PTO/PWM)" de una CPU (en la configuración de dispositivos) y habilite un generador de impulsos. Para cada CPU S7-1200 V1.0, V2.0, V2.1 y V2.2 hay disponibles dos generadores de impulsos.
Página 696
Instrucciones tecnológicas 10.3 Motion control Nota Para las versiones de firmware V2.2 y anteriores de CPU, el PTO necesita la funcionalidad interna de un contador rápido (HSC). Esto significa que el HSC rápido correspondiente no se puede utilizar en ningún otro lugar. La asignación entre PTO y HSC es fija.
Página 697
Instrucciones tecnológicas 10.3 Motion control El selector de árbol del eje PTO no incluye los menús de configuración Encóder, Módulo, Vigilan- cia de posicionamiento y Lazo de regulación. Después de crear el objeto tecnológico para el eje, se configura el eje definiendo los parámetros bási- cos, como el PTO y la configuración de la interfaz del accionamiento.
Página 698
Instrucciones tecnológicas 10.3 Motion control Configure las propiedades de las señales y los mecanismos del accionamiento, así como la vigi- lancia de posición (finales de carrera por hardware y software). Se configuran las animaciones del movimiento y el comportamiento del comando de parada de emer- gencia.
Instrucciones tecnológicas 10.3 Motion control 10.3.3.2 Puesta en servicio Función de diagnóstico "Bits de estado y error" La función de diagnóstico "Bits de estado y error" se utiliza para vigilar los principales avisos de estado y mensajes de error del eje. La visualización de la función de diagnóstico está disponible en modo online con el modo "Control manual"...
Página 700
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 42 Estado del movimiento del eje Estado Descripción Parada El eje está parado. (Variable del objeto tecnológico: <Nombre del eje>.StatusBits.StandStill) Aceleración El eje acelera. (Variable del objeto tecnológico: <Nombre del eje>.StatusBits.Acceleration) Velocidad constante El eje se desplaza a una velocidad constante.
Página 701
Instrucciones tecnológicas 10.3 Motion control Error Descripción Error de configuración El objeto tecnológico "Eje" se ha configurado erróneamente o los datos de configuración editables se han modificado incorrectamente durante el runtime del programa de usuario. (Variable del objeto tecnológico: <Nombre del eje>.ErrorBits.ConfigFault) Error general Se ha producido un error interno.
Página 702
Instrucciones tecnológicas 10.3 Motion control Control de valor inicial de movimiento Los valores reales de los parámetros de configuración de movimiento se pueden editar para que el comportamiento del proceso pueda optimizarse en modo online. Abra los "Objetos tecnológicos" para Motion Control y el objeto "Configuración". Para acceder al control de valor inicial, haga clic en el icono "monóculo"...
Página 703
Instrucciones tecnológicas 10.3 Motion control Ahora puede cambiar el valor de cualquiera de los parámetros de configuración de Motion Control de la forma representada en la figura inferior. Se puede comparar el valor real con el valor inicial del proyecto (offline) y el valor inicial del PLC (online) de cada parámetro.
Página 704
Instrucciones tecnológicas 10.3 Motion control La figura inferior muestra la pantalla de parámetros Motion con iconos de comparación que muestran qué valores son diferentes entre los proyectos online y offline. Un icono verde indica que los valores son los mismos; un icono azul/naranja indica que los valores son diferentes.
Instrucciones tecnológicas 10.3 Motion control 10.3.4 Motion control de bucle cerrado 10.3.4.1 Configurar el eje El eje de lazo cerrado del PLC y el accionamiento se conectan a través de una de las dos conexiones siguientes: ● Accionamiento analógico: esta conexión puede utilizar entradas y salidas analógicas integradas, de SB o de módulos de señales (SM);...
Página 706
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 47 Herramientas de STEP 7 para control de movimiento en lazo cerrado Herramienta Descripción Configuración Configura las propiedades siguientes del objeto tecnológico "Eje": Selección de la conexión del accionamiento analógico o PROFIdrive que se va a utilizar y •...
Página 707
Instrucciones tecnológicas 10.3 Motion control Después de crear el objeto tecnológico para el eje, se configura el eje definiendo los parámetros básicos, ya sea el accionamiento analógico o la conexión PROFIdrive y la configuración del accionamiento y el encóder. El árbol de selección del accionamiento analógico o la conexión PROFIdrive incluye los menús de configuración Encóder, Módulo, Vigilancia de posi- cionamiento y Lazo de regulación.
Instrucciones tecnológicas 10.3 Motion control Configuración de la conexión del accionamiento analógico En el cuadro de diálogo de configuración General se seleccionan los siguientes parámetros: • Botón de opción "Conexión de accionamiento analógico" • Unidad de medida En el cuadro de diálogo de configuración Accio- namiento se seleccionan los siguientes paráme- tros: •...
Instrucciones tecnológicas 10.3 Motion control Configuración de PROFIdrive En el cuadro de diálogo de configuración General se seleccionan los siguientes parámetros: • Botón de opción "PROFIdrive" • Unidad de medida En el cuadro de diálogo de configuración Accio- namiento se seleccionan los siguientes paráme- tros: •...
Instrucciones tecnológicas 10.3 Motion control Parámetros avanzados También es posible configurar las siguientes propiedades del eje de lazo cerrado: ● Modulo ● Límites de posición ● Dinámica ● Referenciado ● Vigilancia de posición ● Error de seguimiento ● Señal de parada ●...
Página 711
Instrucciones tecnológicas 10.3 Motion control Referenciado: Se puede configurar el comportamiento de referenciado (pasivo y activo). "Vigilancia de posición": Se puede configurar un tiempo de tolerancia y un tiempo de per- manencia mínimo para la ventana de posi- cionamiento. El sistema conecta los tres parámetros si- guientes directamente con el eje TO-DB: •...
Instrucciones tecnológicas 10.3 Motion control "Señal de parada": Se pueden configurar los siguientes parámetros: • Tiempo de permanencia mínimo en la ventana de parada • Ventana de parada. "Lazo de regulación": Se puede configurar la ganancia de velocidad conocida como "Con- trol previo (factor Kv)".
Página 713
Instrucciones tecnológicas 10.3 Motion control El OB MC-PreServo y el OB MC-PostServo son instancias del ServoOB y tienen el tipo ServoOB. Estos OB son opcionales, solo pueden existir si hay un OB MC-Servo y contienen el código del usuario. Los tres OB (MC-PreServo, MC-Servo y MC-PostServo) deben ejecutarse en el mismo nivel de ejecución y los dispara el mismo CyclicServoEvent.
Instrucciones tecnológicas 10.3 Motion control Desbordamiento de MC-Servo (OB 91) El ciclo de aplicación seleccionado debe ser lo suficientemente largo como para que todos los objetos tecnológicos de Motion Control puedan procesarse en un solo ciclo. Si no se observa el ciclo de aplicación se produce un desbordamiento. La CPU no pasa a STOP cuando se produce un desbordamiento de MC-Servo (OB 91).
Página 715
Instrucciones tecnológicas 10.3 Motion control MC_Power La instrucción MC_Power permite activar el eje con el modo "regulación por velocidad". Puede hacerse si no se dispone de valores de sensor válidos o el eje no puede cambiar al modo "posición regulada". Solo es posible emplear los StartModes "0"...
Instrucciones tecnológicas 10.3 Motion control MC_Halt La instrucción "MC_Halt" no cambia el modo de operación. En modo con regulación por velocidad, la rampa de desaceleración calculada depende de la velocidad de consigna con la desaceleración configurada. Si se alcanza la ventana de parada, el comando finaliza y muestra "Listo = TRUE". Otros comandos de movimiento El modo con regulación por velocidad permanece activo hasta que se activa uno de los siguientes comandos:...
Instrucciones tecnológicas 10.3 Motion control Finales de carrera por hardware Durante el modo con regulación de velocidad se soportan los finales de carrera por hardware. 10.3.4.4 Soporte de telegrama 4 El telegrama 4 de PROFIdrive contiene valores de actuador y dos valores de diferentes encóders.
2 PN V4.7. Para ello, expanda las carpetas siguientes: – Otros dispositivos de campo – PROFINET IO – Accionamientos – SIEMENS AG – SINAMICS Inserte el accionamiento tal y como se muestra en las figuras inferiores: Configure la red PROFINET.
Página 719
Instrucciones tecnológicas 10.3 Motion control 3. Selección del telegrama 4: – Expanda la carpeta de submódulos en el catálogo de hardware. – Haga doble clic o arrastre el "Telegrama estándar 4, PZD-6/15;SERVO" para insertarlo en la segunda fila vacía. – Debe saltarse una fila vacía para insertar el telegrama 4, tal y como se muestra en la figura inferior: Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Página 720
Instrucciones tecnológicas 10.3 Motion control 4. Selección del encóder en el cuadro de diálogo de configuración del accionamiento: – Navegue hasta el cuadro de diálogo de configuración del eje, Parámetros básicos, cuadro de diálogo Configuración del accionamiento. – Vaya hasta el campo Seleccionar accionamiento PROFIdrive, accionamiento. –...
Página 721
Instrucciones tecnológicas 10.3 Motion control 5. Configurar el encóder: – Puesto que se ha seleccionado el telegrama 4 en el cuadro de diálogo de configuración del accionamiento del eje, el cuadro de diálogo de configuración del accionamiento del encóder ofrece un entrada nueva "Encóder en telegrama" en el árbol de navegación.
Instrucciones tecnológicas 10.3 Motion control 10.3.4.5 Eje de simulación El modo de simulación se utiliza si se desea trabajar con PROFIdrive o el eje del accionamiento analógico en un PLC sin un accionamiento conectado. El modo de simulación es necesario si se desea ejecutar una de las tareas siguientes: ●...
Página 723
Instrucciones tecnológicas 10.3 Motion control Modo 1: "Simular accionamiento y encóder": ● En este modo, el eje del programa se ejecuta y trabaja en un PLC sin un hardware real conectado en relación con un accionamiento PROFIdrive y un sensor. ●...
Instrucciones tecnológicas 10.3 Motion control 10.3.4.6 Adaptación de datos Descripción general Es posible adaptar los datos de actuador y sensor que pueden leerse del módulo de accionamiento o sensor y que se han configurado igual en el PLC y en el dispositivo de accionamiento/sensor.
Página 725
Instrucciones tecnológicas 10.3 Motion control La figura siguiente muestra el cuadro de diálogo Accionamiento para la configuración del eje: ● Si se ha conectado un accionamiento SINAMICS: – La casilla de verificación está seleccionada por defecto. – Los controles situados a continuación de la casilla de verificación, "Velocidad de referencia"...
Página 726
Instrucciones tecnológicas 10.3 Motion control La figura siguiente muestra el cuadro de diálogo Encóder para la configuración del eje: Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Instrucciones tecnológicas 10.3 Motion control ● Si está conectado un encóder PROFIdrive: – La casilla de verificación está seleccionada por defecto. – Los controles situados a continuación de la casilla de verificación "Tipo de encóder" (solo "Pasos por vuelta") y "Resolución fina" están atenuados. –...
Instrucciones tecnológicas 10.3 Motion control Mostrar estados y errores de adaptación Motion Control muestra el estado y los errores de adaptación RT en parámetros y ErrorID/ErrorInfos: ● Motion Control muestra el estado de adaptación en el eje: Si la adaptación no funciona o funciona con errores, Motion Control muestra un error en el eje y la ErrorID / ErrorInfo de la instrucción MC_Power.
Instrucciones tecnológicas 10.3 Motion control Registro de datos actual seleccionado del accionamiento Un accionamiento SINAMICS soporta diferentes juegos de datos para el encóder y el actuador. El accionamiento SINAMICS adapta el registro actual en el momento de la adaptación. Por tanto, se lee "p51" (registro actual del accionamiento): ●...
Página 730
Instrucciones tecnológicas 10.3 Motion control Tres parámetros TO DB del actuador no se adaptan pero se comprueba su plausibilidad: Parámetro del sensor TO-DB Parámetro SINAMICS/PROFIdrive Actor.type r108, bit12 Actor.Interface.AddressIn.RID p922 o p2079 Actor.Interface.AddressOut.RID p922 o p2079 Los valores de cada parámetro se listan en las tablas siguientes: Parámetro del actuador TO-DB Valor Actor.type...
Instrucciones tecnológicas 10.3 Motion control Comprobación de la velocidad máxima El TIA Portal verifica la validez del parámetro TO-DB "DynamicLimits.MaxVelocity". Sin embargo, con la adaptación de datos, la verificación solo es posible cuando el sistema está en RUN y no ejecuta la verificación del TIA Portal. Comprobación de coherencia Motion Control ejecuta una comprobación de coherencia durante el primer arranque o rearranque del eje TO.
Página 732
Instrucciones tecnológicas 10.3 Motion control Parámetros Motion Control adapta los parámetros siguientes: Parámetro del sensor TO-DB Parámetro SINAMICS/PROFIdrive Sensor[i].System P979.[1] o P979.[11] • Bit 0 = 0: encóder rotativo • Bit 0 = 1: encóder lineal • Sensor rotativo incremental Sensor[i].Parameter.StepsPerRevolution P979.[2] o P979.[12] Sensor[i].Parameter.FineResolutionXist1...
Instrucciones tecnológicas 10.3 Motion control Comprobación de coherencia Motion Control ejecuta una comprobación de coherencia durante el primer arranque o rearranque del eje TO. Motion Control también muestra un ErrorID si la adaptación del sensor está activada. Una comprobación de coherencia implica el telegrama y el tipo de sensor: ●...
Página 734
Instrucciones tecnológicas 10.3 Motion control Sensor Tipo Valor predetermi- Intercambiable Comentario nado Sen- DINT R (con rear- Activar adapta- sor.DataAdaptation ranque) ción: 0: NO • 1: SÍ • StatusSensor Tipo Comentario StatusSensor.AdaptationState DINT Estado de adaptación: 0: NOT_ADAPTED: No puede •...
Instrucciones tecnológicas 10.3 Motion control 10.3.4.7 Control de ejes mediante el módulo TM Pulse El módulo TM Pulse es un módulo de salidas de impulso de dos canales ET 200SP que se utiliza con válvulas y motores. El módulo soporta dos canales de 24 V DC a 2 A o un canal de 24 V DC a 4 A.
Página 736
Instrucciones tecnológicas 10.3 Motion control Proceda del siguiente modo para configurar el módulo TM Pulse: 1. Configure la CPU S7-1200. 2. Seleccione el módulo de interfaz ET 200SP necesario y colóquelo en la vista de dispositivos: 3. Agregue el módulo TM Pulse ET 200SP: 4.
Página 737
Instrucciones tecnológicas 10.3 Motion control Proceda del siguiente modo para configurar el eje de movimiento con realimentación de posición: 1. Cuando se configura la interfaz con un sistema de control de movimiento en lazo cerrado, se utiliza un regulador analógico, no PROFIdrive ni PTO. El eje que debe regularse se configura del mismo modo que un eje que utilice una salida analógica como entrada para un servoaccionamiento.
Página 738
Instrucciones tecnológicas 10.3 Motion control 2. En el cuadro de diálogo de configuración general del eje, seleccione "Conexión analógica del accionamiento": Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Página 739
Instrucciones tecnológicas 10.3 Motion control 3. Ahora se necesitan salidas analógicas y una habilitación de accionamiento para la configuración del accionamiento. Vaya a la vista de dispositivos del módulo de interfaz ET 200SP y a la entrada Vista general de dispositivos del módulo TM Pulse. Utilizando la dirección Q inicial del módulo TM Pulse y las tablas Interfaz de control e Interfaz de SIMATIC ET 200SP Módulo tecnológico TM realimentación que aparecen en el manual...
Página 740
Instrucciones tecnológicas 10.3 Motion control 4. En el cuadro de diálogo de configuración de encóders del eje, complete la configuración seleccionando uno de los encóders siguientes: ● Módulo TM Count ● Módulo TM Pulse ● Contador rápido (HSC) Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Instrucciones tecnológicas 10.3 Motion control 10.3.5 Configurar TO_CommandTable_PTO Puede configurar una instrucción MC_CommandTable mediante los objetos tecnológicos. El ejemplo siguiente muestra cómo se hace. Agregar un objeto tecnológico 1. En el árbol de proyectos, expanda el nodo "Objetos tecnológicos" y seleccione "Agregar objeto".
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 48 Tipos de comandos de MC_CommandTable Tipo de comando Descripción Empty El comando vacío sirve como comodín para los comandos que se aña- dan. La entrada vacía se ignora cuando se procesa la tabla de comandos. Halt Detener eje.
Página 743
Instrucciones tecnológicas 10.3 Motion control En la siguiente figura, se utiliza "Blending motion" como transición al siguiente paso. Este tipo de transición permite que el dispositivo mantenga su velocidad en el inicio del siguiente paso, por lo que la transición del dispositivo de un paso al siguiente es fluida. El uso de esta transición puede reducir el tiempo total necesario para que un perfil se ejecute por completo.
Instrucciones tecnológicas 10.3 Motion control 10.3.6 Operación de Motion Control para S7-1200 10.3.6.1 Salidas de la CPU utilizadas para control de movimiento La CPU proporciona cuatro generadores de salida de impulsos. Cada generador de salida de impulsos ofrece una salida de impulsos y una salida de sentido para controlar un motor paso a paso, o bien un servomotor con interfaz de impulsos.
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 49 Asignaciones de direcciones predeterminadas de las salidas de impulsos y sentido Utilización de salidas para el control de movimiento Impulso Sentido PTO1 E/S incorporadas Q0.0 Q0.1 E/S de la SB Q4.0 Q4.1 PTO2 E/S incorporadas Q0.2...
Instrucciones tecnológicas 10.3 Motion control 10.3.6.2 Finales de carrera por hardware y software para Motion Control Utilice los finales de carrera por hardware y software para limitar el "rango de desplazamiento permitido" y el "rango de trabajo" del eje. ① Parada mecánica Rango de desplazamiento permitido para el eje...
Página 747
Instrucciones tecnológicas 10.3 Motion control Una vez que se ha completado la aproximación a los finales de carrera por hardware, el eje frena hasta detenerse por completo con la deceleración de emergencia configurada. La deceleración específica de emergencia debe ser suficiente para parar el eje de forma fiable antes de la parada mecánica.
Página 748
Instrucciones tecnológicas 10.3 Motion control Finales de carrera por software Los finales de carrera por software limitan el "rango de trabajo" del eje. Deben estar dentro de los finales de carrera por hardware relativos al rango de desplazamiento. Dado que las posiciones de los finales de carrera por software pueden ajustarse con flexibilidad, el rango operativo del eje puede delimitarse individualmente en función del perfil de desplazamiento.
Página 749
Instrucciones tecnológicas 10.3 Motion control Configuración de la detección de flancos al cambiar la dirección Si se asocia un final de carrera o un interruptor de referenciado de entrada a una dirección de entrada en un eje de posición TO, Motion Control lo configura automáticamente con alarmas de flanco.
Página 750
Instrucciones tecnológicas 10.3 Motion control Ejemplo: Cambiar a una nueva dirección de final de carrera por hardware con detección de flancos y desactivar la detección de flancos en la dirección antigua 1. Estado actual: Se ha conectado un "final de carrera por hardware con entrada low" a I0.2.
Página 751
Instrucciones tecnológicas 10.3 Motion control 3. La CPU acepta la nueva dirección I0.6 y activa la detección de flancos en I0.6. La detección de flancos de I0.2 en las propiedades de la CPU, Entradas digitales, se desactiva automáticamente: Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Página 752
Instrucciones tecnológicas 10.3 Motion control Ejemplo: Cambiar a una nueva dirección de final de carrera por hardware con detección de flancos y mantener la detección de flancos en la dirección antigua 1. Estado actual: Se ha conectado un "final de carrera por hardware con entrada low" a I0.2.
Página 753
Instrucciones tecnológicas 10.3 Motion control 3. La CPU acepta la nueva dirección I0.6 y activa la detección de flancos en I0.6. La detección de flancos de I0.2 en las propiedades de la CPU, Entradas digitales, se mantiene activada: Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Página 754
Instrucciones tecnológicas 10.3 Motion control Ejemplo: Cancelar el cambio a una nueva dirección de final de carrera por hardware con detección de flancos 1. Estado actual: Se ha conectado un "final de carrera por hardware con entrada low" a I0.2. Esta configuración activa automáticamente la detección de flancos en I0.2. Esta configuración también se muestra en las propiedades de la CPU, Entradas digitales: 2.
Instrucciones tecnológicas 10.3 Motion control 3. El "interruptor de final de carrera por hardware con entrada low" se mantiene configurado en I0.2 y la detección de flancos en I0.2 se mantiene activada: Información adicional El programa de usuario puede omitir los finales de carrera por hardware y software habilitando o deshabilitando ambas funciones.
Instrucciones tecnológicas 10.3 Motion control 10.3.6.3 Referenciación Referenciar significa hacer concordar las coordenadas del eje con la posición física real del accionamiento. (Si en este momento el accionamiento se encuentra en la posición x, el eje se ajustará para que se encuentre en la posición x.) Para ejes controlados por posición, las entradas e indicaciones referentes a la posición se refieren exactamente a esas coordenadas del eje.
Instrucciones tecnológicas 10.3 Motion control ● Modo 3 - Referenciación activa: Este modo es el método más preciso para la referenciación del eje. El sentido y la velocidad iniciales del movimiento se configuran en los parámetros de configuración avanzada del objeto tecnológico para la referenciación. Depende de la configuración de la máquina.
Página 758
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 51 Parámetros de configuración para referenciar el eje Parámetro Descripción Entrada interruptor de punto de Seleccione la entrada digital para el interruptor de punto de referencia de la lista referencia desplegable. La entrada debe soportar alarmas. Las entradas integradas de la CPU y las entradas de una Signal Board opcional pueden seleccionarse como entradas (Referenciación activa y pasiva) para el interruptor de punto de referencia.
Instrucciones tecnológicas 10.3 Motion control Parámetro Descripción Velocidad de referenciado Especifique la velocidad a la cual el eje se aproxima al interruptor de punto de refe- rencia en la referenciación. (Sólo referenciación activa) Valores límite (independientemente de la unidad seleccionada por el usuario): Velocidad de arranque/parada ≤...
Página 760
Instrucciones tecnológicas 10.3 Motion control Ejemplo: Seleccionar el nivel de conmutación de punto de referenciado pasivo 1. Se ha configurado un proyecto de S7-1200 con un eje analógico/PROFIdrive usando un referenciado pasivo. Dependiendo de su aplicación, se selecciona "nivel superior" o "nivel inferior"...
Instrucciones tecnológicas 10.3 Motion control Ejemplo: Seleccionar el nivel de conmutación de punto de referencia activo 1. Se ha configurado un proyecto de S7-1200 con un eje analógico/PROFIdrive usando un referenciado activo. Dependiendo de su aplicación, se selecciona "nivel superior" o "nivel inferior"...
Página 762
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 53 Características de velocidad del referenciado MC Funcionamiento Notas Velocidad de aproximación Velocidad de referenciado Coordenada de posición de referencia Offset de posición de referencia ① Fase de búsqueda (segmento azul de la curva): Cuando la referenciación activa comienza, el eje acelera a la velo- cidad de aproximación configurada y busca el interruptor de punto de referencia a esa velocidad.
Instrucciones tecnológicas 10.3 Motion control 10.3.6.4 Limitación de tirones La limitación de tirones permite reducir los esfuerzos de los aparatos durante la rampa de aceleración y deceleración. El valor de aceleración y deceleración no cambia repentinamente cuando el limitador de etapa está activo; se adapta en una fase de transición.
Instrucciones tecnológicas 10.3 Motion control 10.3.7 Instrucciones de Motion Control 10.3.7.1 Vista general de instrucciones de MC Las instrucciones de control de movimiento utilizan un bloque de datos tecnológico asociado y el PTO (salidas del tren de impulsos) específico de la CPU para controlar el movimiento de un eje.
Página 765
Instrucciones tecnológicas 10.3 Motion control Niveles de firmware de CPU Si tiene una CPU S7-1200 con firmware V4.1 o posterior, seleccione la versión V5.0 para todas las instrucción de movimiento. Si tiene una CPU S7-1200 con firmware V4.0 o anterior, seleccione la versión correspondiente V4.0, V3.0, V2.0 o V1.0 de cada instrucción de movimiento.
Instrucciones tecnológicas 10.3 Motion control 10.3.7.2 MC_Power (habilitar/bloquear eje) Nota Si el eje se desconecta debido a un error, se habilitará de nuevo automáticamente una vez que el error haya sido eliminado y acusado. Para ello es necesario que el parámetro de entrada Enable haya conservado el valor TRUE durante el proceso.
Página 767
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 56 Parámetros de la instrucción MC_Power Parámetro y tipo Tipo de datos Descripción Axis IN_OUT TO_Axis Objeto tecnológico Eje Enable Bool FALSE (predeterminado): Todas las tareas activas se cancelan en • función del "StopMode" parametrizado y el eje se detiene. TRUE: Motion Control intenta activar el eje.
Página 768
Instrucciones tecnológicas 10.3 Motion control ① Se activa y, a continuación, se desactiva un eje. Una vez que el accionamiento ha indicado a la CPU que está listo, la activación correcta puede leerse a través de "Status_1". ② Tras la activación de un eje, se ha producido un error que ha hecho que el eje se desactive. El error se elimina y se acusa con "MC_Reset".
Instrucciones tecnológicas 10.3 Motion control 10.3.7.3 MC_Reset (confirmar error) Tabla 10- 57 Instrucción MC_Reset KOP / FUP Descripción "MC_Reset_DB"( Utilice la instrucción MC_Reset para acusar Axis:=_multi_fb_in_, "Error operativo con parada de eje" y "Error de Execute:=_bool_in_, configuración". Los errores que requieren acu- se pueden encontrarse en la "Lista de ErrorIDs Restart:=_bool_in_, y ErrorInfos"...
Instrucciones tecnológicas 10.3 Motion control 10.3.7.4 MC_Home (referenciar eje) Tabla 10- 59 Instrucción MC_Home KOP / FUP Descripción "MC_Home_DB"( Utilice la instrucción MC_Home para Axis:=_multi_fb_in_, cuadrar las coordenadas del eje con la Execute:=_bool_in_, posición física real del accionamiento. Se requiere una referenciación para Position:=_real_in_, posicionar el eje de forma absoluta: Mode:=_int_in_,...
Página 771
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 60 Parámetros de la instrucción MC_Home Parámetro y tipo Tipo de datos Descripción Axis IN_OUT TO_Axis Objeto tecnológico Eje Execute Bool Inicio de la tarea con flanco positivo Position Real Mode = 0, 2 y 3 (posición absoluta del eje tras haber com- •...
Página 772
Instrucciones tecnológicas 10.3 Motion control Parámetro y tipo Tipo de datos Descripción ErrorInfo Word ID de info de error del parámetro "ErrorID" ReferenceMarkPosition Real Posición del eje en la marca de referencia en el sistema de coordenadas anterior. Parámetro de salida "ReferenceMarkPosition": La función de referenciado guarda la posición antigua antes de la ejecución y suministra este valor en el parámetro de salida ReferenceMarkPosition.
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 61 Respuesta de corrección Modo Descripción 0 o 1 La tarea MC_Home no puede ser interrumpida por otra tarea de Motion Control. La tarea MC_Home nueva no interrumpe ninguna otra tarea de Motion Control activa. Las tareas de movimiento relacionadas con la posición se reanudan tras la referenciación de acuerdo con la posición de referenciación (valor depositado en el parámetro de entrada Position).
Página 774
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 63 Parámetros de la instrucción MC_Halt Parámetro y tipo Tipo de datos Descripción Axis TO_Axis_1 Objeto tecnológico Eje Execute Bool Inicio de la tarea con flanco positivo Done Bool TRUE = Alcanzada la velocidad cero Busy Bool TRUE = La tarea está...
Instrucciones tecnológicas 10.3 Motion control Respuesta de corrección La tarea MC_Halt puede ser interrumpida La tarea MC_Halt nueva interrumpe las por las siguientes tareas de Motion Con- siguientes tareas de Motion Control acti- trol. vas: • MC_Home Mode = 3 •...
Página 776
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 65 Parámetros de la instrucción MC_MoveAbsolute Parámetro y tipo Tipo de datos Descripción Axis TO_Axis_1 Objeto tecnológico Eje Execute Bool Inicio de la tarea con flanco positivo (valor predeterminado: False) Position Real Posición de destino absoluta (valor predeterminado: 0,0) Valores límite: -1.0e ≤...
Página 777
Instrucciones tecnológicas 10.3 Motion control Los siguientes valores se han configurado en la ventana "Animaciones > General": Aceleración = 10,0 y deceleración = 10,0 ① Un eje se desplaza a la posición absoluta 1000,0 con una tarea MC_MoveAbsolute. Cuando el eje alcanza la posición de destino, se indica a través de "Done_1".
Instrucciones tecnológicas 10.3 Motion control 10.3.7.7 MC_MoveRelative (posicionamiento relativo del eje) Tabla 10- 66 Instrucción MC_MoveRelative KOP / FUP Descripción "MC_MoveRelative_DB"( Utilice la instrucción Axis:=_multi_fb_in_, MC_MoveRelative para iniciar un Execute:=_bool_in_, movimiento de posicionamiento relativo a la posición inicial. Distance:=_real_in_, Velocity:=_real_in_, Para utilizar la instrucción Done=>_bool_out_, MC_MoveRelative primero es...
Página 779
Instrucciones tecnológicas 10.3 Motion control Los siguientes valores se han configurado en la ventana "Animaciones > General": Aceleración = 10,0 y deceleración = 10,0 ① El eje se mueve con la tarea MC_MoveRelative durante la distancia ("Distance") 1000,0. Cuando el eje alcanza la posición de destino, se indica a través de "Done_1".
Instrucciones tecnológicas 10.3 Motion control 10.3.7.8 MC_MoveVelocity (mover el eje a la velocidad predefinida) Tabla 10- 68 Instrucción MC_MoveVelocity KOP / FUP Descripción "MC_MoveVelocity_DB"( Utilice la instrucción Axis:=_multi_fb_in_, MC_MoveVelocity para mover el Execute:=_bool_in_, eje constantemente a la velocidad especificada. Velocity:=_real_in_, Direction:=_int_in_, Para utilizar la instrucción Current:=_bool_in_,...
Página 781
Instrucciones tecnológicas 10.3 Motion control Parámetro y tipo Tipo de datos Descripción Current Bool Mantener velocidad actual: FALSE: "Mantener velocidad actual" está desactivado. Se • utilizan los valores de los parámetros "Velocity" y "Direction". (Valor predeterminado) TRUE: "Mantener velocidad actual" está activado. Los valores •...
Página 782
Instrucciones tecnológicas 10.3 Motion control Los siguientes valores se han configurado en la ventana "Animaciones > General": Aceleración = 10,0 y deceleración = 10,0 ① Una tarea MC_MoveVelocity activa señaliza con "InVel_1" que se ha alcanzado la velocidad de destino. Entonces se interrumpe por otra tarea MC_MoveVelocity.
Instrucciones tecnológicas 10.3 Motion control Nota Comportamiento con velocidad ajustada cero (Velocity = 0,0) Una tarea MC_MoveVelocity con "Velocity" = 0,0 (como una tarea MC_Halt) interrumpe cualquier tarea activa de Motion Control con la deceleración configurada. Cuando el eje se para, el parámetro de salida "InVelocity"...
Página 784
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 71 Parámetros de la instrucción MC_MoveJog Parámetro y tipo Tipo de datos Descripción Axis TO_SpeedAxis Objeto tecnológico Eje JogForward Bool Mientras el parámetro sea TRUE, el eje se mueve en dirección posi- tiva a la velocidad especificada en el parámetro "Velocity". La señal del valor del parámetro "Velocity"...
Página 785
Instrucciones tecnológicas 10.3 Motion control Los siguientes valores se han configurado en la ventana "Animaciones > General": Aceleración = 10,0 y deceleración = 5,0 ① El eje se mueve en dirección positiva en modo paso a paso con "Jog_F". Cuando se alcanza la velocidad de des- tino 50,0, esto se indica a través de "InVelo_1".
Instrucciones tecnológicas 10.3 Motion control 10.3.7.10 MC_CommandTable (ejecutar comandos de eje como secuencia de movimiento) Tabla 10- 72 Instrucción MC_CommandTable KOP / FUP Descripción "MC_CommandTable_DB"( Ejecuta una serie de movimientos Axis:=_multi_fb_in_, individuales para un eje controla- CommandTable:=_multi_fb_in_, do por motor que se combinan en una secuencia de movimientos.
Página 787
Instrucciones tecnológicas 10.3 Motion control La secuencia de movimientos deseada se puede crear en la ventana de configuración "Tabla de comandos" y comprobar el resultado con la vista gráfica del diagrama de tendencias. Se pueden seleccionar los tipos de comandos que se van a utilizar para procesar la tabla de comandos.
Instrucciones tecnológicas 10.3 Motion control Respuesta de corrección La tarea MC_CommandTable puede ser La tarea MC_CommandTable nueva interrum- interrumpida por las siguientes tareas de pe las siguientes tareas de Motion Control Motion Control. activas: • MC_Home Mode = 3 • MC_Home Mode = 3 •...
Página 789
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 76 Parámetros de la instrucción MC_ChangeDynamic Parámetro y tipo Tipo de datos Descripción Axis TO_Axis_1 Objeto tecnológico Eje Execute Bool Inicio del comando con flanco ascendente. Valor predetermina- do: FALSE ChangeRampUp Bool TRUE = Cambia el tiempo de aceleración según el parámetro de entrada "RampUpTime".
Instrucciones tecnológicas 10.3 Motion control Requisitos para la ejecución de MC_ ChangeDynamic: ● El objeto tecnológico TO_Axis_PTO V2.0 debe estar configurado correctamente. ● El eje debe estar habilitado. Nota Solo es posible utilizar la instrucción MC_ChangeDynamic para conectar el accionamiento a través de PTO (Pulse Train Output).
Instrucciones tecnológicas 10.3 Motion control 10.3.7.12 MC_WriteParam (escribir parámetros de un objeto tecnológico) La instrucción MC_WriteParam se usa para escribir un número determinado de parámetros para cambiar la funcionalidad del eje desde el programa del usuario. Tabla 10- 77 Instrucción MC_WriteParam KOP / FUP Descripción "MC_WriteParam_DB"(...
Página 792
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 78 Parámetros de la instrucción MC_WriteParam Parámetro y tipo Tipo de datos Descripción PARAMNAME Variant Nombre del parámetro en el que se escribe el valor. VALUE Variant Valor que se escribe en el parámetro asignado. EXECUTE Bool Inicia la instrucción.
Instrucciones tecnológicas 10.3 Motion control 10.3.7.13 Instrucción MC_ReadParam (leer parámetros de un objeto tecnológico) La instrucción MC_ReadParam se usa para leer un número determinado de parámetros que indican la posición y la velocidad (entre otros valores actuales) del eje definidos en la entrada del eje.
Página 794
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 82 Códigos de condición de ERRORID y ERRORINFO ERRORID ERRORINFO Descripción (W#16#...) (W#16#...) Lectura correcta de un parámetro 8410 0028 Parámetro no válido (longitud incorrecta) 8410 0029 Parámetro no válido (no TO-DB) 8410 0030 Parámetro no válido (no legible) 8411...
Instrucciones tecnológicas 10.3 Motion control 10.3.8 Vigilar comandos activos 10.3.8.1 Vigilar instrucciones MC con un parámetro de salida "Done" Las instrucciones Motion Control con el parámetro de salida "Done" se inician mediante el parámetro de entrada "Execute" y tienen una finalización definida (p. ej. con la instrucción Motion Control "MC_Home": referenciación correcta).
Página 796
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 83 Ejemplo 1: ejecución completa de la tarea Si "Execute" = FALSE durante el procesamiento de la tarea Si "Execute" = FALSE después de completar la tarea ① La tarea se inicia con un flanco ascendente en el parámetro de entrada "Execute". En función de la programación, "Execute"...
Página 797
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 84 Ejemplo 2: cancelación de la tarea Si "Execute" = FALSE después de que se cancele la tarea Si "Execute" = FALSE antes de que se cancele la tarea ① La tarea se inicia con un flanco ascendente en el parámetro de entrada "Execute". En función de la programación, "Execute"...
Página 798
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 85 Ejemplo 3: error al ejecutar la tarea Si "Execute" = FALSE antes de que se produzca el error Si "Execute" = FALSE después de que se produzca el error ① La tarea se inicia con un flanco ascendente en el parámetro de entrada "Execute". En función de la programación, "Execute"...
Instrucciones tecnológicas 10.3 Motion control 10.3.8.2 Vigilancia de MC_Velocity Las tareas de la instrucción Motion Control "MC_MoveVelocity" implementan un movimiento a la velocidad especificada. ● Las tareas de la instrucción Motion Control "MC_MoveVelocity" no tienen un final definido. El objetivo de la tarea se cumple cuando se alcanza la velocidad parametrizada por primera vez y el eje se desplaza a una velocidad constante.
Página 800
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 86 Ejemplo 1: si se ha alcanzado la velocidad parametrizada Si "Execute" = FALSE antes de que se alcance la velocidad Si "Execute" = FALSE después de que se alcance la veloci- configurada dad configurada ①...
Página 801
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 87 Ejemplo 2: si la tarea se cancela antes de alcanzar la velocidad parametrizada Si "Execute" = FALSE antes de que se cancele la tarea Si "Execute" = FALSE después de que se cancele la tarea ①...
Página 802
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 88 Ejemplo 3: si se produce un error antes de alcanzar la velocidad parametrizada Si "Execute" = FALSE antes de que se produzca el error Si "Execute" = FALSE después de que se produzca el error ①...
Instrucciones tecnológicas 10.3 Motion control 10.3.8.3 Vigilancia de MC_MoveJog Las tareas de la instrucción Motion Control "MC_MoveJog" implementan una operación Jog. ● Las tareas Motion Control "MC_MoveJog" no tienen un final definido. El objetivo de la tarea se cumple cuando se alcanza la velocidad parametrizada por primera vez y el eje se desplaza a una velocidad constante.
Página 804
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 89 Ejemplo 1: si se ha alcanzado y se mantiene la velocidad parametrizada JogForward JogBackward ① La tarea se inicia con un flanco ascendente en el parámetro de entrada "JogForward" o "JogBackward". ② Mientras la tarea está...
Página 805
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 90 Ejemplo 2: si la tarea se cancela durante la ejecución JogForward JogBackward ① La tarea se inicia con un flanco ascendente en el parámetro de entrada "JogForward" o "JogBackward". ② Mientras la tarea está activa, el parámetro de salida "Busy" indica el valor TRUE. ③...
Página 806
Instrucciones tecnológicas 10.3 Motion control Tabla 10- 91 Ejemplo 3: si se ha producido un error al ejecutar la tarea JogBackward JogForward ① La tarea se inicia con un flanco ascendente en el parámetro de entrada "JogForward" o "JogBackward". ② Mientras la tarea está...
Instrucciones tecnológicas 10.3 Motion control 10.3.9 ErrorID y ErrorInfos para Motion Control La tabla siguiente lista todas las ErrorID y ErrorInfos que pueden indicarse en las instrucciones de Motion Control y adaptación de datos. Además de la causa del error, se muestran también soluciones para eliminar el error.
Página 808
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución Reacción a error 16#0010 La posición del final de carrera por software superior se ha rebasado por exceso con la desaceleración de parada de emergencia 16#8003 Se ha alcanzado el final de carrera por hardware inferior Para la conexión del accionamiento 16#000E Se ha alcanzado el final de carrera...
Página 809
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución Reacción a error 16#8007 No es posible habilitar el eje 16#0025 Reiniciar Esperar hasta que haya finalizado el rearranque del eje. 16#0026 Ejecutar el proceso de carga en es- Esperar hasta que haya finalizado el tado operativo RUN proceso de carga.
Página 810
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución Reacción a error 16#800B Infracción de rango de la posición Eliminar habili- tación. 16#0039 Infracción de rango en sentido positi- Referenciar el eje a un rango válido de valor real. 16#003A Infracción de rango en sentido nega- tivo 16#003B El cambio de la posición real en un Ajustar la longitud de módulo del encó-...
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución Reacción a error 16#800F Error en la zona de destino Eliminar habili- tación. 16#0045 Zona de destino no alcanzada La zona de destino no se ha alcanzado dentro del tiempo de tolerancia de posicionamiento.
Página 812
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#8205 El eje está siendo controlado por el programa de usuario (este error solo se muestra en el panel de mando del eje) 16#0013 El eje está activado en el programa de usuario Desactivar el eje con la instrucción "MC_Power" y seleccionar el "control manual"...
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#820C No hay ninguna configuración disponible 16#0001 Error interno Ponerse en contacto con la línea de atención al cliente. Error de parámetro de bloque ErrorID ErrorInfo Descripción Solución 16#8400 Valor no válido en el parámetro "Position" de la instrucción de Motion Control 16#0002 El valor no es un número válido Corregir el valor;...
Página 814
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#8404 Valor no válido en el parámetro "Mode" de la instrucción de Motion Control 16#0011 El valor seleccionado no es válido Corregir el valor seleccionado; reiniciar el coman- 16#0015 No se ha configurado el referenciado acti- Corregir la configuración y descargarla al contro- vo/pasivo lador;...
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#840B Valor no válido en el parámetro "EndStep" de la instrucción de Motion Control 16#000A El valor es menor o igual a 0. Corregir el valor; reiniciar el comando. 16#001E El valor es mayor que 32 16#840C Valor no válido en el parámetro "RampUpTime"...
Página 816
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#8602 Parametrización no válida de "Activar salida" 16#000B La dirección no es válida Descargar al controlador una configuración sin errores; activar el eje de nuevo con la instrucción "MC_Power". 16#8603 Parametrización no válida de "Entrada lista" 16#000B La dirección no es válida Descargar al controlador una configuración sin...
Página 817
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#8608 Valor no válido de "Aceleración" 16#0002 El valor no es un número válido Descargar al controlador una configuración sin • errores; activar el eje de nuevo con la instruc- 16#0003 El valor es mayor que el límite superior de hardware ción "MC_Power".
Página 818
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#860B El valor de posición del final de carrera por software inferior no es válido 16#0002 El valor no es un número válido Descargar al controlador una configuración sin • errores; activar el eje de nuevo con la instruc- 16#0005 El valor está...
Página 819
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#860F Valor no válido de "Offset de posición de referencia" 16#0002 El valor no es un número válido Descargar al controlador una configuración sin • errores; activar el eje de nuevo con la instruc- 16#0005 El valor está...
Página 820
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#8613 Durante el referenciado activo, la inversión de sentido está activada en el final de carrera por hardware a pesar de que los finales de carrera por hardware no están configurados 16#0001 Descargar al controlador una configuración sin •...
Página 821
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#8618 El valor de la variable <nombre del eje>.Sensor.Sensor[1].PassiveHoming.Mode no es válido 16#0011 El valor seleccionado no es válido Descargar al controlador una configuración sin • (Valor válido: 2 = referenciado vía entrada errores;...
Página 822
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#861E La configuración de la circunferencia de la rueda de medición del encóder no es válida. Valor no válido en <nombre del eje>.Sensor.Sensor[1].Parameter.DistancePerRevolution 16#0030 El valor tiene un formato de número incorrecto Descargar al controlador una configuración sin •...
Página 823
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#8624 El sistema captador ajustado no es válido. Valor no válido en <nombre del eje>.Sensor.Sensor[1].System 16#0011 El valor seleccionado no es válido Descargar al controlador una configuración sin • errores; activar el eje de nuevo con la instruc- ción "MC_Power".
Página 824
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#8629 El límite de la señal de parada es erróneo. Valor no válido en <nombre del eje>.StandStillSignal.VelocityThreshold 16#0030 El valor tiene un formato de número incorrecto Descargar al controlador una configuración sin •...
Página 825
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#862F Valor no válido para la fecha de configuración de <nombre del eje>.Modulo.StartValue 16#0030 El valor tiene un formato de número incorrecto Descargar al controlador una configuración sin • o está fuera del rango numérico válido errores;...
Página 826
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#8635 El parámetro de la vigilancia de error de seguimiento es erróneo. Valor no válido en <nombre del eje>.FollowingError.MinVelocity 16#0030 El valor tiene un formato de número incorrecto Descargar al controlador una configuración sin •...
Página 827
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#863A La comunicación con el accionamiento ha fallado 16#004C Error de configuración en el dispositivo Conectar un dispositivo adecuado. • Comprobar el dispositivo (E/S). • Comparar la configuración de HW Config y del •...
Página 828
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#863D La comunicación con el dispositivo (accionamiento o encóder) ha fallado 16#0030 El valor tiene un formato de número incorrecto Descargar al controlador una configuración sin • o está fuera del rango numérico válido errores;...
Página 829
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución Reacción a error 16#005C Velocidad máxima (p1082): El pará- Reiniciar Error de adapta- metro no existe o su valor no puede ción leerse o está fuera de los límites permitidos. Se ha cancelado la lectu- ra de los parámetros por un error indicado por el hardware.
Página 830
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución Reacción a error 16#0062 Sistema de encóder (r0979[1/11].0): Reiniciar Error de adapta- Un parámetro no existe o su valor no ción puede leerse o está fuera de los límites permitidos. Se ha cancelado la lectura de los parámetros por un error indicado por el hardware.
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución Reacción a error 16#006C En el accionamiento se ha ajustado Resetear Error de configu- un módulo de función con motor ración lineal. 16#8644 Incoherencia entre TO y la configuración del encóder 16#0068 El tipo de telegrama configurado no Resetear Error de configu-...
Instrucciones tecnológicas 10.3 Motion control ErrorID ErrorInfo Descripción Solución 16#8703 El valor de "Duración" en la tabla de comandos no es válido 16#0002 El valor no es un número válido Descargar al controlador una configuración sin • errores; activar el eje de nuevo con la instruc- 16#0021 El valor es mayor que 64800 s ción "MC_Power".
Para más información sobre seguridad y recomendaciones, consulte nuestras "Guías operacionales sobre seguridad industrial" (http://www.industry.siemens.com/topics/global/en/industrial- security/Documents/operational_guidelines_industrial_security_en.pdf) en la página de atención al cliente de Siemens. PROFINET PROFINET se usa para intercambiar datos a través del programa de usuario con otros interlocutores vía Ethernet: ●...
Comunicación Controlador PROFINET IO En calidad de controlador IO que utiliza PROFINET IO, la CPU se comunica con un máximo de 16 dispositivos PN en la red PN local o a través de un acoplador PN/PN (link). Véase PROFIBUS and PROFINET International, PI (www.profinet.com) para más información. PROFIBUS PROFIBUS se usa para intercambiar datos a través del programa de usuario con otros interlocutores a través de la red PROFIBUS:...
Comunicación 11.1 Conexiones de comunicación asíncronas 11.1 Conexiones de comunicación asíncronas Sinopsis de los servicios de comunicación La CPU soporta los siguientes servicios de comunicación: Servicio de comuni- Funcionalidad Con PROFIBUS DP cación Ethernet Módulo Módulo maestro CM esclavo 1243-5 DP CM 1242-5 Comunicación PG Puesta en marcha, test y diagnós-...
Comunicación 11.1 Conexiones de comunicación asíncronas Conexiones disponibles La CPU soporta el siguiente número máximo de conexiones de comunicación asíncronas simultáneas para PROFINET y PROFIBUS. El número máximo de recursos de conexión asignados a cada categoría es fijo y no puede modificarse. Sin embargo, es posible configurar las 6 "conexiones libres disponibles"...
Página 837
Comunicación 11.1 Conexiones de comunicación asíncronas Esto es solo un ejemplo. El número real de conexiones utilizadas puede varias según el tipo y la versión de HMI. Ejemplo HMI 1 HMI 2 HMI 3 HMI 4 HMI 5 Total de recursos de conexión disponibles...
11.2 PROFINET La CPU se puede comunicar con otras CPUs, con programadoras, con dispositivos HMI y con dispositivos no Siemens que utilicen protocolos de comunicación TCP estándar. Programadora conectada a la CPU HMI conectado a la CPU Una CPU conectada a otra CPU Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Comunicación 11.2 PROFINET Conmutación Ethernet Las CPU 1211C, 1212C y 1214C tienen un solo puerto Ethernet y no incluyen un switch Ethernet integrado. Una conexión directa entre una programadora o HMI y una CPU no requiere un conmutador Ethernet. Sin embargo, una red con más de dos CPUs o dispositivos HMI sí...
Comunicación 11.2 PROFINET 11.2.1 Crear una conexión de red Utilice la "Vista de red" de la "Configuración de dispositivos" para crear las conexiones de red entre los dispositivos del proyecto. Tras crear la conexión de red, utilice la ficha "Propiedades" de la ventana de inspección para configurar los parámetros de la red. Tabla 11- 1 Crear una conexión de red Acción...
Comunicación 11.2 PROFINET 11.2.2 Configurar la vía de conexión local/de interlocutor Una conexión local/interlocutor (remoto) define una asignación lógica de dos interlocutores para establecer servicios de comunicación. Una conexión define lo siguiente: ● Interlocutores involucrados (uno activo, otro pasivo) ● Tipo de conexión (por ejemplo una conexión de PLC, HMI o dispositivo) ●...
Página 842
Comunicación 11.2 PROFINET Nota Cuando se configuran las propiedades de conexión de una CPU, STEP 7 permite seleccionar un DB de conexión específico en la CPU interlocutora (si hay alguno) o bien crear el DB de conexión para la CPU interlocutora. La CPU interlocutora ya debe estar creada en el proyecto y no puede ser una CPU "sin especificar".
Comunicación 11.2 PROFINET Tabla 11- 4 Parámetros para la conexión múltiple de CPU Parámetro Definición Dirección Direcciones IP asignadas General Punto final Nombre asignado a la CPU interlocutora (receptora) Interfaz Nombre asignado a las interfaces Subred Nombre asignado a las subredes Solo comunicación S7 Tipo de interfaz : Tipo de interfaz...
La habilitación del servidor web permite a los usuarios autorizados realizar cambios de estado operativo, escrituras en datos de PLC y actualizaciones de firmware. Siemens recomienda observar estas prácticas de seguridad: • Permitir el acceso al servidor web solo con el protocolo HTTPS.
Página 845
Comunicación 11.2 PROFINET Asignar o comprobar la dirección IP de la programadora utilizando "Mis sitios de red" (en el Escritorio) Si se utiliza Windows 7, es posible asignar o comprobar la dirección IP de la programadora seleccionando los menús siguientes: ●...
Comunicación 11.2 PROFINET 11.2.3.2 Comprobar la dirección IP de la programadora Las direcciones MAC e IP de la programadora pueden consultarse con los siguientes comandos de menú: 1. En el "Árbol del proyecto", expanda "Acceso online". 2. Haga clic con el botón derecho en la red en cuestión y seleccione "Propiedades". 3.
Página 847
Comunicación 11.2 PROFINET 3. Seleccione los siguientes co- mandos de menú en el diálogo "Online y diagnóstico": • "Funciones" • "Asignar dirección IP" 4. En el campo "Dirección IP", introduzca la nueva dirección IP y haga clic en el botón "Asignar dirección IP".
Comunicación 11.2 PROFINET 11.2.3.4 Configurar una dirección IP para una CPU en el proyecto Configurar la interfaz PROFINET Para configurar parámetros para la interfaz PROFINET, seleccione la casilla PROFINET verde en la CPU. La ficha "Propiedades" de la ventana de inspección muestra el puerto PROFINET.
Página 849
Comunicación 11.2 PROFINET Router IP: Los routers interconectan las distintas LANs. Si se utiliza un router, un equipo de una LAN puede enviar mensajes a otras redes que, a su vez, pertenezcan a otras LANs. Si el destino de los datos se encuentra fuera de la LAN, el router reenvía los datos a otra red o grupo de redes desde donde pueden transferirse a su destino.
Página 850
Comunicación 11.2 PROFINET Nota Todas las direcciones IP se configuran al cargar el proyecto en el dispositivo. Dado que la CPU no dispone de una dirección IP preconfigurada, es necesario asociar el proyecto con la dirección MAC del dispositivo de destino. Si la CPU está conectada a un router de la red, también es preciso introducir la dirección IP del router.
Comunicación 11.2 PROFINET Configurar el puerto PROFINET En el ajuste predeterminado, la CPU configura el o los puertos de la interfaz PROFINET para autonegotiation. Para que la autonegotiation funcione debidamente, hay que configurar las dos estaciones para que negocien. Si una estación tiene una configuración fija (p. ej. dúplex a 100 Mbps) y la otra estación está...
Página 852
Comunicación 11.2 PROFINET 3. Monitor: Cuando se selecciona esta casilla de verificación, se deposita un aviso en el búfer de diagnóstico en caso de que se produzca uno de los casos siguientes en el puerto: – No es posible establecer una conexión en el puerto –...
Comunicación 11.2 PROFINET 11.2.4 Comprobar la red PROFINET Tras finalizar la configuración, cargue el proyecto (Página 233) en la CPU. Todas las direcciones IP se configuran al cargar el proyecto en el dispositivo. Asignar una dirección IP a un dispositivo online La CPU S7-1200 no tiene dirección IP preconfigurada.
Comunicación 11.2 PROFINET Utilizar el diálogo "Carga avanzada" para comprobar los dispositivos de red conectados La función de la CPU S7-1200 "Cargar en dispositivo" y su diálogo "Carga avanzada" permiten visualizar todos los dispositivos de red accesibles y verificar si se han asignado direcciones IP unívocas a todos ellos.
Página 855
Comunicación 11.2 PROFINET La dirección MAC está impresa en la esquina inferior izquierda en el frente de la CPU. Para ver la información de la dirección MAC es necesario abrir la tapa inferior. ① Dirección MAC Inicialmente, la CPU no tiene dirección IP, sino sólo una dirección MAC ajustada de fábrica. Para la comunicación PROFINET es necesario que todos los dispositivos tengan asignada una dirección IP unívoca.
(http://www.industry.siemens.com/topics/global/en/industrial- security/Documents/operational_guidelines_industrial_security_en.pdf) en la página de atención al cliente de Siemens. El Network Time Protocol (NTP) es un protocolo ampliamente utilizado para sincronizar los relojes de los sistemas informáticos con los servidores de hora de Internet. En el modo NTP, la CPU envía consultas de hora en intervalos regulares (en el modo de cliente) al servidor...
Página 857
Comunicación 11.2 PROFINET En la ventana de propiedades, seleccione la entrada de configuración "Sincronización horaria". STEP 7 muestra el diálogo de configuración de la sincronización horaria: Nota Todas las direcciones IP se configuran al cargar el proyecto en el dispositivo. Tabla 11- 6 Parámetros de la sincronización horaria Parámetro...
Comunicación 11.2 PROFINET 11.2.7 Tiempo de arranque de dispositivo, asignación de nombre y de dirección en PROFINET PROFINET IO puede ampliar el tiempo de arranque del sistema (timeout configurable). Un número mayor de dispositivos o los dispositivos lentos influyen en el tiempo de arranque necesario para conmutar a RUN.
Comunicación 11.2 PROFINET 11.2.8 Open User Communication 11.2.8.1 Protocolos El puerto PROFINET integrado de la CPU soporta múltiples estándares de comunicación a través de una red Ethernet: ● Transport Control Protocol (TCP) ● ISO on TCP (RFC 1006) ● User Datagram Protocol (UDP) Tabla 11- 7 Protocolos e instrucciones de comunicación para cada uno Protocolo...
Comunicación 11.2 PROFINET 11.2.8.2 TCP y ISO on TCP Transport Control Protocol (TCP) es un protocolo estándar descrito por RFC 793: Transmission Control Protocol. El objetivo principal de TCP es ofrecer un servicio de conexión seguro y fiable entre pares de procesos. Este protocolo tiene las características siguientes: ●...
Comunicación 11.2 PROFINET 11.2.8.3 Servicios de comunicación y números de puerto utilizados La CPU S7-1200 soporta los protocolos listados en la tabla inferior. Para cada protocolo, la CPU asigna los parámetros de dirección, el nivel de comunicación adecuado, la función de comunicación y el sentido de la misma.
Comunicación 11.2 PROFINET 11.2.8.4 Modo ad hoc Generalmente, TCP e ISO on TCP reciben paquetes de datos con longitud especificada, que varía entre 1 y 8192 bytes. Sin embargo, las instrucciones de comunicación TRCV_C y TRCV también ofrecen un modo de comunicación "ad hoc" que puede recibir paquetes de datos con una longitud variable entre 1 y 1472 bytes.
Página 863
Comunicación 11.2 PROFINET El ejemplo siguiente muestra la comunicación entre dos CPUs que utilizan dos conexiones separadas para transmitir y recibir datos. ● La instrucción TSEND_C de la CPU_1 enlaza con TRCV_C de la CPU_2 a través de la primera conexión ("ID de conexión 1" tanto en la CPU_1 como en la CPU_2). ●...
Página 864
Comunicación 11.2 PROFINET El ejemplo siguiente muestra la comunicación entre dos CPUs que utilizan 1 conexión tanto para transmitir como para recibir datos. ● Cada CPU utiliza una instrucción TCON para configurar la conexión entre las dos CPUs. ● La instrucción TSEND de la CPU_1 enlaza con la instrucción TRCV de la CPU_2 a través de la ID de conexión ("ID de conexión 1") configurada por la instrucción TCON de la CPU_1.
Comunicación 11.2 PROFINET Tal como se muestra en el ejemplo siguiente, también es posible utilizar instrucciones TSEND y TRCV individuales para comunicarse a través de una conexión creada por una instrucción TSEND_C o TRCV_C. Las instrucciones TSEND y TRCV no crean por sí solas una conexión nueva, por lo que deben utilizarse el DB y la ID de conexión creados por una instrucción TSEND_C, TRCV_C o TCON.
Página 866
Comunicación 11.2 PROFINET TCON_Param Tabla 11- 8 Estructura de la descripción de la conexión (TCON_Param) Byte Parámetro y tipo de datos Descripción 0 … 1 block_length UInt Longitud: 64 bytes (fijos) 2 … 3 CONN_OUC Referencia a esta conexión: Rango de valores: De 1 (predetermi- (Word) nado) a 4095.
Página 867
Comunicación 11.2 PROFINET Byte Parámetro y tipo de datos Descripción 12 … 27 local_tsap_id Array [1..16] of Componente de conexión para la dirección local: Byte TCP e ISO on TCP: n.º de puerto local (valores posibles: de 1 • a 49151; valores recomendados: 2000...5000): –...
Página 868
Comunicación 11.2 PROFINET TCON_IP_V4 Tabla 11- 9 Estructura de la descripción de la conexión (TCON_IP_V4): para usar con TCP Byte Parámetro y tipo de datos Descripción 0 … 1 InterfaceId HW_ANY Identificador HW del submódulo interfaz IE 2 … 3 CONN_OUC Referencia a esta conexión: rango de valores: De 1 (predetermi- (Word)
Selector de transporte local 46 … 47 TSelLength UInt Longitud de TSelector 48 … 79 TSel array [1..32] of Matriz de caracteres para nombre TSAP Byte Consulte también CM/CP S7-1200 (https://support.industry.siemens.com/cs/es/es/ps) Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Comunicación 11.2 PROFINET 11.2.8.7 Instrucciones TSEND_C y TRCV_C A partir de la versión V4.1 de la CPU S7-1200 junto con STEP 7 V13 SP1, la CPU amplía la capacidad de las instrucciones TSEND_C y TRCV_C para utilizar parámetros de conexión con estructuras conforme a "TCON_IP_v4"...
Página 871
Comunicación 11.2 PROFINET TSEND_C y TRCV_C (enviar y recibir datos vía Ethernet) La instrucción TSEND_C combina las funciones de las instrucciones TCON, TDISCON y TSEND . La instrucción TRCV_C combina las funciones de las instrucciones TCON, TDISCON y TRCV. (Véase "TCON, TDISCON, TSEND y TRCV (Página 891)" para más información sobre estas instrucciones.) El tamaño mínimo de los datos que pueden transmitirse (TSEND_C) o recibirse (TRCV_C) es de un byte;...
Página 872
Comunicación 11.2 PROFINET Tabla 11- 12 Tipos de datos TSEND_C y TRCV_C para los parámetros Parámetro y tipo Tipo de datos Descripción Bool Inicia la tarea de transmisión cuando se produce un flanco as- cendente (TSEND_C) EN_R Bool Habilitación de la recepción (TRCV_C) CONT Bool...
Página 873
Comunicación 11.2 PROFINET Parámetro y tipo Tipo de datos Descripción COM_RST IN_OUT Bool Parámetro opcional (oculto) Reinicia la instrucción: 0: Irrelevante • 1: reinicia la instrucción por completo; la conexión existente • se deshace o se inicializa y se establece de nuevo según CONT.
Página 874
Comunicación 11.2 PROFINET Nota El ajuste predeterminado del parámetro LEN (LEN = 0) utiliza el parámetro DATA para determinar la longitud de los datos que se están transmitiendo. Se recomienda que los datos transmitidos por la instrucción TSEND_C tengan el mismo tamaño que el parámetro DATA de la instrucción TRCV_C.
Página 875
Comunicación 11.2 PROFINET Operaciones TSEND_C La instrucción TSEND_C se ejecuta de forma asíncrona e implementa las funciones siguientes en secuencia: 1. Configuración y establecimiento de una conexión de comunicación: TSEND_C configura una conexión de comunicación y establece dicha conexión si se detecta un flanco ascendente en el parámetro REQ y aún no existe una conexión.
Página 876
Comunicación 11.2 PROFINET Se pueden producir las situaciones siguientes en función del parámetro CONT: ● CONT = "0": Se establece una conexión de comunicación existente. ● CONT = "1" y se ha establecido la conexión de comunicación: Se inicializa y se vuelve a establecer una conexión de comunicación existente. ●...
Página 877
Comunicación 11.2 PROFINET Operaciones TRCV_C La instrucción TRCV_C se ejecuta de forma asíncrona e implementa las funciones siguientes en secuencia: 1. Configuración y establecimiento de una conexión de comunicación: TRCV_C configura una conexión de comunicación y establece dicha conexión si el parámetro EN_R = "1"...
Página 878
Comunicación 11.2 PROFINET TRCV_C se inicializa cuando se ha establecido el parámetro COM_RST. Si se siguen recibiendo datos cuando se vuelve a ejecutar, se podrían perder datos. Se pueden producir las situaciones siguientes en función del parámetro CONT: ● CONT = "0": Se establece una conexión de comunicación existente.
Comunicación 11.2 PROFINET Nota Importar al S7-1200 proyectos S7-300/400 de STEP 7 que contienen el modo "ad hoc" En los proyectos S7-300/400 de STEP 7, el modo "ad hoc" se selecciona asignando el valor "0" al parámetro LEN. En S7-1200, la instrucción TRCV_C se configura para el modo ad hoc ajustando el parámetro de entrada de la instrucción ADHOC.
Comunicación 11.2 PROFINET Tabla 11- 13 Instrucciones TSEND_C y TRCV_C parámetros BUSY, DONEy ERROR BUSY DONE ERROR Descripción La tarea de transmisión se está procesando. La tarea de transmisión se ha ejecutado correctamente. El establecimiento de la conexión o la tarea de transmisión se han ejecutado con un error.
Página 881
Comunicación 11.2 PROFINET ERROR STATUS Descripción (W#16#...) 80B2 El parámetro CONNECT apunta a un bloque de datos que se ha generado con el atributo "Depositar solo en la memoria de carga". 80B3 Parametrización incoherente: error de grupo para códigos de error de W#16#80A0 a W#16#80A2, W#16#80A4, de W#16#80B4 a W#16#80B9.
Comunicación 11.2 PROFINET ERROR STATUS Descripción (W#16#...) 887F TSEND_C:Parámetro DATA: error interno (por ejemplo, referencia de VARIANT no válida). 893A TSEND_C:Parámetro DATA: no se puede obtener acceso al área de transmisión (por ejemplo, porque el DB no existe). 8922 TRCV_C:Parámetro DATA: área de destino no válida, el área no existe en el DB. 8924 TRCV_C:Parámetro DATA: error de área en el puntero VARIANT.
Comunicación 11.2 PROFINET 11.2.8.8 Instrucciones Legacy TSEND_C y TRCV_C Antes de la versión de STEP 7 V13 SP1 y las CPUs S7-1200 V4.1, las instrucciones TSEND_C y TRCV_C solo podían trabajar con parámetros de conexión con estructuras conforme a "TCON_Param". Los conceptos generales son válidos para ambos juegos de instrucciones.
Página 884
Comunicación 11.2 PROFINET TSEND_C y TRCV_C antiguas (enviar y recibir datos vía Ethernet) La instrucción Legacy TSEND_C combina las funciones de las instrucciones Legacy TCON, TDISCON y TSEND . La instrucción TRCV_C combina las funciones de las instrucciones TCON, TDISCON y TRCV. (Consulte las "Instrucciones Legacy TCON, TDISCON, TSEND y TRCV (comunicación TCP) (Página 902)"...
Página 885
Comunicación 11.2 PROFINET Tabla 11- 16 Tipos de datos TSEND_C y TRCV_C para los parámetros Parámetro y tipo Tipo de datos Descripción Bool REQ = 1 inicia la tarea de transmisión TSEND_C en un flanco ascendente con la conexión descrita en el parámetro (TSEND_C) CONNECT.
Página 886
Comunicación 11.2 PROFINET Parámetro y tipo Tipo de datos Descripción STATUS Word Información de estado, incluida la información de error. (Véase la tabla "Parámetros de error y estado" a continuación.) RCVD_LEN Cantidad de datos (en bytes) recibida realmente (TRCV_C) Nota La instrucción TSEND_C requiere una transición de bajo a alto en el parámetro de entrada REQ para iniciar una tarea de transmisión.
Página 887
Comunicación 11.2 PROFINET Operaciones TRCV_C Las funciones siguientes describen el funcionamiento de la instrucción TRCV_C: ● Para establecer una conexión, ejecute TRCV_C con el parámetro CONT = 1. ● Para recibir datos, ejecute TRCV_C con el parámetro EN_R = 1. TRCV_C recibe los datos continuamente si los parámetros EN_R = 1 y CONT = 1.
Página 888
Comunicación 11.2 PROFINET Nota Es preciso conservar la coherencia de los datos en el área de transmisión hasta que el parámetro DONE o ERROR adopten el valor TRUE Debido al procesamiento asíncrono de TSEND_C, es preciso conservar la coherencia de los datos en el área de emisión hasta que el parámetro DONE o ERROR adopte el valor TRUE.
Página 889
Comunicación 11.2 PROFINET ERROR STATUS Descripción 80A1 Error de comunicación: La conexión indicada no se ha establecido todavía • La conexión indicada se está deshaciendo; no es posible transferir a través de esta • conexión La interfaz se está reinicializando •...
Comunicación 11.2 PROFINET Protocolos de conexión Ethernet Toda CPU incorpora un puerto PROFINET que soporta la comunicación PROFINET estándar. Todas las instrucciones TSEND_C y TRCV_C y TSEND y TRCV soportan los protocolos Ethernet TCP e ISO on TCP. Encontrará más información en "Configuración de dispositivos: Configurar la vía de conexión local/interlocutor (Página 841)"...
Comunicación 11.2 PROFINET Cuando se utiliza el árbol de instrucciones para insertar una instrucción TCON, TDISCON, TSEND y TRCV en el programa, se crea en el árbol del proyecto una nueva instancia del FB o la FC dependiendo de la instrucción TCON, TDISCON, TSEND o TRCV seleccionada. La nueva instancia del FB o la FC se puede ver en el árbol del proyecto en PLC_x >...
Comunicación 11.2 PROFINET La tabla siguiente muestra la relación entre los parámetros BUSY, DONE y ERROR. Utilice la tabla para determinar el estado actual de la tarea: Tabla 11- 19 Interacción entre los parámetros BUSY, DONE y ERROR BUSY DONE ERROR Descripción La tarea se está...
Página 893
Comunicación 11.2 PROFINET Tabla 11- 21 Tipos de datos para los parámetros de TCON y TDISCON Parámetro Declaración Tipo de datos Descripción Bool Inicia la tarea de establecer la conexión especificada en la ID cuando se produce un flanco ascendente. CONN_OUC (Word) Referencia a la conexión asignada.
Página 894
Comunicación 11.2 PROFINET Tabla 11- 22 Códigos de condición ERROR y STATUS para TCON y TDISCON ERROR STATUS Explicación (W#16#...) 0000 La conexión se ha establecido correctamente. 7000 No se está procesando ninguna tarea 7001 Inicia la ejecución de la tarea, establece la conexión (TCON) o deshace la conexión (TDISCON).
Página 895
Comunicación 11.2 PROFINET ERROR STATUS Explicación (W#16#...) 80B7 TCON: Con TCON_IP_v4: TCP (establecimiento de conexión activa): el puerto remoto es "0". • TCP (establecimiento de conexión pasiva): el puerto local es "0". • UDP: el puerto local es "0". • TCON: Con TCON_IP_RFC: Se ha especificado un selector T local (local_tselector) o remoto (remote_tselector) con •...
Página 896
Comunicación 11.2 PROFINET TSEND y TRCV Nota Si se utiliza la comunicación Open User de PROFINET y se ejecuta una instrucción TSEND sin que el dispositivo remoto ejecute la instrucción TRCV correspondiente, es posible que la instrucción TSEND permanezca indefinidamente en un estado ocupado mientras espera que la instrucción TRCV reciba los datos.
Página 897
Comunicación 11.2 PROFINET Tabla 11- 24 Tipos de datos para los parámetros de TSEND y TRCV Parámetro y tipo Tipo de datos Descripción Bool TSEND: Inicia la tarea de transmisión cuando se produce un flan- co ascendente. Los datos se transfieren desde el área que indican los parámetros DATA y LEN.
Comunicación 11.2 PROFINET Operaciones TRCV La instrucción TRCV escribe los datos recibidos en un área de recepción especificada por las dos variables siguientes: ● Puntero al comienzo del área ● Longitud del área, o bien el valor suministrado en la entrada LEN si no es 0 Nota El ajuste predeterminado del parámetro LEN (LEN = 0) utiliza el parámetro DATA para determinar la longitud de los datos que se están transmitiendo.
Página 899
Comunicación 11.2 PROFINET Nota Modo ad hoc El modo "ad hoc" solo está disponible con las variantes de protocolo TCP e ISO on TCP. Para configurar la instrucción TRCV para el modo ad hoc, ajuste el parámetro de entrada de la instrucción ADHOC.
Página 900
Comunicación 11.2 PROFINET Tabla 11- 26 Códigos de condición ERROR y STATUS para TSEND y TRCV ERROR STATUS Descripción 0000 Tarea de transmisión finalizada sin errores (TSEND) • Se han aceptado datos nuevos: La longitud actual de los datos recibidos se mues- •...
Comunicación 11.2 PROFINET 11.2.8.10 Instrucciones Legacy TCON, TDISCON, TSEND y TRCV Antes de la versión de STEP 7 V13 SP1 y las CPUs S7-1200 V4.1, las instrucciones TCON, TDISCON, TSEND y TRCV solo podían trabajar con parámetros de conexión con estructuras conforme a "TCON_Param".
Página 902
Comunicación 11.2 PROFINET Instrucciones Legacy TCON, TDISCON, TSEND y TRCV (comunicación TCP) Comunicación Ethernet con los protocolos TCP e ISO on TCP Nota Instrucciones TSEND_C y TRCV_C Para ayudar a simplificar la programación de la comunicación PROFINET/Ethernet, las instrucciones TSEND_C y TRCV_C combinan las funciones de las instrucciones TCON, TDISCON, TSEND y TRCV: •...
Página 903
Comunicación 11.2 PROFINET TCON y TDISCON Nota Inicializar los parámetros de comunicación Después de introducir la instrucción TCON, utilice las "Propiedades" de la instrucción (Página 841) para configurar los parámetros de comunicación (Página 865). Cuando se introducen los parámetros de los interlocutores en la ventana de inspección, STEP 7 introduce los datos correspondientes en el DB de instancia de la instrucción.
Página 904
Comunicación 11.2 PROFINET Tabla 11- 29 Tipos de datos para los parámetros de TCON y TDISCON Parámetro y tipo Tipo de datos Descripción Bool El parámetro de control REQ inicia la tarea estableciendo la conexión que indica ID. La tarea comienza cuando se pro- duce un flanco ascendente.
Página 905
Comunicación 11.2 PROFINET Tabla 11- 30 Códigos de condición ERROR y STATUS para TCON y TDISCON ERROR STATUS Descripción 0000 La conexión se ha establecido correctamente. 7000 No se está procesando ninguna tarea 7001 Iniciar procesamiento de la tarea, estableciendo la conexión (TCON) o deshaciendo la conexión (TDISCON) 7002 Llamada intermedia (REQ es irrelevante), estableciendo la conexión (TCON) o desha-...
Página 906
Comunicación 11.2 PROFINET ERROR STATUS Descripción 80B7 TCON: Error en uno de los parámetros siguientes del bloque de datos para la descrip- ción de la conexión: block_length • local_tsap_id_len • rem_subnet_id_len • rem_staddr_len • rem_tsap_id_len • next_staddr_len • Nota: cuando se utiliza TCON en modo TCP pasivo, LOCAL_TSAP_ID_LEN debe ser "2"...
Página 907
Comunicación 11.2 PROFINET Tabla 11- 31 Instrucciones TSEND y TRCV KOP / FUP Descripción "TSEND_DB"( TCP e ISO on TCP: TSEND envía datos me- req:=_bool_in_, diante una conexión entre la CPU y un interlo- ID:=_word_in_, cutor. len:=_udint_in_, done=>_bool_out_, busy=>_bool_out_, error=>_bool_out_, status=>_word_out_, data:=_variant_inout_);...
Página 908
Comunicación 11.2 PROFINET Parámetro y tipo Tipo de datos Descripción Bool TRCV: NDR = 0: Tarea no iniciada aún o en proceso. • NDR = 1: La tarea se ha ejecutado correctamente. • BUSY Bool BUSY = 1: Tarea no finalizada aún. No se puede iniciar una •...
Página 909
Comunicación 11.2 PROFINET Operaciones TRCV La instrucción TRCV escribe los datos recibidos en un área de recepción especificada por las dos variables siguientes: ● Puntero al comienzo del área ● Longitud del área, o bien el valor suministrado en la entrada LEN si no es 0 Nota El ajuste predeterminado del parámetro LEN (LEN = 0) utiliza el parámetro DATA para determinar la longitud de los datos que se están transmitiendo.
Página 910
Comunicación 11.2 PROFINET Nota Modo ad hoc El modo "ad hoc" solo está disponible con las variantes de protocolo TCP e ISO on TCP. El modo "ad hoc" se establece asignando el valor "65535" al parámetro LEN. El área de recepción es idéntica al área especificada en el parámetro DATA.
Comunicación 11.2 PROFINET ERROR STATUS Descripción 80A1 Error de comunicación: La conexión indicada no se ha establecido todavía (TSEND y TRCV). • La conexión indicada se está deshaciendo. La transmisión o la tarea de recepción • no es posible a través de esta conexión (TSEND y TRCV). La interfaz se está...
Página 912
Comunicación 11.2 PROFINET Los puntos finales locales de la conexión se conservan. Se generan automáticamente: ● Si se ha configurado y cargado una conexión en la CPU. ● Si el programa de usuario ha generado una conexión, por ejemplo, llamando a la instrucción "TCON (Página 891)".
Página 913
Comunicación 11.2 PROFINET Parámetro Declaración Tipo de datos Área de memoria Descripción ERROR Output BOOL I, Q, M, D, L Parámetro de estado ERROR 0: no ha ocurrido ningún error. • 1: ha ocurrido un error durante el proce- • samiento.
Comunicación 11.2 PROFINET 11.2.8.12 Instrucción T_DIAG (Comprueba el estado de la conexión y lee información) La instrucción "T_DIAG" comprueba el estado de una conexión y lee información adicional del punto final local de esta conexión: Tabla 11- 35 Instrucción T_DIAG KOP / FUP Descripción "T_DIAG_DB"(...
Página 915
Comunicación 11.2 PROFINET Tipos de datos para los parámetros En la tabla siguiente se muestran los parámetros de la instrucción T_DIAG: Parámetro Declaración Tipo de datos Área de memoria Descripción Input BOOL I, Q, M, D, L, T, C o Inicia la instrucción para comprobar la cone- constante xión especificada en el parámetro ID cuando...
Página 916
Comunicación 11.2 PROFINET Parámetro STATUS En la tabla siguiente se explican los valores en el parámetro STATUS: Bit de STATUS* Descripción error (W#16#...) 0000 La instrucción "T_DIAG" se ha ejecutado correctamente. Los datos de la estructura referenciada en el parámetro RESULT se pueden evaluar. 7000 No se está...
Página 917
Comunicación 11.2 PROFINET Nombre Tipo de datos Descripción ConnectionType BYTE Tipo de protocolo usado para la conexión: 0x01: No utilizado. • • 0x0B: Protocolo TCP (IP_v4) • 0x0C: Protocolo ISO on TCP (RFC1006) • 0x0D: Protocolo TCP (DNS) • 0x0E: Protocolo de marcado •...
Comunicación 11.2 PROFINET Nombre Tipo de datos Descripción Kind BYTE Modo del punto final de conexión: 0x00: No utilizado. • 0x01: Conexión estática configurada que se ha configurado y cargado en la • CPU. 0x02: Conexión dinámica configurada que se ha configurado y cargado en la •...
Página 919
Comunicación 11.2 PROFINET La instrucción solo se puede usar una vez que se ha configurado el hardware y si la infraestructura de red permite conectarse al servidor de correo electrónico. Tabla 11- 36 Instrucción TMAIL_C KOP / FUP Descripción "TMAIL_C_DB"( La instrucción "TMAIL_C"...
Comunicación 11.2 PROFINET Operación de la instrucción La instrucción "TMAIL_C" funciona de forma asíncrona, lo que significa que su ejecución abarca varias llamadas. Debe especificar una instancia cuando se invoque la instrucción "TMAIL_C". En los siguientes casos, se perderá la conexión con el servidor de correo electrónico: ●...
Comunicación 11.2 PROFINET Autenticación SMTP La autenticación hace referencia a un procedimiento de verificación de la identidad, por ejemplo, con una solicitud de contraseña. Si usa la interfaz de la CPU S7-1200, la instrucción "TMAIL_C" admite el procedimiento de autenticación SMTP AUTH-LOGIN que requieren la mayoría de los servidores de correo. Para obtener más información sobre el procedimiento de autenticación del servidor de correo electrónico, consulte el manual de servidor de correo electrónico o el sitio web de su proveedor de servicios de Internet.
Página 922
Comunicación 11.2 PROFINET Parámetro Declaración Tipo de Área de Descripción datos memoria SUBJECT Input STRING Asunto del correo electrónico STRING con una longitud máxima de 180 caracteres (bytes). TEXT Input STRING Texto del correo electrónico (opcional) STRING con una longitud máxima de 180 caracteres (bytes).
Página 923
Comunicación 11.2 PROFINET Parámetro Declaración Tipo de Área de Descripción datos memoria ERROR Output BOOL I, Q, M, D, L Parámetro de estado (Página 926) ERROR = 0: no se ha producido • ningún error. ERROR = 1: se ha producido un •...
Página 924
Comunicación 11.2 PROFINET Parámetro MAIL_ADDR_PARAM En el parámetro MAIL_ADDR_PARAM se define la conexión para enviar el correo electrónico en la estructura Tmail_v4 o Tmail_FQDN y se guardan la dirección del servidor de correo electrónico y los datos de inicio de sesión. La estructura que usa en el parámetro MAIL_ADDR_PARAM dependerá...
Página 925
Comunicación 11.2 PROFINET Tabla 11- 38 Tmail_FQDN: direccionamiento del servidor de correo electrónico por FQDN Parámetro Tipo de datos Descripción Tmail_v6 Struct Tmail_FQDN LADDR Identificador de hardware de la interfaz CONN_OUC ID de conexión ConnectionType BYTE Tipo de conexión. Seleccione 16#22 como tipo de conexión para FQDN.
Comunicación 11.2 PROFINET Parámetros TO_S y CC Los parámetros TO_S y CC son cadenas, por ejemplo, con el siguiente contenido: ● <[email protected]>, <[email protected]> ● <[email protected]>, <[email protected]> Tenga en cuenta las reglas siguientes al especificar los parámetros: ● Antes de cada dirección debe introducirse un espacio y un corchete angular de apertura "<".
Página 927
Comunicación 11.2 PROFINET Parámetro STATUS En la tabla siguiente se muestran los valores de retorno de TMAIL_C en el parámetro STATUS: Valor de Explicación Notas retorno STATUS* (W#16#...): 0000 El procesamiento de TMAIL_C ha La finalización de TMAIL_C sin errores no finalizado sin errores.
Página 928
Comunicación 11.2 PROFINET Valor de Explicación Notas retorno STATUS* (W#16#...): 8014 No es posible establecer una cone- Puede que haya introducido una dirección IP xión. de servidor de correo electrónico (MailServerAddress (Página 924)) o un inter- valo de tiempo demasiado corto (WatchDogTime (Página 924)) para establecer la conexión.
Comunicación 11.2 PROFINET Valor de Explicación Notas retorno STATUS* (W#16#...): 8550 No se puede acceder al servidor de Puede que haya introducido un nombre de correo electrónico. No dispone de usuario incorrecto o una contraseña incorrecta derechos de acceso. o que el servidor de correo electrónico no admita sus datos de inicio de sesión.
Comunicación 11.2 PROFINET 11.2.8.15 TUSEND y TURCV Las instrucciones siguientes controlan el proceso de comunicación UDP: ● TCON establece la comunicación entre el PC cliente y servidor (CPU). ● TUSEND y TURCV permiten transmitir y recibir datos. ● TDISCON desconecta la comunicación entre el cliente y servidor. Consulte TCON, TDISCON, TSEND y TRCV (Página 891) en la sección "TCP e ISO on TCP"...
Página 931
Comunicación 11.2 PROFINET TCON, TDISCON, TUSEND y TURCV funcionan de forma asíncrona, con lo que el procesamiento de la tarea abarca varias ejecuciones de la instrucción. Tabla 11- 40 Tipos de datos TUSEND y TURCV para los parámetros Parámetro y tipo Tipo de datos Descripción Bool...
Página 932
Comunicación 11.2 PROFINET Parámetro y tipo Tipo de datos Descripción DATA IN_OUT Variant Dirección del área de emisión (TUSEND) o del área de recep- ción (TURCV): La memoria imagen de proceso de las entradas • La memoria imagen de proceso de las salidas •...
Página 933
Comunicación 11.2 PROFINET Tabla 11- 42 Códigos de condición TUSEND y TURCV para ERROR y STATUS ERROR STATUS Descripción 0000 Tarea de transmisión finalizada sin errores (TUSEND). • Se han aceptado datos nuevos. La longitud actual de los datos recibidos se muestra •...
Comunicación 11.2 PROFINET ERROR STATUS Descripción 80C3 Ya se está procesando un bloque con esta ID en una clase de prioridad diferente. • Falta interna de recursos • 80C4 Error de comunicación temporal: La conexión entre el programa de usuario y la capa de comunicación del sistema •...
Página 935
Comunicación 11.2 PROFINET La instrucción TUSEND envía datos a través de UDP al interlocutor remoto especificado en el tipo de datos "TADDR_Param". La instrucción TURCV recibe datos a través de UDP. Tras ejecutar correctamente la instrucción TURCV, el tipo de datos "TADDR_Param" muestra la dirección del interlocutor remoto (emisor), como se muestra en las figuras que aparecen a continuación.
Comunicación 11.2 PROFINET 11.2.8.16 T_CONFIG La instrucción T_CONFIG puede modificar la dirección Ethernet, el nombre de dispositivo PROFINET o las direcciones IP de los servidores NTP para la sincronización horaria desde el programa de usuario. Las funciones siguientes pueden ajustarse de forma permanente o temporal: ●...
Página 937
Comunicación 11.2 PROFINET Tabla 11- 43 Instrucción T_CONFIG KOP / FUP Descripción "T_CONFIG_DB"( La instrucción T_CONFIG se puede usar para Req:=_bool_in_, modificar los parámetros de configuración de IP Interface:=_uint_in_, desde el programa de usuario. Conf_Data:=_variant_in_, T_CONFIG funciona de forma asíncrona. La eje- Done=>_bool_out_, cución abarca varias llamadas.
Página 938
Comunicación 11.2 PROFINET Los avisos de estado y los mensajes de error de la instrucción "T_CONFIG" se visualizan en los parámetros STATUS y ERR_LOC: ● La causa del error se muestra en el parámetro STATUS. ● La ubicación del error ocurrido se muestra en el parámetro ERR_LOC. Aquí están disponibles las siguientes opciones: –...
Página 939
Comunicación 11.2 PROFINET STATUS* ERR_LOC* Explicación C080_8D00 0001_000x Error en el tipo de datos de sistema IF_CONF_V4, IF_CONF_NOS o IF_CONF_NTP: el parámetro Length tiene un valor incorrecto o no válido. C080_8E00 0001_000x Error en el tipo de datos de sistema IF_CONF_V4, IF_CONF_NOS o IF_CONF_NTP: el parámetro Mode tiene un valor incorrecto o no válido.
Página 940
Comunicación 11.2 PROFINET Bloque de datos CONF_DATA El diagrama siguiente muestra cómo se guardan en el DB de configuración los datos de configuración que deben transferirse. ① ④ DB de configuración Subcampo 2 ② ⑤ Datos de configuración Subcampo ③ ⑥...
Página 941
Comunicación 11.2 PROFINET Tabla 11- 46 Elementos del tipo de datos IF_CONF_V4 Nombre Tipo de datos Valor de Descripción arranque UInt subfield_type_id Length UInt subfield_length Mode UInt subfield_mode (1: permanente o 2: temporal) InterfaceAddress IP_V4 Dirección de interfaz ADDR Array [1..4] of Byte ADDR[1] Byte Dirección IP high byte: 200...
Página 942
Comunicación 11.2 PROFINET El nombre de la estación está sujeto a las siguientes limitaciones: ● Un componente dentro del nombre de la estación, p. ej. una cadena de caracteres entre dos puntos, no debe exceder 63 caracteres. ● No se admiten caracteres especiales, como diéresis, paréntesis, guión bajo, barra, espacio, etc.
Comunicación 11.2 PROFINET Nombre Tipo de datos Valor inicial Descripción NTP 4 ADDR Array[1...4] of Byte ADDR[1] Byte Dirección IP high byte ADDR[2] Byte Dirección IP high byte ADDR[3] Byte Dirección IP low byte ADDR[4] Byte Dirección IP low byte Ejemplo: utilizar la instrucción T_CONFIG para cambiar parámetros IP En el ejemplo siguiente, en el subcampo "addr", se han cambiado la "InterfaceAddress"...
Página 944
Comunicación 11.2 PROFINET Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Comunicación 11.2 PROFINET Ejemplo: utilizar la instrucción T_CONFIG para cambiar los parámetros IP y los nombres de dispositivo PROFINET IO En el ejemplo siguiente, se han cambiado los subcampos "addr" y "nos" (Name of station). En la página "Dirección Ethernet" de las "Propiedades" de la CPU hay que seleccionar la casilla de verificación "Permitir ajustar el nombre de dispositivo PROFINET directamente en el dispositivo"...
Página 946
Comunicación 11.2 PROFINET Ejemplo: Uso de la instrucción T_CONFIG para cambiar las direcciones IP en los servidores NTP En el ejemplo siguiente, la instrucción T_CONFIG cambia las direcciones IP de un máximo de cuatro servidores NTP en el subcampo "ntp" (servidor NTP (Network Time Protocol)). En la página "Sincronización horaria"...
Comunicación 11.2 PROFINET 11.2.8.17 Parámetros comunes para instrucciones Parámetro de entrada REQ Muchas de las instrucciones de la comunicación abierta utilizan la entrada REQ para iniciar la operación en una transición de "low" a "high". El estado lógico de la entrada REQ debe ser "high"...
Página 948
Comunicación 11.2 PROFINET Parámetros de salida DONE, NDR, ERROR y STATUS Estas instrucciones ponen a disposición salidas que describen el estado de finalizado: Tabla 11- 49 Parámetros de salida de las instrucciones de la comunicación abierta Parámetro Tipo de datos Valor predeter- Descripción minado...
Comunicación 11.2 PROFINET 11.2.9 Comunicación con una programadora Una CPU puede comunicarse con una pro- gramadora con STEP 7 en una red. Al configurar la comunicación entre una CPU y una programadora debe considerarse lo siguiente: ● Configuración/instalación: Es preciso configurar el hardware. ●...
Comunicación 11.2 PROFINET 11.2.9.2 Configurar los dispositivos Si ya se ha creado un proyecto con una CPU, ábralo en STEP 7. En caso contrario, cree un proyecto e inserte una CPU (Página 168) en el rack. En el proyecto que aparece abajo, una CPU se muestra en la "Vista de dispositivos". 11.2.9.3 Asignar direcciones IP (Internet Protocol) Asignar direcciones IP...
Comunicación 11.2 PROFINET 11.2.10 Comunicación entre dispositivos HMI y el PLC La CPU admite conexiones de comunicación PROFINET con dispositivos HMI (Página 33). Los siguientes requisitos deben considerarse al configurar la comunicación entre CPUs y HMIs: Configuración/instalación: ● El puerto PROFINET de la CPU debe configurarse para poder establecer una conexión con el HMI.
Comunicación 11.2 PROFINET Paso Tarea Configurar una dirección IP en el proyecto Utilice el mismo proceso de configuración. No obstante, es preciso configurar direcciones IP para el HMI y la CPU. Encontrará más información en "Configuración de dispositivos: Configurar una dirección IP para una CPU en el proyecto".
Comunicación 11.2 PROFINET 11.2.11 Comunicación entre PLCs Una CPU puede comunicarse con otra CPU utili- zando las instrucciones TSEND_C y TRCV_C. Considere lo siguiente al configurar la comunicación entre dos CPUs: ● Configuración/instalación: Es preciso configurar el hardware. ● Funciones soportadas: Leer/escribir datos en una CPU interlocutora ●...
Comunicación 11.2 PROFINET 11.2.11.1 Configurar las conexiones de red lógicas entre dos dispositivos Tras configurar el rack con la CPU podrá configurar las conexiones de red. En el portal "Dispositivos y redes", utilice la "Vista de red" para crear las conexiones de red entre los dispositivos del proyecto.
Comunicación 11.2 PROFINET 11.2.11.3 Configurar los parámetros de transmisión y recepción Los bloques de comunicación (por ejemplo TSEND_C y TRCV_C) sirven para establecer conexiones entre dos CPUs. Para que las CPUs puedan intervenir en la comunicación PROFINET es preciso configurar parámetros para transmitir y recibir mensajes. Estos parámetros determinan cómo deben funcionar las comunicaciones al transmitir o recibir mensajes a/de un dispositivo de destino.
Página 956
Comunicación 11.2 PROFINET Como muestra la figura siguiente, es posible asignar posiciones de memoria a las entradas y salidas en la memoria de variables: Configurar los parámetros generales Los parámetros se configuran en el diálogo "Propiedades" de la instrucción TSEND_C. Este diálogo aparece en el lado inferior de la página cuando se ha seleccionado alguna parte de la instrucción TSEND_C.
Comunicación 11.2 PROFINET Configurar los parámetros de recepción de la instrucción TRCV_C Instrucción TRCV_C La instrucción TRCV_C (Página 871) crea una conexión con un interlocutor. La conexión se configura, establece y vigila automáticamente hasta que la instrucción ordene que sea desconectada.
Comunicación 11.2 PROFINET Configurar los parámetros generales Los parámetros se configuran en el diálogo "Propiedades" de la instrucción TRCV_C. Este diálogo aparece en el lado inferior de la página cuando se ha seleccionado alguna parte de la instrucción TRCV_C. 11.2.12 Configurar una CPU y un dispositivo PROFINET IO 11.2.12.1 Agregar un dispositivo PROFINET IO...
Comunicación 11.2 PROFINET También es posible ir al portal "Dispositivos y redes" y utilizar la "Vista de redes" para crear las conexiones de red entre los dispositivos del proyecto: 1. Para crear una conexión PROFINET, haga clic en el cuadro verde (PROFINET) del primer dispositivo y trace una línea hasta el cuadro PROFINET del segundo dispositivo.
Comunicación 11.2 PROFINET 11.2.12.3 Asignar direcciones IP (Internet Protocol) Asignar direcciones IP En una red PROFINET todo dispositivo debe tener también una dirección IP (Internet Protocol o Protocolo Internet). Esta dirección permite al dispositivo transferir datos a través de una red enrutada y más compleja: ●...
Página 961
Comunicación 11.2 PROFINET Defina el "Tiempo de actualización" del ciclo IO con las selecciones siguientes: ● Para que se calcule automáticamente un tiempo de actualización adecuado, seleccione "Automático". ● Para ajustar uno mismo el tiempo de actualización, seleccione "Ajustable" e introduzca el tiempo de actualización necesario en ms.
Comunicación 11.2 PROFINET 11.2.13 Configurar una CPU y un I-device PROFINET 11.2.13.1 Funcionalidad de I-device La funcionalidad de "I-device" (dispositivo IO inteligente) de una CPU facilita el intercambio de datos con un controlador IO y el funcionamiento de la CPU como una unidad de preprocesamiento inteligente de subprocesos, por ejemplo.
Comunicación 11.2 PROFINET 11.2.13.2 Propiedades y ventajas del I-device Campos de aplicación Campos de aplicación del I-device: ● Procesamiento descentralizado: Una tarea de automatización compleja se puede dividir en unidades/subprocesos más pequeños. En consecuencia, se obtienen procesos más manejables que permiten simplificar las subtareas.
Comunicación 11.2 PROFINET 11.2.13.3 Características de un I-device Un I-device se incluye en un sistema IO como si fuera un dispositivo IO estándar. I-device sin sistema PROFINET IO subordinado El I-device no cuenta con su propia periferia descentralizada. La asignación de configuraciones y parámetros de los I-devices asumiendo la función de dispositivo IO es igual que para un sistema de periferia descentralizada (por ejemplo, ET 200).
Comunicación 11.2 PROFINET I-device con sistema PROFINET IO subordinado Dependiendo de la configuración, un I-device también puede ser un controlador IO en una interfaz PROFINET, además de asumir la función de un dispositivo IO. De este modo, el I-device puede formar parte de un sistema IO de nivel superior a través de su interfaz PROFINET y como controlador IO puede admitir su propio sistema IO subordinado.
Comunicación 11.2 PROFINET Ejemplo: I-device como dispositivo IO y controlador IO El I-device como dispositivo IO y controlador IO se explica a partir del ejemplo de un proceso de impresión. El I-device controla una unidad (un subproceso). Una unidad se usa, por ejemplo, para insertar hojas adicionales como octavillas o folletos en un paquete de material impreso.
Página 967
Comunicación 11.2 PROFINET ① Intercambio de datos entre el controlador IO de nivel superior y el dispositivo IO normal De este modo, el controlador IO y los dispositivos IO intercambian datos a través de PROFINET. ② Intercambio de datos entre el controlador IO de nivel superior y el I-device De este modo, el controlador IO y el I-device intercambian datos a través de PROFINET.
Comunicación 11.2 PROFINET ④ Intercambio de datos entre el programa del usuario y las E/S del I-device De este modo, el programa de usuario y las E/S centralizadas/descentralizadas intercambian datos de entrada y de salida. ⑤ Intercambio de datos entre el I-device y el dispositivo IO subordinado De este modo, el I-device y sus dispositivos IO intercambian datos.
Página 969
Comunicación 11.2 PROFINET Configuración de un I-device en un proyecto 1. Arrastre y suelte una CPU PROFINET del catálogo de hardware en la vista de red. 2. Arrastre y suelte una CPU PROFINET, que también se puede configurar como un dispositivo IO, del catálogo de hardware en la vista de red.
Página 970
Comunicación 11.2 PROFINET 7. Configure las áreas de transferencia. Las áreas de transferencia se encuentran en el apartado de navegación del área "Comunicación de I-device": – Haga clic en el primer campo de la columna "Área de transferencia". STEP 7 asigna un nombre predeterminado que puede cambiar.
Comunicación 11.2 PROFINET 11.2.14 Dispositivos compartidos 11.2.14.1 Funcionalidad de Shared Device Muchos controladores IO suelen utilizarse en sistemas de gran tamaño o ampliamente descentralizados. Sin la función "Shared Device", cada módulo E/S de un dispositivo IO se asigna al mismo controlador IO.
Comunicación 11.2 PROFINET Requisitos (configuración GSD) ● STEP 7 V12 Service Pack 1 o superior ● CPU S7-1200 con firmware V4.1 o superior como controlador IO ● Un dispositivo IO que soporte la funcionalidad de Shared Device, p. ej. un módulo de interfaz IM 155-5 PN ST ●...
Comunicación 11.2 PROFINET Ajuste de las propiedades en tiempo real STEP 7 calcula la carga de comunicación y, por consiguiente, los tiempos de actualización resultantes. Hay que introducir el número de controladores IO ajenos al proyecto en el proyecto en el que la interfaz PROFINET del Shared Device está asignada al controlador IO, de modo que sea posible realizar un cálculo con las configuraciones del Shared Device.
Comunicación 11.2 PROFINET Condiciones límite Las siguientes condiciones límite surgen porque una configuración de Shared Device está distribuida entre varios proyectos: ● Las direcciones de módulos o submódulos que no están asignados a este controlador IO faltan en la vista general de direcciones de cada controlador IO que tiene acceso a un Shared Device.
Comunicación 11.2 PROFINET Procedimiento: Creación del proyecto 1 Para crear el primer proyecto con un Shared Device, proceda del siguiente modo: 1. Inicie STEP 7. 2. Cree un proyecto nuevo con el nombre "Controlador1". 3. Inserte una CPU 1215C del catálogo de hardware en la vista de redes. Póngale por nombre "Controlador1".
Página 976
Comunicación 11.2 PROFINET Procedimiento: Creación del proyecto 2 Para crear el segundo proyecto con un Shared Device, proceda del siguiente modo: 1. Inicie STEP 7 de nuevo. Se abre una instancia nueva de STEP 7. 2. En la instancia nueva, cree un proyecto con el nombre "Controlador2". 3.
Comunicación 11.2 PROFINET Procedimiento: Configuración del acceso al Shared Device Los módulos y submódulos que se insertan en el Shared Device se asignan automáticamente a la CPU local. Para cambiar la asignación, proceda del siguiente modo: 1. Seleccione el módulo de interfaz en la vista de redes o dispositivos del proyecto "Controlador1".
Página 978
Comunicación 11.2 PROFINET 6. Seleccione el ajuste "---" en todos los módulos y submódulos que deben encontrarse en el rango de direcciones de la CPU del proyecto "Controlador1" (Controlador1). 7. Finalmente, compruebe que los ajustes de acceso sean "complementarios" para cada módulo o submódulo de los dos proyectos.
Comunicación 11.2 PROFINET Procedimiento: Adaptación de los ajustes de tiempo real Para asegurarse de que todos los controladores IO y Shared Devices funcionan con el tiempo de ciclo de emisión adecuado y que los tiempos de actualización se han calculado correctamente según la carga de comunicación, es necesario adaptar y comprobar los ajustes siguientes: 1.
Comunicación 11.2 PROFINET Compilación y carga Hay que compilar las configuraciones de los diferentes controladores IO y cargarlas seguidamente en las CPUs una tras otra. Debido a la configuración descentralizada con proyectos separados, STEP 7 no emite errores de coherencia en caso de que la asignación de parámetros de acceso sea incorrecta.
Comunicación 11.2 PROFINET Nota Si se configura un S7-1200 como I-device, el tamaño máximo de un área de transferencia es de 1024 bytes de entrada o salida. Hay posibles factores de restricción en función de las E/S locales y de las limitaciones de espacio de direccionamiento en el controlador. I-device Los parámetros siguientes se asignan a una CPU S7-1200 como I-device: ●...
Comunicación 11.2 PROFINET Requisitos ● STEP 7 V13 SP1 o superior ● El dispositivo IO soporta la funcionalidad de Shared Device (por ejemplo ET 200SP IM 155-6 PN HF V3.1). ● Hay instalado un archivo GSD para configurar el dispositivo IO como Shared Device. Procedimiento: Creación del proyecto I-device S7-1200 Para crear el proyecto con un Shared I-device, proceda del siguiente modo: 1.
Página 983
Comunicación 11.2 PROFINET 5. Asigne los parámetros de los módulos. Concretamente, deben configurarse los ajustes siguientes para la CPU en el área de la interfaz PROFINET [X1]: – Active la opción "Dispositivo IO" en el área "Modo de operación". – Configure las áreas de transferencia en el área "Modo de operación" > "Configuración del I-device".
"Exportar archivo de descripción de estación general (GSD)"). Si no se cambia el nombre en el cuadro de diálogo Exportar, el archivo GSD utiliza un nombre de formato asignado (por ejemplo "GSDML-V2.31-#Siemens-PreConf_S7-1200-I-Device-20130925-123456"). Procedimiento: Creación del proyecto Controlador1 Para crear el primer proyecto con un Shared I-device, proceda del siguiente modo: 1.
Página 985
Comunicación 11.2 PROFINET 6. Asigne el controlador IO "Controlador1" al I-device. Controlador programable S7-1200 Manual de sistema, V4.2, 09/2016, A5E02486683-AK...
Página 986
Comunicación 11.2 PROFINET 7. Seleccione el área "Shared Device" en las propiedades del I-device: – En la tabla, todas las áreas de transferencia y la interfaz PROFINET se asignan al controlador IO local (Controlador1). – Defina las áreas de transferencia a las que la CPU Controlador1 no debe tener acceso.
Comunicación 11.2 PROFINET 8. Las direcciones pueden adaptarse desde la vista de dispositivos del controlador IO en la vista general de dispositivos. Para abrir la vista general de dispositivos haga doble clic en el I-device. 9. Guarde el proyecto. Procedimiento: Creación del proyecto Controlador2 Para crear el segundo proyecto con un Shared Device, proceda del siguiente modo: 1.
Comunicación 11.2 PROFINET Resumen: asignar parámetros para acceder al Shared Device Las áreas de transferencia se asignan automáticamente al controlador IO local. Para cambiar la asignación, proceda del siguiente modo: 1. Haga clic en el dispositivo "I-device S7-1200" en la vista de redes del proyecto "Controlador1"...
Comunicación 11.2 PROFINET Procedimiento: Adaptación de los ajustes de tiempo real Para asegurarse de que todos los controladores IO y Shared Devices funcionan con el tiempo de ciclo de emisión adecuado y que los tiempos de actualización se han calculado correctamente según la carga de comunicación, es necesario adaptar y comprobar los ajustes siguientes: 1.
Comunicación 11.2 PROFINET 11.2.15 Media Redundancy Protocol (MRP) Las siguientes CPU S7-1200 V4.2 soportan operaciones como cliente MRP, pero no asumen la función de administrador MRP: ● CPU 1215C ● CPU 1217C ● CPU 1215FC Las tres CPU S7-1200 tienen dos puertos PN necesarios para el protocolo MRP y los parámetros de configuración que se utilizan para inicializar la operación de cliente MRP.
Comunicación 11.2 PROFINET Los puertos en anillo de un dispositivo son los que establecen la conexión con los dos dispositivos vecinos en la topología en anillo. Los puertos en anillo se seleccionan y ajustan en la configuración del dispositivo en cuestión (dado el caso está predefinido). Funcionamiento de la redundancia de medios en una topología en anillo El recorrido de los datos entre los diferentes dispositivos se reconfigura automáticamente si el anillo queda interrumpido en algún punto.
Comunicación 11.2 PROFINET 11.2.15.2 Uso de Media Redundancy Protocol (MRP) El proceso "MRP" funciona de conformidad con el Media Redundancy Protocol (MRP), que está especificado en IEC 61158 tipo 10 "PROFINET". Requisitos Para que MRP funcione correctamente deben cumplirse los requisitos siguientes: ●...
Página 993
Comunicación 11.2 PROFINET Las reglas siguientes rigen para una topología en anillo con redundancia de medios que utiliza MRP: ● Todos los dispositivos del anillo forman parte del mismo dominio de redundancia. ● Un dispositivo del anillo tiene la función de administrador MRP. ●...
Comunicación 11.2 PROFINET Tiempo de supervisión de respuesta El tiempo de supervisión de respuesta es el intervalo de tiempo que un controlador IO o dispositivo IO deja pasar sin recibir datos IO. Si el controlador IO no suministra datos al dispositivo IO dentro del tiempo de supervisión de respuesta, el dispositivo detecta los frames que faltan y emite valores sustitutivos.
Comunicación 11.2 PROFINET 11.2.15.3 Configurar la redundancia de medios Todos los componentes de la aplicación deben ser compatibles con Media Redundancy Protocol (MRP). Procedimiento Para configurar la redundancia de medios, proceda del siguiente modo: 1. Cree un anillo interconectando los puertos de la forma conveniente (p. ej. en la vista topológica).
Página 996
Comunicación 11.2 PROFINET O bien: 1. Seleccione el sistema PROFINET IO en la vista de redes. 2. Haga clic en el sistema PROFINET IO. 3. Navegue hasta el dispositivo del dominio MRP requerido en la ventana de inspección. 4. Asigne a los dispositivos PROFINET la función "Manager (Auto)", "Cliente" o "No es estación del anillo".
Comunicación 11.2 PROFINET Nota No es posible asignar las funciones MRP "Manager" o "Manager (Auto)" a la CPU S7-1200. Opción de ajuste "Redundancia de medios": puerto en anillo 1 y puerto en anillo 2 Seleccione uno a uno los puertos que desee configurar como puerto en anillo 1 o puerto en anillo 2.
● Routing entre la CPU y un CP ● Routing de un CP a otro CP Consulte los CP S7-1200 en el soporte de producto de Siemens Industry Online Support si desea más información sobre todos los CP S7-1200 que soportan la función de routing S7.
Comunicación 11.2 PROFINET 11.2.16.1 Routing S7 entre interfaces de CPU y CP Puesto que las CPU S7-1200 están limitadas a una sola interfaz PN, una CPU autónoma no puede adoptar la función de router. No es posible conectar una CPU autónoma a más de una subred S7 a la vez.
Comunicación 11.2 PROFINET 11.2.17 Desactivar SNMP Simple Network Management Protocol (SNMP) es un protocolo estándar de Internet para recopilar y organizar información relacionada con dispositivos administrados en redes IP y para modificar dicha información con el fin de cambiar el comportamiento del dispositivo. Los dispositivos que soportan típicamente SNMP son, entre otros, routers, switches, servidores, estaciones de trabajo, impresoras y racks de módems.