Siemens SIMATIC S7-1200 Manual De Sistema
Ocultar thumbs Ver también para SIMATIC S7-1200:
Tabla de contenido

Publicidad

Enlaces rápidos

SIMATIC
S7
Controlador programable S7-1200
Manual de sistema
V4.5 05/2021
A5E02486683-AO
Prólogo
Sinopsis del producto
Nuevas funciones
Software de programación
STEP 7
Montaje
Principios básicos del PLC
Configuración de
dispositivos
Principios básicos de
programación
Instrucciones básicas
Instrucciones avanzadas
Instrucciones tecnológicas
Comunicación
Servidor web
Procesador de
comunicaciones y Modbus
TCP
Comunicación TeleService
(correo electrónico SMTP)
Herramientas online y
diagnóstico
Datos técnicos
Calcular la corriente
necesaria
Información de pedido
Cambio de dispositivo y
compatibilidad de los
repuestos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
B
C
D

Publicidad

Tabla de contenido
loading

Resumen de contenidos para Siemens SIMATIC S7-1200

  • Página 1 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 Instrucciones avanzadas Instrucciones tecnológicas Comunicación Servidor web Procesador de comunicaciones y Modbus Comunicación TeleService (correo electrónico SMTP)
  • Página 2: Personal Cualificado

    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...
  • Página 3: Prólogo

    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.
  • Página 4: Documentación E Información

    Información de seguridad Siemens ofrece productos y soluciones con funciones de seguridad industrial con el objetivo de hacer más seguro el funcionamiento de instalaciones, sistemas, máquinas y redes. Para proteger las instalaciones, los sistemas, las máquinas y las redes contra de amenazas cibernéticas, es necesario implementar (y mantener continuamente) un concepto de seguridad...
  • Página 5 Para obtener información adicional sobre las medidas de seguridad industrial que podrían ser implementadas, por favor visite (https://www.siemens.com/industrialsecurity). Los productos y las soluciones de Siemens están sometidos a un desarrollo constante con el fin de hacerlos más seguros. 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.5 05/2021, A5E02486683-AO...
  • Página 7: Tabla De Contenido

    Í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 ......................32 Nuevas funciones ..........................35 Software de programación STEP 7....................... 37 Requisitos del sistema ......................37 Diferentes vistas que facilitan el trabajo................
  • Página 8 Índice 5.1.3.12 OB de actualización......................84 5.1.3.13 OB de perfil........................85 5.1.3.14 OB MC-Servo y MC-Interpolator ..................85 5.1.3.15 MC-PreServo ........................85 5.1.3.16 MC-PostServo ........................86 5.1.3.17 Prioridades y colas de espera para la ejecución de eventos ..........87 5.1.4 Vigilancia y configuración del tiempo de ciclo ..............
  • Página 9 Índice Configurar el funcionamiento de la CPU................153 6.6.1 Vista general........................153 6.6.2 Configuración de tiempos de filtro de entradas digitales............ 155 6.6.3 Capturar impulsos......................156 Configurar el soporte multilingüe ..................158 Protección y seguridad ..................... 160 6.8.1 Uso del asistente de seguridad para establecer los ajustes de seguridad del PLC ....160 6.8.2 Protección de datos de configuración confidenciales del PLC ..........
  • Página 10 Índice 7.9.3 Referencia cruzada para mostrar la utilización ..............206 7.9.4 Estructura de llamadas para ver la jerarquía de llamadas........... 207 Instrucciones básicas ......................... 209 Operaciones lógicas con bits .................... 209 8.1.1 Operaciones lógicas con bits .................... 209 8.1.2 Instrucciones "Activar salida" y "Desactivar salida" ............. 212 8.1.3 Instrucciones de flanco ascendente y descendente ............
  • Página 11 Índice Conversión ........................284 8.7.1 CONV (convertir valor) ..................... 284 8.7.2 Instrucciones de conversión de SCL .................. 285 8.7.3 ROUND (redondear número) y TRUNC (truncar a entero) ..........288 8.7.4 CEIL y FLOOR (redondear un número en coma flotante al siguiente entero superior o inferior) ...........................
  • Página 12 Índice 9.2.3 Instrucciones de conversión de cadenas ................335 9.2.3.1 Instrucciones S_CONV, STRG_VAL y VAL_STRG (Convertir a/de cadena de caracteres y número) .......................... 335 9.2.3.2 Instrucciones Strg_TO_Chars y Chars_TO_Strg (Convertir a/de cadena de caracteres y Array of CHAR)......................... 344 9.2.3.3 Instrucciones ATH y HTA (Convertir a/de cadena de caracteres ASCII y número hexadecimal) ........................
  • Página 13 Índice 9.5.5 Instrucciones DIS_AIRT y EN_AIRT (Retardar/habilitar tratamiento de eventos de alarma y errores asíncronos de mayor prioridad)................413 Alarmas ........................... 414 9.6.1 Gen_UsrMsg (crear avisos de diagnóstico de usuario) ............414 Diagnóstico (PROFINET o PROFIBUS)................. 416 9.7.1 Instrucciones de diagnóstico .................... 416 9.7.2 RD_SINFO (leer información de arranque del OB actual)............
  • Página 14 Índice 9.13 Tratamiento de archivos ....................532 9.13.1 FileReadC: leer archivo de la SIMATIC Memory Card ............532 9.13.2 FileWriteC: escribir archivo en la Memory Card..............534 9.13.3 FileDelete: Borrar archivo de la Memory Card..............537 Instrucciones tecnológicas ........................ 539 10.1 Contaje (contadores rápidos) ...................
  • Página 15 Índice 10.3.1 Funciones PID ........................579 10.3.2 Instrucciones PID ......................580 10.3.2.1 Funciones PID ........................580 10.3.2.2 Instrucción PID_Compact ....................580 10.3.2.3 Instrucción PID_3Step ...................... 581 10.3.2.4 Instrucción PID_Temp....................... 582 10.3.3 Información adicional sobre la regulación PID de S7-1200 ..........582 Comunicación ............................
  • Página 16 Índice 11.5.9.4 Comprobar la red PROFINET ..................... 726 11.5.10 Comunicación entre dispositivos HMI y el PLC..............727 11.5.10.1 Configurar las conexiones de red lógicas entre dos dispositivos ......... 728 11.5.11 Comunicación entre PLCs ....................728 11.5.11.1 Configurar las conexiones de red lógicas entre dos dispositivos ......... 729 11.5.11.2 Configurar la vía de conexión local/interlocutor entre dos dispositivos .......
  • Página 17 Índice 11.7.2 Intercambio de datos entre el programa de usuario y los esclavos AS-i ......789 11.7.2.1 Configuración básica de STEP 7 ..................789 11.7.2.2 Configurar esclavos con STEP 7..................791 11.7.3 Instrucciones E/S descentralizadas..................793 11.7.4 Trabajar con herramientas online AS-i ................793 11.8 Comunicación S7 ......................
  • Página 18 Índice 12.7.4 Introducción ........................862 12.7.5 Arranque ......................... 863 12.7.6 Diagnóstico ........................864 12.7.7 Búfer de diagnóstico ......................866 12.7.8 Información del módulo....................867 12.7.9 Comunicación........................872 12.7.10 Estado de variable......................875 12.7.11 Tablas de observación ...................... 877 12.7.12 Copia de seguridad online....................879 12.7.13 Página Registros de datos....................
  • Página 19 Índice 12.9.2 Restricciones de funciones cuando las opciones de Internet no permiten cookies ....934 12.9.3 Reglas para introducir nombres de variables y valores ............934 12.9.4 Importar registros de datos en formato CSV a versiones de Microsoft Excel que no son estadounidenses ni británicas ..................
  • Página 20 Índice 13.5 Comunicación Modbus ....................1013 13.5.1 Sinopsis de la comunicación Modbus RTU y Modbus TCP..........1013 13.5.2 Modbus TCP........................1016 13.5.2.1 Vista general........................1016 13.5.2.2 Seleccionar la versión de las instrucciones Modbus TCP ..........1016 13.5.2.3 Instrucciones Modbus TCP....................1017 13.5.2.4 Ejemplos de Modbus TCP ....................
  • Página 21 Índice 13.9.3.2 MB_MASTER (comunicar como maestro Modbus vía puerto PtP) ........1162 13.9.3.3 MB_SLAVE (comunicar como esclavo Modbus vía puerto PtP) ......... 1168 13.9.4 Ejemplos de Modbus RTU antiguo .................. 1174 13.9.4.1 Ejemplo: programa de maestro Legacy Modbus RTU ............1174 13.9.4.2 Ejemplo: programa de esclavo Legacy Modbus RTU ............
  • Página 22 Realizar una copia de seguridad de una CPU online............1240 15.19.3 Restaurar una CPU ......................1242 Datos técnicos..........................1245 Página web de Siemens Online Support ................. 1245 Datos técnicos generales....................1245 Asignación de pines del puerto X1 de la interfaz PROFINET ..........1254 CPU 1211C ........................1255 A.4.1...
  • Página 23 Índice A.7.3 Entradas y salidas digitales..................... 1298 A.7.4 Entradas y salidas analógicas..................1300 A.7.4.1 Respuesta a escalón de las entradas analógicas integradas en la CPU ......1300 A.7.4.2 Tiempo de muestreo para los puertos analógicos integrados en la CPU ......1301 A.7.4.3 Rangos de medida de entradas analógicas de tensión (CPU) ...........
  • Página 24 Índice A.13.3 Datos técnicos de la SB 1223 de entradas/salidas digitales 200 kHz ......... 1385 A.13.4 Especificaciones de la SB 1223 2 entradas de 24 V DC / 2 salidas de 24 V DC ....1388 A.14 Signal Boards analógicas (SBs) ..................1391 A.14.1 Datos técnicos de la SB 1231 de 1 entrada analógica ............
  • Página 25 Índice Calcular la corriente necesaria ......................1431 Información de pedido ........................1435 Módulos CPU ......................... 1435 Módulos de señales (SM), Signal Boards (SB) y Battery Boards (BB) ......... 1435 Comunicación........................ 1437 CPUs y módulos de señales de seguridad positiva ............1438 Otros módulos .......................
  • Página 26 Índice Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 27: Sinopsis Del Producto

    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 estructura compacta, 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 ① Conector de corriente ② Ranura para Memory Card (debajo de la tapa superior) ③ Conectores extraíbles para el cableado de usuario (de‐ trás de las tapas) ④ LED de estado para las E/S integradas ⑤...
  • Página 29 Sinopsis del producto 1.1 Introducción al PLC S7-1200 Función CPU 1211C CPU 1212C CPU 1214C CPU 1215C CPU 1217C Módulo de comunicación (CM) (ampliación en el lado izquierdo) Contadores rápidos Total Se han configurado un máximo de 6 para usar cualquier entrada integrada o de SB. 1 MHz De Ib.2 a Ib.5 100/...
  • Página 30 Sinopsis del producto 1.1 Introducción al PLC S7-1200 Elemento Descripción Ciclo del programa Varios Arranque Varios Alarmas de retardo 4 (1 por evento) Alarmas cíclicas 4 (1 por evento) Alarmas de proceso 50 (1 por evento) Alarmas de error de tiempo Alarmas de error de diagnóstico 1 Enchufe o desenchufe de mó‐...
  • Página 31: Capacidad De Expansión De La Cpu

    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 1245).
  • Página 32: Paneles Hmi Basic

    E/S analógicas • RTD y termopar • Maestro SM 1278 IO-Link • SM 1238 Energy Meter (https:// support.industry.siemens.com/cs/ww/e n/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) agre‐...
  • Página 33 Sinopsis del producto 1.3 Paneles HMI Basic • KTP1200 Basic: pantalla táctil de 12 pulgadas con 10 teclas configurables, resolución de 800 x 480 y 800 variables • KTP 1200 Basic DP: pantalla táctil de 12 pulgadas con 10 teclas configurables, resolución de 800 x 400 y 800 variables Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 34 Sinopsis del producto 1.3 Paneles HMI Basic Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 35: Nuevas Funciones

    Nuevas funciones La versión V4.5 ofrece las siguientes funciones nuevas: • Mejoras del S7-1200 relativas a OPC UA (Página 809): – Llamadas a método de servidor (llamadas a procedimiento remoto) – Tipos de datos estructurados y de array – Diagnóstico mejorado •...
  • Página 36 Nuevas funciones • Homologación CCC para productos S7-1200 No todos los modelos del S7-1200 pueden certificarse conforme a estas normas (Página 1245) y el estado de certificación puede cambiar sin previo aviso. Es responsabilidad del usuario determinar las certificaciones aplicables consultando las clasificaciones marcadas en el producto.
  • Página 37: Software De Programación Step 7

    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.
  • Página 38 Software de programación STEP 7 3.1 Requisitos del sistema Hardware/software Requisitos Sistemas operativos STEP 7 puede utilizarse con los siguientes sistemas operativos: • Windows 7 (64 bits): – Windows 7 Home Premium SP1 ** – Windows 7 Professional SP1 – Windows 7 Enterprise SP1 –...
  • Página 39: Diferentes Vistas Que Facilitan El Trabajo

    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 40: Compatibilidad Entre Step 7 Y S7-1200

    Software de programación STEP 7 3.3 Compatibilidad entre STEP 7 y S7-1200 configurarse. La ventana de inspección incluye fichas que permiten ver información de diagnóstico y otros mensajes. La barra de editores agiliza el trabajo y mejora la eficiencia, ya que muestra todos los editores que están abiertos.
  • Página 41: Compatibilidad Con Respecto A La Comunicación Segura

    Software de programación STEP 7 3.3 Compatibilidad entre STEP 7 y S7-1200 No es posible descargar proyectos para CPU S7-1200 V1.0, V2.0 o V3.0 en una CPU S7-1200 V4.x. Consulte el Sustitución de una CPU V3.0 por una CPU V4.x (Página 1448) tema sobre las directrices de actualización de proyectos antiguos a un proyecto que se pueda descargar.
  • Página 42 Software de programación STEP 7 3.3 Compatibilidad entre STEP 7 y S7-1200 Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 43: Montaje

    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. El S7-1200 debe montarse en una carcasa, un armario eléctrico o una sala de control. El acceso a la carcasa, el armario eléctrico o la sala de control debe limitarse a personal autorizado.
  • Página 44: Prever Espacio Suficiente Para La Refrigeración Y El Cableado

    Montaje 4.2 Corriente necesaria Prever espacio suficiente para la refrigeración y el cableado La refrigeración de los dispositivos S71200 se realiza por convección natural. Para la refrigeración correcta es preciso dejar un espacio mínimo de 25 mm por encima y por debajo de los dispositivos.
  • Página 45 Montaje 4.2 Corriente necesaria y los módulos de comunicación. En "Cálculo de la corriente necesaria" (Página 1431) encontrará más información sobre cómo determinar cuánta energía (o corriente) puede suministrar la CPU a la configuración. La CPU ofrece una alimentación de sensores de 24 V DC que suministra 24 V DC a las entradas y bobinas de relé...
  • Página 46: Procedimientos De Montaje Y Desmontaje

    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.5 05/2021, A5E02486683-AO...
  • Página 47 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 CPU 1217C...
  • Página 48: Montaje Y Desmontaje De Dispositivos S7

    Montaje 4.3 Procedimientos de montaje y desmontaje Es preciso prever una zona de disipación de 25 mm por encima y por debajo de la unidad para que el aire pueda circular libremente. Montaje y desmontaje de dispositivos S7-1200 La CPU se puede montar fácilmente en un perfil estándar o en un panel. Los clips de fijación permiten fijar el dispositivo al perfil DIN.
  • Página 49: Montaje Y Desmontaje De La Cpu

    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.
  • Página 50 Montaje 4.3 Procedimientos de montaje y desmontaje Al montar las unidades en un perfil DIN o panel deben considerarse los siguientes puntos: • Para el montaje en un raíl DIN, asegúrese de que el clip de fijación superior está en la posición enclavada (interior) y que el clip de fijación inferior está...
  • Página 51 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.
  • Página 52: Montaje Y Desmontaje De Sb, Cb O Bb

    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. 2.
  • Página 53: Instalación O Sustitución De La Batería En La Bb

    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.
  • Página 54: Instalación Y Desmontaje De Un Sm

    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 55: Montaje Y Desmontaje De Un Cm O Cp

    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 desconectados de la tensión eléctrica.
  • Página 56: Extraer Y Reinsertar El Conector Del Bloque De Terminales Del S7-1200

    Montaje 4.3 Procedimientos de montaje y desmontaje Tabla 4-9 Desmontaje de un CM o CP Tarea Procedimiento Desmonte la CPU y el CM en forma de unidad del raíl DIN o panel. 1. Asegúrese de que la CPU y todo el equipamiento S7-1200 están desconectados de la tensión eléctrica.
  • Página 57: Instalación Y Desmontaje De Un Cable De Ampliación

    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.
  • Página 58 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 59: Directrices De Cableado

    Montaje 4.4 Directrices de cableado 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.
  • Página 60: Directrices De Aislamiento Galvánico

    Montaje 4.4 Directrices de cableado motivo, se recomienda prever medidas de seguridad independientes del S7-1200 para evitar lesiones corporales y/o daños materiales. ADVERTENCIA Los dispositivos de control pueden fallar y provocar condiciones no seguras, causando a su vez reacciones inesperadas de los equipos controlados. Las reacciones inesperadas podrían producir la muerte, lesiones corporales graves y/o daños materiales.
  • Página 61: Directrices De Puesta A Tierra Del S7

    Montaje 4.4 Directrices de cableado Directrices de puesta a tierra del S7-1200 La mejor forma de poner a tierra la aplicación es garantizar que todos los conductores neutros y de masa del S7-1200 y de los equipos conectados se pongan a tierra en un mismo punto. Este punto debería conectarse directamente a la toma de tierra del sistema.
  • Página 62: Consulte También

    Montaje 4.4 Directrices de cableado planificar el cableado del sistema. En los datos técnicos (Página 1307) encontrará más información acerca de la ubicación de los puntos de aislamiento galvánico y la capacidad que ofrecen. Los circuitos con una tensión nominal AC incluyen un aislamiento de seguridad respecto de otros circuitos.
  • Página 63: Directrices Relativas A Las Cargas Inductivas

    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 64: Circuito De Supresión Típico Para Salidas De Relé O Dc Que Conmutan Cargas Inductivas Dc

    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 prever adicionalmente un diodo (A) paralelo a una carga in‐ ductiva DC. No obstante, si la aplicación requiere tiem‐ pos de desconexión más rápidos, se recomienda utili‐...
  • Página 65: Directrices Para Las Entradas Y Salidas Diferenciales

    Montaje 4.4 Directrices de cableado Carga inductiva Valores de supresión 1000 1500 Condiciones que cumplen los valores de la tabla: Etapa de transición de desconexión máxima < 500 V Voltaje máximo del resistor < 500 V Voltaje máximo del condensador < 1250 V Intensidad de supresión <...
  • Página 66 Montaje 4.4 Directrices de cableado Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 67: Principios Básicos Del Plc

    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.
  • Página 68: Requisitos De Seguridad Para Enchufar O Desenchufar Módulos

    Principios básicos del PLC 5.1 Ejecución del programa de usuario 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. • No está permitido enchufar o desenchufar un módulo del rack central con la alimentación conectada (en caliente).
  • Página 69 Principios básicos del PLC 5.1 Ejecución del programa de usuario proceso, evitará que la CPU tenga que actualizar estos valores de datos innecesariamente durante cada ciclo cuando no sea necesario actualizar el proceso continuamente. En el caso de E/S que se actualicen en cada ciclo, la CPU realizará las siguientes tareas durante cada ciclo: •...
  • Página 70 Principios básicos del PLC 5.1 Ejecución del programa de usuario 4. Seleccione opcionalmente un OB específico en la lista desplegable "Bloque de organización". 5. En la lista desplegable "Memoria imagen de proceso", cambie "Actualización automática" a "MIPP1", "MIPP2", "MIPP3", "MIPP4" o "Ninguna". Si selecciona "Ninguna" solo podrá leer o escribir en estas E/S utilizando instrucciones inmediatas.
  • Página 71: Estados Operativos De La Cpu

    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 72 Principios básicos del PLC 5.1 Ejecución del programa de usuario entra en el estado operativo correspondiente. Determinados errores impiden que la CPU pase al estado operativo RUN. La CPU admite las siguientes opciones de configuración: • Sin rearranque (permanecer en modo STOP) •...
  • Página 73: Procesamiento Del Arranque

    Principios básicos del PLC 5.1 Ejecución del programa de usuario insertar una instrucción STP (Página 304) en el programa para cambiar la CPU a STOP. Esta instrucción permite detener la ejecución del programa en función de la lógica. • En estado operativo STOP, la CPU procesa las órdenes de comunicación (según sea necesario) y realiza el autodiagnóstico.
  • Página 74: Procesamiento Del Ciclo En Estado Operativo Run

    Principios básicos del PLC 5.1 Ejecución del programa de usuario Todo OB de arranque incluye información de arranque que ayuda a determinar la validez de los datos remanentes y el reloj en tiempo real. Es posible programar instrucciones dentro de los OBs de arranque para examinar estos valores de arranque y realizar las acciones apropiadas.
  • Página 75: Bloques De Organización (Ob)

    Principios básicos del PLC 5.1 Ejecución del programa de usuario El sistema garantiza que el ciclo se procese dentro de un periodo denominado tiempo de ciclo máximo. De lo contrario, se generará un evento de error de tiempo. • Todo ciclo comienza con la consulta de los valores actuales de las salidas digitales y analógicas de la memoria imagen de proceso.
  • Página 76: Eventos De Ciclo

    Principios básicos del PLC 5.1 Ejecución del programa de usuario Eventos de ciclo El evento de ciclo ocurre una vez por ciclo del programa. Durante el ciclo del programa, la CPU escribe en las salidas, lee las entradas y ejecuta los OB de ciclo. El evento de ciclo es necesario y siempre está...
  • Página 77: Eventos De Alarma De Retardo

    Principios básicos del PLC 5.1 Ejecución del programa de usuario Eventos de alarma de retardo Los eventos de alarma de retardo se configuran para que ocurran cuando ha transcurrido un retardo especificado. El retardo se asigna con la instrucción SRT_DINT. Los eventos de alarma de retardo interrumpirán el ciclo con el fin de ejecutar el OB de alarma de retardo correspondiente.
  • Página 78: Ob De Alarma De Proceso

    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.
  • Página 79: Ob De Alarma De Error De Tiempo

    Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.3.6 OB de alarma de error de tiempo Si se ha configurado, el OB de alarma de error de tiempo (OB 80) se ejecuta cuando el ciclo supera el tiempo de ciclo máximo o cuando se produce un evento de error de tiempo. Si se dispara, se ejecuta e interrumpe la ejecución cíclica normal del programa o cualquier otro OB de evento.
  • Página 80: Ob De Alarma De Error De Diagnóstico

    Principios básicos del PLC 5.1 Ejecución del programa de usuario El OB de alarma de error de tiempo incluye información de arranque que permite determinar qué evento y OB han generado el error de tiempo. Puede programar instrucciones dentro del OB para examinar estos valores de arranque y realizar las acciones apropiadas.
  • Página 81 Principios básicos del PLC 5.1 Ejecución del programa de usuario Para incluir un OB de alarma de error de diagnóstico en el proyecto, debe añadir una alarma de error de diagnóstico haciendo doble clic en "Agregar nuevo bloque" en "Bloques de programa" y luego elegir "Bloque de organización"...
  • Página 82: Ob De Presencia De Módulo

    Principios básicos del PLC 5.1 Ejecución del programa de usuario Tabla 5-7 Información de arranque para el OB de alarma de error de diagnóstico Entrada Tipo de datos Descripción IOstate WORD Estado de E/S del dispositivo: • Bit 0 = 1 si la configuración es correcta, y = 0 si la configuración ya no es correcta.
  • Página 83: Ob De Fallo Del Rack O Estación

    Principios básicos del PLC 5.1 Ejecución del programa de usuario Independientemente de si ha programado este OB, la CPU cambia al estado operativo STOP cuando se cumple alguna de estas condiciones con un módulo en el rack central. Tabla 5-8 Información de arranque para el OB de presencia de módulo Entrada Tipo de datos Descripción...
  • Página 84: Eventos De Hora

    Principios básicos del PLC 5.1 Ejecución del programa de usuario 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: •...
  • Página 85: Eventos De Actualización

    Principios básicos del PLC 5.1 Ejecución del programa de usuario 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. Tabla 5-12 Información de arranque para un OB de actualización Entrada Tipo de datos Descripción...
  • Página 86: Eventos De Mc-Preservo

    Principios básicos del PLC 5.1 Ejecución del programa de usuario Eventos de MC-PreServo El OB MC-PreServo permite leer en microsegundos la información del ciclo de aplicación configurado. Tabla 5-14 Información de arranque del OB MC-PreServo Entrada Tipo de datos Descripción Initial_Call BOOL TRUE indica la primera llamada de este OB en una transición de STOP...
  • Página 87: Prioridades Y Colas De Espera Para La Ejecución De Eventos

    Principios básicos del PLC 5.1 Ejecución del programa de usuario Entrada Tipo de datos Descripción Synchronous BOOL Reservado CycleTime UDINT Visualización del ciclo de aplicación configurado para el OB MC-Servo en microsegundos 5.1.3.17 Prioridades y colas de espera para la ejecución de eventos El procesamiento de la CPU es controlado por eventos.
  • Página 88 Principios básicos del PLC 5.1 Ejecución del programa de usuario Figura 5-1 Caso 1: ejecución de OB sin interrupciones Figura 5-2 Caso 2: ejecución de OB con interrupciones 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.
  • Página 89 Principios básicos del PLC 5.1 Ejecución del programa de usuario Todo evento de la CPU tiene asignada una prioridad. Generalmente, la CPU procesa los eventos según su prioridad (primero los de mayor prioridad). La CPU procesa los eventos de igual prioridad según su orden de aparición.
  • Página 90 Principios básicos del PLC 5.1 Ejecución del programa de usuario Evento Cantidad permitida Prioridad de OB pre‐ determinada MC‑Servo 1 evento MC‑Interpolator 1 evento Los eventos de arranque y de ciclo no ocurren nunca simultáneamente, ya que el evento de arranque debe haber finalizado antes de poder iniciar el evento de ciclo.
  • Página 91: Latencia De Alarmas

    Principios básicos del PLC 5.1 Ejecución del programa de usuario Latencia de alarmas La latencia de los eventos de alarma (es decir, el tiempo que transcurre desde que la CPU notifica que ha ocurrido un evento hasta que comienza la ejecución de la primera instrucción en el OB que procesa este evento) es de aproximadamente 175 µs, siempre que un OB de ciclo de programa sea el único subprograma activo que procese el evento de alarma en el momento de su aparición.
  • Página 92: Configurar El Tiempo De Ciclo Y La Carga De Comunicación

    Principios básicos del PLC 5.1 Ejecución del programa de usuario 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 Rango para el tiempo de ciclo Tiempo de ciclo Rango (ms)
  • Página 93: Memoria De La Cpu

    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.
  • Página 94: Memoria Remanente

    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.
  • Página 95: Marcas De Sistema Y De Ciclo

    Principios básicos del PLC 5.1 Ejecución del programa de usuario 5.1.5.1 Marcas de sistema y de ciclo Los bytes de "marcas de sistema" y "marcas de ciclo" se habilitan en las propiedades de la CPU. La lógica del programa puede referenciar los distintos bits de estas funciones por sus nombres de variable.
  • Página 96 Principios básicos del PLC 5.1 Ejecución del programa de usuario Tabla 5-19 Marcas de sistema Reservado Siempre Siempre Indicador de estado de Indicador de primer ciclo diagnóstico Valor 0 • 1: Primer ciclo tras Valor 0 Valor 1 • 1: Cambiar arranque •...
  • Página 97: Búfer De Diagnóstico

    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.
  • Página 98: Reloj En Tiempo Real

    Principios básicos del PLC 5.1 Ejecución del programa de usuario • Crear una copia de seguridad de la CPU • Restaurar la configuración de la CPU 5.1.7 Reloj en tiempo real La CPU soporta un reloj en tiempo real. Un condensador de alto rendimiento suministra la energía necesaria para que el reloj pueda seguir funcionando mientras está...
  • Página 99: Almacenamiento De Datos, Áreas De Memoria, E/S Y Direccionamiento

    Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento La reacción de las salidas se configura en la "Configuración de dispositivos". Seleccione los dispositivos individuales y utilice la ficha "Propiedades" para configurar las salidas de cada dispositivo.
  • Página 100: Forzado Remanente Permanente

    Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento del proceso. Para acceder inmediatamente a la entrada o salida física es preciso añadir ":P" a la dirección (p. ej. I0.3:P, Q1.7:P o "Stop:P"). Tabla 5-21 Áreas de memoria Área de memoria Descripción...
  • Página 101: Acceder A Los Datos En Las Áreas De Memoria De La Cpu

    Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento Identificador de área Bytes del área de memoria Dirección de byte: Byte 3 Bits del byte seleccionado Separador ("byte.bit") Bit del byte (bit 4 de 8) En el ejemplo, el área de memoria y la dirección del byte (M = área de memoria de bit;...
  • Página 102 Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento Puesto que las entradas físicas reciben sus valores directamente de los aparatos de campo conectados a ellas, está prohibido escribir en estas entradas. Por tanto, los accesos I_:P son de solo lectura, a diferencia de los accesos I que pueden ser de lectura o escritura.
  • Página 103 Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento Los accesos mediante Q_:P afectan tanto la salida física como el valor correspondiente almacenado en la memoria imagen de proceso de las salidas. Tabla 5-25 Direccionamiento absoluto para memoria Q (inmediata) Q[dirección de byte].[dirección de Q1.1:P bit]:P...
  • Página 104: Configuración De Las E/S De La Cpu Y Los Módulos De E/S

    Principios básicos del PLC 5.2 Almacenamiento de datos, áreas de memoria, E/S y direccionamiento como estructuras de datos requeridas para numerosas instrucciones, p. ej. temporizadores y contadores. A los bloques de datos se puede acceder en formato de bit, byte, palabra o palabra doble.
  • Página 105: Procesamiento De Valores Analógicos

    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 106: Tipos De Datos

    Principios básicos del PLC 5.4 Tipos de datos Segmento 1 Segmento 2 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. Algunos parámetros soportan varios tipos de datos.
  • Página 107: Consulte También

    Principios básicos del PLC 5.4 Tipos de datos • Real en coma flotante (Página 109): Real (valor en coma flotante o real de 32 bits), LReal (valor en coma flotante o real de 64 bits) • Fecha y hora (Página 109): Time (valor de temporizador CEI de 32 bits), Date (valor de fecha de 16 bits), TOD (valor de hora de 32 bits), DTL (estructura de fecha y hora de 12 bytes) •...
  • Página 108: Tipos De Datos De Entero

    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 Word Binario 2#0 a 2#1111_1111_1111_1111 2#1101_0010_1001_011 MW10 DB1.DBW2 Nombre_de_va‐ Entero sin signo 0 a 65535 61680 riable Entero con signo...
  • Página 109: Tipos De Datos De Real En Coma Flotante

    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. Los números en coma flotante de precisión simple tienen una exactitud de hasta 6 dígitos significativos, en tanto que los de precisión doble tienen una exactitud de hasta 15 dígitos significativos.
  • Página 110 Principios básicos del PLC 5.4 Tipos de datos Tipo de da‐ Tama‐ Rango Ejemplos de entrada de cons‐ ño tantes Hora 32 bits TOD#0:0:0.0 a TOD#23:59:59.999 TOD#10:20:30.400 TIME_OF_DAY#10:20:30.400 23:10:1 Mín.: DTL#1970-01-01-00:00:00.0 DTL#2008-12-16-20:30:20.25 (fecha y hora bytes Máx.: DTL#2262-04-11:23:47:16.854 775 en formato largo) Time El dato TIME se guarda como entero doble con signo y se interpreta como milisegundos.
  • Página 111 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.
  • Página 112: Tipos De Datos Carácter Y Cadena

    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 da‐ Tamaño Rango Ejemplos de entrada de constantes Char 8 bits 16#00 a 16#FF 'A', 't', '@', 'ä', '∑' WChar 16 bits 16#0000 a 16#FFFF...
  • Página 113 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.
  • Página 114: Tipo De Datos Array

    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.
  • Página 115: Tipo De Datos Estructura De Datos

    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.
  • Página 116: Tipo De Datos De Puntero Variant

    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. El puntero Variant no ocupa ningún espacio en la memoria.
  • Página 117: Acceso A Una Variable Con Una Superposición De At

    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 118 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. Una matriz de booleanos es una superposición para la variable de byte B1: Otro ejemplo es una variable DWord superpuesta con un Struct. Struct 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 119: Utilizar Una Memory Card

    Principios básicos del PLC 5.5 Utilizar una Memory Card Reglas • La superposición de variables es posible en bloques FB y FC con acceso estándar (no optimizado). • En bloques FB y FC optimizados, la superposición de variables es posible para cualquier variable remanente.
  • Página 120: Insertar Una Memory Card En La Cpu

    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 121: Comportamiento De La Cpu Cuando Se Inserta Una Memory Card

    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á la Memory Card la próxima vez que la CPU conmute al estado operativo RUN, se realice un borrado total de la CPU (MRES) o se desconecte y vuelva a conectar la alimentación de la CPU.
  • Página 122: Forma En Que La Cpu Revisa La Memory Card

    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 167), la CPU determina el tipo de Memory Card que se ha insertado: •...
  • Página 123: Utilizar La Memory Card Como Tarjeta De "Transferencia

    Principios básicos del PLC 5.5 Utilizar una Memory Card 5.5.3 Utilizar la Memory Card como tarjeta de "Transferencia" 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 124 Principios básicos del PLC 5.5 Utilizar una Memory Card 4. En el cuadro de diálogo "Memory Card", seleccione "Transferencia" en el menú desplegable "Tipo de tarjeta". A continuación, STEP 7 crea una tarjeta de transferencia vacía. Si está creando una tarjeta de transferencia vacía p.
  • Página 125: Utilizar La Memory Card Como Tarjeta De "Programa

    Principios básicos del PLC 5.5 Utilizar una Memory Card Nota No inserte tarjetas de transferencia de programa V3.0 en CPU de modelos posteriores. Las tarjetas de transferencia de programa de la versión 3.0 no son compatibles con CPU S7-1200 de modelos posteriores. Insertar una tarjeta de memoria que contiene un programa V3.0 provoca un error de CPU.
  • Página 126: Crear Una Tarjeta De Programa

    Principios básicos del PLC 5.5 Utilizar una Memory Card Asegúrese de que la SIMATIC Memory Card no está protegida contra escritura. Deslice el interruptor de protección fuera de la posición "Lock". Antes de copiar elementos de programa en la tarjeta de programa, borre todo programa almacenado previamente en la SIMATIC Memory Card.
  • Página 127 Principios básicos del PLC 5.5 Utilizar una Memory Card Recuerde siempre que es necesario configurar los parámetros de arranque de la CPU (Página 122) antes de copiar el proyecto en la tarjeta de programa. Para crear una tarjeta de programa, proceda del siguiente modo: 1.
  • Página 128: Utilizar Una Tarjeta De Programa Como Memoria De Carga Para La Cpu

    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 SIMATIC Memory Card. (Como alternativa, copie la CPU e insértela en la SIMATIC Memory Card.) Cuando la CPU se copia en la SIMATIC Memory Card se abre el cuadro de diálogo "Vista preliminar Carga".
  • Página 129: Vida Útil De Una Simatic Memory Card

    Principios básicos del PLC 5.5 Utilizar una Memory Card La tarjeta de programa debe permanecer en la CPU. Si se extrae la tarjeta de programa, la memoria de carga interna de la CPU no contendrá ningún programa. ADVERTENCIA Riesgos asociados con la extracción de una tarjeta de programa Si se extrae la tarjeta de programa, la CPU perderá...
  • Página 130: Uso De Una Simatic Memory Card Para Proteger Datos De Configuración Confidenciales Del Plc

    Principios básicos del PLC 5.5 Utilizar una Memory Card 5.5.5 Uso de una SIMATIC Memory Card para proteger datos de configuración confidenciales del PLC Puede utilizar una SIMATIC Memory Card para establecer o cambiar la contraseña para la protección de datos de configuración confidenciales del PLC. ATENCIÓN Cómo proteger la SIMATIC Memory Card y la ranura frente a descargas electrostáticas Las descargas electrostáticas pueden deteriorar la SIMATIC Memory Card o la ranura para...
  • Página 131 Principios básicos del PLC 5.5 Utilizar una Memory Card 3. Cree una carpeta en la raíz de la SIMATIC Memory Card con el nombre "SET_PWD.S7S.". 4. En la carpeta "SET_PWD.S7S", cree un archivo de texto con el nombre "PWD.TXT". El archivo debe llamarse "PWD.TXT".
  • Página 132: Actualización De Firmware

    Guarde la SIMATIC Memory Card en una caja conductiva. Utilice una SIMATIC Memory Card para descargar actualizaciones de firmware del Siemens Industry Online Support (https://support.industry.siemens.com/cs/ww/es/). Desde esta página web, navegue hasta "Descargas". Busque el tipo de módulo que necesita actualizar.
  • Página 133 Principios básicos del PLC 5.5 Utilizar una Memory Card Para descargar la actualización de firmware en la SIMATIC Memory Card, siga los siguientes pasos: 1. Enchufe una SIMATIC Memory Card vacía que no esté protegida contra escritura en el lector/ grabadora de tarjetas SD conectado/a al PC.
  • Página 134 Principios básicos del PLC 5.5 Utilizar una Memory Card 1. Inserte la SIMATIC Memory Card en la CPU. Si la CPU está en RUN, pasará al estado operativo STOP. El LED de mantenimiento (MAINT) parpadea para indicar que es necesario comprobar la SIMATIC Memory Card.
  • Página 135: Recuperación Si Se Olvida La Contraseña

    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 136 Principios básicos del PLC 5.6 Recuperación si se olvida la contraseña Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 137: Configuración De Dispositivos

    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 ②...
  • Página 138: Insertar Una Cpu

    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 7: • En la vista de portal, seleccione "Dispositivos y redes" y haga clic en "Agregar dispositivo". •...
  • Página 139: Configuración De Dispositivos Para La Cpu Insertada

    Configuración de dispositivos 6.2 Cargar la configuración de una CPU conectada Configuración de dispositivos para la CPU insertada Después de agregar una CPU, STEP 7 genera el rack y muestra la CPU en la vista de dispositivos: Al hacer clic en la CPU, en la vista del dispositivo se visualizan las propiedades de la CPU en la ventana de inspección.
  • Página 140: Detectar La Configuración Hardware De Una Cpu Sin Especificar

    Configuración de dispositivos 6.2 Cargar la configuración de una CPU conectada 3. Seleccione el PLC de entre los dispositivos detectados. 4. Desde el menú "Online" de STEP 7 seleccione el comando "Carga del dispositivo como estación nueva (hardware y software)". STEP 7 carga tanto la configuración hardware como los bloques de programa.
  • Página 141: Agregar Módulos A La Configuración

    Configuración de dispositivos 6.3 Agregar módulos a la configuración 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). Entonces pueden configurarse los parámetros de la CPU y de los módulos (Página 153).
  • Página 142: Control De Configuración

    Configuración de dispositivos 6.4 Control de configuración módulos a la configuración del dispositivo y descargar la configuración de hardware en la CPU para que estén operativos. Tabla 6-1 Adición de un módulo a la configuración del dispositivo Módulo Seleccionar el módulo Insertar el módulo Resultado SB, BB o...
  • Página 143: Configuración De La Instalación Central Y Módulos Opcionales

    (opciones) que usen 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 juego de datos de control, también denominado 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...
  • Página 144 Configuración de dispositivos 6.4 Control de configuración 4. Cree un tipo de datos PLC que contenga el juego de datos 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 dispositivos máxima en S7-1200, tal y como sigue: 5.
  • Página 145 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: –...
  • Página 146: Disposición De Los Módulos

    Configuración de dispositivos 6.4 Control de configuración Segmento 2: Nota El control de configuración no actúa hasta que la instrucción WRREC transfiere el juego de datos de control en el OB de arranque. Si se ha activado el control de configuración y la CPU no dispone del juego de datos de control, pasará...
  • Página 147 Configuración de dispositivos 6.4 Control de configuración Byte Elemento Valor Explicación Asignación de la tarjeta adjunta a la CPU Tarjeta adjunta real, 0 o 255* Elemento de control Describe en cada elemento qué slot Asignación del slot configurado 2 Slot real, 0 o 255* real del dispositivo está...
  • Página 148: Comportamiento Durante El Funcionamiento

    Configuración de dispositivos 6.4 Control de configuración • Si se activa el control de configuración, la CPU no está preparada para el funcionamiento sin un juego de datos de control. La CPU pasa del estado operativo ARRANQUE a STOP si un OB de arranque no transfiere un juego de datos de control válido.
  • Página 149: Mensajes De Error

    Configuración de dispositivos 6.4 Control de configuración Mensajes de error La CPU devuelve los mensajes de error siguientes si se produce un error durante la escritura del juego de datos de control: Código de error Significado 16#80B1 Longitud no válida; la información de longitud en el juego de datos de control no es correcta. 16#80B5 Parámetros de control de configuración no asignados 16#80E2...
  • Página 150 Configuración de dispositivos 6.4 Control de configuración Figura 6-2 Instalación real con el módulo configurado en el slot 3 ausente y el módulo configurado para el slot 4 en el slot 3 Para indicar la ausencia del módulo que falta debe configurarse el slot 3 en el registro de control con 0.
  • Página 151: Ejemplo: Instalación Real Con El Módulo Agregado Posteriormente En Un Slot Diferente

    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 152: Cambiar Un Dispositivo

    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 153: Configurar El Funcionamiento De La Cpu

    Configuración de dispositivos 6.6 Configurar el funcionamiento de la CPU Configurar el funcionamiento de la CPU 6.6.1 Vista general Para configurar los parámetros operativos de la CPU, selecciónela en la vista de dispositivos (recuadro azul alrededor de la CPU) y utilice la ficha "Propiedades" de la ventana de inspección. Tabla 6-2 Propiedades de la CPU Propiedad...
  • Página 154 Configuración de dispositivos 6.6 Configurar el funcionamiento de la CPU Propiedad Descripción Arranque (Página 71) Arranque tras POWER ON: permite configurar la reacción de la CPU a una transición de OFF a ON, p. ej. el arranque en estado operativo STOP o la transición a RUN tras un arranque en caliente Compatibilidad de hardware soportada: Configura la estrategia de sustitución para todos los componentes del sistema (SM, SB, CM, CP y CPU): •...
  • Página 155: Configuración De Tiempos De Filtro De Entradas Digitales

    Configuración de dispositivos 6.6 Configurar el funcionamiento de la CPU 6.6.2 Configuración de tiempos de filtro de entradas digitales Los filtros de entradas digitales protegen el programa para que no responda a cambios rápidos no deseados de las señales de entradas, ya que pueden producirse a causa de rebotes de contactos o ruido eléctrico.
  • Página 156: Configurar Tiempos De Filtro Para Las Entradas Digitales Utilizadas Como Hsc

    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 157 Configuración de dispositivos 6.6 Configurar el funcionamiento de la CPU Nota Dado que la función de toma de impulsos se aplica a la entrada después de pasar a través del filtro de entrada, hay que ajustar el tiempo de filtro de entrada para que el filtro no elimine el impulso.
  • Página 158: Configurar El Soporte Multilingüe

    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 843) 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 159: Correspondencia Entre El Idioma Del Proyecto Y El Idioma De La Interfaz De Usuario En El Servidor Web

    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 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.
  • Página 160: Protección Y Seguridad

    Configuración de dispositivos 6.8 Protección y seguridad Protección y seguridad 6.8.1 Uso del asistente de seguridad para establecer los ajustes de seguridad del PLC El asistente de seguridad de TIA Portal V17 o superior le ofrece un lugar central para configurar sus ajustes de seguridad PLC.
  • Página 161: Protección De Acceso Al Plc

    Configuración de dispositivos 6.8 Protección y seguridad También puede configurar el modo de comunicación PG/PC y HMI (Página 166) en los mecanismos de comunicación de la configuración de dispositivo de la CPU. Protección de acceso al PLC El asistente de seguridad también permite establecer las contraseñas de nivel de acceso (Página 163) para la CPU.
  • Página 162: Asistente De Seguridad

    Configuración de dispositivos 6.8 Protección y seguridad Asistente de seguridad También puede utilizar el asistente de seguridad (Página 160) para activar esta función y establecer la contraseña. El asistente de seguridad se inicia cuando se inserta por primera vez una CPU V4.5 o superior. También puede iniciar el asistente de seguridad desde el área Protección &...
  • Página 163: Información Adicional

    Configuración de dispositivos 6.8 Protección y seguridad Nota Responsabilidad de las CPU Si ha configurado y descargado en una CPU la protección para los datos de configuración confidenciales del PLC, elimine de forma segura la CPU cuando la ponga fuera de servicio. Si ha configurado y descargado la protección para los datos de configuración confidenciales del PLC en una CPU y más adelante descarga un proyecto en la CPU en el que la versión de firmware de la CPU en el proyecto STEP 7 sea anterior a V4.5, la CPU aún contendrá...
  • Página 164 Configuración de dispositivos 6.8 Protección y seguridad El nivel de protección de la CPU no restringe la comunicación entre PLCs (mediante instrucciones de comunicación en los bloques lógicos). Tabla 6-3 Niveles de protección de la CPU Nivel de protec‐ Restricciones de acceso ción Acceso completo Permite el acceso completo a una CPU F sin protección por contraseña.
  • Página 165: Configurar Mecanismos De Conexión

    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 848) con contraseñas seguras.
  • Página 166: Activar La Comunicación Pg/Pc Y Hmi Segura Y Crear Certificados

    Configuración de dispositivos 6.8 Protección y seguridad comunicación que requieren configuración o programación tanto para la CPU local como para el interlocutor. El acceso mediante instrucciones BSEND/BRCV es posible, por ejemplo. En consecuencia, las conexiones en las que la CPU local tan solo hace de servidor (es decir, en la CPU local no se ha configurado ni programado la comunicación con el interlocutor) no son posibles mientras la CPU está...
  • Página 167: Comunicación Legacy

    Configuración de dispositivos 6.8 Protección y seguridad Comunicación legacy Si necesita comunicarse con un dispositivo que no soporta la comunicación segura, deseleccione "Permitir solo la comunicación PG/PC y HMI segura". Esta selección permite a su PLC comunicarse utilizando o bien comunicación segura o comunicación legacy (Página 586). TIA Portal V17 y posteriores ajusta por defecto el nivel más alto de comunicación segura, pero por motivos de puesta en marcha se puede forzar al TIA Portal a que use comunicación PG/PC legacy seleccionando "Utilizar solo comunicación PG/PC legacy"...
  • Página 168: Protección Anticopia

    Configuración de dispositivos 6.8 Protección y seguridad 1. En las propiedades del bloque lógico, haga clic en el botón "Protección" para que apa‐ rezca el cuadro de diálogo "Protección de know-how". 2. Haga clic en el botón "Definir" para intro‐ ducir la contraseña.
  • Página 169: Configurar Los Parámetros De Los Módulos

    Configuración de dispositivos 6.9 Configurar los parámetros de los módulos 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.
  • Página 170: Configurar Un Módulo De Señales (Sm) O Una Signal Board (Sb)

    Configuración de dispositivos 6.9 Configurar los parámetros de los módulos 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 171: Configurar La Cpu Para La Comunicación

    Configuración de dispositivos 6.10 Configurar la CPU para la comunicación 6.10 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 172: Sincronización Horaria

    Configuración de dispositivos 6.11 Sincronización horaria 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 co‐ nexiones "local/interlocutor". La figura muestra las "Propiedades de conexión" de la ficha "Configuración"...
  • Página 173: Ajustar El Reloj En Tiempo Real

    S7-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 174 Configuración de dispositivos 6.11 Sincronización horaria advertencia si se ha configurado más de un reloj maestro para la sincronización horaria (p. ej. si se ha activado la sincronización horaria en más de un CP o tanto en la CPU como en un módulo). Nota La activación de la sincronización horaria en un CP hace que el CP ajuste el reloj de la CPU.
  • Página 175: Principios Básicos De Programación

    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 176: Estructurar El Programa De Usuario

    Principios básicos de programación 7.2 Estructurar el programa de usuario Pasos recomendados Tareas Determinar las estacio‐ Según los requisitos de las especificaciones funcionales, cree los siguientes dibujos de las estaciones nes de operador de operador: • Dibujo general de la ubicación de todas las estaciones de operador con respecto al proceso o máquina •...
  • Página 177: Seleccionar El Tipo De Estructura Del Programa De Usuario

    Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Seleccionar el tipo de estructura del programa de usuario Según los requisitos de la aplicación, es posible seleccionar una estructura lineal o modular para crear el programa de usuario: •...
  • Página 178: Bloque De Organización (Ob)

    Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Cuando un bloque lógico llama otro bloque lógico, la CPU ejecuta el código del programa en el bloque llamado. Una vez finalizada la ejecución del bloque llamado, la CPU reanuda la ejecución del bloque que ha efectuado la llamada.
  • Página 179: Creación De Ob Adicionales

    Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Tras finalizar el procesamiento de los OB de ciclo, la CPU vuelve a ejecutarlos inmediatamente. Esta ejecución cíclica es el tipo de procesamiento "normal" que se utiliza para los controladores lógicos programables.
  • Página 180: Configuración De Las Propiedades De Un Ob

    Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Configuración de las propiedades de un OB Las propiedades de un OB pueden modificarse. Por ejemplo, se puede configurar el número de OB o el lenguaje de programación. Nota Recuerde que se puede asignar un número de memoria imagen parcial de proceso a un OB que se corresponda con IPP0, IPP1, IPP2, IPP3 o IPP4.
  • Página 181: Bloque De Función (Fb)

    Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa 7.3.3 Bloque de función (FB) Un bloque de función (FB) es un bloque lógico que utiliza un bloque de datos instancia para sus parámetros y datos estáticos. Los FBs tienen una memoria variable ubicada en un bloque de datos (DB) o DB "instancia".
  • Página 182: Utilizar Un Solo Fb Con Dbs

    Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Utilizar un solo FB con DBs La figura siguiente muestra un OB que llama un FB tres veces, utilizando un bloque de datos diferente para cada llamada. Esta estructura permite que un FB genérico controle varios dispositivos similares (p.
  • Página 183 Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Bloques de datos de solo lectura Un DB se puede configurar de manera que sea de sólo lectura: 1. Haga clic con el botón derecho del ratón en el DB en el árbol del proyecto y seleccione "Propiedades"...
  • Página 184: Crear Bloques Lógicos Reutilizables

    Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa 7.3.5 Crear bloques lógicos reutilizables Utilice el diálogo "Agregar nuevo bloque" en "Bloques de programa" en el árbol del proyecto para crear OBs, FBs, FCs y DBs globa‐ les. Al crear un bloque lógico se selecciona el lenguaje de programación para el blo‐...
  • Página 185: Llamada Por Valor

    Principios básicos de programación 7.3 Utilizar bloques para estructurar el programa Llamada por valor Cuando el programa de usuario transfiere un parámetro a una función mediante "llamada por valor", copia el valor del parámetro real al parámetro de entrada del bloque para el tipo de interfaz IN.
  • Página 186: Efecto De Los Ajustes De Optimización En Programas De Usuario

    DB es diferente para DBs optimizados y no optimizados. 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 187: Principios Básicos De La Coherencia De Datos

    Principios básicos de programación 7.4 Principios básicos de la coherencia de datos La consecuencia de realizar la copia de la estructura para cambiar el formato es que se pierden los datos escritos por el OB de alarma. Lo mismo puede suceder cuando se escribe un valor con un HMI.
  • Página 188: Lenguaje De Programación

    Principios básicos de programación 7.5 Lenguaje de programación de los búferes para estas instrucciones en un OB de alarma, utilice una instrucción DIS_AIRT para retardar las alarmas (un OB de alarma o una alarma de comunicación de un HMI u otra CPU) hasta que se ejecute una instrucción EN_AIRT.
  • Página 189: Diagrama De Funciones (Fup)

    Principios básicos de programación 7.5 Lenguaje de programación STEP 7 no limita el número de instrucciones (filas y columnas) de un segmento KOP. Nota Todo segmento KOP debe terminar con una bobina o cuadro. Tenga en cuenta las reglas siguientes al crear segmentos KOP: •...
  • Página 190: Editor De Programas Scl

    Principios básicos de programación 7.5 Lenguaje de programación Las instrucciones de SCL emplean operadores de programación estándar, p. ej. para asignación (:=) o para funciones matemáticas (+ para la suma, - para la resta, * para la multiplicación y / para la división).
  • Página 191: Expresiones Y Operaciones De Scl

    Principios básicos de programación 7.5 Lenguaje de programación En la sección de interfaz del bloque lógico SCL se pueden declarar los tipos de parámetros siguientes: • Input, Output, InOut y Ret_Val: estos parámetros definen las variables de entrada, las variables de salida y el valor de retorno del bloque lógico. El nombre de la variable introducida en este punto se emplea de forma local durante la ejecución del bloque lógico.
  • Página 192 Principios básicos de programación 7.5 Lenguaje de programación El resultado de una expresión se puede utilizar para asignar un valor a una variable utilizada por el programa, como una condición que debe ser considerada en una instrucción de control, o como parámetros para otra instrucción SCL o para llamar un bloque lógico.
  • Página 193: Instrucciones De Control

    Principios básicos de programación 7.5 Lenguaje de programación operación de multiplicación que emplea un operando INT y un operando REAL da como resultado un valor REAL. Instrucciones de control Una instrucción de control es un tipo de expresión SCL especializada, que realiza las siguiente tareas: •...
  • Página 194 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.
  • Página 195: Direccionamiento Indexado Con Instrucciones Peek Y Poke

    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 196 Principios básicos de programación 7.5 Lenguaje de programación Escribe el valor (Byte, Word o DWord) en el POKE(area:=_in_, dbNumber:=_in_, byteOffset referenciado del bloque de datos, E/ byteOffset:=_in_, 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");...
  • Página 197: En Y Eno Para Kop, Fup Y Scl

    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.
  • Página 198: La Marca De Estado De Bloque De "Myfunction" // Se Almacena En El Bloque Local

    Principios básicos de programación 7.5 Lenguaje de programación OUT1 => #myOut, ENO => #statusFlag ); // Variable de PLC statusFlag que contiene el valor de ENO “MyFunction” ( IN1 := … IN2 := … , OUT1 => #myOut, ENO => ENO ); // La marca de estado de bloque de "MyFunction"...
  • Página 199: Cargar Los Elementos Del Programa En La Cpu

    Principios básicos de programación 7.6 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 200: Descarga Cuando La Cpu Configurada Es Diferente De La Cpu Conectada

    Principios básicos de programación 7.6 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.
  • Página 201: Cpu Con Protección De Datos De Configuración Confidenciales Del Plc

    Principios básicos de programación 7.6 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: •...
  • Página 202: Sincronizar La Cpu Online Y El Proyecto Offline

    Principios básicos de programación 7.7 Sincronizar la CPU online y el proyecto offline En contadas ocasiones, la descarga se produce pero la desconexión y conexión posterior de la CPU falla. En este caso, se mostrará un error en el búfer de diagnóstico del tipo siguiente: •...
  • Página 203: Opciones De Sincronización

    Principios básicos de programación 7.7 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.
  • Página 204: Cargar Desde La Cpu Online

    Principios básicos de programación 7.9 Depurar y comprobar el programa 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.
  • Página 205: Tablas De Observación Y Tablas De Forzado

    Principios básicos de programación 7.9 Depurar y comprobar el programa Editor Vigilar Modificar Forzado permanente Editor de programas Sí Sí Tabla de variables Sí Editor de DB Sí Vigilar con una ta‐ bla de observación Vigilar con el editor KOP. Véase el capítulo "Online y diagnóstico"...
  • Página 206: Referencia Cruzada Para Mostrar La Utilización

    Principios básicos de programación 7.9 Depurar y comprobar el programa 7.9.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. La ficha "Referencias cruzadas"...
  • Página 207: Estructura De Llamadas Para Ver La Jerarquía De Llamadas

    Principios básicos de programación 7.9 Depurar y comprobar el programa 7.9.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.
  • Página 208 Principios básicos de programación 7.9 Depurar y comprobar el programa Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 209: Instrucciones Básicas

    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 210: Cuadros Y, O Y O-Exclusiva En Fup

    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 211: Bobina De Relé Y Cuadro De Asignación

    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 "Invertir 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.
  • Página 212: Instrucciones "Activar Salida" Y "Desactivar Salida

    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.
  • Página 213: Activar Y Desactivar Mapa De Bits

    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 214: Instrucción

    Instrucciones básicas 8.1 Operaciones lógicas con bits Parámetro Tipo de datos Descripción INOUT Bool Variable de bit asignada "INOUT" Bool Corresponde al estado del bit "INOUT" La variable "INOUT" asigna la dirección de bit que se activa o desactiva. La salida opcional Q sigue el estado lógico de la dirección "INOUT".
  • Página 215 Instrucciones básicas 8.1 Operaciones lógicas con bits Descripción No disponible Activar operando con flanco de señal ascendente. KOP: El bit asignado "OUT" es TRUE (verdadero) cuando se detecta un flanco ascendente (OFF a ON) en el flujo de corriente que entra a la bo‐ bina.
  • Página 216 Instrucciones básicas 8.1 Operaciones lógicas con bits Tabla 8-16 Instrucciones R_TRIG y F_TRIG KOP / FUP Descripción "R_TRIG_DB"( Activar variable con flanco de señal ascendente. CLK:=_in_, El DB de instancia asignado se usa para almacenar el estado anterior de la Q=>...
  • Página 217: Temporizadores

    Instrucciones básicas 8.2 Temporizadores los estados indican un cambio de la entrada en el sentido deseado, se notifica un flanco activando la salida (TRUE). De lo contrario, se desactivará la salida (FALSE). Nota Las instrucciones de detección de flancos evalúan los valores de la entrada y de la marca cada vez que se ejecutan, incluyendo la primera ejecución.
  • Página 218 Instrucciones básicas 8.2 Temporizadores Cuadros KOP / FUP Bobinas Descripción El temporizador TONR pone la salida Q a ON tras un "IEC_Timer_0_DB".TONR ( IN:=_bool_in_, tiempo de retardo predeterminado. El tiempo trans‐ currido se acumula a lo largo de varios periodos de R:=_bool_in_, PT:=_time_in_, temporización hasta que la entrada R inicializa el...
  • Página 219: Ejemplo De Bobina De Temporizador

    Instrucciones básicas 8.2 Temporizadores Tabla 8-20 Efecto de los cambios de valores en los parámetros PT e IN Temporizador Cambios en los parámetros de cuadro PT e IN y en los parámetros de bobina correspondientes • Un cambio de PT no tiene efecto alguno durante el funcionamiento del temporizador. •...
  • Página 220: Manejo De Temporizadores

    Instrucciones básicas 8.2 Temporizadores Mientras el temporizador esté en marcha, el estado de DB1.MyIEC_Timer.Q=1 y el valor de Tag_Output=1. Cuando haya transcurrido el valor de Tag_Time, DB1.MyIEC_Timer.Q=0 y el valor de Tag_Output=0. 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.
  • Página 221 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.
  • Página 222: Programación De Temporizadores

    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 223 Instrucciones básicas 8.2 Temporizadores • Aunque no es común, se puede asignar la misma estructura de DB de temporizador a varias instrucciones de temporizador. En general, para evitar una interacción inesperada, debería utilizarse solo una instrucción de temporizador (TP, TON, TOF, TONR) por estructura de temporizador de DB.
  • Página 224: Asignar Un Db Global Para Guardar Los Datos De Temporizador Como Datos Remanentes

    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 225 Instrucciones básicas 8.2 Temporizadores 3. Cuando aparezca el diálogo de opciones de llamada, haga clic en el botón de multiinstancia. La opción de multiinstancia solo está disponible si la instrucción se está colocando en un FB. 4. En el diálogo de opciones de llamada, cambie el nombre del temporizador si lo desea. 5.
  • Página 226: Contadores

    Instrucciones básicas 8.3 Contadores Contadores Tabla 8-23 Instrucciones con contadores KOP / FUP Descripción Las instrucciones con contadores se utilizan para contar eventos del "IEC_Counter_0_DB".CT programa internos y eventos del proceso externos. Todo contador utiliza una estructura almacenada en un bloque de datos para conservar sus CU:=_bool_in, R:=_bool_in, datos.
  • Página 227: Manejo De Los Contadores

    Instrucciones básicas 8.3 Contadores El número de contadores que pueden utilizarse en el programa de usuario está limitado Solo por la cantidad de memoria disponible en la CPU. Los contadores utilizan la siguiente cantidad de memoria: • En los tipos de datos SInt o USInt, la instrucción de contaje utiliza 3 bytes. •...
  • Página 228 Instrucciones básicas 8.3 Contadores Tabla 8-26 Operación de CTD (contador descendente) Contador Operación El contador CTD decrementa en 1 cuando el valor del parámetro CD cambia de 0 a 1. El cronograma de CTD muestra el manejo con un valor de contaje de entero sin signo (donde PV = 3). •...
  • Página 229: Asignar Un Db Global Para Guardar Los Datos De Contador Como Datos Remanentes

    Instrucciones básicas 8.3 Contadores Si se aceptan los ajustes predeterminados del diálogo de opciones de llamada una vez insertada la instrucción de contador en el editor de programas, automáticamente se asignará un DB de instancia que no puede definirse como remanente. Para que los datos de contador puedan ser remanentes, hay que usar un DB global o un DB multiinstancia.
  • Página 230: Asignar Un Db Multiinstancia Para Guardar Los Datos De Contador Como Datos Remanentes

    Instrucciones básicas 8.3 Contadores IEC_SCounter SINT IEC_DCounter DINT IEC_UCounter UINT IEC_USCounter USINT IEC_UDCounter UDINT Asignar un DB multiinstancia para guardar los datos de contador como datos remanentes Esta opción solo funciona si el contador se coloca en un FB Esta opción depende de si las propiedades del FB especifican "Acceso optimizado al bloque" (solo permite el direccionamiento simbólico).
  • Página 231: Comparación

    Instrucciones básicas 8.4 Comparación 5. Haga clic en "Aceptar". La instrucción de contador aparece en el editor con el tipo INT para los valores predeterminado y de contaje, y la estructura IEC_COUNTER aparece en la interfaz de FB, bajo Estático. 6.
  • Página 232: In_Range (Valor Dentro Del Rango) Y Out_Range (Valor Fuera Del Rango)

    Instrucciones básicas 8.4 Comparación Tabla 8-29 Tipos de datos para los parámetros Parámetro Tipo de datos Descripción IN1, IN2 Byte, Word, DWord, SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Valores que deben compararse String, WString, Char, Char, Time, Date, TOD, DTL, Constante Tabla 8-30 Descripciones de comparaciones Tipo de relación...
  • Página 233: Ok (Comprobar Validez) Y Not_Ok (Comprobar Invalidez)

    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.
  • Página 234: Instrucciones De Comparación Con Cero

    Instrucciones básicas 8.4 Comparación Las instrucciones de comparación de tipo igualdad y desigualdad son las siguientes: • EQ_Type (comparar si el tipo de datos es IGUAL al tipo de datos de una variable) • NE_Type (comparar si el tipo de datos es DIFERENTE del tipo de datos de una variable) •...
  • Página 235: Is_Array (Consultar Si Es Un Array)

    Instrucciones básicas 8.4 Comparación Para las dos instrucciones, <Operand> debe tener el tipo de datos Variant. Tabla 8-38 Instrucciones IS_NULL (consultar si es un puntero IGUAL A CERO) NOT_NULL (consultar si es un puntero DIFERENTE DE CERO) Descripción No dispo‐ Comprueba si la variable apuntada por Variant nible en Operand es cero y, por tanto, no es un objeto.
  • Página 236: Funciones Matemáticas

    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 expre‐ La instrucción CALCULATE permite crear una función matemática que siones matemá‐ funciona con entradas (IN1, IN2, ... INn) y genera el resultado en OUT, ticas SCL están‐...
  • Página 237: Instrucciones "Sumar", "Restar", "Multiplicar" Y "Dividir

    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 238: Mod (Obtener Resto De División)

    Instrucciones básicas 8.5 Funciones matemáticas parámetro de salida (OUT). Una vez finalizada correctamente la operación, la instrucción pone ENO a 1. Tabla 8-46 Estado de ENO Descripción No hay error El resultado de la operación matemática quedaría fuera del rango numérico válido del tipo de datos seleccio‐ nado.
  • Página 239: Neg (Generar Complemento A Dos)

    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 La instrucción NEG invierte el signo aritmético del valor del parámetro IN y deposita el -(in); resultado en el parámetro OUT. En KOP y FUP: haga clic en "???"...
  • Página 240: Abs (Calcular Valor Absoluto)

    Instrucciones básicas 8.5 Funciones matemáticas Tabla 8-54 Tipos de datos para parámetros Parámetro Tipo de datos Descripción IN/OUT SInt, Int, DInt, USInt, UInt, UDInt Entrada/salida de la operación matemática Tabla 8-55 Estado de ENO Descripción Sin error El resultado está fuera del rango numérico válido del tipo de datos seleccionado. Ejemplo de SInt: INC (+127) da como resultado +128, es decir, excede el máximo de tipos de datos.
  • Página 241: Min (Determinar Mínimo) Y Max (Determinar Máximo)

    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 La instrucción MIN compara el valor de dos parámetros IN1 y IN2 y out:= MIN( in1:=_variant_in_, asigna el valor mínimo (menor) al parámetro OUT.
  • Página 242: Limit (Ajustar Valor Límite)

    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 La instrucción Limit comprueba si el valor del parámetro IN se en‐ LIMIT(MN:=_variant_in_, IN:=_variant_in_, cuentra dentro del rango de valores especificado por los parámetros MIN y MAX and if not, clamps the value at MIN or MAX.
  • Página 243 Instrucciones básicas 8.5 Funciones matemáticas • EXP: Calcular valor exponencial (e =OUT), donde la base e = 2,71828182845904523536 • EXPT: elevar a potencia (IN1 = OUT) Los parámetros IN1 y OUT de EXPT tienen siempre el mismo tipo de datos, que debe ser Real o LReal.
  • Página 244: Instrucción

    Instrucciones básicas 8.6 Transferencia Tabla 8-67 Estado de ENO Instrucción Condición Resultado (OUT) Todas No hay error Resultado válido El resultado excede el rango Real/LReal válido +INF IN es +/- NaN (no es un número) +NaN SQRT IN es negativo -NaN IN es +/- INF (infinito) o +/- NaN +/- INF o +/- NaN...
  • Página 245 Instrucciones básicas 8.6 Transferencia Tabla 8-68 Instrucciones MOVE, MOVE_BLK, UMOVE_BLK y MOVE_BLK_VARIANT KOP / FUP Descripción out1 := in; Copia un elemento de datos almacenado en una dirección indicada en una o varias direcciones di‐ ferentes. MOVE_BLK( Desplazamiento con interrupciones que copia un bloque de elementos de datos en otra dirección.
  • Página 246 Instrucciones básicas 8.6 Transferencia 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". Tabla 8-70 Tipos de datos para las instrucciones MOVE_BLK y UMOVE_BLK Parámetro...
  • Página 247 Instrucciones básicas 8.6 Transferencia Las instrucciones MOVE_BLK y UMOVE_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 MOVE_BLK. Utilice la instrucción MOVE_BLK si los datos contenidos en la dirección de destino del desplazamiento no se utilizan en un OB de alarma.
  • Página 248: Deserializar

    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).
  • Página 249: Ejemplo: Instrucción Deserializar

    Instrucciones básicas 8.6 Transferencia RET_VAL Descripción (W#16#...) 8151 Error de generación del código en el parámetro SRC_ARRAY. 8153 No hay suficiente memoria libre en el parámetro SRC_ARRAY. 8250 El tipo de datos Variant en el parámetro DEST_VARIABLE no contiene valores. 8251 Error de generación del código en el parámetro DEST_VARIABLE.
  • Página 250: Serialize

    Instrucciones básicas 8.6 Transferencia 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: 8.6.3 Serialize La instrucción "Serialize"...
  • Página 251: Ejemplo: Instrucción Serialize

    Instrucciones básicas 8.6 Transferencia Tabla 8-77 Instrucción SERIALIZE KOP / FUP Descripción ret_val := Serialize( Convierte un tipo de datos PLC (UDT) en una representación SRC_VARIABLE=>_variant_in_, DEST_ARRAY:=_variant_out_, secuencial. POS:=_dint_inout_); Tabla 8-78 Parámetros de la instrucción SERIALIZE Parámetro Tipo Tipo de datos Descripción SRC_VARIABLE Variant...
  • Página 252 Instrucciones básicas 8.6 Transferencia La instrucción "MOVE" desplaza el valor "0" al parámetro "#BufferPos". La instrucción "Serialize" serializa los datos de cliente del bloque de datos "Source" y los escribe en representación secuencial en el bloque de datos "Buffer". La instrucción guarda el número de bytes usados por la representación secuencial en el parámetro "#BufferPos".
  • Página 253: Fill_Blk (Rellenar Área) Y Ufill_Blk (Rellenar Área Sin Interrupciones)

    Instrucciones básicas 8.6 Transferencia Los dos bloques de datos para este ejemplo son los siguientes: 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 Instrucción "Rellenar área sin interrupciones": rellena un área de di‐ FILL_BLK( in:=_variant_in, recciones con copias de un elemento de datos específico...
  • Página 254: Swap (Cambiar Disposición)

    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.
  • Página 255: Lower_Bound: (Leer Límite Inferior Del Array)

    Instrucciones básicas 8.6 Transferencia Ejemplo 2 Parámetro IN = MB0 Parámetro OUT = MB4 (antes de la ejecución) (tras la ejecución) Dirección DW#16# 12345678 DWORD 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 varia‐...
  • Página 256: Upper_Bound: (Leer Límite Superior De Array)

    Instrucciones básicas 8.6 Transferencia Encontrará información adicional sobre los tipos de datos válidos en "Tipos de datos (Página 106)": 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"...
  • Página 257 Instrucciones básicas 8.6 Transferencia Parámetros La tabla siguiente muestra los parámetros de la instrucción "UPPER_BOUND: leer límite superior de ARRAY": Parámetros Declaración Tipo de datos Área de memoria Descripción Input BOOL I, Q, M, D, L Entrada de habilitación Output BOOL I, Q, M, D, L Salida de habilitación...
  • Página 258: Instrucciones De Leer / Escribir Memoria

    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 259: Instrucciones Leer Y Escribir En Formato Big Y Little Endian (Scl)

    Instrucciones básicas 8.6 Transferencia Escribe el valor (Byte, Word o DWord) en el POKE(area:=_in_, dbNumber:=_in_, byteOffset referenciado del bloque de datos, E/ byteOffset:=_in_, 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");...
  • Página 260 Instrucciones básicas 8.6 Transferencia Las cuatro instrucciones SCL para leer y escribir datos en formato Little-Endian y Big-Endian son las siguientes: • READ_LITTLE (Leer datos en formato Little-Endian) • WRITE_LITTLE (Escribir datos en formato Little-Endian) • READ_BIG (Leer datos en formato Big-Endian) •...
  • Página 261: Instrucciones Variant

    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, TOD, DATA, Datos de origen de la variable Char, WChar dest_array Array of Byte Área de memoria en la que se escri‐...
  • Página 262: Variantput (Escribir Valor En Una Variable Variant)

    Instrucciones básicas 8.6 Transferencia 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 da‐ zadores, fecha y hora, cadenas de caracteres, elementos ARRAY, tipos de datos PLC Tabla 8-93...
  • Página 263: Countofelements (Consultar Número De Elementos De Array)

    Instrucciones básicas 8.6 Transferencia Tabla 8-96 Estado de ENO Condición Resultado No hay error La instrucción ha copiado los datos de la variable SRC en la variable DST. La entrada de habilitación EN tiene el estado lógico "0" o el La instrucción no ha copiado datos.
  • Página 264: Instrucciones Legacy

    Instrucciones básicas 8.6 Transferencia 8.6.10 Instrucciones Legacy 8.6.10.1 Instrucciones FieldRead (Leer campo) y FieldWrite (Escribir campo) Nota STEP 7 V10.5 no soportaba una referencia variable como índice de matriz o matrices multidimensionales. Las instrucciones FieldRead y FieldWrite se utilizaban para proporcionar operaciones de índice de matriz variables para una matriz unidimensional.
  • Página 265: Ejemplo: Acceso A Datos Mediante Indexación De Matriz

    Instrucciones básicas 8.6 Transferencia La salida de habilitación ENO es 0 si se cumple una de las siguientes condiciones: • La entrada EN tiene el estado lógico "0" • El elemento de matriz especificado en el parámetro INDEX no está definido en la matriz referenciada en el parámetro MEMBER •...
  • Página 266: Scatter

    Instrucciones básicas 8.6 Transferencia 8.6.11 SCATTER SCATTER: Dispersión de una secuencia de bits en bits individuales La instrucción Dispersión de una secuencia de bits en bits individuales descompone una variable del tipo de datos BYTE, WORD o DWORD en bits individuales y los guarda en un ARRAY of BOOL, un STRUCT anónimo o un tipo de datos PLC exclusivamente con elementos booleanos.
  • Página 267: Ejemplo Con Un Array

    Instrucciones básicas 8.6 Transferencia Tipos de datos de la instrucción SCATTER La tabla siguiente muestra los parámetros de la instrucción: Parámetro Declaración Tipo de datos Área de memoria Descripción S7-1200 S7-1500 Input BOOL BOOL I, Q, M, D, L o cons‐ Entrada de habilita‐...
  • Página 268: Ejemplo Con Un Tipo De Datos Plc (Udt)

    Instrucciones básicas 8.6 Transferencia La tabla siguiente muestra cómo trabaja la instrucción utilizando valores de operando concretos: Parámetro Operando Tipo de datos SourceWord WORD (16 bits) DestinationUDT El operando "DestinationUDT" tiene el ti‐ po de datos PLC (UDT). Consta de 16 ele‐ mentos, por lo que es igual de grande que el WORD que debe descomponerse.
  • Página 269: Consulte También

    Instrucciones básicas 8.6 Transferencia Figura 8-2 SCATTER_Bsp_example La tabla siguiente muestra cómo trabaja la instrucción utilizando valores de operando concretos: Parámetro Operando Tipo de datos SourceWord WORD (16 bits) DestinationUDT El operando "DestinationUDT" tie‐ ne el tipo de datos PLC (UDT). Consta de 16 elementos, por lo que es igual de grande que el WORD que debe descomponerse.
  • Página 270: Scatter_Blk

    Instrucciones básicas 8.6 Transferencia 8.6.12 SCATTER_BLK SCATTER_BLK: Dispersión de elementos de un ARRAY of secuencia de bits en bits individuales La instrucción "Dispersión de elementos de un ARRAY of secuencia de bits en bits individuales" descompone uno o varios elementos de un ARRAY of BYTE, WORD o DWORD en bits individuales y los guarda en un ARRAY of BOOL, un STRUCT anónimo o un tipo de datos PLC exclusivamente con elementos booleanos.
  • Página 271 Instrucciones básicas 8.6 Transferencia Nota Si el límite inferior del ARRAY de destino no es "0", tenga en cuenta lo siguiente: Por motivos de rendimiento, el índice debe empezar siempre en un límite de BYTE, WORD o DWORD. Esto significa que el índice debe calcularse empezando por el límite inferior del ARRAY. La fórmula siguiente se usa como base de cálculo: Índices válidos = límite inferior de ARRAY + n(número de secuencias de bits) x número de bits de las secuencias de bits deseadas...
  • Página 272 Instrucciones básicas 8.6 Transferencia Tipos de datos de la instrucción SCATTER_BLK La tabla siguiente muestra los parámetros de la instrucción: Parámetro Declaración Tipo de datos Área de memo‐ Descripción S7-1200 S7-1500 Input BOOL BOOL I, Q, M, D, L o Entrada de habi‐...
  • Página 273 Instrucciones básicas 8.6 Transferencia Variable Sección Tipo de datos EnableOut Salida BOOL DestinationArrayBool ARRAY[0..95] of BOOL El ejemplo siguiente muestra cómo trabaja la instrucción: La tabla siguiente muestra cómo trabaja la instrucción utilizando valores de operando concretos: Parámetro Operando Tipo de datos SourceArrayWord[2] ARRAY[0..5] of WORD (es posible descomponer 96 bits)
  • Página 274 Instrucciones básicas 8.6 Transferencia La tabla siguiente muestra cómo trabaja la instrucción utilizando valores de operando concretos: Parámetro Operando Tipo de datos SourceArrayWord[2] ARRAY[0..5] of WORD (es posible descomponer 96 bits) COUNT_IN CounterInput = 3 UDINT3 (deben descompnerse 3 WORDs o 48 bits. Esto significa que al menos 48 bits deben estar disponibles en el ARRAY de desti‐...
  • Página 275: Gather

    Instrucciones básicas 8.6 Transferencia 8.6.13 GATHER GATHER La instrucción "Recopilación de bits individuales en una secuencia de bits" recompone los bits de un ARRAY of BOOL, un STRUCT anónimo o un tipo de datos PLC en una secuencia de bits exclusivamente con elementos booleanos.
  • Página 276 Instrucciones básicas 8.6 Transferencia Tipos de datos de la instrucción GATHER La tabla siguiente muestra los parámetros de la instrucción: Parámetro Declaración Tipo de datos Área de memo‐ Descripción S7-1200 S7-1500 Input BOOL BOOL I, Q, M, D, L o Entrada de habi‐...
  • Página 277 Instrucciones básicas 8.6 Transferencia La tabla siguiente muestra cómo trabaja la instrucción utilizando valores de operando concretos: Parámetro Operando Tipo de datos SourceArray El operando "SourceArray" es del tipo de datos ARRAY[0..15] of BOOL. Consta de 16 elementos, por lo que es igual de grande que el WORD en el que deben reagru‐...
  • Página 278: Instrucciones Básicas

    Instrucciones básicas 8.6 Transferencia La tabla siguiente muestra cómo trabaja la instrucción utilizando valores de operando concretos: Parámetro Operando Tipo de datos SourceUDT El operando "SourceUDT" tiene el tipo de datos PLC (UDT). Consta de 16 elementos, por lo que es igual de grande que el WORD en el que deben reagruparse los bits.
  • Página 279: Descripción

    Instrucciones básicas 8.6 Transferencia 8.6.14 GATHER_BLK Descripción La instrucción "Recopilación de bits individuales en varios elementos de un ARRAY of secuencia de bits" recompone los bits de un ARRAY of BOOL, un STRUCT anónimo o un tipo de datos PLC en uno o varios elementos de un ARRAY of <secuencia de bits>...
  • Página 280 Instrucciones básicas 8.6 Transferencia Nota ARRAY of BOOL multidimensional Si el ARRAY es un ARRAY of BOOL multidimensional, los bits de relleno de las dimensiones contenidas también se cuentan aunque no se hayan declarado explícitamente. Ejemplo 1: un ARRAY[1..10,0..4,1..2] of BOOL se trata como un ARRAY[1..10,0..4,1..8] of BOOL o como un ARRAY[0..399] of BOOL.
  • Página 281 Instrucciones básicas 8.6 Transferencia Tipos de datos de la instrucción GATHER_BLK La tabla siguiente muestra los parámetros de la instrucción: Parámetro Declaración Tipo de datos Área de memo‐ Descripción S7-1200 S7-1500 Input BOOL BOOL I, Q, M, D, L o Entrada de habi‐...
  • Página 282 Instrucciones básicas 8.6 Transferencia Ejemplo de un ARRAY de origen con el límite inferior "0" Cree las variables siguientes en la interfaz de bloque: Variable Sección Tipo de datos Enable Entrada BOOL SourceArrayBool ARRAY[0..95] of BOOL CounterOutput UDINT EnableOut Salida BOOL DestinationArrayWord ARRAY[0..5] of WORD...
  • Página 283 Instrucciones básicas 8.6 Transferencia Ejemplo de un ARRAY de origen con el límite inferior "-2" Cree las variables siguientes en la interfaz de bloque: Variable Sección Tipo de datos Enable Entrada BOOL SourceArrayBool ARRAY[-2..93] of BOOL CounterOutput UDINT EnableOut Salida BOOL DestinationArrayWord ARRAY[0..5] of WORD...
  • Página 284: Conversión

    Instrucciones básicas 8.7 Conversión Conversión 8.7.1 CONV (convertir valor) Tabla 8-106 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 "???"...
  • Página 285: Instrucciones De Conversión De Scl

    Instrucciones básicas 8.7 Conversión 8.7.2 Instrucciones de conversión de SCL Instrucciones de conversión de SCL Tabla 8-109 Conversión de un Bool, Byte, Word o DWord Tipo de datos Instrucción Resultado Bool El valor se transfiere al bit menos significativo del tipo de BOOL_TO_BYTE, BOOL_TO_WORD, BOOL_TO_DWORD, BOOL_TO_INT, datos de destino.
  • Página 286 Instrucciones básicas 8.7 Conversión Tabla 8-110 Conversión de un entero corto (SInt o USInt) Tipo de datos Instrucción Resultado SInt SINT_TO_BOOL 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. El valor se transfiere al byte menos significativo del tipo de SINT_TO_WORD, SINT_TO_DWORD datos de destino.
  • Página 287 Instrucciones básicas 8.7 Conversión Tabla 8-112 Conversión de un entero doble (Dint o UDInt) Tipo de datos Instrucción Resultado DInt DINT_TO_BOOL 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...
  • Página 288: Round (Redondear Número) Y Trunc (Truncar A Entero)

    Instrucciones básicas 8.7 Conversión Tipo de datos Instrucción Resultado String STRING_TO_SINT, STRING_TO_USINT, El valor está convertido. STRING_TO_INT, STRING_TO_UINT, STRING_TO_DINT, STRING_TO_UDINT, STRING_TO_REAL, STRING_TO_LREAL STRING_TO_CHAR El primer carácter de la cadena se copia en Char. 8.7.3 ROUND (redondear número) y TRUNC (truncar a entero) Tabla 8-116 Instrucciones ROUND y TRUNC KOP / FUP...
  • Página 289: Ceil Y Floor (Redondear Un Número En Coma Flotante Al Siguiente Entero Superior O Inferior)

    Instrucciones básicas 8.7 Conversión 8.7.4 CEIL y FLOOR (redondear un número en coma flotante al siguiente entero superior o inferior) Tabla 8-119 Instrucciones CEIL y FLOOR KOP / FUP Descripción out := CEIL(in); Convierte un número real (Real o LReal) en el siguiente entero mayor o igual a ese número real (IEEE - redondear hacia el infi‐...
  • Página 290: Scale_X (Escalar) Y Norm_X (Normalizar)

    Instrucciones básicas 8.7 Conversión 8.7.5 SCALE_X (escalar) y NORM_X (normalizar) Tabla 8-122 Instrucciones SCALE_X y NORM_X KOP / FUP Descripción Escala el parámetro VALUE real normalizado (don‐ out :=SCALE_X(min:=_in_, value:=_in_, de 0,0 <= VALUE <= 1,0) al tipo de datos y rango de valores especificados por los parámetros MIN y max:=_in_);...
  • Página 291: Ejemplo (Kop): Normalización Y Escalado De Un Valor De Entrada Analógica

    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 292: Ejemplo (Kop): Normalización Y Escalado De Un Valor De Salida Analógico

    Instrucciones básicas 8.7 Conversión Recuerde que si la entrada analógica provenía de un módulo de señales analógicas o una Signal Board con tensión, el valor MIN para la instrucción NORM_X sería -27648 en lugar de 0. Ejemplo (KOP): Normalización y escalado de un valor de salida analógico Una salida analógica de un módulo de señales analógicas o Signal Board que utiliza una salida de intensidad debe estar en el rango de valores válidos entre 0 y 27648.
  • Página 293: Instrucciones De Conversión Variant

    Instrucciones básicas 8.7 Conversió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" se utiliza para leer el operando del parámetro IN y convertirlo en el tipo de datos DB_ANY. El parámetro IN es del tipo de datos Variant y representa un bloque de datos de instancia o un bloque de datos ARRAY.
  • Página 294: Db_Any_To_Variant (Convertir Db_Any En Variant)

    Instrucciones básicas 8.7 Conversión Descripción (W#16#...) 8132 El bloque de datos es demasiado corto y no es un bloque de datos Array (segundo acceso). 8134 El bloque de datos está protegido contra escritura 8150 El tipo de datos Variant en el parámetro IN presenta el valor "0". Para recibir este mensaje de error, la propiedad del bloque "Tratamiento local de errores en el bloque"...
  • Página 295: Control Del Programa

    Instrucciones básicas 8.8 Control del programa Tabla 8-132 Códigos de salida de error para la instrucción DB_ANY_TO_VARIANT Descripción (W#16#...) 0000 No hay error 8130 El número del bloque de datos es 0. 8131 El bloque de datos no existe o es demasiado corto. 8132 El bloque de datos es demasiado corto y no es un bloque de datos Array.
  • Página 296: Jmp_List (Definir Lista De Saltos)

    Instrucciones básicas 8.8 Control del programa • Cada etiqueta debe ser única dentro de un bloque lógico. • Se puede saltar dentro de un bloque lógico, pero no se puede saltar de un bloque lógico a otro. • Se puede saltar hacia delante o hacia atrás. •...
  • Página 297: Switch (Distribuidor De Saltos)

    Instrucciones básicas 8.8 Control del programa 8.8.3 SWITCH (distribuidor de saltos) Tabla 8-137 Instrucción SWITCH KOP / FUP Descripción La instrucción SWITCH actúa como un distribuidor de salto de pro‐ No disponible grama para controlar la ejecución de secciones de un programa. Dependiendo del resultado de la comparación entre el valor de la entrada K y los valores asignados a las entradas de comparación específicas, se produce un salto a la etiqueta del programa que co‐...
  • Página 298: Agregar Y Borrar Entradas Y Especificar Tipos De Comparación

    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.
  • Página 299: Ret (Retroceder)

    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á...
  • Página 300: Endis_Pw (Limitar Y Habilitar Legitimación De La Contraseña)

    Instrucciones básicas 8.8 Control del programa 8.8.5 ENDIS_PW (limitar y habilitar legitimación de la contraseña) Tabla 8-142 Instrucción ENDIS_PW KOP / FUP Descripción La instrucción ENDIS_PW puede permitir o no ENDIS_PW( req:=_bool_in_, permitir las conexiones de cliente a una CPU S7-1200, aunque el cliente disponga de la f_pwd:=_bool_in_, full_pwd:=_bool_in_,...
  • Página 301 Instrucciones básicas 8.8 Control del programa estándar (que no tenga configurada la contraseña de seguridad) F_PWD debe estar siempre puesto a 1 para que el valor de retorno sea 0. En este caso, F_PWD_ON siempre es 1. Nota • La ejecución de ENDIS_PW puede bloquear el acceso de los dispositivos HMI, si no se permite la contraseña para HMI.
  • Página 302 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 (Página 163) protegidos por contraseña e ID de usuario de servidor web (Página 848) con contraseñas seguras.
  • Página 303: Re_Trigr (Reiniciar Tiempo De Vigilancia Del Ciclo)

    Instrucciones básicas 8.8 Control del programa 8.8.6 RE_TRIGR (reiniciar tiempo de vigilancia del ciclo) Tabla 8-145 Instrucción RE_TRIGR KOP / FUP Descripción La instrucción RE_TRIGR (Reiniciar la vigilancia del tiempo de ciclo) sirve para pro‐ RE_TRIGR(); longar el tiempo máximo permitido antes de que el temporizador de vigilancia del ciclo genere un error.
  • Página 304: Stp (Finalizar Programa)

    Instrucciones básicas 8.8 Control del programa 8.8.7 STP (finalizar programa) Tabla 8-147 Instrucción STP KOP / FUP Descripción STP pone la CPU en estado STOP. Cuando la CPU está en STOP, se detienen la STP(); ejecución del programa de usuario y las actualizaciones físicas desde la me‐ moria imagen de proceso.
  • Página 305 Instrucciones básicas 8.8 Control del programa Componentes de la estructura Tipo de datos Descripción REACTION Byte Respuesta predeterminada: • 0: Ignorar (error de escritura), • 1: Continuar con el valor de sustitución "0" (error de lectura), • 2: Omitir instrucción (error de sistema) CODE_ADDRESS CREF Información sobre la dirección y el tipo de bloque...
  • Página 306 Instrucciones básicas 8.8 Control del programa GET_ERROR_ID Tabla 8-151 Instrucción GetErrorID KOP / FUP Descripción Indica que ha ocurrido un error de ejecución de bloque de programa y noti‐ GET_ERR_ID(); fica la ID (identificación) del error. Tabla 8-152 Tipos de datos para los parámetros Parámetro Tipo de datos Descripción...
  • Página 307: Operació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. En este caso, la CPU no registra un error en el búfer de diagnóstico.
  • Página 308: Ejemplo: Instrucción Runtime

    Instrucciones básicas 8.8 Control del programa y la salida RET_VAL devuelve el tiempo de ejecución del programa después de la segunda llamada. El tiempo de ejecución medido incluye todos los procesos de la CPU que pueden ocurrir durante la ejecución del programa, por ejemplo interrupciones causadas eventos de alto nivel o comunicaciones.
  • Página 309: Instrucciones De Control Del Programa De Scl

    Instrucciones básicas 8.8 Control del programa Segmento 3: Cuando el operando "Tag_1" del segmento 1 tiene el estado lógico "1", se ejecuta la instrucción RUNTIME. El punto de inicio para la medición del tiempo de ejecución se define con la primera llamada de la instrucción y se respalda como referencia para la segunda llamada de la instrucción en el operando "Mem".
  • Página 310: Instrucción If-Then

    Instrucciones básicas 8.8 Control del programa Instrucción de control del programa Descripción Bucle Instrucción FOR (Pági‐ Repite una secuencia de instrucciones mientras la variable de control per‐ na 312) manezca dentro del rango de valores especificado Instrucción WHILE-DO (Pá‐ Repite una secuencia de instrucciones mientras se siga cumpliendo una gina 313) condición de ejecución Instrucción REPEAT-UNTIL...
  • Página 311: Instrucción Case

    Instrucciones básicas 8.8 Control del programa Variables Descripción "instrucción_N" Opcional. Una o más instrucciones deben ejecutarse si "condición-n" de la instrucción ELSIF es TRUE. "instrucción_X" Opcional. Una o más instrucciones deben ejecutarse si "condición" de la instrucción IF-THEN es TRUE. Las instrucciones IF se ejecutan de acuerdo con las siguientes normas: •...
  • Página 312: Instrucción For

    Instrucciones básicas 8.8 Control del programa La instrucción CASE se ejecuta de acuerdo con las siguientes normas: • La expresión Test_value debe devolver un valor del tipo Int. • Si se procesa una instrucción CASE, el programa comprueba si el valor de la expresión de Test_value está...
  • Página 313: Instrucción While-Do

    Instrucciones básicas 8.8 Control del programa Parámetro Descripción "fin" Requerida. Expresión simple que determina el valor final de las variables de control "Incremento" Opcional. Cantidad con la que una "variable de control" incrementa después de cada bucle. El "incremento" debe tener el mismo tipo de datos que la "variable de control". Si el valor de "incremento"...
  • Página 314: Instrucción Repeat-Until

    Instrucciones básicas 8.8 Control del programa Nota La instrucción WHILE evalúa el estado de "condición" antes de ejecutar cualquier instrucción. Para ejecutar las instrucciones como mínimo una vez independientemente del estado de "condición" utilice la instrucción REPEAT (Página 314). La instrucción WHILE se ejecuta de acuerdo con las siguientes normas: •...
  • Página 315: Instrucción Continue

    Instrucciones básicas 8.8 Control del programa Utilice la Instrucción CONTINUE (Página 315) para omitir las siguientes instrucciones de un bucle REPEAT y continuar con la comprobación de si se cumple o no la condición de fin. 8.8.10.7 Instrucción CONTINUE Tabla 8-167 Instrucción CONTINUE Descripción CONTINUE...
  • Página 316: Instrucción Goto

    Instrucciones básicas 8.8 Control del programa Utilice la instrucción EXIT dentro de un bucle. En bucles anidados, la instrucción EXIT devuelve el procesamiento al siguiente nivel de anidamiento superior. Ejemplo: instrucción EXIT FOR i := 0 TO 10 DO CASE valor[i, 0] OF 1..10: valor [i, 1]:="A";...
  • Página 317: Operaciones Lógicas Con Palabras

    Instrucciones básicas 8.9 Operaciones lógicas con palabras END_IF; Nota Una vez ejecutada la última instrucción, el bloque lógico regresa automáticamente al bloque invocante. No inserte una instrucción RETURN al final de un bloque lógico. Operaciones lógicas con palabras 8.9.1 Instrucciones de operaciones lógicas AND, OR y XOR Tabla 8-171 Instrucciones de operaciones lógicas AND, OR y XOR KOP / FUP...
  • Página 318: Inv (Complemento A 1)

    Instrucciones básicas 8.9 Operaciones lógicas con palabras 8.9.2 INV (complemento a 1) Tabla 8-173 Instrucción INV KOP / FUP Descripción Calcula el complemento binario a uno del parámetro IN. El complemento a No disponible uno se obtiene invirtiendo cada valor de bit del parámetro IN (cambiando cada 0 a 1 y cada 1 a 0).
  • Página 319: Instrucciones Sel (Seleccionar), Mux (Multiplexar) Y Demux (Desmultiplexar)

    Instrucciones básicas 8.9 Operaciones lógicas con palabras Tabla 8-176 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...
  • Página 320 Instrucciones básicas 8.9 Operaciones lógicas con palabras Tabla 8-180 Tipos de datos para la instrucción SEL Parámetro Tipo de datos Descripción Bool • 0 selecciona IN0 • 1 selecciona IN1 IN0, IN1 SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Time, Entradas Date, TOD, Char, WChar SInt, Int, DInt, USInt, UInt, UDInt, Real, LReal, Byte, Word, DWord, Time,...
  • Página 321 Instrucciones básicas 8.9 Operaciones lógicas con palabras Tabla 8-183 Instrucción DEMUX (desmultiplexar) KOP / FUP Descripción DEMUX( DEMUX copia el valor del punto asignado al parámetro IN en una o varias salidas. El valor del parámetro K selecciona la salida asignada como k:=_unit_in, in:=variant_in, destino del valor IN.
  • Página 322: Desplazamiento Y Rotación

    Instrucciones básicas 8.10 Desplazamiento y rotación Tabla 8-185 Estado de ENO para las instrucciones MUX y DEMUX Condición Resultado de OUT No hay error MUX: el valor de IN seleccionado se copia en OUT DEMUX: el valor de IN se copia en el pará‐ metro OUT seleccionado MUX: K es mayor que el número de entradas -1 •...
  • Página 323: Instrucciones Ror (Rotar A La Derecha) Y Rol (Rotar A La Izquierda)

    Instrucciones básicas 8.10 Desplazamiento y rotación • Si el número de posiciones que deben desplazarse (N) excede el número de bits en el valor de destino (8 para Byte, 16 para Word, 32 para DWord), todos los valores de bit originales se desplazarán hacia fuera y se reemplazarán por ceros (cero se asigna a OUT).
  • Página 324 Instrucciones básicas 8.10 Desplazamiento y rotación Tabla 8-191 Ejemplo: ROR para datos del tipo Word (palabra) Rotar bits desde la derecha a la izquierda (N = 1) 0100 0000 0000 0001 Valor de OUT antes de la primera rotación: 0100 0000 0000 0001 Después de la primera rotación a la derecha: 1010 0000 0000 0000 Después de la segunda rotación a la derecha: 0101 0000 0000 0000 Controlador programable S7-1200...
  • Página 325: Instrucciones Avanzadas

    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 326 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 327 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 OUT se deposita el valor de diferencia como tipo de datos Time. in1:=_DTL_in, in2:=_DTL_in);...
  • Página 328: Funciones De Reloj

    (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 109) se utiliza para proporcionar valores de fecha y hora.
  • Página 329 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 como tipo de datos DTL. Este valor de tiempo refleja la zona horaria local RD_LOC_T( ajustada correctamente según el cambio de horario de verano/ invierno (si está...
  • Página 330: Estructura De Datos Timetransformationrule

    Instrucciones avanzadas 9.1 Funciones de fecha, hora y reloj • La configuración del horario estándar especifica el mes, semana, día y hora de comienzo del horario estándar. • La diferencia con respecto a la zona horaria se aplica siempre al valor de hora del sistema. La diferencia con respecto al horario de verano se aplica únicamente si el horario de verano está...
  • Página 331: Set_Timezone (Ajustar Zona Horaria)

    Instrucciones avanzadas 9.1 Funciones de fecha, hora y reloj Nombre Tipo de datos Descripción DaylightStartWeek USINT Semana de cambio a horario de verano 1 = Primera aparición del día de la semana en el mes 5 = Última aparición del día de la semana en el mes DaylightStartWeekday USINT Día de la semana del cambio a horario de verano:...
  • Página 332: Rtm (Contador De Horas De Funcionamiento)

    Instrucciones avanzadas 9.1 Funciones de fecha, hora y reloj Tabla 9-12 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción Bool REQ=1: Ejecutar función Timezone TimeTransformationRule Reglas para la transformación de la hora del sistema en hora local DONE Bool...
  • Página 333 Instrucciones avanzadas 9.1 Funciones de fecha, hora y reloj Tabla 9-14 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción UInt Número de contadores de horas de funcionamiento: (valores po‐ sibles: 0..9) MODE Byte RTM Número de modo de ejecución: •...
  • Página 334: Cadena Y Carácter

    Instrucciones avanzadas 9.2 Cadena y carácter RTM no se guardaron en la Memory Card, los valores de temporizador se perderán (en una CPU de sustitución). Nota Debe evitarse un número excesivo de llamadas del programa para operaciones de escritura en Memory Card Minimice las operaciones de escritura en Memory Card flash para ampliar la vida útil de las Memory Card.
  • Página 335: S_Move (Desplazar Cadena De Caracteres)

    Instrucciones avanzadas 9.2 Cadena y carácter Las cadenas no pueden asignarse a áreas de memoria I ni Q. Encontrará más información en: Formato del tipo de datos String (Página 112). 9.2.2 S_MOVE (desplazar cadena de caracteres) Tabla 9-16 Instrucción Desplazar cadena de caracteres KOP / FUP Descripción Copiar la cadena IN fuente en la posición OUT.
  • Página 336 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 Convierte una cadena de caracteres en el valor correspondiente o out := viceversa. La instrucción S_CONV no tiene opciones de formato de <Type>_TO_<Type>(in);...
  • Página 337 Instrucciones avanzadas 9.2 Cadena y carácter caracteres de la cadena actuales en los siguientes bytes. La cadena convertida sustituye los caracteres de la cadena OUT comenzando en el primer carácter y ajusta el byte de longitud actual de la cadena OUT. El byte de longitud máxima de la cadena OUT no se modifica. El número de caracteres que se sustituyen depende del tipo de datos del parámetro IN y del valor numérico.
  • Página 338 Instrucciones avanzadas 9.2 Cadena y carácter STRG_VAL (convertir cadena de caracteres en valor numérico) Tabla 9-22 Instrucción de conversión de cadena en valor KOP / FUP Descripción Convierte una cadena de caracteres numéricos en un nú‐ "STRG_VAL"( mero entero o en coma flotante correspondiente. in:=_string_in, format:=_word_in, p:=uint_in,...
  • Página 339 Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9-25 Valores del parámetro FORMAT FORMAT (W#16#) Formato de notación Representación del punto deci‐ 0000 (estándar) Coma fija "." 0001 "," 0002 Exponencial "." 0003 "," 0004 a FFFF Valores no válidos Reglas para la conversión de STRG_VAL: •...
  • Página 340 Instrucciones avanzadas 9.2 Cadena y carácter Esta instrucción convierte el valor que indica el parámetro IN en una cadena referenciada por el parámetro OUT. El parámetro OUT debe ser una cadena válida antes de ejecutar la conversión. La cadena convertida sustituye los caracteres de la cadena OUT, comenzando en el contaje de offset de carácter P hasta el número de caracteres que indica el parámetro SIZE.
  • Página 341: Condiciones Que Notifica Eno

    Instrucciones avanzadas 9.2 Cadena y carácter FORMAT (WORD) Carácter de signo Formato de notación Representación del punto decimal W#16#0004 "+" y "-" Coma fija "." W#16#0005 "," W#16#0006 Exponencial "." W#16#0007 "," W#16#0008 a W#16#FFFF Valores no válidos Reglas de formato de la cadena del parámetro OUT: •...
  • Página 342 Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9-30 Estado de ENO Descripción No hay error Parámetro no permitido o no válido; p. ej. acceso a un DB que no existe Cadena no permitida; la longitud máxima es 0 o 255 Cadena no permitida;...
  • Página 343 Instrucciones avanzadas 9.2 Cadena y carácter Tipo de datos Valor IN Cadena OUT LReal +9123,4567890123 xx+9,1234567890123E TRUE +3" Real -INF "xxxxxxxxxxxINF" FALSE Real +INF "xxxxxxxxxxxINF" FALSE Real "xxxxxxxxxxxNaN" FALSE Los caracteres "x" representan los caracteres de espacio que ocupan las posiciones vacías en el campo justificado a la derecha que se ha asignado para el valor convertido.
  • Página 344: Instrucciones Strg_To_Chars Y Chars_To_Strg (Convertir A/De Cadena De Caracteres Y Array Of Char)

    Instrucciones avanzadas 9.2 Cadena y carácter "Current Temp = xxxxxxxxxx C" , donde el carácter "x" representa caracteres de espacio asignados al valor convertido. Tabla 9-34 Ejemplo: conversión de VAL_STRG Tipo de da‐ Valor IN SIZE FORMAT PREC Cadena OUT (W#16#..) UInt 0000...
  • Página 345 Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9-35 Instrucción Strg_TO_Chars KOP / FUP Descripción Strg_TO_Chars( La cadena de entrada completa Strg se copia en una matriz de caracteres en el parámetro IN_OUT Chars. Strg:=_string_in_, pChars:=_dint_in_, La operación sobrescribe los bytes que empiezan por el nú‐ Cnt=>_uint_out_, mero de elemento especificado por el parámetro pChars.
  • Página 346: Instrucciones Ath Y Hta (Convertir A/De Cadena De Caracteres Ascii Y Número Hexadecimal)

    Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9-38 Tipos de datos para los parámetros (Chars_TO_Strg) Parámetro y tipo Tipo de datos Descripción Chars Variante El parámetro Chars es un puntero hacia una matriz basada en cero [0..n] de caracteres que deben convertirse en una cadena. La matriz puede declararse en un DB o como variables locales en la interfaz del bloque.
  • Página 347 Instrucciones avanzadas 9.2 Cadena y carácter Tipo de parámetro Tipo de datos Descripción RET_VAL Word Código de condición de ejecución Variante Puntero a la matriz de byte hexadecimal que debe convertirse La conversión comienza en la posición especificada por el parámetro IN y continúa durante N bytes.
  • Página 348: Instrucciones Con Cadenas

    Instrucciones avanzadas 9.2 Cadena y carácter Cada nibble del byte hexadecimal se convierte en un carácter en el mismo orden en que se lee (el nibble situado más a la izquierda de un dígito hexadecimal se convierte primero, seguido por el nibble situado más a la derecha del mismo byte).
  • Página 349: Max_Len (Longitud Máxima De Una Cadena De Caracteres)

    Instrucciones avanzadas 9.2 Cadena y carácter 9.2.4.1 MAX_LEN (longitud máxima de una cadena de caracteres) Tabla 9-47 Instrucción de longitud máxima KOP / FUP Descripción out := MAX_LEN (longitud máxima de cadena) proporciona el valor de longitud máxima asignado a la cadena IN en la salida OUT. Si el error se produce durante el proce‐ MAX_LEN(in);...
  • Página 350: Concat (Agrupar Cadenas De Caracteres)

    Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9-51 Estado de ENO Condición No hay condición de cadena no válida Longitud de cadena válida La longitud actual de IN excede la longitud máxima de IN La longitud actual se pone a La longitud máxima de IN no cabe centro del área de memoria asignada La longitud máxima de IN es 255 (longitud no permitida) 9.2.4.3...
  • Página 351: Instrucciones Left, Right Y Mid (Leer Los Caracteres Izquierdos, Derechos O Centrales De Una Cadena)

    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 LEFT (Leer los caracteres izquierdos de una cadena) crea una subcadena out := LEFT(in, L);...
  • Página 352: Delete (Borrar Caracteres De Una Cadena)

    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 •...
  • Página 353: Insert (Insertar Caracteres En Una Cadena)

    Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9-60 Estado de ENO Condición No se han detectado errores Caracteres válidos P es mayor que la longitud actual de IN IN se copia en OUT sin borrar carac‐ teres La cadena resultante tras borrar los caracteres excede la longitud máxima de Los caracteres de la cadena resul‐...
  • Página 354: Replace (Reemplazar Caracteres De Una Cadena)

    Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9-63 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 es menor que 0 La longitud actual se pone a 0 La cadena resultante tras la inserción excede la longitud máxima de la Los caracteres de la cadena resultante se...
  • Página 355: Find (Buscar Caracteres En Una Cadena)

    Instrucciones avanzadas 9.2 Cadena y carácter Si P es igual a uno, los primeros caracteres L de la cadena IN1 se reemplazan por caracteres de la cadena IN2. 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ágina 356: Información De Tiempo De Ejecución

    Instrucciones avanzadas 9.2 Cadena y carácter Tabla 9-69 Estado de ENO Condición No se han detectado errores Posición de carácter válida IN2 es mayor que IN1 La posición de carácter se pone a 0 La longitud actual de IN1 excede la longitud máxima de IN1 o la longitud actual de IN2 excede la longitud máxima de IN2 (cadena no válida) La longitud máxima de IN1 o IN2 no cabe dentro del área de memoria asignada...
  • Página 357: Ejemplo: Significado Del Parámetro Size

    Instrucciones avanzadas 9.2 Cadena y carácter Parámetro La tabla siguiente muestra los parámetros de la instrucción GetSymbolName: Parámetro Declaración Tipo de datos Área de me‐ Descripción moria VARIABLE Input PARAMETER Secciones de Variable de la interfaz del bloque local para la que parámetro In‐...
  • Página 358: Ejemplo: Leer Un Nombre Simbólico

    Instrucciones avanzadas 9.2 Cadena y carácter SIZE Se devuelve GetSymbolNa‐ Explicación '"M...' • Primer carácter de WSTRING:' • Los dos primeros caracteres del nombre e identificador de que se ha truncado el nombre:"... "M... • Último carácter de WSTRING:' '"MyPL...' •...
  • Página 359: Getsymbolpath (Consultar El Nombre Global Compuesto De La Alimentación Del Parámetro De Entrada)

    Instrucciones avanzadas 9.2 Cadena y carácter La instrucción GetSymbolName se ejecuta en el bloque Level1. La interconexión del parámetro de entrada inputValue del bloque Level1 se examina mediante el parámetro de entrada VARIABLE de la instrucción. De este modo, la variable symbolVALUE se lee y se emite como cadena de caracteres en el parámetro de salida OUT ("MySymNAME").
  • Página 360: Utilización

    Instrucciones avanzadas 9.2 Cadena y carácter Parámetro La tabla siguiente muestra los parámetros de la instrucción GetSymbolPath: Parámetro Declaración Tipo de datos Área de memoria Descripción VARIABLE Input PARAMETER Secciones de paráme‐ Selección de la interfaz local para la que debe tro Input, Output, leerse el nombre global de la alimentación del InOut...
  • Página 361: Ejemplo: Llamar Getsymbolpath En Varios Niveles De Llamada Del Bloque

    Instrucciones avanzadas 9.2 Cadena y carácter Ejemplo: Significado del parámetro SIZE El siguiente ejemplo ilustra el significado del parámetro SIZE. GetSymbolPath ha leído el nombre de variable siguiente desde la interfaz del bloque: "MyPLCTag" (las comillas dobles al principio y al final forman parte del nombre).
  • Página 362: Getinstancename (Leer El Nombre De La Instancia De Bloque)

    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 para leer el nombre del bloque de datos de instancia size:=_dint_in_);...
  • Página 363 Instrucciones avanzadas 9.2 Cadena y carácter Parámetro La tabla siguiente muestra los parámetros de la instrucción GetInstanceName: Parámetro Declaración Tipo de da‐ Área de memoria Descripción SIZE Input DINT I, Q, M, D, L o cons‐ Limita el número de caracteres emitidos en el parámetro tante OUT.
  • Página 364: Ejemplo: Leer El Nombre De Un Bloque De Datos De Instancia

    Instrucciones avanzadas 9.2 Cadena y carácter SIZE Se devuelve GetSymbol‐ Explicación Path '"Leve...' • Primer carácter de WSTRING:' • Los cinco primeros caracteres del nombre e identificador de que se ha truncado el nombre: "Leve... • Último carácter de WSTRING:' '"Level1_DB"' •...
  • Página 365: Getinstancepath (Consultar El Nombre Global Compuesto De La Instancia De Bloque)

    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 leer el nombre global compuesto de la instancia size:=_dint_in_);...
  • Página 366 Instrucciones avanzadas 9.2 Cadena y carácter La instrucción GetInstancePath devuelve los valores siguientes en este ejemplo, en función del valor del parámetro SIZE: SIZE Se devuelve GetInstance‐ Explicación Path '...' • Primer carácter de WSTRING:' • Identificador de que se ha truncado el nombre: ... •...
  • Página 367: Getblockname (Leer El Nombre Del Bloque)

    Instrucciones avanzadas 9.2 Cadena y carácter Nota Uso de GetInstancePath en bloques de función con instancia individual Si el bloque de función en el que se llama GetInstancePath guarda datos en su propio bloque de datos de instancia, GetInstancePath emite el nombre de la instancia individual como nombre global.
  • Página 368: Ejemplo: Leer Un Nombre De Bloque

    Instrucciones avanzadas 9.2 Cadena y carácter El siguiente ejemplo ilustra el significado del parámetro SIZE. GetBlockName ha leído el nombre de bloque siguiente: Level1_gbn (las comillas dobles al principio y al final forman parte del nombre). SIZE Se devuelve GetBlockName Explicación '...' •...
  • Página 369: E/S Distribuidas (Profinet, Profibus O As-I)

    Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) El bloque Level1_gbn ejecuta la instrucción GetBlockName. GetBlockName lee el nombre del bloque Level1_gbn y emite el nombre en forma de cadena de caracteres en el parámetro de salida RET_VAL (outputBlockName). Puesto que el parámetro SIZE es 0 (limitSIZE), la longitud de la cadena de caracteres es ilimitada.
  • Página 370: Rdrec Y Wrrec (Leer/Escribir Registro)

    Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) La instrucción D_ACT_PT (Página 380) 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 Nota: La instrucción D_ACT_DP solo puede utilizarse con dispositivos PROFINET IO.
  • Página 371 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): •...
  • Página 372 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...
  • Página 373: Getio (Leer Memoria Imagen De Proceso)

    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 389)".
  • Página 374: Setio (Transferir Memoria Imagen De Proceso)

    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.
  • Página 375: Getio_Part (Leer Área De Memoria Imagen De Proceso)

    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 389)".
  • Página 376: Setio_Part (Transferir Área De Memoria Imagen De Proceso)

    Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Parámetro Declaración Tipo de datos Descripción ERROR Bool Visualización del error: ERROR = TRUE si se produce un error cuando se lla‐ ma DPRD_DAT (Página 389) INPUTS IN_OUT Variant Área de destino de los datos leídos: Si el área de destino es mayor que LEN, la instrucción escribe en los primeros bytes LEN del área de destino.
  • Página 377: Ralrm (Recibir Alarma)

    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...
  • Página 378 Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Tabla 9-82 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción MODE Byte, USInt, SInt, Int Estado operativo F_ID HW_IO (Word) La dirección inicial lógica del componente (módulo) del cual deben reci‐ birse alarmas Nota: la ID de dispositivo puede determinarse de uno de los modos si‐...
  • Página 379 Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Nota La interfaz de la instrucción "RALRM" es idéntica al FB "RALRM" definido en la norma "PROFIBUS Guideline PROFIBUS Communication and Proxy Function Blocks according to IEC 61131-3". 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...
  • Página 380: D_Act_Dp (Activar/Desactivar Dispositivos Profinet Io)

    Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) TI_Submodule - OB: estado, actualización, Slot perfil Indicador TI_DiagnosticInterrupt - OB: Alarma de IO_State error de diagnóstico Canal MultiError TI_PlugPullModule - OB: Presencia de mó‐ Event_Class Fault_ID dulos TI_StationFailure - OB: Fallo del rack o esta‐ Event_Class Fault_ID ción...
  • Página 381: Descripción Del Funcionamiento

    Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Tabla 9-84 Instrucción D_ACT_DP KOP / FUP Descripción "D_ACT_DP_DB"( La instrucción D_ACT_DP se utiliza para desactivar y activar dispositivos PROFI‐ req:=_bool_in_, mode:=_usint_in_, NET IO configurados y determinar si ca‐ da dispositivo PROFINET IO asignado laddr:=_uint_in_, ret_val=>_int_out_, está...
  • Página 382: Desactivar Dispositivos Profinet Io

    Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) programa de usuario activa las herramientas que se necesitan actualmente y desactiva las que se necesitarán más adelante. Identificación de una tarea Si se ha empezado una tarea de desactivación o activación y se vuelve a llamar D_ACT_DP antes de que finalice la tarea, el comportamiento de la instrucción depende de si la nueva llamada incluye la misma tarea o no.
  • Página 383 Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Si, más adelante, el dispositivo PROFINET IO vuelve a estar accesible, el comportamiento del sistema será el estándar. Nota La activación de un dispositivo PROFINET IO requiere cierto tiempo. Si desea cancelar una tarea de activación en curso, inicie D_ACT_DP con el mismo valor para LADDR y MODE = 2.
  • Página 384 Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Código de Explicación error* (W#16#...) 7000 Primera llamada con REQ = 0: La tarea especificada en LADDR no está activa; BUSY tiene el valor "0". 7001 Primera llamada con REQ = 1. El programa ha disparado la tarea especificada en LADDR. BUSY tiene el valor "1".
  • Página 385: Parámetro Status Para Rdrec, Wrrec Y Ralrm

    Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Código de Explicación error* (W#16#...) Información Encontrará información sobre cómo acceder al error en la instrucción GET_ERROR_ID general del (Página 304). error * Los códigos de error en el editor de programas se pueden mostrar como valores enteros o hexadeci‐ males.
  • Página 386 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#..) Reservado, permitir Dirección inicial lógica no válida Reservado, permitir Tipo no permitido para puntero Variant Reservado, permitir El componente DP direccionado vía ID o F_ID no está con‐ figurado.
  • Página 387 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#..) Conflicto de estado El esclavo DP o módulo no está listo Acceso denegado El esclavo DP o módulo deniega el acceso. Rango no válido El esclavo DP o módulo notifica un rango no válido de un parámetro o valor.
  • Página 388 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 octavo parámetro de llamada (con "RALRM (Pá‐ gina 377)": TINFO) Nota: consulte la Ayuda online de STEP 7 para acceder di‐ rectamente a información sobre cómo interpretar los búfe‐...
  • Página 389: Otras

    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 390 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 67) para obtener más información.
  • Página 391: Códigos De Error

    Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Utilice el parámetro RECORD para definir el rango de origen de los datos que deben escribirse: • El rango de origen debe tener por lo menos la misma longitud que las salidas del módulo seleccionado.
  • Página 392: Rcvrec (Recibir Registro Con I-Device/Esclavo I)

    Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) 9.3.10.2 RCVREC (recibir registro con I-device/esclavo I) Un I-device puede recibir un registro de un controlador superior. La recepción tiene lugar en el programa de usuario con la instrucción RCVREC (recibir registro). Tabla 9-91 Instrucción RCVREC KOP / FUP...
  • Página 393: Estados Operativos

    Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) El parámetro de salida STATUS recibe la información de error después de haberse producido un error. Estados operativos El estado operativo de la instrucción RCVREC se determina con el parámetro de entrada MODE. Este paso se explica en la tabla siguiente: MODE Significado...
  • Página 394: Prvrec (Proveer Registro Con I-Device/Esclavo I)

    Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Paráme‐ Declara‐ Tipo de datos Descripción ción Bool • MODE = 0: Se ha recibido un nuevo registro • MODE = 1 o 2: El registro se ha transferido a RECORD STATUS DWord Información de error.
  • Página 395 Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Si hay una orden para proveer un registro (MODE = 0), el parámetro de salida NEW se pone a TRUE. Si se acepta la orden para proveer un registro, escriba RECORD para la respuesta positiva al controlador superior con el registro solicitado y cero para CODE1 y CODE2.
  • Página 396: Dpnrm_Dg (Leer Datos De Diagnóstico De Un Esclavo Dp)

    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áme‐ 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).
  • Página 397 Instrucciones avanzadas 9.3 E/S distribuidas (PROFINET, PROFIBUS o AS-i) Parámetro y tipo Tipo de datos Descripción RET_VAL Si se produce un error mientras la función está activa, el valor de retorno contiene un código de error. Si no se produce ningún error, la longitud real de los datos transferidos se deposita en RET_VAL.
  • Página 398: Profienergy

    Instrucciones avanzadas 9.4 PROFIenergy Código de Descripción Restricción error 8093 • Esta instrucción no está permitida para el módulo especificado en LADDR (se permiten módulos DP S7 para S7-1200). • LADDR especifica el dispositivo I/O en lugar de especificar la estación. Seleccione la estación (y no la imagen del dispositivo) en la vista "Redes"...
  • Página 399: Controlador Profienergy (Controlador Pe)

    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...
  • Página 400: Alarmas

    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 subprograma...
  • Página 401: Habilitar Eventos De Alarma De Proceso En La Configuración De Dispositivos

    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 402: Agregar Obs De Alarma De Proceso Nuevos Al Programa De Usuario

    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:".
  • Página 403: Códigos De Condición

    Instrucciones avanzadas 9.5 Alarmas seleccionado "<no conectado>" en la configuración de dispositivos bien como resultado de ejecutar una instrucción DETACH), el evento de alarma de proceso activado se ignora. Operación DETACH La instrucción DETACH se utiliza para quitar la asignación de un evento concreto o de todos los eventos de un OB en particular.
  • Página 404 Instrucciones avanzadas 9.5 Alarmas Ejemplos: parámetro de tiempo • Si el tiempo CYCLE = 100 us, el OB de alarma referenciado por OB_NR interrumpirá el programa cíclico cada 100 us. El OB de alarma se ejecuta y a continuación devuelve el control de ejecución al ciclo del programa en el punto de la interrupción.
  • Página 405: Qry_Cint (Consultar Parámetros De Alarma Cíclica)

    Instrucciones avanzadas 9.5 Alarmas RET_VAL (W#16#..) Descripción 8092 Tiempo de desfase no válido 80B2 El OB no tiene ningún evento asignado 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 Obtener los parámetros y el estado de ejecución de ret_val := QRY_CINT( ob_nr:=_int_in_,...
  • Página 406: Alarmas Horarias

    CPU. Para más información sobre seguridad y recomendaciones, consulte nuestras "Operational Guidelines for Industrial Security" (http://www.industry.siemens.com/topics/global/en/ industrial-security/Documents/operational_guidelines_industrial_security_en.pdf) en la página del Siemens Industry Online Support. Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 407: Set_Tintl (Ajustar Alarma Horaria)

    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 de alarma de programa se puede ajustar para OB_NR:=_int_in_, SDT:=_dtl_in_, una ejecución o para una ejecución recurren‐...
  • Página 408: Can_Tint (Cancelar Alarma Horaria)

    Instrucciones avanzadas 9.5 Alarmas diagnóstico" de una CPU online. Debe ajustar el mes, el día del mes y el año. STEP 7 calcula el periodo de alarma en función del reloj de fecha y hora de la CPU. Nota La primera hora del día no existe al cambiar del horario de verano al de invierno (horario de verano).
  • Página 409: Act_Tint (Activar Alarma Horaria)

    Instrucciones avanzadas 9.5 Alarmas 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_); Activa el evento de alarma de fe‐ cha y hora de inicio de un OB de alarma especificado.
  • Página 410: Alarmas De Retardo

    Instrucciones avanzadas 9.5 Alarmas Tabla 9-118 Parámetro STATUS 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á activa. El parámetro OB_NR no existe. Existe un OB con el parámetro OB_NR asignado.
  • Página 411: Funcionamiento

    Instrucciones avanzadas 9.5 Alarmas Tabla 9-121 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción OB_NR OB_DELAY Bloque de organización (OB) que debe ejecutarse tras un tiempo de re‐ tardo: Seleccione uno de los OBs de alarma de retardo creados utilizando la función "Agregar nuevo bloque"...
  • Página 412 Instrucciones avanzadas 9.5 Alarmas Agregar OBs de alarma de retardo al proyecto Los OB de alarma de retardo son los únicos que pueden asignarse a las instrucciones SRT_DINT y CAN_DINT. Un proyecto nuevo no contiene aún OBs de alarma de retardo. Es preciso agregar OB de alarma de retardo al proyecto.
  • Página 413: Instrucciones Dis_Airt Y En_Airt (Retardar/Habilitar Tratamiento De Eventos De Alarma Y Errores Asíncronos De Mayor Prioridad)

    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 retarda el procesamiento de eventos de alarma nuevos.
  • Página 414: Alarmas

    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 crear un aviso de diagnóstico de usuario que Mode:=_uint_in_, puede ser tanto entrante como saliente. Me‐ TextID:=_uint_in_, diante los avisos de diagnóstico de usuario es TextListID:=_uint_in_,...
  • Página 415: Parámetros

    Instrucciones avanzadas 9.6 Alarmas Parámetros La tabla siguiente muestra los parámetros de la instrucción "Gen_UsrMsg": Parámetro Declaración Tipo de datos Área de memoria Descripción Mode Input UInt I, Q, M, D, L o cons‐ Parámetros para seleccionar tante el estado del aviso: •...
  • Página 416: Diagnóstico (Profinet O Profibus)

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Byte Parámetro Tipo de datos Valor inicial Descripción Número del valor asocia‐ 6..7 Value[4] UINT 8..9 Value[5] UINT 10..11 Value[6] UINT 12..13 Value[7] UINT 14..15 Value[8] UINT Octavo valor asociado del aviso. Parámetro RET_VAL La tabla siguiente define los valores de salida del parámetro RET_VAL .
  • Página 417: Rd_Sinfo (Leer Información De Arranque Del Ob Actual)

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) • Instrucción DeviceStates (Página 445): Recupera los estados operativos de una unidad periférica descentralizada dentro de un subsistema de E/S. • Instrucción ModuleStates (Página 450): Recupera los estados operativos de los módulos de una unidad periférica descentralizada.
  • Página 418: Estructuras

    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 419 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 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 • Bits 4 a 7: clase de evento EV_NUM BYTE Número de evento PRIORITY BYTE Número de clase de prioridad...
  • Página 420 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 optimizada" OB_Nr UINT Número del OB (1 ...
  • Página 421 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9-135 Estructura de SI_Submodule 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 optimizada" OB_Nr UINT Número del OB (1 ...
  • Página 422 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9-138 Estructura de SI_CPURedundancyError 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 := 72 Clase de OB para "no hay información" o "información de arranque optimizada" OB_Nr UINT Número del OB (1 ...
  • Página 423 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Elemento de estructu‐ Tipo de datos Descripción Event_Class BYTE Para OB_Class = 70, 83, 85, 86 Fault_ID BYTE Para OB_Class = 70, 80, 83, 85, 86 Tabla 9-142 Estructura de SI_AccessError Elemento de estructu‐ Tipo de datos Descripción SI_Format...
  • Página 424 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Elemento de estructu‐ Tipo de datos Descripción Event_Count Para OB_Class = 30, 51, 52, 61, 65, 91, 92 Synchronous BOOL Tabla 9-145 Estructura de SI_Ipo Elemento de estructu‐ Tipo de datos Descripción SI_Format USINT •...
  • Página 425 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Elemento de estructu‐ Tipo de datos Descripción DBNr DB_ANY Para OB_Class = 121, 122 Csg_OBNr OB_ANY Para OB_Class = 121, 122 Csg_Prio USINT Para OB_Class = 121, 122 Width USINT Para OB_Class = 121, 122 Nota Si se ha creado con la propiedad de bloque "Estándar", los elementos especificados para la estructura de SI_classic tienen el mismo contenido que las variables temporales de un OB.
  • Página 426 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Ejemplo Un OB de error de tiempo (OB 80) es el último OB llamado que todavía no ha terminado de procesarse. Un OB de arranque (OB 100) es el último OB de arranque iniciado. La llamada de la instrucción para leer la información de arranque es la siguiente, siendo RD_SINFO_DB el bloque de datos que contiene variables de los SDT para tipos de OB: La tabla siguiente muestra la asignación entre los elementos de estructura del parámetro TOP_SI...
  • Página 427: Led (Leer Estado Del Led)

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) 9.7.3 LED (leer estado del LED) Tabla 9-148 Instrucción LED KOP / FUP Descripción Utilice la instrucción LED para leer el estado de los LED de la CPU (Pági‐ ret_val := LED( laddr:=_word_in_, na 1197).
  • Página 428: Get_Im_Data (Leer Datos De Identificación Y Mantenimiento)

    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 Utilice la instrucción Get_IM_Data para com‐...
  • Página 429: Get_Name (Leer El Nombre De Un Dispositivo Profinet Io)

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9-153 Códigos de condición RET_VAL (W#16#...) Descripción No hay error 8091 LADDR no existe 8092 LADDR no direcciona un objeto HW que soporta datos IM 8093 El tipo de datos del parámetro DATA no se soporta 80B1 Instrucción DATA no soportada por la CPU para este LADDR 80B2...
  • Página 430: Parámetros

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) La instrucción escribe la longitud del nombre en el parámetroLEN. Si el nombre es más largo que el área especificada en el parámetro DATA, el programa solo escribe la sección que se corresponde con la longitud máxima del área direccionada. La longitud máxima de un nombre es de 128 caracteres.
  • Página 431 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetro STATUS Código de Explicación error* (W#16#...) Sin errores 7000 Ninguna tarea en curso 7001 Primera llamada de la instrucción asíncrona Get_Name. Ejecución de la instrucción no terminada aún (BUSY = 1, DONE = 0). 7002 Llamada adicional de la instrucción asíncrona Get_Name.
  • Página 432 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 433 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) – Conecte una variable con el tipo de datos STRING de un bloque de datos en el parámetro DATA. 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[ ]").
  • Página 434 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. 4.
  • Página 435: Getstationinfo (Leer La Dirección Ip O Mac De Un Dispositivo Profinet Io)

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) – El programa escribe "10", el número de caracteres que contiene el nombre de la estación, en el parámetro LEN. 9.7.6 GetStationInfo (leer la dirección IP o MAC de un dispositivo PROFINET IO) La instrucción "GetStationInfo"...
  • Página 436 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9-155 Instrucción GetStationInfo KOP / FUP Descripción "GetStationInfo_SFB_DB"( Utilice la instrucción GetStationInfo pa‐ ra leer la dirección IP o MAC de un dis‐ REQ:=_bool_in_, LADDR:=_uint_in_, positivo PROFINET IO. La instrucción también permite leer la dirección IP o DETAIL:=_uint_in_, MODE:=_uint_in_, MAC de un dispositivo IO ubicado en...
  • Página 437 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetros La tabla siguiente muestra los parámetros de la instrucción GetStationInfo: Parámetro Declaración Tipo de datos Descripción Bool Petición de parámetro de control Activa la lectura de la información con REQ = "1". LADDR HW_DEVICE El identificador de hardware de la estación del dispositivo IO...
  • Página 438 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Byte Parámetro Tipo de datos Valor inicial Descripción 6 ... 9 InterfaceAddress ARRAY [1..4] of Dirección IP del dispositivo IO en el formato IP_V4 (por BYTE ejemplo, 192.168.3.10): • addr[1] = 192 • addr[2] = 168 •...
  • Página 439 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Código de Explicación error* (W#16#...) 7002 Llamada adicional de la instrucción asíncrona GetStationInfo. Ejecución de la instrucción no terminada aún (BUSY = 1, DONE = 0). 8080 Valor no soportado en el parámetro MODE. 8090 El identificador de hardware especificado en el parámetroLADDR no está...
  • Página 440 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) El controlador IO ejecuta la instrucción GetStationInfo y la instrucción lee la información de la dirección IP de un dispositivo IO de nivel inferior (en este ejemplo, un ET200SP): 1. Configurar un ET 200SP: –...
  • Página 441 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) – 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 442 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". Encontrará...
  • Página 443 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.
  • Página 444 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) – Cuando la entrada REQ = 1 (TRUE), el programa ejecuta la instrucción y escribe la dirección IP en el bloque de datos. El programa escribe la dirección IP "C0 A8 02 1A" (valor decimal de "192.168.2.26") en el parámetro de entrada/salida DATA.
  • Página 445: Instrucción Devicestates

    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 DeviceStates recupera los estados operativos del ret_val := DeviceStates(...
  • Página 446: Configuraciones De Ejemplo De Devicestates

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetro y tipo Tipo de datos Descripción RET_VAL Código de condición de ejecución STATE InOut Variant Búfer que recibe el estado de error de cada dispositivo: El tipo de datos seleccionado para el parámetro STATE puede ser cualquier tipo de bit (Bool, Byte, Word o DWord) o una matriz del tipo bit.
  • Página 447 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) MODE Ejemplo 1: Ejemplo 2: Ejemplo 3: Operación normal PROFIBUS Dispositivo PROFIBUS Dispositi‐ sin errores esclavo DPSlave_12 vo esclavo DPSla‐ con un único módulo ve_12 desconectado extraído 1: Configuración de disposi‐ 0x01FC_FF03 0x01FC_FF03 0x01FC_FF03 tivo activa 2: Dispositivo defectuoso...
  • Página 448: Ejemplo De Profinet

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Byte con valor Patrón de bit con valor Notas Byte 3 0xFF Bit 23 1111-1111 Bit 16 Byte 4 0x03 Bit 31 0000-0011 Bit 24 Aunque el dispositivo 12 (bit 12) tiene un error, como se muestra en MODE 2 (dispositivo defectuoso) de arriba, el dispositivo todavía funciona en la red, lo que hace que MODE 4 (el dispositivo existe) muestre el dispositivo como "dispositivo existente".
  • Página 449 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Las siguientes cuatro tablas muestran un desglose binario de los cuatro bytes de datos que se analizan: Tabla 9-163 Ejemplo 1: Sin errores: se devuelve un valor de 0xFFFF_0100 para MODE 1 (configuración de dispositivo activa).
  • Página 450: Instrucción Modulestates

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Tabla 9-166 Ejemplo 3: El dispositivo esclavo PROFINET "et200s_1" está desconectado (cable desconectado o pérdida de corriente) de la red PROFINET. Se devuelve un valor de 0xFDFF_0100 para MODE 4 (el dispositivo existe). Byte con valor Patrón de bit con valor Notas...
  • Página 451 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 determi‐ na los datos que se devolverán a la ubicación especificada para la información de STATE.
  • Página 452: Configuraciones De Ejemplo De Modulestates

    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 453 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Byte con valor Patrón de bit con valor Notas Byte 3 0x00 Bit 23 0000-0000 Bit 16 Byte 4 0x00 Bit 31 0000-0000 Bit 24 Solo el módulo 3 (bit 3) está marcado como defectuoso. Todos los demás módulos son funcionales. Tabla 9-172 Ejemplo 2 (continuación): Se ha extraído un módulo del dispositivo esclavo PROFIBUS "DPSlave_12".
  • Página 454 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) MODE Ejemplo 1: Ejemplo 2: Ejemplo 3: Operación normal PROFINET Módulo es‐ PROFINET Esclavo sin errores clavo et200s_1 extraí‐ et200s_1 desconec‐ tado 1: Configuración de módulo 0xFFFF_1F00 0xFFFF_1F00 0xFFFF_1F00 activa 2: Módulo defectuoso 0x0000_0000 0x0180_0000 0xFFFF_1F00...
  • Página 455: Get_Diag (Leer Información De Diagnóstico)

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Byte con valor Patrón de bit con valor Notas Byte 3 0x1F Bit 23 0001-1111 Bit 16 Byte 4 0x00 Bit 31 0000-0000 Bit 24 El módulo 15 (bit 15) se muestra como ausente. Los módulos de 1 a 14 (bits de 1 a 14) y de 16 a 20 (bits de 16 a 20) se muestran como existentes.
  • Página 456: Parámetros

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetros La tabla siguiente muestra los parámetros de la instrucción "GET_DIAG": Tabla 9-179 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción MODE UInt Utilice el parámetro MODE para seleccionar los datos de diagnóstico que se quieran obtener.
  • Página 457 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 Descripción...
  • Página 458 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetro Tipo de datos Valor Descripción OwnState Uint16 Enum El valor del parámetro OwnState describe el estado de mantenimiento del módulo. No hay fallos El módulo o dispositivo está deshabilitado. Mantenimiento necesario Mantenimiento solicitado Error La CPU no puede acceder al módulo o dispositivo (válido para módulos o dispositivos bajo una CPU).
  • Página 459 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetro Tipo de datos Valor Descripción OperatingState UInt16 Enum En STOP/actualización de firmware En STOP/borrado total En STOP/arranque automático En STOP Reset de memoria En ARRANQUE En RUN En PARADA 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...
  • Página 460 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetro RET_VAL Tabla 9-183 Códigos de error del parámetro RET_VAL Código de error Descripción (W#16#...) No hay error 8080 Valor no soportado en el parámetro MODE. 8081 El tipo en el parámetro DIAG no está soportado con el modo seleccionado (parámetro MODE). 8082 El tipo en el parámetro DETAILS no está...
  • Página 461 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.5 05/2021, A5E02486683-AO...
  • Página 462: Getsmcinfo (Leer Información Sobre La Memory Card)

    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: •...
  • Página 463 Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Parámetros La tabla siguiente muestra los parámetros de la instrucción "GetSMCinfo": Parámetro y tipo Tipo de datos Descripción Bool Solicitud de parámetro de control Activa la lectura de la información con REQ = "1". Mode UInt Utilice el parámetro Mode para seleccionar la información que debe...
  • Página 464: Estado Del Parámetro

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) Encontrará información adicional sobre los tipos de datos válidos en "AUTOHOTSPOT". Nota Determinar los datos I&M 0 Los datos I&M 0 de la SIMATIC Memory Card no pueden determinarse con la instrucción GetSMCinfo. Utilice para ello la instrucción "Get_IM_Data". Estado del parámetro Código de error* Explicación...
  • Página 465: Eventos De Diagnóstico De E/S Descentralizadas

    Instrucciones avanzadas 9.7 Diagnóstico (PROFINET o PROFIBUS) La instrucción "GetSMCinfo" solo se ejecuta si el parámetro de entrada REQ ("execute") devuelve el estado lógico "TRUE". El modo que debe usarse para leer la SIMATIC Memory Card está guardado en el parámetro de entrada MODE ("mode"). En el ejemplo inferior, la capacidad de la SIMATIC Memory Card se lee si el valor "mode"...
  • Página 466: Impulso

    Instrucciones avanzadas 9.8 Impulso Como muestra la tabla siguiente, la CPU soporta los diagnósticos que pueden configurarse para los componentes del sistema I/O descentralizado. Cada uno de estos errores genera una entrada en el búfer de diagnóstico. Tabla 9-185 Tratamiento de eventos de diagnóstico de PROFINET y PROFIBUS Tipo de error ¿Hay información de diag‐...
  • Página 467 Instrucciones avanzadas 9.8 Impulso Tabla 9-187 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción HW_PWM Identificador PWM: Los nombres de los generadores de impulsos habilita‐ (Word) dos se convierten en variables en la tabla de variables "Constantes" y están disponibles para ser utilizados como parámetro PWM.
  • Página 468: Ctrl_Pto (Tren De Impulsos)

    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).
  • Página 469 Instrucciones avanzadas 9.8 Impulso Determine el generador de impulsos habilitado que desea utilizar, utilizando su nombre de variable o identificador de hardware para el parámetro PTO. Cuando la entrada EN es TRUE, la instrucción CTRL_PTO inicia o detiene el PTO identificado. Cuando la entrada EN es FALSE, la instrucción CTRL_PTO no se ejecuta y el PTO mantiene su estado actual.
  • Página 470 Instrucciones avanzadas 9.8 Impulso ① El usuario cambia la frecuencia a 10 Hz al cabo de 500 ms. ② El impulso de 1 Hz debe finalizar antes de que pueda cambiarse la frecuencia al nuevo valor de 10 ③ 1 Hz equivale a 1000 ms El objeto de hardware Generador de impulsos tiene la restricción siguiente: Solo una instrucción puede utilizar el generador de impulsos como PTO y su uso es gestionado por el editor de la configuración hardware.
  • Página 471: Manejo De Las Salidas De Impulso

    Instrucciones avanzadas 9.8 Impulso Código de error (W#16#...) Descripción 0x80D0 El generador de impulsos con la ID de hardware especificada no está activado. Active el generador de impulsos en "Generadores de impulsos (PTO/PWM)" de las propiedades de la CPU. 0x80D1 El generador de impulsos con la ID de hardware especificada no tiene ningún PTO selec‐...
  • Página 472 Instrucciones avanzadas 9.8 Impulso 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. Nota Los trenes de impulsos no pueden ser utilizados por otras instrucciones dentro del programa de usuario.
  • Página 473: Configurar Un Canal De Impulso Para Pwm O Pto

    Instrucciones avanzadas 9.8 Impulso Descripción Impulso Sentido 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. La CPU 1212C no tiene las salidas Q0.6 ni Q0.7. Por lo tanto, esas salidas no pueden usarse en la CPU 1212C.
  • Página 474: Parametrización

    Instrucciones avanzadas 9.8 Impulso Tabla 9-194 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 SB Frecuencia máxima Tiempo de ciclo míni‐ mo PWM SB 1222, 200 kHz De DQe.0 a DQe.3 200 kHz 5 µs...
  • Página 475: Determinar El Valor De Duración De Impulso

    Instrucciones avanzadas 9.8 Impulso • Formato de la duración de impulso (solo aplicable a PWM): Asigne la resolución de la duración de impulso (ancho): – Centésimas (0 a 100) – Milésimos (0 a 1000) – Diezmilésimos (0 a 10000) – Formato analógico S7 (0 a 27648) •...
  • Página 476: Salidas De Hardware

    Instrucciones avanzadas 9.8 Impulso Aquí tiene dos ejemplos: • Ejemplo 1: Si se seleccionan los valores siguientes: – Base de tiempo = milisegundos (ms) – Formato de duración de impulso = centésimas (0 a 100) – Tiempo de ciclo = 3 ms –...
  • Página 477 Instrucciones avanzadas 9.8 Impulso Las direcciones predeterminadas para los valores de la duración de impulso PWM son las siguientes: • PWM1: QW1000 • PWM2: QW1002 • PWM3: QW1004 • PWM4: QW1006 Para PWM, el valor en este punto controla la duración de impulso y se inicializa al valor de "Duración de impulso inicial:"...
  • Página 478: Recetas Y Registros De Datos

    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.
  • Página 479: Importación De Recetas (Del Archivo Csv Al Db De Receta)

    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 480: En Primer Lugar, Cree Un Nuevo Tipo De Datos De Plc

    Instrucciones avanzadas 9.9 Recetas y registros de datos En primer lugar, cree un nuevo tipo de datos de PLC Añada un nuevo tipo de datos PLC cuyo nombre sea el tipo de receta. En la imagen siguiente, "Beer_Recipe" es el nuevo tipo de datos de PLC complejo que almacena una secuencia de tipos de datos simples.
  • Página 481 Instrucciones avanzadas 9.9 Recetas y registros de datos Exportación de recetas (del DB de receta al archivo CSV) La ejecución de "RecipeExport (Página 483)" transfiere los datos del DB de receta a un archivo CSV, como se muestra en el siguiente archivo de texto. Recipe_DB.csv index,productname,water,barley,wheat,hops,yeast,waterTmp, mashTmp,mashTime,QTest...
  • Página 482: Los Archivos Csv Deben Coincidir Exactamente Con La Estructura Del Db De Receta Correspondiente

    Instrucciones avanzadas 9.9 Recetas y registros de datos Los archivos CSV deben coincidir exactamente con la estructura del DB de receta correspondiente • Los valores del archivo CSV pueden cambiarse, pero no se permite cambiar la estructura. La instrucción RecipeImport requiere que el número exacto de registros y componentes coincida con la estructura del DB de la receta de destino.
  • Página 483: Instrucciones Del Programa Que Transfieren Datos De Receta

    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-195 Instrucción RecipeExport KOP / FUP Descripción La instrucción "RecipeExport" exporta todos "RecipeExport_DB"( req:=_bool_in_, los registros de receta de un bloque de datos de receta al formato de archivo CSV.
  • Página 484 Instrucciones avanzadas 9.9 Recetas y registros de datos Parámetro y tipo Tipo de datos Descripción ERROR Bool El bit ERROR es TRUE durante un ciclo tras haberse finalizado la última petición con un error. El valor del código de error en el parámetro STA‐ TUS solo es válido durante un único ciclo en que ERROR = TRUE.
  • Página 485: Recipeimport (Importación De Receta)

    Instrucciones avanzadas 9.9 Recetas y registros de datos RecipeImport (importación de receta) Tabla 9-198 Instrucción RecipeImport KOP / FUP Descripción La instrucción "RecipeImport" impor‐ "RecipeImport_DB"( ta los datos de receta de un archivo req:=_bool_in_, CSV de la memoria de carga de la CPU done=>_bool_out_, en un bloque de datos referenciado busy=>_bool_out_,...
  • Página 486 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"...
  • Página 487: Programa De Ejemplo De Receta

    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 488 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 489: Registros

    Instrucciones avanzadas 9.9 Recetas y registros de datos acceder a los valores de los componentes de la receta direccionando las ubicaciones del DB Active_Recipe. Por ejemplo, las direcciones simbólicas ("Active_Recipe".productname) y ("Active_Recipe.water) proporcionan a su lógica de programa el nombre de la receta actual y la cantidad de agua.
  • Página 490: Estructura Del Registro

    Instrucciones avanzadas 9.9 Recetas y registros de datos 9.9.2.1 Estructura del registro Los parámetros DATA y HEADER de la instrucción DataLogCreate asignan el tipo de datos y la descripción de encabezado de columna para todos los datos de un registro. Parámetro DATA para la instrucción DataLogCreate El parámetro DATA apunta a la memoria utilizada como búfer temporal para un nuevo registro y debe asignarse a una ubicación M o DB.
  • Página 491: Instrucciones De Programa Que Controlan Registros

    Instrucciones avanzadas 9.9 Recetas y registros de datos 9.9.2.2 Instrucciones de programa que controlan registros DataLogCreate (crear Data Log) Tabla 9-201 Instrucción DataLogCreate KOP / FUP Descripción Crea e inicializa un archivo de registro. La CPU crea "DataLogCreate_DB"( req:=_bool_in_, el archivo en la carpeta \DataLogs con el nombre definido en el parámetro NAME y abre implícita‐...
  • Página 492 Instrucciones avanzadas 9.9 Recetas y registros de datos Parámetro y tipo Tipo de datos Descripción NAME Variant Nombre del registro: El nombre lo especifica el usuario. Esta variante solo soporta un tipo de datos String y debe estar ubicada en un DB o una memoria local. (Valor prede‐ terminado: ' ') La referencia del string es el nombre del archivo de registro.
  • Página 493 Instrucciones avanzadas 9.9 Recetas y registros de datos Parámetro y tipo Tipo de datos Descripción ERROR Bool El bit ERROR es TRUE durante un ciclo tras haberse finali‐ zado la última orden con un error. El valor del código de error en el parámetro STATUS solo es válido durante un único ciclo en que ERROR = TRUE.
  • Página 494 Instrucciones avanzadas 9.9 Recetas y registros de datos Nota La creación del registro debe haber finalizado antes de empezar una operación de escritura de registro. • Las operaciones de creación de archivos de registro DataLogCreate y DataLogNewFile se extienden a lo largo de varios ciclos. El tiempo real requerido para la creación de un archivo de registro depende de la estructura y del número de registros.
  • Página 495 Instrucciones avanzadas 9.9 Recetas y registros de datos ERROR STATUS Descripción (W#16#..) 80C0 El archivo comprimido está bloqueado 80C1 Demasiados archivos abiertos: no se permiten más de ocho archivos de registro abiertos. 8253 Contaje de registros no válido 8353 La selección de formato no es válida 8453 La selección de sello no es válida 8B24...
  • Página 496 Instrucciones avanzadas 9.9 Recetas y registros de datos Parámetro y tipo Tipo de datos Descripción BUSY Bool • 0 - Ninguna operación en curso • 1 - Operación en curso ERROR Bool El bit ERROR es TRUE durante un ciclo tras haberse finalizado la última petición con un error.
  • Página 497 Instrucciones avanzadas 9.9 Recetas y registros de datos DataLogWrite (escribir Data Log) Tabla 9-207 Instrucción DataLogWrite KOP / FUP Descripción Escribe un registro en el registro especificado. El registro de destino previo "DataLogWrite_DB"( debe estar abierto (Página 495) antes de poder escribir en él con una req:=_bool_in_, instrucción DataLogWrite.
  • Página 498 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 499: Descripción

    Instrucciones avanzadas 9.9 Recetas y registros de datos DataLogClear (vaciar Data Log) Descripción Tabla 9-210 Instrucción DataLogClear KOP / FUP Descripción "DataLogClear_DB"( La instrucción "DataLogClear" borra todos los regis‐ tros de un archivo de registro existente. La instruc‐ REQ:=_bool_in_, DONE=>_bool_out_, ción no borra el encabezado opcional del archivo CSV (consulte la descripción del parámetro HEADER BUSY=>_bool_out_,...
  • Página 500 Instrucciones avanzadas 9.9 Recetas y registros de datos 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. Parámetro BUSY = 1, DONE = 0 7002 Llamada intermedia (REQ irrelevante): Instrucción ya activa;...
  • Página 501 Instrucciones avanzadas 9.9 Recetas y registros de datos Parámetro y tipo Tipo de datos Descripción ERROR Bool El bit ERROR es TRUE durante un ciclo tras haberse finalizado la última petición con un error. El valor del código de error en el parámetro STATUS solo es válido du‐ rante un único ciclo en que ERROR = TRUE.
  • Página 502: Parámetros Name E Id

    Instrucciones avanzadas 9.9 Recetas y registros de datos Parámetro Declaración Tipo de datos Área de memoria Descripción DONE Output BOOL I, Q, M, D, L La instrucción se ha ejecutado correctamente. BUSY Output BOOL I, Q, M, D, L El borrado del archivo de registro no ha finali‐ zado aún.
  • Página 503: Datalognewfile (Data Log En Archivo Nuevo)

    Instrucciones avanzadas 9.9 Recetas y registros de datos DataLogNewFile (Data Log en archivo nuevo) Tabla 9-215 Instrucción DataLogNewFile KOP / FUP Descripción Permite al programa crear un archivo de regis‐ "DataLogNewFile_DB"( tro nuevo basándose en otro ya existente. req:=_bool_in_, records=:_udint_in_, STEP 7 crea automáticamente el DB de instan‐...
  • Página 504 Instrucciones avanzadas 9.9 Recetas y registros de datos de registro vacío basándose en la estructura del archivo de registro lleno. El registro del encabezado se duplica a partir del registro original, junto con las propiedades de este último (búfer de registro DATA, formato de datos y configuración de sello de tiempo). El archivo de registro original se cierra implícitamente y el archivo de registro nuevo se abre también implícitamente.
  • Página 505: Trabajar Con Registros De Datos

    Instrucciones avanzadas 9.9 Recetas y registros de datos ERROR STATUS (W#16#) Descripción 80B2 ID fuera de recurso Nota: borre algunos archivos de registro existentes para generar recursos para un archivo de registro nuevo. 80B3 La memoria de carga disponible no es suficiente. 80B4 El MC está...
  • Página 506: Ver Registros De Una Memory Card Del Plc

    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.
  • Página 507: Regla De Tamaño Máximo Para Archivos De Registro De Datos (Data Log)

    Instrucciones avanzadas 9.9 Recetas y registros de datos Regla de tamaño máximo para archivos de registro de datos (Data Log) El tamaño máximo de un archivo de registro no puede superar el tamaño de la memoria de carga libre o 500 MB, lo que sea más pequeño. En este caso, el tamaño de 500 MB se refiere a la definición decimal de megabytes, de modo que el tamaño máximo de un archivo de registro es de 500.000.000 bytes o 500 x 1000 bytes.
  • Página 508 Instrucciones avanzadas 9.9 Recetas y registros de datos Bytes de caracteres de encabezado • Sin encabezado de datos ni sellos de tiempo = 7 bytes • Sin encabezado de datos ni sellos de tiempo (tiene un encabezado de sello de tiempo) = 21 bytes •...
  • Página 509: Programa De Ejemplo De Registros De Datos

    Instrucciones avanzadas 9.9 Recetas y registros de datos UDInt SInt DInt Real LReal Tiempo 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 •...
  • Página 510: Ejemplo De Programa De 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 511 Instrucciones avanzadas 9.9 Recetas y registros de datos Segmento 5 El estado de la entrada EN se toma como base cuando la operación DataLogCreate ha finalizado. Una operación de creación dura muchos ciclos y debe completarse antes de ejecutar una operación de escritura. La señal de flanco ascendente en la entrada REQ es el evento que dispara una operación de escritura habilitada.
  • Página 512 Instrucciones avanzadas 9.9 Recetas y registros de datos DataLogNewFile, se escribe un valor ID unívoco para el nuevo registro en la ubicación de referencia de la ID. No se muestra la obtención necesaria del bit DONE = TRUE; consulte los segmentos 1, 2 y 4 para ver un ejemplo de la lógica del bit DONE.
  • Página 513 Instrucciones avanzadas 9.9 Recetas y registros de datos Tabla 9-219 Ejemplos de archivos .csv descargados vistos con Excel Dos registros escritos en un archivo de cin‐ co 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á...
  • Página 514: Control De Bloques De Datos

    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-220 Instrucción CREATE_DB KOP / FUP Descripción ret_val := CREATE_DB( Utilice la instrucción "CREATE_DB" para crear un bloque de datos nuevo en la memoria de carga y/o REQ:=_bool_in_, de trabajo.
  • Página 515: Parámetros

    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 523) Parámetros La tabla siguiente muestra los parámetros de la instrucción "CREATE_DB":...
  • Página 516: Parámetro Declara-Tipo De Ción Datos

    Instrucciones avanzadas 9.10 Control de bloques de datos Parámetro Declara‐ Tipo de Área de memoria Descripción ción datos ATTRIB Input BYTE I, Q, M, D, L o cons‐ Los 4 primeros bits del byte en el parámetro ATTRIB se utilizan tante para definir las propiedades del bloque de datos *: •...
  • Página 517 Instrucciones avanzadas 9.10 Control de bloques de datos Parámetro Declara‐ Tipo de Área de memoria Descripción ción datos DB_NUM Output DB_DYN I, Q, M, D, L Número del DB creado. (UINT) * Las propiedades seleccionadas aquí equivalen a los atributos de las propiedades de un bloque de datos. Encontrará...
  • Página 518: Instrucciones Read_Dbl Y Writ_Dbl (Leer De/Escribir En Un Bloque De Datos De La Memoria De Carga)

    Instrucciones avanzadas 9.10 Control de bloques de datos Código de Descripción error* (W#16#...) Información Consulte también: Códigos de error comunes para las instrucciones avanzadas (Página 531) general del error * El código de error puede visualizarse en el editor de programas como valor entero o hexadecimal. 9.10.2 Instrucciones READ_DBL y WRIT_DBL (Leer de/escribir en un bloque de datos de la memoria de carga)
  • Página 519 Instrucciones avanzadas 9.10 Control de bloques de datos utilizar para actualizar los valores de arranque guardados en la memoria de carga interna o en una Memory Card a partir de los valores actuales de la memoria de trabajo. Nota Efecto de las instrucciones WRIT_DBL y READ_DBL en la memoria flash La instrucción WRIT_DBL realiza operaciones de escritura en una memoria flash (memoria de carga interna o Memory Card).
  • Página 520 Instrucciones avanzadas 9.10 Control de bloques de datos y RET_VAL para determinar cuándo se ha completado la transferencia de datos y si lo ha hecho correctamente. Nota Efecto de las instrucciones WRIT_DBL y READ_DBL en la carga de comunicación Cuando la instrucción WRIT_DBL o READ_DBL está activa de forma continua, puede consumir recursos de comunicación hasta el punto que STEP 7 pierda la comunicación con la CPU.
  • Página 521: Attr_Db (Leer Atributos De Un Bloque De Datos)

    Instrucciones avanzadas 9.10 Control de bloques de datos RET_VAL Descripción (W#16#...) 8251 Error de tipo de bloque de datos de origen 82B1 El bloque de datos de origen falta 82C0 El DB de origen está siendo editado por otra instrucción o función de comunicación. 8551 Error de tipo de bloque de datos de destino 85B1...
  • Página 522 Instrucciones avanzadas 9.10 Control de bloques de datos Parámetro Declara‐ Tipo de da‐ Área de memoria Descripción ción ATTRIB Output BYTE I, Q, M, D, L Propiedades del DB: • Bit 0*= 0: El atributo "Depositar solo en la memoria de carga"...
  • Página 523: Delete_Db (Borrar Bloque De Datos)

    Instrucciones avanzadas 9.10 Control de bloques de datos 9.10.4 DELETE_DB (borrar bloque de datos) Tabla 9-225 Instrucción DELETE_DB KOP / FUP Descripción La instrucción "DELETE_DB" se utiliza para borrar un ret_val := DELETE_DB( REQ := _bool_in_, bloque de datos (DB) que el programa de usuario había creado llamando la instrucción "CREATE_DB DB_NUMBER := _uint_in_, BUSY =>...
  • Página 524: Procesamiento De Direcciones

    Instrucciones avanzadas 9.11 Procesamiento de direcciones 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; BUSY tiene el valor "1". 7002 Llamada intermedia (REQ irrelevante): Transferencia de datos ya activa;...
  • Página 525 Instrucciones avanzadas 9.11 Procesamiento de direcciones Dependiendo del tipo de hardware definido en el parámetro HWTYPE, se evalúa la información siguiente de los otros parámetros GEOADDR: • Con HWTYPE = 1 (sistema PROFINET IO): – Solo se evalúa IOSYSTEM. El resto de parámetros de GEOADDR no se toman en consideración.
  • Página 526: Log2Geo (Determinar El Slot A Partir De La Id De Hardware)

    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-228 Códigos de condición RET_VAL* Explicación (W#16#...) No ha ocurrido ningún error.
  • Página 527: Io2Mod (Determinar La Id De Hardware A Partir De Una Dirección Es)

    Instrucciones avanzadas 9.11 Procesamiento de direcciones Tabla 9-230 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción LADDR HW_ANY Identificador de hardware del sistema IO o el módulo. El número se asigna automáticamente y se almacena en las propiedades de la CPU o la interfaz de la configuración del hardware.
  • Página 528 Instrucciones avanzadas 9.11 Procesamiento de direcciones Si no se especifica ninguna dirección E/S de un (sub)módulo en el parámetro ADDR, se emite el código de error "8090" en el parámetro RET_VAL. Nota Entrada de una dirección E/S en SCL No es posible programar usando la ID de acceso E/S "%QWx:P" en SCL. En este caso, use el nombre simbólico de la variable o la dirección absoluta en la memoria imagen de proceso.
  • Página 529: Rd_Addr (Determinar Las Direcciones Es A Partir De La Id De Hardware)

    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-235 Instrucción RD_ADDR KOP / FUP Descripción Use la instrucción RD_ADDR para obtener las di‐...
  • Página 530: Tipo De Datos Del Sistema Geoaddr

    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-237 Códigos de condición RET_VAL Descripción (W#16#...) 0000...
  • Página 531: Estructura Del Tipo De Datos Del Sistema Geoaddr

    Instrucciones avanzadas 9.12 Códigos de error comunes para las instrucciones avanzadas 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áme‐ Tipo de datos Descripción GEOADDR...
  • Página 532: Tratamiento De Archivos

    Instrucciones avanzadas 9.13 Tratamiento de archivos 9.13 Tratamiento de archivos 9.13.1 FileReadC: leer archivo de la SIMATIC Memory Card La instrucción "FileReadC" se utiliza para leer datos del archivo ubicado en la SIMATIC Memory Card y escribirlos en un área de destino de la CPU. El archivo se especifica introduciendo el nombre y la ruta completa.
  • Página 533 Instrucciones avanzadas 9.13 Tratamiento de archivos La instrucción "FileReadC" funciona de forma asíncrona. El procesamiento se extiende a lo largo de varias llamadas y comienza con un flanco ascendente en el parámetro "REQ". Los parámetros "Busy" y "Done" indican el estado de la tarea. Si se produce un error durante la ejecución, los parámetros "Error"...
  • Página 534: Consulte También

    Instrucciones avanzadas 9.13 Tratamiento de archivos Código de Explicación error* (W#16#...) 8093 El parámetro "Offset" apunta más allá del final del archivo que debe leerse. 8094 El parámetro "Length" es mayor que el valor máximo permitido. Para una CPU S7-1500 o S7-1200, por ejemplo, el valor máximo permitido es 16 MB (16.777.216 bytes).
  • Página 535 Instrucciones avanzadas 9.13 Tratamiento de archivos Para la especificación del nombre del archivo y de la ruta deben observarse las siguientes normas: • El nombre del archivo debe tener más de 55 caracteres. • Los siguientes caracteres se admiten para el nombre de la carpeta y del archivo: "0" a "9", "a" a "z", "A"...
  • Página 536 Instrucciones avanzadas 9.13 Tratamiento de archivos Parámetros y tipo Tipo de datos Descripción Busy Output BOOL Parámetro de estado • 0: ejecución de la instrucción finalizada o no iniciada aún. • 1: ejecución de la instrucción no finalizada aún. Error Output BOOL Parámetro de estado...
  • Página 537: Filedelete: Borrar Archivo De La Memory Card

    Instrucciones avanzadas 9.13 Tratamiento de archivos Consulte también Nuevas funciones (Página 35) 9.13.3 FileDelete: Borrar archivo de la Memory Card La instrucción "FileDelete" se utiliza para borrar un archivo existente de la SIMATIC Memory Card. Tabla 9-245 Instrucción FileDelete KOP/FUP Descripción La instrucción "FileDelete"...
  • Página 538 Instrucciones avanzadas 9.13 Tratamiento de archivos Parámetros y tipo Tipo de datos Descripción Error Output BOOL Parámetro de estado • 0: Sin errores • 1: se ha producido un error al ejecutar la instrucción. Para más detalles consulte el parámetro "Status". Status Output WORD...
  • Página 539: Instrucciones Tecnológicas

    Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Las instrucciones básicas con contadores, descritas en "Operaciones con contador" (Página 226), 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.
  • Página 540: Instrucción Ctrl_Hsc_Ext (Controlar Contador Rápido)

    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 (controlar contadores rápidos (avanzado)) utiliza una hsc:=_hw_hsc_in_, done:=_done_out_, estructura de datos definida por el sistema y almacenada en un DB global definido por busy:=_busy_ out_, error:=_error_out_,...
  • Página 541: Ejemplo

    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 542 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 543 Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) – Seleccione "MyHSC". – 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.
  • Página 544: Tipos De Datos De Sistema (Sdt) De La Instrucción Ctrl_Hsc_Ext

    Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) – Ahora se muestra en la parte inferior la entrada CTRL completa. Una vez se ha configurado el HSC en el PLC ya puede ejecutarse la instrucción CTRL_HSC_EXT. Si se produce un error, ENO se pone a "0" y la salida STATUS indica el código de condición. Consulte también Tipos de datos de sistema (SDT) de la instrucción CTRL_HSC_EXT (Página 544) 10.1.1.3...
  • Página 545 Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) SDT: HSC_Count El tipo de datos "HSC_Count" equivale a un HSC configurado para el modo de contaje. El modo de contaje ofrece las siguientes funcionalidades: • Acceder al contaje de impulsos actual • Congelar el contaje de impulsos actual en un evento de entrada •...
  • Página 546 Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Elemento de es‐ Declaración Tipo de datos Descripción tructura EnHSC Bool Cuando es True activa el HSC para contar impulsos; cuando es False desactiva el contaje EnCapture Bool Cuando es True activa la entrada de captura; cuando es False la entrada de captura no tiene efecto alguno EnSync Bool...
  • Página 547 Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) SDT: HSC_Period El tipo de datos "HSC_Period" equivale a un HSC configurado para el modo de período. La instrucción CTRL_HSC_EXT permite al programa acceder a un número determinado de impulsos de entrada durante un intervalo de medición específico. Con esta instrucción se calcula el período de tiempo entre impulsos de entrada con una resolución muy alta en el ámbito de los nanosegundos.
  • Página 548 Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Ejemplo 1: varios eventos de contaje en un intervalo de medición Ejemplo 2: eventos de contaje cero y uno en varios intervalos de medición 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.
  • Página 549: Funcionamiento Del Contador Rápido

    Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) en forma de valor entero con signo en Hz de acuerdo con la fórmula siguiente: Frecuencia = EdgeCount/ElapsedTime Si se necesita un valor en coma flotante para la frecuencia, la fórmula anterior puede utilizarse para la frecuencia cuando el HSC está...
  • Página 550: Función De Puerta

    Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Nota Los filtros de entrada configurados retardan la señal de control de la entrada digital. Esta función de entrada solo está disponible cuando el HSC está configurado para el modo de contaje. En Funciones de entrada (Página 561) encontrará información sobre cómo configurar la función de sincronización.
  • Página 551 Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Puerta hardware Puerta software Puerta interna Cerrada Abierta Cerrada Cerrada Cerrada Cerrada El concepto "abierta" significa que la puerta está activa. De forma análoga, el concepto "cerrada" significa que la puerta está inactiva. La puerta software se controla con el bit de activación "HSC_Count.EnHSC" del SDT anexado a la instrucción CTRL_HSC_EXT.
  • Página 552: Función De Captura

    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.
  • Página 553: Función De Comparación

    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.
  • Página 554: Configurar Un Contador Rápido

    Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Cuando todos los valores del contador son iguales al valor de referencia, se dispara un evento de alarma. Dentro del OB de alarma, el programa de usuario debe cargar el siguiente valor de referencia en el HSC y poner las salidas a su próximo estado. Cuando se dispara la entrada de sincronización, el valor de contaje actual se pone al valor inicial y se genera un evento de alarma.
  • Página 555 Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Puede configurar hasta seis contadores rápidos (del HSC1 al HSC6). Active un HSC seleccionando la opción "Habilitar este contador rápido". Si está activado, STEP 7 asigna un nombre predeterminado unívoco al HSC. El nombre puede cambiarse editándolo en el campo "Nombre:", pero debe ser un nombre unívoco.
  • Página 556: Tipo De Contaje

    Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Tipo Entrada 1 Entrada 2 Entrada 3 Entrada 4 Entrada 5 Salida 1 Función Fase simple Reloj Sentido Contaje, fre‐ con control cuencia o pe‐ externo del ríodo sentido Sincroniza‐ Puerta Captura Comparación Contaje ción Dos fases Reloj adelante Reloj atrás...
  • Página 557: Fase De Operación

    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 558 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 559: Contador A/B Cuádruple

    Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Contador A/B cuádruple La fase A/B en cuadratura cuádruple cuenta: • ascendente con un flanco ascendente en la entrada de reloj A cuando la entrada de reloj B es "low" • ascendente con un flanco descendente en la entrada de reloj A cuando la entrada de reloj B es "high"...
  • Página 560: Valores Iniciales

    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.
  • Página 561: Funciones De Entrada

    Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) • Valor límite superior inicial: Valor de contaje máximo. El valor predeterminado es el valor más alto posible de +2.147.483.647 impulsos. • Valor límite inferior inicial: Valor de contaje mínimo. El valor predeterminado es el valor más bajo posible de -2.147.483.648 impulsos.
  • Página 562: Función De Salida

    Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.3.5 Función de salida La función de salida de comparación es la única salida del HSC y solo está disponible en modo de contaje. Salida de comparación La salida de comparación puede configurarse para que genere un impulso individual cuando se produzca uno de los eventos siguientes: •...
  • Página 563: Asignación De Los Pines De Entrada De Hardware

    Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) 10.1.3.7 Asignación de los pines de entrada de hardware Para cada entrada del HSC que se active hay que seleccionar el punto de entrada deseado, que se encuentra en la CPU o en una Signal Board opcional (los módulos de comunicación y señales no soportan las entradas del HSC).
  • Página 564 Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) Utilice la tabla siguiente para garantizar que los canales de entrada de CPU y SB conectados soportan las frecuencias de impulso máximas de las señales del proceso: Tabla 10-9 Entrada de CPU: frecuencia máxima Canal de entrada Fase de operación: fase Fase de operación: conta‐...
  • Página 565: Asignación De Los Pines De Salida De Hardware

    Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) el contaje al mismo tiempo. Esta configuración es posible, pero podría provocar resultados no deseados. ADVERTENCIA Riesgos asociados con la asignación de varias funciones a un solo canal de entrada digital La asignación de varias funciones de entrada del mismo HSC a un punto de entrada común puede provocar resultados impredecibles.
  • Página 566: Identificador De Hardware

    Instrucciones tecnológicas 10.1 Contaje (contadores rápidos) La tabla siguiente muestra las direcciones predeterminadas asignadas para cada HSC: Tabla 10-11 Direcciones predeterminadas del HSC Contador rápido (HSC) Tipos de datos de valores ac‐ Dirección de valor actual prede‐ tuales terminada HSC1 DInt ID 1000 HSC2...
  • Página 567 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...
  • Página 568: Uso De Ctrl_Hsc

    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...
  • Página 569: Motion Control

    Instrucciones tecnológicas 10.2 Motion Control descendente. La frecuencia se devuelve en unidades de hertzios (p. ej. 123,4 Hz se devuelven como 123). Tabla 10-15 Direcciones predeterminadas del HSC Tipos de datos de valores ac‐ Dirección de valor actual predeterminada tuales HSC1 DInt ID1000...
  • Página 570: Accionamientos Y Encóders

    Instrucciones tecnológicas 10.2 Motion Control Signal Board Las Signal Boards permiten agregar entradas y salidas adicionales a la CPU. Las salidas digitales pueden usarse como salidas de generación de impulsos para controlar accionamientos de la forma necesaria. En CPU con salidas de relé, la señal de impulso no puede devolverse a las salidas integradas porque los relés no soportan las frecuencias de conmutación necesarias.
  • Página 571: Instrucciones De Motion Control

    Instrucciones tecnológicas 10.2 Motion Control 10.2.3 Instrucciones de Motion Control 10.2.3.1 Vista general de instrucciones de MC Las instrucciones de Motion Control utilizan un bloque de datos tecnológico asociado y las salidas del tren de impulsos (PTO) específicas de la CPU para controlar el movimiento de un eje: •...
  • Página 572: Mc_Power (Habilitar/Bloquear Eje)

    Instrucciones tecnológicas 10.2 Motion Control Si tiene una CPU S7-1200 con firmware V4.5 o posterior, seleccione la versión V8.0 para cada instrucción de movimiento. Nota Las instrucciones de Motion Control V1.0 a V3.0 controlan activamente la salida de la instrucción. Cuando se produce un error en el bloque, la salida de habilitación (ENO) se pone a OFF.
  • Página 573: Mc_Reset (Confirmar Error)

    Instrucciones tecnológicas 10.2 Motion Control 10.2.3.3 MC_Reset (confirmar error) La instrucción MC_Reset resetea todos los errores de Motion Control. Se acusan todos los errores de Motion Control que pueden acusarse. Tabla 10-17 Instrucción MC_Reset KOP / FUP Descripción "MC_Reset_DB"( Utilice la instrucción MC_Reset para acusar "Error operativo con parada de eje"...
  • Página 574: Mc_Halt (Detener Eje)

    Instrucciones tecnológicas 10.2 Motion Control 10.2.3.5 MC_Halt (detener eje) La instrucción MC_Halt cancela todos los procesos de movimiento y detiene el movimiento del eje. La posición de parada no está definida. Tabla 10-19 Instrucción MC_Halt KOP / FUP Descripción "MC_Halt_DB"( Utilice la instrucción MC_Halt para parar todo el movimiento y detener el eje por Axis:=_multi_fb_in_,...
  • Página 575: Mc_Moverelative (Posicionamiento Relativo Del Eje)

    Instrucciones tecnológicas 10.2 Motion Control 10.2.3.7 MC_MoveRelative (posicionamiento relativo del eje) La instrucción MC_MoveRelative inicia un movimiento de posicionamiento relativo a la posición inicial. Tabla 10-21 Instrucción MC_MoveRelative KOP / FUP Descripción "MC_MoveRelative_DB"( Utilice la instrucción MC_MoveRela‐ tive para iniciar un movimiento de Axis:=_multi_fb_in_, Execute:=_bool_in_, posicionamiento relativo a la posi‐...
  • Página 576: Mc_Movejog (Desplazamiento Del Eje En Modo Jog)

    Instrucciones tecnológicas 10.2 Motion Control 10.2.3.9 MC_MoveJog (desplazamiento del eje en modo Jog) La instrucción MC_MoveJog ejecuta el modo jog para fines de test y arranque. Tabla 10-23 Instrucción MC_MoveJog KOP / FUP Descripción Utilice la instrucción MC_MoveJog para "MC_MoveJog_DB"( Axis:=_multi_fb_in_, mover el eje constantemente a la velocidad específica en modo paso a paso.
  • Página 577: Mc_Writeparam (Escribir Parámetros De Un Objeto Tecnológico)

    Instrucciones tecnológicas 10.2 Motion Control 10.2.3.11 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-25 Instrucción MC_WriteParam KOP / FUP Descripción "MC_WriteParam_DB"(...
  • Página 578: Mc_Changedynamic (Cambiar La Configuración De La Dinámica Del Eje)

    10.2.4 Información adicional sobre S7-1200 Motion Control Para más información sobre S7-1200 Motion Control consulte SIMATIC STEP 7 S7-1200 Motion Control V6.0 en TIA Portal V15 (https://support.industry.siemens.com/cs/us/es/view/ 109773400). En ese manual encontrará información detallada sobre los siguientes temas: • Configuración de un generador de impulsos •...
  • Página 579: Consulte También

    • Vigilancia de MC_MoveJog • ErrorID y ErrorInfos para Motion Control Consulte también SIMATIC STEP 7 S7-1200 Motion Control V6.0 en TIA Portal V15 (https:// support.industry.siemens.com/cs/us/en/view/109773400) 10.3 PID Control 10.3.1 Funciones PID STEP 7 ofrece las siguientes instrucciones de tipo proporcional-integral-derivativo (PID) para la CPU S7-1200: •...
  • Página 580: Instrucciones Pid

    Instrucciones tecnológicas 10.3 PID Control 10.3.2 Instrucciones PID 10.3.2.1 Funciones PID STEP 7 ofrece las siguientes instrucciones de tipo proporcional-integral-derivativo (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. •...
  • Página 581: Instrucción Pid_3Step

    Instrucciones tecnológicas 10.3 PID Control 10.3.2.3 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-29 Instrucción PID_3Step KOP / FUP Descripción "PID_3Step_1"( PID_3Step configura un regulador PID con capacidades de autoajuste que se ha opti‐...
  • Página 582: Instrucción Pid_Temp

    En el ejemplo SCL, "PID_Temp_1" es el nombre del DB de instancia. 10.3.3 Información adicional sobre la regulación PID de S7-1200 Consulte manual de funciones SIMATIC S7-1200, S7-1500 Regulación PID (https:// support.industry.siemens.com/cs/us/es/view/108210036) para más información sobre la regulación PID de S7-1200.
  • Página 583 Instrucciones tecnológicas 10.3 PID Control • Uso de PID_Compact: – Límites de valores de proceso – Parámetros ErrorBit – Parámetros de advertencia • Uso de PID_3Step: – Parámetros ErrorBit – Parámetros de advertencia • Uso de PID_Temp: – Parámetros ErrorBit –...
  • Página 584 Instrucciones tecnológicas 10.3 PID Control Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 585: Comunicación

    Comunicación 11.1 Sinopsis S7-1200 ofrece varios tipos de comunicación entre CPU, y programadoras, HMI y otras CPU. PROFINET PROFINET se usa para intercambiar datos a través del programa de usuario con otros interlocutores vía Ethernet: • En el S7-1200, PROFINET soporta 16 dispositivos E/S con un máximo de 256 submódulos, y PROFIBUS admite 3 maestros PROFIBUS DP independientes, con 32 esclavos por maestro DP y un máximo de 512 módulos por maestro DP.
  • Página 586: Comunicación Teleservice

    En TeleService vía GPRS, una estación de ingeniería en la que está instalado STEP 7 se comunica mediante la red GSM e Internet con una estación SIMATIC S7-1200 con un CP 1242-7. La conexión se ejecuta a través de un servidor de telecontrol que actúa de intermediario y que está...
  • Página 587: Ventajas De La Comunicación Segura

    Comunicación 11.2 Comunicación segura (secure) y comunicación antigua (legacy) Ventajas de la comunicación segura Utilice la comunicación segura para alcanzar los objetivos siguientes: • Confidencialidad: Los datos son secretos y posibles intrusos no pueden leerlos. • Integridad: El mensaje que llega al destinatario es el mismo mensaje, sin modificaciones, que envió...
  • Página 588: Comunicación Segura (Secure) O Comunicación Antigua (Legacy)

    Comunicación 11.2 Comunicación segura (secure) y comunicación antigua (legacy) La tabla siguiente muestra la comunicación soportada para una CPU S7‑1200 con firmware V4.5: Configuración de dis‐ Versiones de cliente positivo de la CPU en TIA Portal V17 / TIA Portal < V17 / HMI V17 HMI <...
  • Página 589: Protocolos De Comunicación Y Puertos Utilizados Por La Comunicación Ethernet

    Comunicación 11.3 Protocolos de comunicación y puertos utilizados por la comunicación Ethernet Información adicional Encontrará más detalles sobre la implementación de la comunicación segura en el sistema de información de TIA Portal. Encontrará información adicional sobre certificados, en particular, en los siguientes temas del sistema de información de TIA Portal: •...
  • Página 590 Comunicación 11.3 Protocolos de comunicación y puertos utilizados por la comunicación Ethernet Puer‐ Sentido Protocolo Aplicación Descripción to(s) 4840 Entrada OPC UA Estándar de comunicación que abarca desde el nivel corporativo hasta el nivel de campo. 34964 Entrada/salida PROFINET Context PROFINET Context Manager proporciona una herra‐...
  • Página 591: Conexiones De Comunicación Asíncronas

    Comunicación 11.4 Conexiones de comunicación asíncronas 11.4 Conexiones de comunicación asíncronas Sinopsis de los servicios de comunicación La CPU soporta los siguientes servicios de comunicación: Servicio de comunica‐ Funcionalidad Con PROFIBUS DP Con Ether‐ ción Módulo Módulo es‐ maestro CM clavo CM 1243-5 DP 1242-5 DP...
  • Página 592: Conexiones Disponibles

    Comunicación 11.4 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 "Conexiones libres disponibles"...
  • Página 593 Comunicación 11.4 Conexiones de comunicación asíncronas En función de los recursos de conexión asignados está disponible el siguiente número de conexiones por dispositivo: Tipo Reservado Máximo Comunicación con programadora (PG) Comunicación con interfaz hombre-máquina (HMI) Comunicación S7 Open User Communication Comunicación web Comunicación cliente/servidor OPC UA Otras comunicaciones...
  • Página 594: Profinet

    11.5 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.5 05/2021, A5E02486683-AO...
  • Página 595: Conmutación Ethernet

    Comunicación 11.5 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í requiere un conmutador Ethernet.
  • Página 596: Crear Una Conexión De Red

    Comunicación 11.5 PROFINET 11.5.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.
  • Página 597: Rutas De Conexión

    Comunicación 11.5 PROFINET Si la conexión finaliza (p. ej. debido a una interrupción de la línea), el interlocutor activo intenta restablecer la conexión configurada. No es necesario volver a ejecutar la instrucción. Rutas de conexión Después de insertar una instrucción TSEND_C, TRCV_C o TCON en el programa de usuario, la ventana del inspector mostrará...
  • Página 598: Definición

    Comunicación 11.5 PROFINET Tabla 11-6 Configurar la ruta de conexión para la comunicación S7 (configuración del dispositivo) Comunicación S7 (GET y PUT) Propiedades de la conexión Para la comunicación S7, utilice el editor "Disposi‐ tivos y redes" de la red para configurar las conexio‐ nes local/interlocutor.
  • Página 599: Números De Puerto

    Comunicación 11.5 PROFINET Parámetro Definición Detalles de di‐ Punto final Solo comunicación S7: Nombre asignado a la CPU interlocutora (receptora) rección Rack/slot Solo comunicación S7: Ubicación de rack y slot Recurso de conexión Solo comunicación S7: Componente de TSAP que se utiliza en la configuración de una conexión S7 con una CPU S7-300 o S7-400 Puerto (decimal): TCP y UPD: Puerto de la CPU interlocutora en formato decimal...
  • Página 600 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 (Página 163) protegidos por contraseña e ID de usuario de servidor web (Página 848) con contraseñas seguras.
  • Página 601: Comprobar La Dirección Ip De La Programadora

    Comunicación 11.5 PROFINET Asignar o comprobar la dirección IP de la programadora utilizando "Mis sitios de red" (en el Escritorio) Para asignar o comprobar la dirección IP de las programadoras, proceda del siguiente modo: 1. Abra el panel de control desde el menú Inicio. 2.
  • Página 602: Asignar Una Dirección Ip A Una Cpu Online

    Comunicación 11.5 PROFINET 11.5.3.3 Asignar una dirección IP a una CPU online Es posible asignar una dirección IP a un dispositivo de red online. Esto es especialmente útil al configurar los dispositivos por primera vez. 1. En el árbol del proyecto, verifi‐ que que la CPU no tiene una direc‐...
  • Página 603: Configurar Una Dirección Ip Para Una Cpu En El Proyecto

    Comunicación 11.5 PROFINET 4. En el campo "Dirección IP", in‐ troduzca la nueva dirección IP y ha‐ ga clic en el botón "Asignar direc‐ ción IP". 5. En el árbol del proyecto, verifi‐ que que STEP 7 ha asignado la nue‐ va dirección IP a la CPU.
  • Página 604 Comunicación 11.5 PROFINET Dirección IP: 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. Toda dirección IP se divide en cuatro segmentos de ocho bits (octetos) y se expresa en formato decimal separado por puntos (p.
  • Página 605 Comunicación 11.5 PROFINET Tabla 11-8 Parámetros para la dirección IP Parámetro Descripción Subred Nombre de la subred a la que está conectada el dispositivo. Haga clic en el botón "Agregar nueva subred" para crear una subred nueva. La opción predeterminada es "No conectado". Son posibles dos tipos de conexión: •...
  • Página 606: Configurar El Puerto Profinet

    Comunicación 11.5 PROFINET ADVERTENCIA Condición en la que la red PROFINET puede detenerse Al modificar la dirección IP de una CPU online o desde el programa de usuario, puede crear una condición en la que se detenga la red PROFINET. Si la dirección IP de una CPU cambia a una dirección IP fuera de la subred, la red PROFINET perderá...
  • Página 607: Comprobar La Red Profinet

    Comunicación 11.5 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 –...
  • Página 608: Asignar Una Dirección Ip A Un Dispositivo Online

    Comunicación 11.5 PROFINET Asignar una dirección IP a un dispositivo online La CPU S7-1200 no tiene dirección IP preconfigurada. La dirección IP de la CPU se debe asignar manualmente: • Para asignar una dirección IP a un dispositivo online, véase "Configuración de dispositivos: Asignar una dirección IP a una CPU online"...
  • Página 609 Comunicación 11.5 PROFINET El formato estándar (IEEE 802.3) permite imprimir direcciones MAC de forma amigable y consta de seis grupos de dos dígitos hexadecimales, separados por guiones (-) o dos puntos (:), en orden de transmisión (p. ej. 01-23-45-67-89-ab ó 01:23:45:67:89:ab). Nota Toda CPU se suministra de fábrica con una dirección MAC unívoca y permanente.
  • Página 610: Configurar La Sincronización Del Network Time Protocol (Ntp)

    (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) se utiliza extensamente para sincronizar los relojes de sistema de los equipos con servidores horarios de Internet. En el modo NTP, la CPU envía consultas de la hora en intervalos regulares (en modo de cliente) al servidor NTP de la subred (LAN).
  • Página 611 Comunicación 11.5 PROFINET las respuestas del servidor, se calcula la hora más probable y precisa y se sincroniza la hora en la estación. La ventaja de este método radica en que permite sincronizar la hora entre subredes. Se configuran las direcciones IP de hasta cuatro servidores NTP. El intervalo de actualización define el tiempo entre las consultas de la hora (en segundos).
  • Página 612: Tiempo De Arranque De Dispositivo, Asignación De Nombre Y De Dirección En Profinet

    Comunicación 11.5 PROFINET 11.5.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.
  • Página 613: Open User Communication

    Comunicación 11.5 PROFINET 11.5.8 Open User Communication 11.5.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-10 Protocolos e instrucciones de comunicación para cada uno Protocolo...
  • Página 614: Servicios De Comunicación Y Números De Puerto Utilizados

    Comunicación 11.5 PROFINET • Apto para routing • Son aplicables sólo las longitudes de datos estáticas. • Los mensajes se acusan. • Las aplicaciones se direccionan usando números de puerto. • La mayoría de los protocolos de aplicación (p. ej. TELNET y FTP) utilizan TCP. •...
  • Página 615: Modo Ad Hoc

    Comunicación 11.5 PROFINET La tabla siguiente muestra los diferentes niveles y protocolos que utiliza la CPU: Protocolo Número de puer‐ (2) Nivel de enla‐ Función Descripción (4) Nivel de trans‐ porte Protocolos PROFINET Irrelevante (2) Ethernet II e Detección y confi‐ PROFINET utiliza (Discovery and IEEE 802.1Q y Et‐...
  • Página 616: Id De Conexión Para Las Instrucciones De Open User Communication

    Comunicación 11.5 PROFINET 11.5.8.5 ID de conexión para las instrucciones de Open User Communication Cuando se insertan las instrucciones PROFINET TSEND_C, TRCV_C o TCON en el programa de usuario, STEP 7 crea un DB de instancia para configurar el canal de comunicaciones (o conexión) entre los dispositivos.
  • Página 617 Comunicación 11.5 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.
  • Página 618: Parámetros De La Conexión Profinet

    Comunicación 11.5 PROFINET por lo que deben utilizarse el DB y la ID de conexión creados por una instrucción TSEND_C, TRCV_C o TCON. ① TSEND_C en la CPU_1 crea una cone‐ xión y asigna una ID de conexión a di‐ cha conexión (ID=1).
  • Página 619 Comunicación 11.5 PROFINET TCON_Param Tabla 11-11 Estructura de la descripción de la conexión (TCON_Param) Byte Parámetro y tipo de datos Descripción de 0 a 1 block_length UInt Longitud: 64 bytes (fijos) de 2 a 3 CONN_OUC Referencia a esta conexión: Rango de valores: De 1 (predeterminado) (Word) a 4095.
  • Página 620 Comunicación 11.5 PROFINET Byte Parámetro y tipo de datos Descripción de 12 a 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;...
  • Página 621 Comunicación 11.5 PROFINET TCON_IP_V4 Tabla 11-12 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 de 0 a 1 InterfaceId HW_ANY Identificador HW del submódulo interfaz IE de 2 a 3 CONN_OUC Referencia a esta conexión: rango de valores: De 1 (predeterminado) (Word)
  • Página 622 Comunicación 11.5 PROFINET TCON_IP_V4_SEC Tabla 11-13 Estructura de la descripción de la conexión (TCON_IP_V4_SEC): para usar con TCP Byte Parámetro y tipo de datos Descripción de 0 a 15 ConnPara TCON_IP_v4 SDT para los parámetros de la conexión Información sobre el ID de interfaz: •...
  • Página 623 Comunicación 11.5 PROFINET El parámetro de conexión CONNECT de los DB de instancia para las instrucciones TCON, TSEND_C y TRCV_C contiene una referencia al bloque de datos utilizado. Nota Es posible establecer conexiones TCP o UDP no seguras vía IPv4. También puede utilizarse el SDT TCON_IP_V4_SEC para una conexión TCP o UDP no segura vía IPv4.
  • Página 624 Comunicación 11.5 PROFINET TCON_QDN Tabla 11-15 Estructura de la descripción de la conexión conforme a TCON_QDN Byte Parámetro y tipo de datos Descripción de 0 a 1 InterfaceId HW_ANY CPU S7-1200 con firmware V4.4 o superior: • ID de interfaz de un CP enchufado: –...
  • Página 625: Soporte De La Versión Tls

    Comunicación 11.5 PROFINET Byte Parámetro y tipo de datos Descripción de 274 a ExtTLSCapabilities WORD • Bit 0: solo para el lado del cliente. Un bit activado significa que el cliente valida el subjectAlternateName en el certifi‐ cado X.509-V3 del servidor para comprobar la identidad del servidor.
  • Página 626: Configuración De Dns

    Comunicación 11.5 PROFINET 11.5.8.7 Configuración de DNS Hay que configurar un Domain Name System (DNS) para utilizar secure OUC. Debe haber por lo menos un servidor DNS en la red y hay que configurar por lo menos un servidor DNS para la CPU S7-1200.
  • Página 627: Configurar Una Conexión Ouc En Tia Portal V17

    Comunicación 11.5 PROFINET 11.5.8.8 Configurar una conexión OUC en TIA Portal V17 En TIA Portal V17 existe la posibilidad de seleccionar las siguientes conexiones de Open User Communication (como se muestra a continuación) para trazarlas hacia o desde las CPU S7-1200 o S7-1500.
  • Página 628 Comunicación 11.5 PROFINET • Qué interlocutor inicia el establecimiento de la conexión • Detalles del puerto en el menú Propiedades de la vista de redes seleccionando un punto final de la conexión Cuando se traza una conexión OUC en TIA Portal, un "ID local" y un "ID del interlocutor" se asignan en el rango válido a un ID de conexión OUC.
  • Página 629: Funcionamiento De Las Instrucciones Tblock Existentes Con Conexiones Configuradas

    Comunicación 11.5 PROFINET El menú de propiedades "Detalles de direcciones" muestra la configuración de las direcciones que se utilizarán para la comunicación de la conexión de los tipos TCP e ISO on TCP. Al usar TUSEND y TURCV en una conexión UDP, la dirección para comunicación se reemplaza por un parámetro en las instrucciones.
  • Página 630: Instrucciones Tsend_C Y Trcv_C

    Comunicación 11.5 PROFINET Instrucción OUC Descripción con conexión configurada TRCV Funciona del mismo modo. TUSEND Funciona del mismo modo. TURCV Funciona del mismo modo. T_RESET Funciona del mismo modo. Desconecta y reconecta la conexión. Los valores de SentBytes y Re‐ ceivedBytes se restablecen a 0.
  • Página 631 Comunicación 11.5 PROFINET Seleccionar la versión de las instrucciones TSEND_C y TRCV_C En STEP 7 están disponibles dos versiones de las instrucciones TSEND_C y TRCV_C: • Las versiones 2.5 y 3.1 estaban disponibles en STEP 7 Basic/Professional V13 y versiones anteriores.
  • Página 632: Inicializar Los Parámetros De Comunicación

    Comunicación 11.5 PROFINET información sobre cómo transferir datos con estas instrucciones en el apartado Coherencia de datos (Página 187). Nota Inicializar los parámetros de comunicación Después de introducir la instrucción TSEND_C o TRCV_C, utilice las "Propiedades" de la instrucción (Página 596) para configurar los parámetros (Página 618) de comunicación. 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 la instrucción.
  • Página 633 Comunicación 11.5 PROFINET Parámetro y tipo Tipo de datos Descripción CONT Bool Controla la conexión de comunicación: • 0: Deshacer la conexión de comunicación después de transmi‐ tir los datos. • 1: Establecer y mantener la conexión de comunicación. Cuando se envían (TSEND_C) (flanco ascendente en el parámetro REQ) o se reciben datos (TRCV_C) (flanco ascendente en el pará‐...
  • Página 634 Comunicación 11.5 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. El parámetro COM_RST se inicializa después de la evaluación me‐...
  • Página 635 Comunicación 11.5 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 636 Comunicación 11.5 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 637 Comunicación 11.5 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 638 Comunicación 11.5 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 639 Comunicación 11.5 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.
  • Página 640: Parámetros Busy, Done Y Error

    Comunicación 11.5 PROFINET Nota TCP (recepción de datos con la longitud especificada) El valor del parámetro LEN se utiliza para especificar la longitud de la recepción de datos. Los datos especificados en el parámetro DATA están disponibles en el área de recepción en cuanto se recibe totalmente la longitud especificada en el parámetro LEN.
  • Página 641: Parámetros Error Y Status

    Comunicación 11.5 PROFINET Parámetros Error y Status Tabla 11-21 Códigos de condición TSEND_C y TRCV_C para ERROR y STATUS ERROR STATUS * Descripción (W#16#...) 0000 Tarea de transmisión (TSEND_C) o recepción (TRCV_C) ejecutada sin errores. 0001 Conexión de comunicación establecida. 0003 Conexión de comunicación cerrada.
  • Página 642 Comunicación 11.5 PROFINET ERROR STATUS * Descripción (W#16#...) 80A3 • Se está intentando restablecer una conexión existente. • Se está intentando deshacer una conexión no existente. • La instrucción T_DIAG anidada notifica que la instrucción ha cerrado la conexión. 80A4 La dirección IP del punto final remoto de la conexión no es válida, lo que significa que corresponde a la dirección IP del interlocutor local.
  • Página 643: Protocolos De Conexión Ethernet

    Comunicación 11.5 PROFINET ERROR STATUS * Descripción (W#16#...) 8722 Error en el parámetro CONNECT: área de origen no válida (área no declarada en el bloque de datos). 873A Error en el parámetro CONNECT: no se puede obtener acceso a la descripción de la conexión (no se puede obtener acceso al bloque de datos).
  • Página 644: Instrucciones Legacy Tsend_C Y Trcv_C

    Comunicación 11.5 PROFINET 11.5.8.10 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. Consulte las instrucciones Legacy individuales TSEND_C y TRCV_C para obtener información sobre la programación.
  • Página 645 Comunicación 11.5 PROFINET posiciones booleanas y TRCV_C no recibe datos en posiciones booleanas. Encontrará más información sobre cómo transferir datos con estas instrucciones en el apartado Coherencia de datos (Página 187). Nota Inicializar los parámetros de comunicación Después de introducir la instrucción TSEND_C o TRCV_C, utilice las "Propiedades" de la instrucción (Página 596) para configurar los parámetros (Página 618) de comunicación.
  • Página 646 Comunicación 11.5 PROFINET Tabla 11-23 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 as‐ cendente con la conexión descrita en el parámetro CONNECT. (TSEND_C) (CONT = 1 también se requiere para establecer y mantener la co‐...
  • Página 647 Comunicación 11.5 PROFINET 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. El parámetro BUSY se pone a 1 durante el procesamiento. La finalización de la tarea de transmisión se indica poniendo a 1 los parámetros DONE o ERROR durante un ciclo.
  • Página 648 Comunicación 11.5 PROFINET TRCV_C utiliza los mismos modos de recepción que la instrucción TRCV. En la tabla siguiente se muestra cómo se introducen los datos en el área de recepción: Tabla 11-24 Entrada de datos en el área de recepción Variante de Entrada de datos Parámetro...
  • Página 649 Comunicación 11.5 PROFINET Tabla 11-25 Instrucciones TSEND_C y TRCV_C parámetros BUSY, DONEy ERROR BUSY DONE ERROR Descripción TRUE Irrelevante Irrelevante La tarea se está procesando. FALSE TRUE FALSE La tarea se ha completado correctamente. FALSE FALSE TRUE La tarea se ha finalizado con un error. La causa del error se indica en el parámetro STATUS.
  • Página 650 Comunicación 11.5 PROFINET ERROR STATUS Descripción 80B3 Parámetros incoherentes: • Error en la descripción de la conexión • El puerto local (parámetro local_tsap_id) ya existe en una descripción de conexión diferente. • La ID indicada en la descripción de la conexión no concuerda con la ID especificada como parámetro 80B4 Si se utiliza ISO on TCP (connection_type = B#16#12) para establecer una conexión pasiva,...
  • Página 651: Instrucciones Tcon, Tdiscon, Tsend Y Trcv

    Comunicación 11.5 PROFINET 11.5.8.11 Instrucciones TCON, TDISCON, TSEND y TRCV A partir de la versión V4.1 o posterior de la CPU S7-1200 junto con STEP 7 V13 SP1 o posterior, la CPU S7-1200 amplía la capacidad de la instrucción TCON para utilizar parámetros de conexión con estructuras conforme a TCON_IP_V4 y TCON_IP_RFC.
  • Página 652 Comunicación 11.5 PROFINET Para comprobar la versión de la instrucción TCON, TDISCON, TSEND o TRCV en un programa, es necesario examinar las propiedades del árbol del proyecto y no las propiedades de un cuadro que se visualiza en el editor de programas. Seleccione un árbol del proyecto TCON, TDISCON, TSEND o TRCV o instancia del FB o la FC, haga clic con el botón derecho del ratón y seleccione "Propiedades", luego seleccione la página de "información"...
  • Página 653 Comunicación 11.5 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 596) para configurar los parámetros de comunicación (Página 618). 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 654 Comunicación 11.5 PROFINET Parámetro Declaración Tipo de datos Descripción CONNECT IN_OUT VARIANT Puntero a la descripción de la conexión: (TCON) • En el caso de TCP o UDP, use la estructura TCON_IP_v4 o TCON_QDN. Para obtener una descripción, véase: "Parámetros de la cone‐ xión PROFINET (Página 618)".
  • Página 655 Comunicación 11.5 PROFINET Una conexión existente se deshace y la conexión configurada se elimina cuando se ejecuta la instrucción TDISCON o cuando la CPU pasa a estado operativo STOP. Para configurar y restablecer la conexión es preciso ejecutar TCON de nuevo. Tabla 11-30 Códigos de condición ERROR y STATUS para TCON y TDISCON ERROR...
  • Página 656 Comunicación 11.5 PROFINET ERROR STATUS * Explicación (W#16#...) 80B7 TCON: Con TCON_IP_V4, TCON_IP_V4_SEC, TCON_QDN, TCON_QDN_SEC: • TCP (iniciativa local): el puerto remoto es "0". • TCP (establecimiento de conexión pasiva): el puerto local es "0". • UDP: el puerto local es "0". •...
  • Página 657 Comunicación 11.5 PROFINET ERROR STATUS * Explicación (W#16#...) 80E2 Certificado no soportado / certificado no válido / no hay certificado Causa posible: para el módulo en cuestión, la CPU no ha ajustado la hora del día o no ha sincro‐ nizado el módulo.
  • Página 658 Comunicación 11.5 PROFINET Tabla 11-31 Instrucciones TSEND y TRCV KOP / FUP Descripción "TSEND_DB"( TCP e ISO on TCP: TSEND envía datos mediante una conexión entre la CPU y un interlocutor. req:=_bool_in_, ID:=_word_in_, len:=_udint_in_, done=>_bool_out_, busy=>_bool_out_, error=>_bool_out_, status=>_word_out_, data:=_variant_inout_); TCP e ISO on TCP: TRCV recibe datos mediante "TRCV_DB"( en_r:=_bool_in_, una conexión entre un interlocutor y la CPU.
  • Página 659: Operaciones Trcv

    Comunicación 11.5 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 tarea nueva.
  • Página 660 Comunicación 11.5 PROFINET Tan pronto como se hayan recibido todos los datos de la tarea, TRCV los transferirá al área de recepción y pondrá NDR a 1. Tabla 11-33 Entrada de datos en el área de recepción Variante de Entrada de datos Parámetro Valor del parámetro LEN Valor del parámetro...
  • Página 661: Tconsettings

    Comunicación 11.5 PROFINET ERROR STATUS Descripción 7001 • Inicio del procesamiento de la tarea, enviando los datos: Durante este procesamiento, el sistema operativo accede a los datos del área de emisión DATA (TSEND). • El bloque está listo para la recepción, se ha activado la tarea de recepción (TRCV). 7002 •...
  • Página 662 Comunicación 11.5 PROFINET • Leer una propiedad de una conexión OUC preparada o ya existente • Especificar una propiedad para una conexión OUC preparada o ya existente Con la instrucción "TCONSettings" se pueden leer o especificar las siguientes propiedades de conexión: •...
  • Página 663: Consulte También

    Comunicación 11.5 PROFINET Parámetros BUSY, DONE y ERROR Puede comprobar el estado de la tarea con los parámetros BUSY, DONE, ERROR y STATUS. El parámetro BUSY indica el estado de procesamiento. Con el parámetro DONE se comprueba si una tarea se ha ejecutado correctamente o no. El parámetro ERROR se activa si se producen errores durante la ejecución de "TCONSettings".
  • Página 664: Reservar Un Recurso De Conexión

    Comunicación 11.5 PROFINET Reservar un recurso de conexión Llame TCONSettings con MODE=0. Asigne los parámetros relevantes del siguiente modo: • Introduzca el valor NULL en el parámetro ID. • Si no quiere especificar una propiedad para la conexión asociada, deje el parámetro OPTION vacío.
  • Página 665 Comunicación 11.5 PROFINET Leer una propiedad de una conexión preparada o existente Llame "TCONSettings" con MODE=1. Asigne los parámetros relevantes del siguiente modo: • En el parámetro ID especifique la referencia a la conexión que desee. • En el parámetro OPTION especifique la propiedad de conexión que desee leer. Una vez que el parámetro DONE ha asumido el valor TRUE, los valores actuales de la propiedad deseada estarán disponibles en el área de datos especificada por OPTION.
  • Página 666: Conflictos En La Especificación De Propiedades De Conexión

    Comunicación 11.5 PROFINET Protocolo/interfaz Terminar una conexión Interfaz de CP virtual Sí "TDISCON" no se puede llamar para una conexión configurada. Por ese motivo no existe ninguna forma de terminar la conexión de manera ordenada. UDP carece de conexiones en el nivel de protocolo, por lo que no es necesaria ninguna terminación. Conflictos en la especificación de propiedades de conexión Cada propiedad de conexión predefinible está...
  • Página 667: Sdt Para La Terminación De Conexiones: Tcon_Tcptermination

    Comunicación 11.5 PROFINET Nota Terminar una conexión TCP durante la transición a STOP Durante la transición a STOP las conexiones TCP siempre terminan con un TCP-Reset. SDT para la terminación de conexiones: TCON_TCPTermination El SDT para la terminación de conexiones tiene la siguiente estructura: Parámetros Tipo de datos Valor inicial...
  • Página 668 Comunicación 11.5 PROFINET del FB o la FC se puede ver en el árbol del proyecto en PLC_x > Bloques de programa > Bloques de sistema > Recursos de programa. Para comprobar la versión de la instrucción TCON, TDISCON, TSEND o TRCV en un programa, es necesario examinar las propiedades del árbol del proyecto y no las propiedades de un cuadro que se visualiza en el editor de programas.
  • Página 669 Comunicación 11.5 PROFINET BUSY DONE ERROR Descripción FALSE FALSE TRUE La tarea se ha finalizado con un error. La causa del error se indica en el parámetro STATUS. FALSE FALSE FALSE No se ha asignado ninguna tarea nueva. TCON y TDISCON Nota Inicializar los parámetros de comunicación Después de introducir la instrucción TCON, utilice las "Propiedades"...
  • Página 670 Comunicación 11.5 PROFINET Tabla 11-39 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 produce un flanco ascendente.
  • Página 671 Comunicación 11.5 PROFINET ERROR STATUS Descripción 809B TCON: La "local_device_id" indicada en la descripción de la conexión no concuerda con la CPU. 80A1 TCON: El usuario ya está utilizando el puerto o la conexión. 80A2 TCON: El sistema está utilizando el puerto local o remoto. 80A3 Se está...
  • Página 672 Comunicación 11.5 PROFINET ERROR STATUS Descripción 80C3 TCON: Se están utilizando todos los recursos de conexión. 80C4 Error de comunicación temporal: • La conexión no se puede establecer en estos momentos (TCON). • La instrucción TDISCON (TCON) está deshaciendo la conexión configurada. •...
  • Página 673 Comunicación 11.5 PROFINET Tabla 11-42 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 flanco ascendente. Los datos se transfieren desde el área que indican los parámetros DATA y LEN.
  • Página 674 Comunicación 11.5 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 675 Comunicación 11.5 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.
  • Página 676: Instrucción T_Reset (Finalizar Y Restablecer Una Conexión Existente)

    Comunicación 11.5 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). •...
  • Página 677 Comunicación 11.5 PROFINET Una vez que se haya llamado la instrucción "T_RESET" con el parámetro REQ, se deshará la conexión especificada con el parámetro ID y, si es necesario, se borrará el búfer de transmisión y recepción de datos. Al cancelar la conexión también se cancela cualquier transferencia de datos en curso.
  • Página 678: Instrucción T_Diag (Comprueba El Estado De La Conexión Y Lee Información)

    Comunicación 11.5 PROFINET Bit de STATUS* Descripción error (W#16#... 7002 Se está deshaciendo la conexión. 8081 Conexión desconocida especificada en el parámetro ID. 11.5.8.15 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-45 Instrucción T_DIAG...
  • Página 679 Comunicación 11.5 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‐...
  • Página 680 Comunicación 11.5 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 681 Comunicación 11.5 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 •...
  • Página 682: Instrucción Tmail_C (Envía Un Correo Electrónico Utilizando La Interfaz Ethernet De La Cpu)

    Comunicación 11.5 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 CPU (no se admite actualmente).
  • Página 683: Funcionamiento De La Instrucción

    Comunicación 11.5 PROFINET Tabla 11-46 Instrucción TMAIL_C KOP / FUP Descripción "TMAIL_C_DB"( La instrucción TMAIL_C envía un correo electrónico a través de la in‐ req:=_bool_in_, to_s:=_string_in_, terfaz Ethernet de la CPU S7-1200. cc:=_string_in_, subject:=_string_in_, text:=_string_in_, attachment:=_variant_in_, attachment_name:=_string_in_, mail_addr_param:=_string_in_, done=>_bool_out_, busy=>_bool_out_, error=>_bool_out_, status=>_word_out_);...
  • Página 684: Coherencia De Datos

    Comunicación 11.5 PROFINET En los siguientes casos, se perderá la conexión con el servidor de correo electrónico: • Si la CPU cambia a STOP mientras la instrucción TMAIL_C está activa. • Si se producen problemas de comunicación en el bus Industrial Ethernet. En este caso, la transferencia del correo electrónico se interrumpirá...
  • Página 685 Comunicación 11.5 PROFINET información sobre el procedimiento de autenticación del servidor de correo, consulte el manual del servidor de correo o el sitio web de su proveedor de servicios de Internet. • Antes de poder usar el procedimiento de autenticación AUTH-LOGIN, la instrucción TMAIL_C necesita el nombre de usuario que va a usar para iniciar sesión en el servidor de correo.
  • Página 686 Comunicación 11.5 PROFINET Parámetro Declaración Tipo de da‐ Área de me‐ Descripción moria ATTACHMENT Input VARIANT Anexo de correo electrónico (opcional) Referencia a un campo de carácter, byte, palabra, palabra doble o cadena (Arra‐ yOfChar, ArrayOfByte, ArrayOfWord, ArrayOfDWord, or String) de una longi‐ tud máxima de 64 KB.
  • Página 687: Parámetros Opcionales

    Comunicación 11.5 PROFINET Parámetro Declaración Tipo de da‐ Área de me‐ Descripción moria BUSY (Pági‐ Output BOOL I, Q, M, D, L Parámetro de estado na 697) • BUSY= 0: Se ha detenido el procesa‐ miento de TMAIL_C. • BUSY = 1: la transmisión de correo electrónico no ha finalizado aún.
  • Página 688: Tmail_V4: Direccionar El Servidor De Correo Con Dirección Ip (Ipv4)

    Comunicación 11.5 PROFINET TMail_V4: Direccionar el servidor de correo con dirección IP (IPv4) Parámetro Tipo de datos Descripción TMail_v4 Struct InterfaceId LADDR Identificador de hardware de la interfaz Ethernet CONN_OUC ID de conexión ConnectionType BYTE Tipo de conexión. Seleccione 16#20 como tipo de conexión para IPv4.
  • Página 689: Tmail_V6: Direccionar El Servidor De Correo Con Dirección Ip A Ipv6

    Comunicación 11.5 PROFINET TMail_V6: Direccionar el servidor de correo con dirección IP a IPv6 Parámetro Tipo de datos Descripción TMail_V6 Struct InterfaceId LADDR Identificador de hardware de la interfaz CONN_OUC ID de conexión ConnectionType BYTE Tipo de conexión. Seleccione 16#21 como tipo de conexión para IPv6.
  • Página 690 Comunicación 11.5 PROFINET TMail_FQDN : Direccionar el servidor de correo con FQDN Parámetro Tipo de datos Descripción TMail_FQDN Struct InterfaceId LADDR Identificador de hardware de la interfaz Ethernet CONN_OUC ID de conexión ConnectionType BYTE Tipo de conexión. Seleccione 16#22 como tipo de conexión para FQDN.
  • Página 691: Tmail_V4_Sec: Direccionar El Servidor De Correo Con Dirección Ip (Ipv4)

    Comunicación 11.5 PROFINET TMail_V4_SEC: Direccionar el servidor de correo con dirección IP (IPv4) Parámetro Tipo de datos Descripción TMail_V4_SEC Struct InterfaceId LADDR Identificador de hardware de la interfaz Ethernet. Rango de valores: • 0 (nuevo): el sistema operativo selecciona un puerto in‐ tegrado adecuado por cuenta propia.
  • Página 692 Comunicación 11.5 PROFINET Parámetro Tipo de datos Descripción LocalPartPlusAt‐ STRING[64] Parte local de la dirección del remitente, incluido el signo @. Sign Ejemplo: "myname@" FullQualifiedDo‐ STRING[254] Fully Qualified Domain Name (abreviado FQDN) del servidor mainName de correo. Ejemplo: "mymailserver.com" RemotePort UINT Puerto TCP del servidor de correo ActivateSecureConn...
  • Página 693 Comunicación 11.5 PROFINET TMail_V6_SEC: Direccionamiento del servidor de correo electrónico a través de la dirección IP en formato IPv6 Parámetro Tipo de datos Descripción TMail_V6_SEC Struct InterfaceId LADDR Identificador de hardware de la interfaz Et‐ hernet CONN_OUC ID de conexión ConnectionType BYTE Tipo de conexión.
  • Página 694 Comunicación 11.5 PROFINET Parámetro Tipo de datos Descripción FullQualifiedDomainName STRING[254] Fully Qualified Domain Name (abreviado co‐ mo FQDN) del servidor de correo. Ejemplo: "mymailserver.com" RemotePort UINT Puerto TCP del servidor de correo ActivateSecureConn BOOL 0: conexión SMTP (no segura). En este caso, los parámetros siguientes son irrelevantes.
  • Página 695 Comunicación 11.5 PROFINET TMail_QDN_SEC: Direccionar el servidor de correo con FQDN Parámetro Tipo de datos Descripción TMail_QDN_SEC Struct Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 696 Comunicación 11.5 PROFINET Parámetro Tipo de datos Descripción InterfaceId LADDR Identificador de hardware de la interfaz Ethernet. Rango de valores: • 0 (nuevo): el sistema operativo selecciona un puerto in‐ tegrado adecuado por cuenta propia. • Identificador de hardware del puerto integrado que se uti‐ lizará.
  • Página 697 Comunicación 11.5 PROFINET Parámetro Tipo de datos Descripción LocalPartPlusAt‐ STRING[64] Parte local de la dirección del emisor, incluido el símbolo @. Sign Ejemplo: "myname@" FullQualifiedDo‐ STRING[254] Fully Qualified Domain Name (abreviado FQDN) del servidor mainName de correo. Ejemplo: "mymailserver.com" RemotePort UINT Puerto TCP del servidor de correo ActivateSecureConn...
  • Página 698: Enviar Registros De Datos, Recetas Y Archivos De Usuario Mediante Anexos De Correo Electrónico

    Comunicación 11.5 PROFINET En la tabla siguiente se muestra la relación entre los parámetros DONE, BUSY y ERROR. Con esta tabla es posible determinar el estado actual de la instrucción TMAIL_C y saber cuándo ha finalizado el envío del correo electrónico. DONE BUSY ERROR...
  • Página 699: Reglas De Direccionamiento De Archivos

    Comunicación 11.5 PROFINET La instrucción TMAIL_C le restringe a los directorios DataLogs, Recipes o UserFiles al direccionar el parámetro DirectoryPath. También es posible direccionar subdirectorios dentro de estos directorios. Más allá de la restricción anterior del directorio básico, la sección de reglas de direccionamiento de archivos prescribe las reglas que deben respetarse para direccionar los subdirectorios y los nombres de archivo.
  • Página 700 Comunicación 11.5 PROFINET DirectoryPath Recuerde esto al introducir el directorio deseado en el parámetro DirectoryPath del SDT. El directorio raíz es deducido por la lógica de firmware del PLC y el usuario no tiene que conocerlo. Opcionalmente es posible introducir una barra inclinada al principio y al final (/). Si el usuario no introduce las barras, el firmware las agregará...
  • Página 701: Códigos De Condición De Error

    Comunicación 11.5 PROFINET Códigos de condición de error Parámetro STATUS En la tabla siguiente se muestran los valores de retorno de TMAIL_C en el parámetro STATUS: Valor de re‐ Explicación Notas torno STATUS* (W#16#...): 0000 El procesamiento de TMAIL_C ha finali‐ La finalización de TMAIL_C sin errores no signifi‐...
  • Página 702 Comunicación 11.5 PROFINET Valor de re‐ Explicación Notas torno STATUS* (W#16#...): 8013 Error durante el establecimiento de co‐ Encontrará más información sobre la evaluación nexión en el parámetro SFB_STATUS del bloque de da‐ tos de instancia. El código de error que se mues‐ tra en el parámetro SFB_STATUS se explica en la descripción del parámetro STATUS para las ins‐...
  • Página 703 Comunicación 11.5 PROFINET Valor de re‐ Explicación Notas torno STATUS* (W#16#...): 8500 Error de sintaxis: error no reconocido. Compruebe los parámetros de TMAIL_C. Intente También incluye el error cuando una enviar un correo electrónico sin autenticación. cadena de comandos es demasiado lar‐ Para ello, sustituya el contenido del parámetro ga.
  • Página 704 Comunicación 11.5 PROFINET Valores de retorno en el parámetro Explicación SFB_STATUS de la instancia DB (W#16#...) 808A * DirectoryPath contiene un directorio distinto de DataLogs, Reci‐ pes o UserFiles, o bien uno de los subdirectorios direccionados infringe las reglas de direccionamiento mencionadas anterior‐ mente.
  • Página 705 Comunicación 11.5 PROFINET Valores de retorno en el parámetro Explicación SFB_STATUS de la instancia DB (W#16#...) 80C9 Error al validar el interlocutor de la conexión. El servidor de co‐ rreo no se corresponde con el interlocutor definido en el pará‐ metro MailServerAddress.
  • Página 706: Udp

    Comunicación 11.5 PROFINET Valores de retorno en el parámetro Explicación SFB_STATUS de la instancia DB (W#16#...) 80E6 Errores de integridad en el protocolo de seguridad para la capa de transporte 80E7 Extensión no soportada en el certificado del servidor de correo 80E9 No se soporta el servidor TLS sin certificado de servidor * Estos códigos de error se agregan a la instrucción TMAIL_C con el fin de ayudar a diagnosticar un...
  • Página 707 Comunicación 11.5 PROFINET Consulte TCON, TDISCON, TSEND y TRCV (Página 652) en la sección "TCP e ISO on TCP" para obtener más información sobre las instrucciones de comunicación TCON y TDISCON. Tabla 11-47 Instrucciones TUSEND y TURCV KOP / FUP Descripción La instrucción TUSEND envía datos a través de UDP al "TUSEND_DB"(...
  • Página 708 Comunicación 11.5 PROFINET Parámetro y tipo Tipo de datos Descripción DONE Bool Parámetro de estado DONE (TUSEND): (TUSEND) • 0: Tarea no iniciada aún o en proceso. • 1: Tarea finalizada sin errores. Bool Parámetro de estado NDR (TURCV): (TURCV) •...
  • Página 709 Comunicación 11.5 PROFINET BUSY DONE / NDR ERROR Descripción FALSE FALSE TRUE La tarea se ha finalizado con un error. La causa del error se indica en el parámetro STATUS. FALSE FALSE FALSE A la instrucción no se le ha asignado una tarea (nueva). Debido al funcionamiento asíncrono de las instrucciones: Para TUSEND, es preciso conservar la coherencia de los datos en el área de emisión hasta que el parámetro DONE o ERROR adopta el valor TRUE.
  • Página 710: Operaciones

    Comunicación 11.5 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 ope‐ rativo no se puede establecer en estos momentos (TUSEND).
  • Página 711 Comunicación 11.5 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.
  • Página 712: T_Config

    Comunicación 11.5 PROFINET 11.5.8.19 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 713 Comunicación 11.5 PROFINET Tabla 11-51 Instrucción T_CONFIG KOP / FUP Descripción "T_CONFIG_DB"( La instrucción T_CONFIG se puede usar para modifi‐ car los parámetros de configuración de IP desde el Req:=_bool_in_, Interface:=_uint_in_, programa de usuario. Conf_Data:=_variant_in_, T_CONFIG funciona de forma asíncrona. La ejecu‐ Done=>_bool_out_, ción abarca varias llamadas.
  • Página 714 Comunicación 11.5 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 715 Comunicación 11.5 PROFINET STATUS* ERR_LOC* Explicación 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. • Con IF_CONF_V4 y IF_CONF_NOS solo se permiten los valores "1" (permanente) o "2" (tem‐ poral).
  • Página 716 Comunicación 11.5 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 n ③...
  • Página 717 Comunicación 11.5 PROFINET Tabla 11-54 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 718 Comunicación 11.5 PROFINET • El nombre de la estación no debe comenzar ni terminar con el carácter especial "-". • El nombre de la estación no debe comenzar con un número. • Para el nombre de la estación no está permitido el formato n.n.n.n (n = 0, ... 999). •...
  • Página 719: Ejemplo: Utilizar La Instrucción T_Config Para Cambiar Parámetros Ip

    Comunicación 11.5 PROFINET 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" (dirección IP), la "SubnetMask", y el "DefaultRouter" (router IP). En la página "Dirección Ethernet" de las "Propiedades" de la CPU hay que seleccionar el botón de opción "Permitir ajustar la dirección IP directamente en el dispositivo"...
  • Página 720 Comunicación 11.5 PROFINET Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 721: Ejemplo: Utilizar La Instrucción T_Config Para Cambiar Los Parámetros Ip Y Los Nombres De Dispositivo Profinet Io

    Comunicación 11.5 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 722: Ejemplo: Uso De La Instrucción T_Config Para Cambiar Las Direcciones Ip En Los Servidores Ntp

    Comunicación 11.5 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"...
  • Página 723: Parámetros Comunes Para Instrucciones

    Comunicación 11.5 PROFINET 11.5.8.20 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" (TRUE) durante una ejecución de la instrucción, aunque puede permanecer TRUE durante un tiempo cualquiera.
  • Página 724: Tsap Y Números De Puerto Restringidos Para La Comunicación Iso Y Tcp Pasiva

    Comunicación 11.5 PROFINET Parámetro Tipo de datos Valor predeter‐ Descripción minado BUSY Bool FALSE Si adopta el estado lógico TRUE mientras está activo indica que: • La tarea no ha finalizado aún. • No se puede iniciar una tarea nueva. Adopta el estado lógico FALSE cuando la tarea ha finalizado.
  • Página 725: Establecer La Conexión De Hardware

    Comunicación 11.5 PROFINET Al configurar la comunicación entre una CPU y una programadora debe considerarse lo siguiente: • Configuración/instalación: Es preciso configurar el hardware. • Para la comunicación entre dos interlocutores no se requiere un switch Ethernet. Un switch Ethernet se requiere sólo si la red comprende más de dos dispositivos. 11.5.9.1 Establecer la conexión de hardware Las interfaces PROFINET establecen las conexiones físicas entre una programadora y una CPU.
  • Página 726: Asignar Direcciones Ip (Internet Protocol)

    Comunicación 11.5 PROFINET 11.5.9.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 727: Comunicación Entre Dispositivos Hmi Y El Plc

    Comunicación 11.5 PROFINET 11.5.10 Comunicación entre dispositivos HMI y el PLC La CPU admite conexiones de comunicación PROFINET con dispositivos HMI (Página 32). 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.
  • Página 728: Configurar Las Conexiones De Red Lógicas Entre Dos Dispositivos

    Comunicación 11.5 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".
  • Página 729: Configurar Las Conexiones De Red Lógicas Entre Dos Dispositivos

    Comunicación 11.5 PROFINET Tabla 11-59 Pasos necesarios para configurar la comunicación entre dos CPUs Paso Tarea Establecer la conexión de hardware Una interfaz PROFINET establece la conexión física entre dos CPUs. Puesto que la función "auto-crossover" está integrada en la CPU, es posible utilizar un cable Ethernet estándar o cruzado ("crossover") para la interfaz. Para conectar dos CPUs no se requiere un switch Ethernet.
  • Página 730: Configurar La Vía De Conexión Local/Interlocutor Entre Dos Dispositivos

    Comunicación 11.5 PROFINET 11.5.11.2 Configurar la vía de conexión local/interlocutor entre dos dispositivos Configurar los parámetros generales Los parámetros de comunicación se especifican en el cuadro de diálogo de configuración "Propiedades" de la instrucción de comunicación. Este diálogo aparece en el lado inferior de la página cuando se ha seleccionado alguna parte de la instrucción.
  • Página 731: Configurar Los Parámetros De Recepción De La Instrucción Trcv_C

    Comunicación 11.5 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.
  • Página 732 Comunicación 11.5 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 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.
  • Página 733: Configurar Una Cpu Y Un Dispositivo Profinet Io

    Comunicación 11.5 PROFINET 11.5.12 Configurar una CPU y un dispositivo PROFINET IO 11.5.12.1 Agregar un dispositivo PROFINET IO Agregar un dispositivo PROFINET IO En el portal "Dispositivos y redes", utilice el catálogo de hardware para agregar dispositivos PROFINET IO. Nota Para agregar un dispositivo PROFINET IO se puede utilizar STEP 7 Professional o Basic V11 o superior.
  • Página 734: Asignar Cpus Y Nombres De Dispositivo

    Comunicación 11.5 PROFINET 11.5.12.2 Asignar CPUs y nombres de dispositivo Asignar CPUs y nombres de dispositivo Las conexiones de red entre los dispositivos también asignan el dispositivo PROFINET IO a la CPU, algo necesario para que la CPU pueda controlar dicho dispositivo. Para modificar la asignación, haga clic en el nombre del PLC que se muestra en el dispositivo PROFINET IO.
  • Página 735: Configurar El Tiempo De Ciclo Io

    Comunicación 11.5 PROFINET 11.5.12.4 Configurar el tiempo de ciclo IO Configurar el tiempo de ciclo IO Un dispositivo PROFINET IO recibe datos nuevos de la CPU dentro de un intervalo de tiempo "Ciclo IO". El tiempo de actualización puede configurarse por separado para cada dispositivo y determina el intervalo de tiempo en el que los datos se transmiten de la CPU al dispositivo y viceversa.
  • Página 736: Configurar Una Cpu Y Un I-Device Profinet

    Comunicación 11.5 PROFINET ① Puerto PROFINET 11.5.13 Configurar una CPU y un I-device PROFINET 11.5.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.
  • Página 737: Propiedades Y Ventajas Del I-Device

    Comunicación 11.5 PROFINET 11.5.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.
  • Página 738: I-Device Sin Sistema Profinet Io Subordinado

    Comunicación 11.5 PROFINET 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). 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.
  • Página 739 Comunicación 11.5 PROFINET Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 740: Ejemplo: I-Device Como Dispositivo Io Y Controlador Io

    Comunicación 11.5 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 741 Comunicación 11.5 PROFINET El sistema puede configurarse de forma que se evite esta condición en el caso general de un I- device (I-device no compartido). Para ello, borre las áreas de transferencia de entrada del I- device en un "OB de fallo de rack o estación" para un evento entrante. Proceda del siguiente modo: 1.
  • Página 742: Flujo De Intercambio De Datos

    Comunicación 11.5 PROFINET Flujo de intercambio de datos En la siguiente figura se muestra el intercambio de datos entre el sistema de nivel superior y el subordinado. Las relaciones de comunicación individuales se explican a continuación en función de los números: ①...
  • Página 743: Configuración Del I-Device

    Comunicación 11.5 PROFINET ③ Relación de transferencia entre el programa de usuario y el área de transferencia De este modo, el programa de usuario y el área de transferencia intercambian datos de entrada y de salida. ④ 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.
  • Página 744 Comunicación 11.5 PROFINET 5. Ahora tiene la opción de elegir el controlador IO en la lista desplegable "Controlador IO asignado". Una vez que haya elegido el controlador IO, el sistema de conexión en red e IO entre los dos dispositivos se mostrará en la vista de red. 6.
  • Página 745: Configuración De Un I-Device Con Un Archivo Gsd

    Comunicación 11.5 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. Configuración de un I-device con un archivo GSD Si utiliza un I-device en otro proyecto o si el I-device se utiliza en otro sistema de ingeniería, configure el controlador IO de nivel superior y el I-device como se ha descrito más arriba.
  • Página 746: Requisitos (Configuración Gsd)

    Comunicación 11.5 PROFINET ① PROFINET ② Asignación lógica Principio El acceso a los submódulos del Shared Device se divide entre los diferentes controladores IO. Cada submódulo del Shared Device está asignado a un solo controlador IO. Requisitos (configuración GSD) • STEP 7 V12 Service Pack 1 o superior •...
  • Página 747: Configurar El Acceso

    Comunicación 11.5 PROFINET Configurar el acceso El dispositivo IO debe estar presente en varios proyectos para que los módulos o submódulos de un dispositivo IO puedan asignarse a diferentes controladores IO. Se necesita un proyecto separado para cada controlador IO. El parámetro "Shared Device"...
  • Página 748: Reglas De Configuración

    Comunicación 11.5 PROFINET Reglas de configuración • Los controladores IO que utilizan el Shared Device se crean en proyectos distintos. En cada proyecto hay que asegurarse de que el Shared Device se configure por igual en cada estación. Solo un controlador IO puede tener acceso completo a un submódulo a la vez. Las incoherencias en la configuración provocan fallos en el Shared Device.
  • Página 749: Requisitos

    Comunicación 11.5 PROFINET se basa en STEP 7 a partir de V13 SP1 y se limita a la configuración con dos controladores IO de la serie S7-1200 que comparten un Shared Device. En el ejemplo se crean dos proyectos con un controlador IO en cada uno: •...
  • Página 750: Procedimiento: Configuración Del Acceso Al Shared Device

    Comunicación 11.5 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.
  • Página 751 Comunicación 11.5 PROFINET 3. Deje el ajuste "Controlador1" en todos los módulos y submódulos que deben permanecer en el rango de direcciones de la CPU local. Seleccione el ajuste "---" en todos los módulos y submódulos que deben encontrarse en el rango de direcciones de la CPU del proyecto "Controlador2"...
  • Página 752: Procedimiento: Adaptación De Los Ajustes De Tiempo Real

    Comunicación 11.5 PROFINET 7. Finalmente, compruebe que los ajustes de acceso sean "complementarios" para cada módulo o submódulo de los dos proyectos. Esto significa que si la CPU local tiene acceso a un proyecto, la opción "---" debe estar ajustada en el otro proyecto y viceversa. Nota: la opción "---"...
  • Página 753: Compilación Y Carga

    Comunicación 11.5 PROFINET Nota Si se configuran todos los controladores IO que tienen acceso al Shared Device en STEP 7 (TIA Portal), es posible ajustar tiempos de ciclo de emisión más cortos en el controlador IO que los que soporta el Shared Device (adaptación del tiempo de ciclo de emisión). Compilación y carga Hay que compilar las configuraciones de los diferentes controladores IO y cargarlas seguidamente en las CPUs una tras otra.
  • Página 754: Concepto De Shared I-Device

    Comunicación 11.5 PROFINET Concepto de Shared I-device El concepto de Shared I-device requiere como mínimo tres proyectos separados: • Proyecto I-device: se configura y programa un I-device para llevar a cabo una tarea de automatización concreta. Las áreas de transferencia se definen como interfaz E/S para los controladores de nivel superior y se asignan a diferentes controladores IO.
  • Página 755: Procedimiento: Creación Del Proyecto I-Device S7

    Comunicación 11.5 PROFINET En cada uno de los proyectos se asignan áreas de transferencia únicamente a los controladores IO de nivel superior (ajuste predeterminado: todos). Las demás áreas de transferencia se ponen a "---" (no asignadas). De este modo, el controlador IO local no puede acceder a esta área de transferencia, de modo que puede asignarse a otro controlador IO de otro proyecto.
  • Página 756 Comunicación 11.5 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".
  • Página 757: Procedimiento: Creación Del Proyecto Controlador1

    "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 758 Comunicación 11.5 PROFINET 6. Asigne el controlador IO "Controlador1" al I-device. Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 759 Comunicación 11.5 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. Seleccione la entrada "---"...
  • Página 760: Procedimiento: Creación Del Proyecto Controlador2

    Comunicación 11.5 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.
  • Página 761 Comunicación 11.5 PROFINET 3. Deje el ajuste "Controlador1" en todas las áreas de transferencia que deben permanecer en el rango de direcciones de la CPU local. Seleccione el ajuste "---" en todas las áreas de transferencia que deben encontrarse en el rango de direcciones de la CPU "Controlador2"...
  • Página 762: Compilación Y Descarga

    Comunicación 11.5 PROFINET • Si se configura el controlador IO con STEP 7 (TIA Portal), proceda del siguiente modo: – Abra el proyecto correspondiente. – Seleccione la interfaz PROFINET del controlador IO. – Seleccione el área "Opciones avanzadas > Configuración en tiempo real > Comunicación IO"...
  • Página 763 Comunicación 11.5 PROFINET En calidad de "Administrador", la 1215/1217 debe enviar paquetes MRP por la red, detectar puertos abiertos en el anillo, administrar puertos bloqueados y negociar estados de administrador con otros posibles administradores. La familia de CPU S7-1200 tiene tres modelos (consulte más arriba) que soportan el protocolo MRP y los parámetros de configuración que se utilizan para inicializar la operación de cliente y administrador MRP.
  • Página 764: Consulte También

    Comunicación 11.5 PROFINET dispositivo. La especificación MRP permite un máximo de 50 dispositivos en una configuración en anillo. MRP Manager El administrador MRP permite al PLC S7-1200 actuar como administrador de redundancia. Si se ha configurado para esta función, S7-1200 utiliza frames de prueba para comunicarse con los PLC cliente y garantizar que la conexión no se interrumpe dentro del anillo.
  • Página 765: Redundancia De Medios Con Topologías En Anillo

    Comunicación 11.5 PROFINET 11.5.15.1 Redundancia de medios con topologías en anillo Con el fin de aumentar la disponibilidad de una red Industrial Ethernet con topologías de bus lineal ópticas o eléctricas, existe la posibilidad de convertir una topología de bus lineal en una topología en anillo uniendo los extremos.
  • Página 766: Método De Redundancia De Medios

    Comunicación 11.5 PROFINET prueba desde el puerto en anillo 1 y el puerto en anillo 2. Los frames de prueba circulan por el anillo en ambos sentidos hasta que llegan al otro puerto en anillo del administrador MRP. El anillo puede interrumpirse por la pérdida de la conexión entre dos dispositivos o por el fallo de un dispositivo del anillo.
  • Página 767 Comunicación 11.5 PROFINET Topología El esquema siguiente muestra una posible topología para dispositivos de un anillo con MRP. Los dispositivos que están dentro del óvalo ensombrecido están en el dominio de redundancia. Este es un ejemplo de una topología en anillo con MRP: Las reglas siguientes rigen para una topología en anillo con redundancia de medios que utiliza MRP: •...
  • Página 768: Tiempo De Supervisión De Respuesta

    Comunicación 11.5 PROFINET Condiciones límite Existen las siguientes posibilidades de comunicación: • MRP y RT: RT puede utilizarse junto con MRP. Nota La comunicación RT se interrumpe (fallo de estación) si el tiempo de reconfiguración del anillo es mayor que el tiempo de supervisión de respuesta seleccionado para el dispositivo IO.
  • Página 769: Configurar La Redundancia De Medios

    Comunicación 11.5 PROFINET 11.5.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 770 Comunicación 11.5 PROFINET 3. En la ventana de inspección, navegue hasta "Interfaz PROFINET [X1]" > "Opciones avanzadas" > "Redundancia de medios". 4. En "Función de redundancia de medios", asigne la función "Manager (Auto)", "Cliente", o "No es estación del anillo" al dispositivo. Cuando se configura un anillo en la vista topológica de TIA Portal, TIA Portal se encarga automáticamente de asignar la función de redundancia de medios.
  • Página 771 Comunicación 11.5 PROFINET 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". Opción de ajuste "Redundancia de medios": función MRP Según sea el dispositivo utilizado están disponibles las funciones "Manager", "Manager (Auto)", "Cliente"...
  • Página 772: Alarmas De Diagnóstico

    Comunicación 11.5 PROFINET 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. El cuadro de la lista desplegable muestra la selección de puertos posibles para cada tipo de dispositivo.
  • Página 773: Routing S7 Entre Interfaces De Cpu Y 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. El CP 1243-1 (https://support.industry.siemens.com/cs/es/es/view/584459) se utiliza como ejemplo de...
  • Página 774: Routing S7 Entre Dos Interfaces De Cp

    Comunicación 11.5 PROFINET 11.5.16.2 Routing S7 entre dos interfaces de CP Puesto que las CPU S7-1200 soportan un máximo de tres módulos CP, estos tres módulos pueden conectarse a diferentes subredes S7. Cuando se instalan al menos dos módulos CP en la base local de la CPU y se conectan a diferentes subredes S7, es posible utilizar el routing.
  • Página 775: Desactivar Snmp

    Comunicación 11.5 PROFINET Si se desactiva SNMP para un dispositivo, algunas opciones de diagnóstico de la topología de red dejarán de estar disponibles (p. ej. el uso de la herramienta PRONETA o el servidor web de la CPU). 11.5.17.1 Desactivar SNMP Desactivar SNMP Siga estos pasos para desactivar SNMP en la CPU S7-1200: 1.
  • Página 776 Comunicación 11.5 PROFINET 4. Haga clic en el botón "Aceptar". Aparece un aviso indicando que debe volver a compilarse el programa. Compile el programa ahora. 5. En la interfaz de bloque del DB clásico, cree las siguientes variables estáticas con los valores mostrados.
  • Página 777: Diagnóstico

    1242-5. El módulo CM 1242-5 (esclavo DP) puede ser el interlocutor de maestros DP V0/V1. Si desea configurar el módulo en un sistema de otro fabricante, hay un archivo GSD disponible para el CM 1242‑5 (esclavo DP) en el CD suministrado con el módulo y en las páginas del Siemens Controlador programable S7-1200...
  • Página 778 Comunicación 11.6 PROFIBUS Automation Customer Support (https://support.industry.siemens.com/cs/ww/es/ps/ 6GK7242-5DX30-0XE0) de Internet. En la figura inferior el S7-1200 es un esclavo DP de un controlador S7-300: El S7-1200 se conecta a una red PROFIBUS como maestro DP con el módulo de comunicación CM 1243-5.
  • Página 779: Servicios De Comunicaciones De Cm Profibus

    Nota Siempre debe actualizarse el firmware del CM PROFIBUS a la última versión disponible (http:// support.automation.siemens.com/WW/view/es/42131407). Es posible actualizar el firmware utilizando cualquiera de los métodos siguientes: • Las herramientas online y de diagnóstico de STEP 7 (Página 1204) • Una SIMATIC Memory Card (Página 132) •...
  • Página 780: Otros Servicios De Comunicaciones Del Cm

    Más información Puede encontrar información detallada sobre los CM PROFIBUS en los manuales de los dispositivos. Puede encontrarlos en Internet en las páginas de Customer Support de Siemens Industrial Automation con las ID de entrada siguientes: • CM 1242‑5 (https://support.industry.siemens.com/cs/ww/es/ps/15667) •...
  • Página 781: Configurar Un Maestro Dp Y Un Dispositivo Esclavo

    Comunicación 11.6 PROFIBUS 11.6.3 Configurar un maestro DP y un dispositivo esclavo 11.6.3.1 Agregar el módulo CM 1243-5 (maestro DP) y un esclavo DP En el portal "Dispositivos y redes", utilice el catálogo de hardware para agregar módulos PROFIBUS a la CPU. Estos módulos se conectan a la izquierda de la CPU. Para insertar un módulo en la configuración de hardware, selecciónelo en el catálogo de hardware y haga doble clic en él, o bien arrástrelo hasta el slot resaltado.
  • Página 782: Asignar Direcciones Profibus Al Módulo Cm 1243-5 Y Al Esclavo Dp

    • Dirección 0: Reservada para la configuración de red y/o herramientas de programación asignadas al bus • Dirección 1: Reservada por Siemens para el primer maestro • Dirección 126: Reservada para dispositivos de fábrica que no disponen de un ajuste por interruptor y deben ser predireccionados a través de la red...
  • Página 783: Instrucciones E/S Descentralizadas

    Comunicación 11.6 PROFIBUS Tabla 11-65 Parámetros de la dirección PROFIBUS Parámetro Descripción Subred Nombre de la subred a la que está conectada el dispositivo. Haga clic en el botón "Agregar nueva subred" para crear una subred nueva. La opción predeterminada es "No conectado". Son posibles dos tipos de conexión: •...
  • Página 784: Eventos De Diagnóstico De E/S Descentralizadas

    Comunicación 11.7 AS-i 11.6.6 Eventos de diagnóstico de E/S descentralizadas Consulte "Diagnóstico (PROFINET o PROFIBUS)": "Eventos de diagnóstico de E/S descentralizadas" (Página 465) para obtener información sobre cómo utilizar esta información de diagnóstico con estas redes de comunicación. 11.7 AS-i El maestro AS-i CM 1243-2 del S7-1200 permite conectar una red AS-i a una CPU S7-1200.
  • Página 785: Configuración De Un Maestro As-I Y Un Dispositivo Esclavo

    El maestro AS-i CM 1243-2 está integrado en el sistema de automatización S7-1200 como módulo de comunicación. Encontrará información detallada sobre el maestro AS-i CM 1243-2 en el manual "Maestro AS-i CM 1243-2 y módulo de desacoplamiento de datos AS-i DCM 1271 para SIMATIC S7-1200" (https://support.industry.siemens.com/cs/ww/es/ps/15750/man). 11.7.1.1 Agregar el módulo maestro AS-i CM 1243-2 y esclavo AS-i...
  • Página 786: Configuración De Las Conexiones De Red Lógicas Entre Dos Dispositivos As-I

    Comunicación 11.7 AS-i Asimismo, utilice el catálogo de hardware para agregar esclavos AS-i. Por ejemplo, para agregar un esclavo "módulo E/S, compacto, digital, de entrada" en el catálogo de hardware, expanda las siguientes carpetas: • Dispositivos de campo • Esclavos ASInterface A continuación, seleccione "3RG9 001-0AA00"...
  • Página 787: Asignar Una Dirección As-I A Un Esclavo As-I

    Comunicación 11.7 AS-i Nota Las opciones "Alarma de diagnóstico en caso de error en la configuración AS‑i" y "Programación automática de direcciones" siempre están activas y, por consiguiente, aparecen en gris. 11.7.1.4 Asignar una dirección AS-i a un esclavo AS-i Configurar la interfaz AS-i del esclavo Para configurar los parámetros para la interfaz AS-i, haga clic en la casilla amarilla AS-i del esclavo AS-i;...
  • Página 788 Comunicación 11.7 AS-i ① Dirección de esclavo AS-i 1; dispositivo: AS-i SM-U, 4DI; referencia: 3RG9 001-0AA00 ② Dirección de esclavo AS-i 2A; dispositivo: AS-i 8WD44, 3DO, A/B; referencia: 8WD4 428-0BD ③ Dirección de esclavo AS-i 3; dispositivo: AS-i SM-U, 2DI/2DO; referencia: 3RG9 001-0AC00 Asigne aquí...
  • Página 789: Intercambio De Datos Entre El Programa De Usuario Y Los Esclavos As-I

    Comunicación 11.7 AS-i Tabla 11-69 Parámetros de la interfaz AS-i Parámetro Descripción Nombre de la red a la que está conectado el dispositivo Direcciones Dirección AS-i asignada para el dispositivo esclavo dentro del rango de 1(A o B) a 31(A o B) para un total de 62 dispositivos esclavos 11.7.2 Intercambio de datos entre el programa de usuario y los esclavos AS-i...
  • Página 790 "ES > DEBE". Más información Encontrará información detallada sobre el maestro AS-i CM 1243-2 en el manual "Maestro AS-i CM 1243-2 y módulo de desacoplamiento de datos AS-i DCM 1271 para SIMATIC S7-1200" (https://support.industry.siemens.com/cs/ww/es/ps/15750/man). Controlador programable S7-1200...
  • Página 791: Transferir Valores Digitales As-I

    Comunicación 11.7 AS-i 11.7.2.2 Configurar esclavos con STEP 7 Transferir valores digitales AS-i La CPU accede a las entradas y salidas digitales de los esclavos AS-i a través del maestro AS-i CM 1243-2 durante el funcionamiento cíclico. Accede a los datos utilizando las direcciones E/S o bien mediante una transferencia de registros.
  • Página 792: Transferir Valores Analógicos As-I

    Comunicación 11.7 AS-i El módulo de entradas digitales (AS-i SM-U, 4DI) en la red AS-i anterior ha recibido la dirección de E/S 2. Al hacer clic en el módulo de entradas digitales, la ficha "Direcciones de E/S" de "Propiedades" muestra la dirección de E/S, como se muestra a continuación: Para acceder a los datos de los esclavos AS-i en el programa de usuario, se utilizan las direcciones E/S con las operaciones de lógica binaria adecuadas (p.
  • Página 793: Instrucciones E/S Descentralizadas

    "Asignación de sistema" (Página 789) ("ES -> DEBE") se sobrescribirá. Más información Encontrará información detallada sobre el maestro AS-i CM 1243-2 en el manual "Maestro AS-i CM 1243-2 y módulo de desacoplamiento de datos AS-i DCM 1271 para SIMATIC S7-1200" (http://support.automation.siemens.com/WW/view/en/50414115/133300). 11.7.3 Instrucciones E/S descentralizadas Consulte "E/S descentralizadas (PROFINET, PROFIBUS o AS-i)"...
  • Página 794: Modo De Protección

    Comunicación 11.7 AS-i Existen dos modos de operación AS-i: • Modo de protección: – No es posible modificar el dispositivo esclavo AS-i ni las direcciones E/S de la CPU. – El LED verde "CM" está apagado. • Modo de configuración: –...
  • Página 795: Error De Configuración

    Comunicación 11.8 Comunicación S7 como esclavo nuevo aunque no tenga asignada una dirección y no lo incluye en la comunicación normal hasta que no le sea asignada una dirección. Error de configuración Si el LED amarillo "CER" está encendido, existe un error en la configuración del dispositivo esclavo AS-i.
  • Página 796 Comunicación 11.8 Comunicación S7 Tabla 11-70 Instrucciones GET y PUT KOP / FUP Descripción "GET_DB"( Utilice la instrucción GET para leer datos desde una CPU S7 remota. La CPU remota req:=_bool_in_, ID:=_word_in_, puede estar tanto en modo RUN como STOP. ndr=>_bool_out_, error=>_bool_out_, STEP 7 crea automáticamente el DB al in‐...
  • Página 797 Comunicación 11.8 Comunicación S7 Parámetro y tipo Tipo de datos Descripción ERROR Output Bool • ERROR=0 Valor de STATUS: STATUS Output Word – 0000H: ni advertencia ni error – <> 0000H: Advertencia, STATUS suministra información de‐ tallada • ERROR=1 Existe un error. STATUS suministra información detallada sobre la naturaleza del error.
  • Página 798 Comunicación 11.8 Comunicación S7 Con un flanco ascendente del parámetro REQ, la operación de lectura (GET) o de escritura (PUT) carga los parámetros ID, ADDR_1, y RD_1 (GET) o SD_1 (PUT). • Para GET: La CPU remota devuelve los datos solicitados a las áreas de recepción (RD_x), comenzando por el siguiente ciclo.
  • Página 799: Crear Una Conexión S7

    Comunicación 11.8 Comunicación S7 11.8.2 Crear una conexión S7 Mecanismos de conexión Para acceder a interlocutores remotos con las instrucciones PUT/GET, el usuario también debe tener permiso. De forma predeterminada, 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 que necesiten configuración o programación tanto para la CPU local como para el interlocutor.
  • Página 800: Configurar La Vía De Conexión Local/Interlocutor Entre Dos Dispositivos

    Comunicación 11.8 Comunicación S7 11.8.3 Configurar la vía de conexión local/interlocutor entre dos dispositivos Configurar los parámetros generales Los parámetros de comunicación se especifican en el cuadro de diálogo de configuración "Propiedades" de la instrucción de comunicación. Este diálogo aparece en el lado inferior de la página cuando se ha seleccionado alguna parte de la instrucción.
  • Página 801: Parámetros De La Conexión

    Comunicación 11.8 Comunicación S7 La ventana de inspección muestra las propiedades de la conexión cuando se selecciona cualquier parte de la instrucción. Los parámetros de comunicación se configuran en la ficha "Configuración" de "Propiedades" de la instrucción de comunicación. Nota La operación GET/PUT del programa de la CPU V4.1 y superior no está...
  • Página 802: Definición

    Comunicación 11.8 Comunicación S7 Tabla 11-73 Parámetro de conexión: definiciones generales Parámetro Definición Parámetro de Punto final "Punto final local": nombre asignado a la CPU local conexión: Ge‐ "Punto final del interlocutor": nombre asignado a la CPU interlocutora (remota) neral Nota: en la lista desplegable "Punto final del interlocutor", el sistema ofrece todos los interlocutores S7 potenciales del proyecto actual además de la opción "no especificado".
  • Página 803: Parámetro De Nombre De Conexión

    Comunicación 11.8 Comunicación S7 Parámetro de nombre de conexión El nombre de la conexión se puede editar mediante un control de usuario especial, el cuadro de diálogo "Vista de conexiones". Este cuadro de diálogo ofrece todas las conexiones S7 disponibles que se pueden seleccionar como alternativa para la comunicación GET/PUT actual.
  • Página 804 Comunicación 11.8 Comunicación S7 Para la instrucción GET o PUT, la ficha "Propiedades" se muestra automáticamente en la ventana de inspección con las siguientes selecciones de menú: • "Configuración" • "Parámetros de la conexión" Configurar una conexión S7 PROFINET Para el "Punto final del interlocutor", seleccione "PLC_3". Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 805 Comunicación 11.8 Comunicación S7 El sistema reacciona con los cambios siguientes: Tabla 11-74 Parámetro de conexión: valores generales Parámetro Definición Parámetro de Punto final "Punto final local" contiene "PLC_1" de solo lectura. conexión: Ge‐ El campo "Punto final del interlocutor" contiene "PLC_3[CPU319-3PN/DP]": neral •...
  • Página 806 Comunicación 11.8 Comunicación S7 Conexión S7 PROFINET completada En la "Vista de redes" se muestra una conexión S7 bilateral en la tabla "Conexiones" entre "PLC_1" y "PLC_3". Configurar una conexión S7 PROFIBUS Para el "Punto final del interlocutor", seleccione "PLC_3". Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 807 Comunicación 11.8 Comunicación S7 El sistema reacciona con los cambios siguientes: Tabla 11-75 Parámetro de conexión: valores generales Parámetro Definición Parámetro de Punto final "Punto final local" contiene "PLC_1" de solo lectura. conexión: Ge‐ El campo "Punto final del interlocutor" contiene "PLC_3[CPU319-3PN/DP]": neral •...
  • Página 808: Conexión S7 Profibus Completada

    Comunicación 11.9 Qué hacer cuando no se puede acceder a la CPU a través de la dirección IP Conexión S7 PROFIBUS completada En la "Vista de redes" se muestra una conexión S7 unilateral en la tabla "Conexiones" entre "PLC_1" y "PLC_3". 11.9 Qué...
  • Página 809: Servidor Opc Ua

    Comunicación 11.10 Servidor OPC UA Asignación de una dirección IP de emergencia Se puede asignar una dirección IP de emergencia en las siguientes condiciones: • En la configuración de dispositivos de STEP 7 se ha seleccoinado "Ajustar dirección IP en el proyecto"...
  • Página 810: Activación Del Servidor Opc Ua

    Comunicación 11.10 Servidor OPC UA • En la ventana General, seleccione "OPC UA". – En la ventana OPC UA > Servidor se puede configurar lo siguiente: - Configuración general - Opciones - Seguridad - Diagnóstico 11.10.1.1 Activación del servidor OPC UA El servidor OPC UA está...
  • Página 811 Comunicación 11.10 Servidor OPC UA La respuesta del servidor en detalle: • Si se solicitan los valores de variables PLC, se obtienen los valores que eran actuales antes de que la CPU cambiara o fuera puesta a "STOP". • Si se escriben valores en el servidor OPC UA, el servidor OPC UA los acepta. No obstante, la CPU no procesa los valores porque el programa de usuario no se ejecuta en modo "STOP".
  • Página 812: Configuración Del Servidor Opc Ua

    Comunicación 11.10 Servidor OPC UA Ejemplos • Solo desea agregar otro bloque lógico al programa. Los bloques de datos, entradas, salidas, marcas, temporizadores o contadores no se ven afectados. Reacción durante la carga: un servidor OPC UA en funcionamiento no se interrumpe. •...
  • Página 813: Uso Del S7-1200 Como Servidor Opc Ua

    Comunicación 11.10 Servidor OPC UA porcentaje de carga por comunicación de la CPU deberá incrementarse. Esto depende de la carga impuesta por otras actividades de comunicación (por ejemplo, PROFINET). Tabla 11-76 Configuración del servidor OPC UA Configuración del servidor Mín. Máx.
  • Página 814 Comunicación 11.10 Servidor OPC UA Nota sobre los límites de configuración al usar las interfaces de servidor • Número de interfaces de servidor • Número de nodos OPC UA • Si ha implementado métodos: número de métodos de servidor o instancias de métodos de servidor Límites de configuración de las interfaces y métodos del servidor OPC UA La tabla siguiente indica los límites de configuración de las CPU S7-1200;...
  • Página 815: Seguridad Del Servidor Opc Ua

    Comunicación 11.10 Servidor OPC UA 11.10.2 Seguridad del servidor OPC UA La seguridad de servidor solo es uno de los métodos de seguridad utilizados para asegurar tecnología. Otros métodos utilizados para asegurar tecnología incluyen la seguridad TIAP y la seguridad de PLC. El servidor OPC UA requiere un certificado para activarse.
  • Página 816: Directivas De Seguridad Soportadas

    Comunicación 11.10 Servidor OPC UA Nota Límite de certificados en S7-1200 S7-1200 tiene un límite de certificados del sistema de 64. Todos los certificados se incluyen en este número (por ejemplo, certificados web, certificados OPC UA y certificados OUC). Si hay más de 64 certificados, TIA Portal muestra un error que indica que se ha excedido el número máximo de 64 certificados.
  • Página 817 Comunicación 11.10 Servidor OPC UA Tabla 11-77 Directivas de seguridad OPC UA soportadas por S7-1200 Directiva de seguridad ¿Activada por defecto? Sin seguridad Sí Basic128Rsa15 – firmar Basic128Rsa15 – firmar y cifrar Basic256 – firmar Basic256 – firmar y cifrar Basic256Sha256 –...
  • Página 818: Clientes De Confianza

    Comunicación 11.10 Servidor OPC UA 11.10.2.2 Clientes de confianza El servidor OPC UA puede configurarse para permitir únicamente conexiones de clientes de confianza. En el ajuste predeterminado, el servidor está configurado para aceptar automáticamente certificados de cliente. El usuario define la lista de clientes de confianza, que se identifican por sus certificados. Si está seleccionado, solo los clientes que presentan certificados de confianza en tiempo de ejecución tienen permiso para conectarse a un servidor.
  • Página 819 Comunicación 11.10 Servidor OPC UA Si la autenticación de huéspedes está desactivada, solo se permite conectar a clientes que proporcionan un nombre de usuario y una contraseña definidos previamente. Los usuarios válidos para el servidor OPC UA se definen de dos formas: •...
  • Página 820: Interfaz De Servidor Opc Ua

    Comunicación 11.10 Servidor OPC UA 11.10.3 Interfaz de servidor OPC UA El servidor OPC UA de S7‑1200 soporta la interfaz de servidor SIMATIC estándar. Sin embargo, no soporta la "publicación" automática de variables de CPU y DB con esta selección. En su lugar deben definirse la estructura y el contenido de la interfaz de servidor en TIA Portal y, seguidamente, descargarse al PLC.
  • Página 821: Representación Del Plc

    Comunicación 11.10 Servidor OPC UA Recuerde que esta lista representa los tipos de nodos básicos soportados. No es una lista completa de los tipos de nodos soportados, pues muchos tipos de datos SIMATIC se basan en los tipos de nodos básicos. Todos los tipos de datos SIMATIC que se basen en un tipo de nodo básico también serán tipos de nodos soportados.
  • Página 822 Comunicación 11.10 Servidor OPC UA Atributo Valor ComponentOf the DeviceSet Object OrganizedBy the Objects folder HasTypeDefinition ObjectType SimaticDeviceType Derivado del tipo de dispositivo HasProperty Variable DeviceManual HasProperty Variable DeviceRevision HasProperty Variable EngineeringRevision HasProperty Variable HardwareRevision HasProperty Variable Icon HasProperty Variable Manufacturer HasProperty Variable...
  • Página 823: Interfaces De Servidor Descargables

    Comunicación 11.10 Servidor OPC UA 11.10.3.3 Interfaces de servidor descargables Los componentes de la interfaz de servidor OPC UA se crean y editan en TIA Portal. Las interfaces de servidor OPC UA se definen de dos formas: • Archivos XML creados externamente con la especificación Companion (conocidos como especificaciones Companion) •...
  • Página 824: Licencias De Runtime Necesarias

    Comunicación 11.10 Servidor OPC UA Licencias de runtime necesarias Se requiere una licencia de runtime para ejecutar el servidor OPC UA para la CPU S7-1200. Están disponibles las licencias siguientes: • SIMATIC OPC UA S7-1200 Basic DVD 6ES7823-0BA00-2BA0 • SIMATIC OPC UA S7-1200 Basic DL 6ES7823-0BE00-2BA0 El tipo de licencia necesario se indica en "Propiedades >...
  • Página 825: Búfer De Diagnóstico Opc Ua

    Comunicación 11.10 Servidor OPC UA 11.10.4 Búfer de diagnóstico OPC UA Con S7-1200 V4.5, el servidor OPC UA permite generar eventos para un componente que administre todos los avisos de diagnóstico de OPC UA y los incorpore al búfer de diagnóstico de la CPU S7-1200.
  • Página 826: Límites De Opc Ua Alcanzados

    Comunicación 11.10 Servidor OPC UA Todos los tipos de aviso de esta categoría soportan el mecanismo de recopilación. Significado de las casillas de verificación: • "Error en las comprobaciones de seguridad" incluye el tipo de aviso: "Error en las comprobaciones de seguridad del servidor OPC UA." •...
  • Página 827: La Solicitud De Mantenimiento Preventivo Supera Un Límite Configurado O Un Límite Del Sistema

    Comunicación 11.10 Servidor OPC UA Servidor OPC UA: se ha excedido el límite para <Nombre del límite>. Existen textos predefinidos para los siguientes límites: • Número de sesiones • Número de elementos vigilados • Número de subscripciones • Número de nodos registrados •...
  • Página 828: Lectura Remota Del Búfer De Diagnóstico En Opc Ua

    Comunicación 11.10 Servidor OPC UA Acción del usuario Comportamiento previsto Límite El cliente lanza una res‐ En el búfer de diagnóstico se agrega un avi‐ Consumo de memoria puesta BadOutOfMemory so de diagnóstico con el límite de <Límite>. del servidor con un número elevado de sesiones, subs‐...
  • Página 829: Eventos De Seguridad Opc Ua

    Comunicación 11.10 Servidor OPC UA Configure el diagnóstico de OPC UA en TIA Portal y descargue la configuración al PLC. A continuación, dispare los avisos de diagnóstico con un cliente OPC y compruebe las entradas del búfer de diagnóstico a través del cliente OPC. 11.10.4.3 Eventos de seguridad OPC UA Ahora es posible conocer cuándo ocurre un evento de seguridad en el servidor OPC UA, lo que...
  • Página 830 Comunicación 11.10 Servidor OPC UA Los avisos de seguridad para toda la CPU son avisos de diagnóstico generados en escenarios definidos por el responsable de seguridad como críticos para toda la CPU. Este tipo de avisos utilizan un dominio de alarma especial. Esto permite a las HMI filtrarlos y tratarlos de forma diferenciada.
  • Página 831 Comunicación 11.10 Servidor OPC UA Información sobre la conexión de servidor OPC UA Con el búfer de diagnóstico de OPC UA ahora es posible obtener información sobre los clientes conectados y ver el estado del servidor OPC UA. Se pueden realizar las siguientes acciones: •...
  • Página 832: Servidor Opc Ua Iniciado/Detenido

    Comunicación 11.10 Servidor OPC UA Se han implementado las aplicaciones siguientes: Tabla 11-79 Aplicaciones implementadas para seguridad del servidor OPC UA activada Acción del usuario Comportamiento previsto Directivas de seguridad Se ha iniciado el servidor OPC UA En el búfer de diagnóstico se Ninguna, Basic128Rsa15, Ba‐...
  • Página 833 Comunicación 11.10 Servidor OPC UA En el búfer de diagnóstico de OPC UA ahora se puede ver cuándo se inició o paró un servidor, lo que permite conocer el estado global del servidor OPC UA. Cada vez que el servidor OPC UA se inicia o detiene se muestra una entrada en el búfer de diagnóstico.
  • Página 834: Descarga De Software

    Comunicación 11.10 Servidor OPC UA Tabla 11-81 Aplicaciones implementadas para cambios en el estado de sesión OPC UA Condición previa Acción del usuario Comportamiento previsto Estados Servidor OPC UA en Descarga de hardware En el búfer de diagnóstico se agre‐ Shutdown, Star‐...
  • Página 835: Uso Incorrecto De Opc Ua

    Comunicación 11.10 Servidor OPC UA Una subscripción activa suele cambiar entre los estados "Normal" y "KeepAlive" (cuando los valores vigilados cambian solo ocasionalmente). No se lanza ningún aviso para el estado "KeepAlive", ya que eso agregaría demasiados avisos al búfer de diagnóstico. Se han implementado las siguientes aplicaciones: Tabla 11-82 Aplicaciones implementadas para seguridad del servidor OPC UA activada...
  • Página 836 Comunicación 11.10 Servidor OPC UA uso incorrecto de uno de los siguientes servicios. Solo se tienen en cuenta los servicios soportados por el servidor OPC UA para S7-1200. • FindServers • GetEndpoints • FindServersOnNetwork • CreateSession • ActivateSession • CloseSession •...
  • Página 837: Sinopsis De Avisos De Opc Ua

    Comunicación 11.10 Servidor OPC UA 11.10.4.5 Sinopsis de avisos de OPC UA Ejemplo de mensajes de diagnóstico del búfer de diagnóstico OPC UA para uso erróneo del servicio. Consulte el ejemplo siguiente. Tabla 11-83 Sinopsis de mensajes para OPC UA de uso erróneo del servicio Aviso Evento único Evento agrupado...
  • Página 838: Reglas Para Programar Un Método Y El Comportamiento En Runtime

    Comunicación 11.10 Servidor OPC UA Reglas para programar un método y el comportamiento en runtime • Asegúrese de que los valores devueltos por el método OPC UA sean coherentes con los valores de entrada proporcionados por el cliente OPC UA. •...
  • Página 839: Implementar El Método De Servidor

    Comunicación 11.10 Servidor OPC UA Implementar el método de servidor El siguiente esquema muestra cómo un cliente OPC UA (A) llama el método de servidor "Cool": La CPU ejecuta la instancia "Cool1" del método de servidor "Cool" en el programa de usuario ⑥...
  • Página 840: Información Sobre Instrucciones De Servidor

    Comunicación 11.10 Servidor OPC UA ④ Llamada síncrona de la instrucción OPC_UA_ServerMethodPre como multiinstancia in‐ dicando la ubicación de los datos de entrada del servidor OPC UA. El valor de retorno ⑤ indica si el método ha sido llamado o no por el cliente OPC UA. Comprobación de si el método se ha completado o si sigue activo ("busy").
  • Página 841 Comunicación 11.10 Servidor OPC UA También puede utilizar los tipos de datos enumerados, por ejemplo, como elementos de estructuras/arrays/UDT para parámetros de entrada y salida de métodos de servidor creados por el usuario (UAMethod_InParameters y UAMethod_OutParameters). Tipo de datos SIMATIC Tipo de datos OPC UA BOOL Boolean...
  • Página 842 Comunicación 11.10 Servidor OPC UA Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 843: Servidor Web

    2 y 8 conexiones cada una. El servidor web permite un máximo de 7 usuarios registrados, pero Siemens recomienda mantener el número de usuarios simultáneos lo más reducido posible. Una media de 7 usuarios a la vez suele ser aceptable con cargas de trabajo normales.
  • Página 844 Servidor web • Tablas de observación (Página 877) - tablas de observación que se han configurado en STEP 7 • Copia de seguridad online (Página 879) - posibilidad de realizar una copia de seguridad de una CPU online o de restaurar una copia de seguridad online realizada previamente •...
  • Página 845: Requisitos De Navegadores Web

    Servidor web Requisitos de navegadores web Siemens ha probado las páginas estándar del servidor web y verifica el soporte de los siguientes navegadores web: • Internet Explorer 11 • Microsoft Edge V44 • Microsoft Edge Chromium Based V86 • Mozilla Firefox V64 •...
  • Página 846: Rendimiento Del Servidor Web

    Servidor web 12.1 Habilitar el servidor web Rendimiento del servidor web Muchos factores pueden afectar el rendimiento del servidor web. La CPU S7-1200 y la programadora deben compartir tiempo con otras tareas que consumen recursos y tiempo de procesamiento. Si el rendimiento del servidor web es deficiente, pruebe a realizar estos ajustes para mejorarlo: •...
  • Página 847 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 (Página 163) protegidos por contraseña e ID de usuario de servidor web (Página 848) con contraseñas seguras.
  • Página 848: Configuración De Usuarios De Servidor Web

    Servidor web 12.2 Configuración de usuarios de servidor web Si ha creado y habilitado páginas web definidas por el usuario (Página 891), podrá acceder a estas desde el menú de navegación de las páginas web estándar o básicas. Nota Cambio de dispositivo: Sustituir una CPU V3.0 por una CPU V4.x Si se reemplaza una CPU V3.0 existente por una CPU V4.x (Página 1448) y se convierte el proyecto V3.0 a un proyecto V4.x, debe tenerse en cuenta que STEP 7 y la CPU V4.x mantienen los ajustes del servidor web para...
  • Página 849 Servidor web 12.2 Configuración de usuarios de servidor web • Escribir estados de variables • Abrir páginas web definidas por el usuario • Escribir en páginas web definidas por el usuario • Leer archivos • Escribir o borrar archivos • Cambiar el estado operativo •...
  • Página 850 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 (Página 163) protegidos por contraseña e ID de usuario de servidor web con contraseñas seguras.
  • Página 851: Acceso A Las Páginas Web Desde Un Pc

    Servidor web 12.3 Acceso a las páginas web desde un PC 12.3 Acceso a las páginas web desde un PC Es posible acceder a la página web estándar del S7-1200 desde un PC o desde un dispositivo móvil por medio de la dirección IP de la CPU S7-1200 o la dirección IP de cualquier CP apto para servidor web (Página 853) en el rack local.
  • Página 852: Acceso Seguro

    "Sí" se puede acceder a las páginas web estándar. Para evitar que la advertencia de seguridad aparezca en cada acceso seguro, es posible importar el certificado de software de Siemens a su navegador web (Página 854).
  • Página 853: Usar Un Módulo Cp Para Acceder A Páginas Web

    Servidor web 12.5 Usar un módulo CP para acceder a páginas web En este ejemplo, un dispositivo móvil que está dentro del alcance del punto de acceso inalámbrico puede conectarse al PLC 3 y PLC 4 a partir de sus direcciones IP. Desde Internet, fuera del alcance inalámbrico local, un dispositivo móvil puede conectarse a PLC 1 y PLC 2 con la dirección del puerto redireccionada para cada PLC.
  • Página 854: Descargar E Instalar Un Certificado De Seguridad

    12.6 Descargar e instalar un certificado de seguridad El certificado de seguridad predeterminado de Siemens se puede descargar en las opciones de Internet. Con el certificado se puede omitir la verificación de seguridad introduciendo https://ww.xx.yy.zz en el navegador web, siendo "ww.xx.yy.zz"...
  • Página 855: Descargar El Certificado

    Descargar el certificado Utilice el enlace "Descargar certificado" de la página de introducción (Página 862) para descargar el certificado de seguridad Siemens en su PC. El procedimiento para descargar e importar varía en función del navegador web utilizado. Importar el certificado en Internet Explorer 1.
  • Página 856: Otros Navegadores

    Una vez que se haya instalado el certificado de seguridad "S7-1200 Controller Family" de Siemens en las opciones de Internet para el contenido del navegador web, ya no será necesario confirmar un aviso de seguridad al acceder al servidor web con https:// ww.xx.yy.zz.
  • Página 857: Páginas Web Estándar

    Servidor web 12.7 Páginas web estándar 12.7 Páginas web estándar 12.7.1 Representación de las páginas web estándar Todas las páginas web estándar de S7-1200 tienen una estructura común con enlaces de navegación y controles de página. Con independencia de si está viendo la página en un PC o en un dispositivo móvil, cada página tendrá...
  • Página 858: Páginas Básicas

    Servidor web 12.7 Páginas web estándar ⑥ Área de navegación para pasar a otra página ⑦ Área de contenido de la página web estándar específica visualizada. Este ejemplo muestra la página de diagnóstico. Nota Páginas web estándar del módulo CP Determinados módulos CP (Página 853) disponen de páginas web estándar cuya apariencia y funcionalidad son similares a las de las páginas web estándar de la CPU S7-1200.
  • Página 859: Inicio De Sesión Y Privilegios De Usuario

    Servidor web 12.7 Páginas web estándar 12.7.3 Inicio de sesión y privilegios de usuario Cada página web estándar del PC proporciona una ventana de inicio de sesión encima del panel de navegación. Por razones de espacio, las páginas web básicas proporcionan una página de inicio de sesión distinta.
  • Página 860: Inicio De Sesión

    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 (Página 163) protegidos por contraseña e ID de usuario de servidor web (Página 848) con contraseñas seguras.
  • Página 861 Nota Si se producen problemas al iniciar sesión, descargue el certificado de seguridad de Siemens (Página 854) desde la página de introducción (Página 862). A continuación podrá iniciar una sesión sin errores.
  • Página 862: Cierre De Sesión

    S7-1200. Desde esta página, haga clic en "Intro" para acceder a las páginas web estándar S7-1200. En la parte superior de la pantalla hay enlaces de sitios web afines de Siemens, así como un enlace Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 863: Arranque

    Servidor web 12.7 Páginas web estándar para cargar el certificado de seguridad de Siemens (Página 854). Existe la posibilidad de saltar la página de introducción en futuros accesos al servidor web. 12.7.5 Arranque La página de inicio muestra una representación de la CPU o el CP con el que se ha realizado la conexión e indica la información general sobre el dispositivo y la versión del TIA Portal que se han...
  • Página 864: Diagnóstico

    Servidor web 12.7 Páginas web estándar 12.7.6 Diagnóstico La página de diagnóstico muestra características que identifican la CPU, ajustes de configuración para la protección de know-how y el uso de la memoria de carga, trabajo y remanente: La página consta de tres fichas: •...
  • Página 865 Servidor web 12.7 Páginas web estándar Ficha Memoria Ficha Fail-safe Encontrará información sobre la ficha Fail-safe de la página de diagnóstico en Manual S7-1200 Functional Safety (https://support.industry.siemens.com/cs/ww/es/view/104547552/en). Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 866: Búfer De Diagnóstico

    Servidor web 12.7 Páginas web estándar 12.7.7 Búfer de diagnóstico La página Búfer de diagnóstico muestra los eventos de diagnóstico. El evento más nuevo es el número 1 en la parte superior. El más antiguo es el número 50. En el selector de la izquierda es posible seleccionar el rango de entradas del búfer de diagnóstico que debe mostrarse, 1-25 o 26-50.
  • Página 867: Información Del Módulo

    Servidor web 12.7 Páginas web estándar Para ver la página del búfer de diagnóstico se necesita el privilegio (Página 848) de "consulta de diagnóstico". 12.7.8 Información del módulo La página de información del módulo: • Ofrece información sobre todos los módulos en el rack local. En la sección superior de la pantalla se muestra un resumen de los módulos en base a la configuración de dispositivos de STEP 7 y en la sección inferior se muestra la información de estado, identificación y firmware del módulo seleccionado en base al correspondiente módulo conectado.
  • Página 868: Información Del Módulo: Pestaña Estado

    Servidor web 12.7 Páginas web estándar Información del módulo: Pestaña Estado La pestaña Estado ubicada en el área inferior de la página de información del módulo muestra una descripción del estado actual del módulo seleccionado en el área superior. Si la sección está vacía, el módulo no tiene ningún estado de diagnóstico pendiente.
  • Página 869: Navegación Jerárquica

    Servidor web 12.7 Páginas web estándar Navegación jerárquica Se puede seleccionar un enlace en la sección superior para navegar hasta la información de ese módulo en particular. Los módulos con submódulos tienen enlaces para cada submódulo. El tipo de información que se visualiza varía en función del módulo seleccionado. Así, por ejemplo, el cuadro de diálogo de información del módulo muestra inicialmente el nombre de la estación S7-1200, un indicador de estado y un comentario.
  • Página 870: Información Del Módulo: Pestaña Identificación

    Seguridad. En esta pestaña es posible especificar datos relacionados con el módulo seleccionado, tal como se describe en Manual de seguridad funcional S7-1200 (https://support.industry.siemens.com/cs/ww/es/view/104547552/en). Información del módulo: Pestaña Firmware En la pestaña Firmware de la página de información del módulo figura información sobre el firmware del módulo seleccionado.
  • Página 871 Para actualizar el firmware, la CPU debe estar en modo STOP. Cuando la CPU está en estado operativo STOP, haga clic en el botón Examinar para ir hasta un archivo de firmware y seleccionarlo. Las actualizaciones de firmware están disponibles en la página web de Siemens Industry Online Support (https://support.industry.siemens.com/cs/ww/es/).
  • Página 872: Comunicación

    Servidor web 12.7 Páginas web estándar puede utilizarse durante el proceso de actualización del firmware. No es posible invocar la función "Rearranque suave" en ningún otro momento. 12.7.9 Comunicación La página de comunicación muestra los parámetros de la CPU conectada, estadísticas de comunicación, recursos e información sobre conexiones.
  • Página 873: Ficha Estadísticas

    Servidor web 12.7 Páginas web estándar Ficha Estadísticas La ficha Estadísticas muestra las estadísticas de comunicación entrante y saliente: Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 874: Ficha Recursos De Conexión

    Servidor web 12.7 Páginas web estándar Ficha Recursos de conexión La ficha Recursos de conexión muestra información sobre el número total de recursos de conexión y cómo están asignados a los diferentes tipos de comunicación: Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 875: Ficha Estado De Conexión

    Servidor web 12.7 Páginas web estándar Ficha Estado de conexión La ficha Conexiones muestra las conexiones de la CPU y los detalles de la conexión seleccionada. 12.7.10 Estado de variable La página Estado de variable permite ver cualquier dato de memoria o E/S en la CPU. Se puede introducir una dirección directa (como %I0.0), un nombre de variable PLC o una variable de un bloque de datos determinado.
  • Página 876 Servidor web 12.7 Páginas web estándar Para ver la página Estado de variables se necesita el derecho "Leer estado de variable". Si inicia sesión como usuario con el derecho (Página 859) "Escribir estado de variable", también puede modificar los valores de datos. Introduzca los valores que desee ajustar en el campo "Forzar valor"...
  • Página 877: Consulte También

    Servidor web 12.7 Páginas web estándar Para valores que se observan o fuerzan con frecuencia, es aconsejable utilizar una tabla de observación (Página 877) en su lugar. Nota Al utilizar la página Estado de variables, tenga en cuenta lo siguiente: •...
  • Página 878: Configuración De Step 7 Para Seleccionar Tablas De Observación Para El Servidor Web

    Servidor web 12.7 Páginas web estándar Configuración de STEP 7 para seleccionar tablas de observación para el servidor web Desde la configuración de dispositivos de la CPU en STEP 7 es posible agregar las tablas de observación que el servidor web debe poder visualizar. Para cada tabla de observación que se seleccione en la lista de tablas existentes deben seleccionarse también los derechos de lectura o lectura/escritura.
  • Página 879: Forzar Variables De Tablas De Observación Desde El Servidor Web

    Servidor web 12.7 Páginas web estándar Forzar variables de tablas de observación desde el servidor web Si se ha descargado una tabla de observación con el nivel de acceso "lectura/escritura" y se ha iniciado sesión en el servidor web con el derecho (Página 848) "Escribir variables", también es posible forzar valores de variables del mismo modo que se hace en una tabla de observación de STEP 7.
  • Página 880: Crear Copia De Seguridad Del Plc

    Servidor web 12.7 Páginas web estándar Si se ha accedido a la página de copia de seguridad online desde uno de los módulos CP activados para web, es posible realizar una copia de seguridad pero no restaurarla. Nota También pueden llevarse a cabo operaciones de copia de seguridad y restauración desde STEP 7 (Página 1238).
  • Página 881: Restaurar Copias De Seguridad Con Contenido Desconocido

    Servidor web 12.7 Páginas web estándar Restaurar PLC Desde la sección Restaurar PLC de la página, introduzca la contraseña de usuario del servidor web y haga clic en el botón "Examinar" o "Seleccionar archivo" (en función del navegador) para seleccionar un archivo de copia de seguridad creado previamente. Haga clic en el botón "Cargar copia de seguridad online"...
  • Página 882: Página Registros De Datos

    Servidor web 12.7 Páginas web estándar 12.7.13 Página Registros de datos La página Registros de datos permite interactuar con registros de datos del programa STEP 7. Es posible: • Ver una lista de todos los registros de datos del PLC •...
  • Página 883: Descarga De Un Archivo De Registro

    Servidor web 12.7 Páginas web estándar no es posible realizar otra operación con registros hasta que la descarga ha finalizado o se ha cancelado. El servidor web muestra un mensaje de error "Aplicación ocupada". Descarga de un archivo de registro Un archivo de registro se descarga haciendo clic en el nombre del archivo.
  • Página 884: Borrado De Un Registro De Datos

    Servidor web 12.7 Páginas web estándar Operación Condición de fallo Mensaje de error Descargar Aplicación ocupada • El programa de usuario mantiene abierto el archivo de registro Borrar • Se está descargando un registro de datos Recuperar y borrar Descargar Error interno •...
  • Página 885 Servidor web 12.7 Páginas web estándar El tipo de acceso al archivo de usuario depende de los privilegios de usuario. Cualquier usuario que tenga privilegios para "leer archivos" puede ver los archivos y carpetas con la página Archivos de usuario. Si tiene el privilegio para "escribir/borrar archivos", también podrá: •...
  • Página 886: Paginación De La Lista De Archivos De Usuario

    Servidor web 12.7 Páginas web estándar Paginación de la lista de archivos de usuario La lista de archivos de usuario se pagina en incrementos de 50 elementos. Una casilla desplegable permite seleccionar el rango del elemento que desea ver. Impresión de la lista de archivos de usuario La lista de archivos de usuario puede imprimirse en el PLC mediante el icono "Imprimir"...
  • Página 887: Errores De Archivos De Usuario

    Servidor web 12.7 Páginas web estándar Errores de archivos de usuario La página Archivos de usuario muestra un mensaje de error si una operación no puede finalizar correctamente: El mensaje de error permanece en la página hasta que se inicia una operación para volver a cargar la página Archivos de usuario.
  • Página 888: Carga De Un Archivo De Usuario

    Servidor web 12.7 Páginas web estándar Operación Condición de fallo Mensaje de error Cargar archivo de usuario Error al cargar el archivo • El nombre de archivo no es válido o está ausente • Error interno de PLC Cargar archivo de usuario Error al cargar el archivo - el nombre ya •...
  • Página 889: Data Log Userfiles Api

    Servidor web 12.7 Páginas web estándar 12.7.15 Data Log UserFiles API Data Log UserFiles API Para archivos de usuario y registros de datos del S7-1200 hay disponible una función API denominada Data Log User Files. Encontrará más información en el manual S7-1500, ET 200SP, ET 200pro Servidor web.
  • Página 890: Actualización De Archivos Y Actualización Automática De Páginas

    Servidor web 12.7 Páginas web estándar Actualización de archivos y actualización automática de páginas Si comienza a cargar un archivo, el proceso de carga continuará mientras se mantenga en la página del navegador de archivos. Si habilita la actualización automática para actualizar las páginas del servidor web cada diez segundos, cada vez que se actualiza la página se visualiza el progreso incremental del proceso de carga del archivo.
  • Página 891: Páginas Web Definidas Por El Usuario

    • Crear páginas HTML con un editor de HTML como Microsoft Frontpage. (Página 892) • Incluir comandos AWP en comentarios HTML con el código HTML (Página 893): los comandos AWP son un conjunto fijo de comandos que suministra Siemens para acceder a la información de la CPU.
  • Página 892: Creación De Páginas Html

    STEP 7 pueda compilar sus páginas correctamente debe mantener el tamaño de los archivos por debajo de dicho límite. Siemens recomienda que todos los archivos de recursos web (archivos .ccc, imágenes, archivos JavaScript y archivos html) se creen con un tamaño no superior a 512 KB, ya que de lo contrario pueden aparecer problemas al enviar el archivo del servidor web al navegador.
  • Página 893: Comandos Awp Soportados Por El Servidor Web Del S7-1200

    Servidor web 12.8 Páginas web definidas por el usuario <meta http-equiv="Refresh" content="10"> También se puede utilizar JavaScript u otras técnicas HTML para controlar la actualización de la página o de los datos. Para tal fin, consulte la documentación acerca de HTML y JavaScript. 12.8.2 Comandos AWP soportados por el servidor web del S7-1200 El servidor web del S7-1200 ofrece comandos AWP que se incrustan en las páginas web...
  • Página 894: Leer Variables

    Servidor web 12.8 Páginas web definidas por el usuario Nota Sintaxis esperada de los comandos AWP El espacio después de "<!--" y el espacio antes de "-->" en la formulación de un comando AWP son esenciales para compilar correctamente el comando. La omisión de los caracteres de espacio puede provocar que el compilador no pueda generar el código adecuado.
  • Página 895: Escribir Variables

    Servidor web 12.8 Páginas web definidas por el usuario Parámetros <Varname> La variable que debe leerse; puede ser un nombre de variable PLC del programa STEP 7, una variable de bloque de datos, periferia o memoria direccionable. En las direc‐ ciones de memoria o de E/S o en los alias (Página 905) no utilice comillas para el nombre de la variable.
  • Página 896: Ejemplos Utilizando Un Campo De Entrada Html

    Servidor web 12.8 Páginas web definidas por el usuario lo general debe ponerse el nombre entre comillas simples y, si se referencia un bloque de datos, el nombre del mismo entre comillas dobles. Para más detalles sobre la gestión de formas, consulte la documentación de HTML. Sintaxis <!-- AWP_In_Variable Name='<Varname1>' [Use='<Varname2>'] ...
  • Página 897: Ejemplo De Uso De Un Bloque De Datos Escribible

    Servidor web 12.8 Páginas web definidas por el usuario Ejemplo de uso de una cláusula de uso <!-- AWP_In_Variable Name='"Frenado"' Use='"Bloque_de_datos_1".Frenado' --> <form method="post"> <p>Frenado: <input name='"Frenado"' type="text" /> %</p> </form> Ejemplo de uso de un bloque de datos escribible <!-- AWP_In_Variable Name='"Bloque_de_datos_1"' -->...
  • Página 898: Ejemplo: Lectura De Una Variable Especial Sin Cláusula De Uso

    Servidor web 12.8 Páginas web definidas por el usuario Sintaxis <!-- AWP_Out_Variable Name='<Type>:<Name>' [Use='<Varname>'] --> Parámetros <Type> Se refiere al tipo de variable especial, que puede ser uno de los siguientes: HEADER COOKIE_VALUE COOKIE_EXPIRES <Name> En la documentación HTTP encontrará una lista con todos los nombres de variables HEADER.
  • Página 899: Escribir Variables Especiales

    Servidor web 12.8 Páginas web definidas por el usuario 12.8.2.4 Escribir variables especiales El servidor web ofrece la posibilidad de escribir valores en la CPU de variables especiales en el encabezado de peticiones HTTP. Así, por ejemplo, se puede almacenar en STEP 7 información acerca de la cookie asociada a una página web definida por el usuario, acerca del usuario que acceda a la página o a la información del encabezado.
  • Página 900: Utilizar Un Alias Para Una Referencia De Variable

    Servidor web 12.8 Páginas web definidas por el usuario En este ejemplo, la página web escribe el valor de la variable especial HTTP "SERVER:current_user_id" en la variable PLC con el nombre "my_userid". Nota Solo un usuario con privilegios para modificar variables puede escribir datos en la CPU. El servidor web ignora los comandos si el usuario no tiene privilegios de modificación.
  • Página 901: Definir Tipos De Enumeración

    Servidor web 12.8 Páginas web definidas por el usuario En este ejemplo, el valor de la variable PLC "Raw_Milk_Tank_Weight" puede referenciarse simplemente con "Weight" en el resto de la página web definida por el usuario. Si el nombre de la variable o del bloque de datos incluye caracteres especiales hay que utilizar comillas adicionales o caracteres de escape, tal como se describe en el apartado Procesamiento de nombres de variable que contienen caracteres especiales (Página 905).
  • Página 902: Ejemplo De Utilización En Una Escritura De Variable

    Servidor web 12.8 Páginas web definidas por el usuario Sintaxis <!-- AWP_In_Variable Name='<Varname>' Enum="<EnumType>" --> <!-- AWP_Out_Variable Name='<Varname>' Enum="<EnumType>" --> Parámetros <Varname> Nombre de la variable de PLC o de la variable de bloque de datos que se desea asociar con el tipo de enumeración o el alias para una variable de PLC (Página 900), de estar declarado.
  • Página 903: Crear Fragmentos

    Servidor web 12.8 Páginas web definidas por el usuario Dado que la definición del tipo de enumeración (Página 901) asigna "Tank is full" al valor numérico 1, el valor 1 se escribe en el alias "Alarm" que se corresponde con la variable PLC denominada "Motor1.Alarm"...
  • Página 904: Fragmentos Manuales

    Servidor web 12.8 Páginas web definidas por el usuario <id> Número de identificación entero. Si no se especifica el parámetro ID, el servidor web asigna un número predeterminado. Para fragmentos manuales, ajuste un número reducido para la ID. La ID es el medio mediante el cual el programa de STEP 7 controla un fragmento manual.
  • Página 905: Combinar Definiciones

    Servidor web 12.8 Páginas web definidas por el usuario Extracto del código HTML en otro archivo .html que importa el fragmento que visualiza la imagen del logotipo: <!-- AWP_Import_Fragment Name='My_company_logo' --> Ambos archivos .html (el que crea el fragmento y el que lo importa) se encuentran en la estructura de carpetas que se define al configurar las páginas definidas por el usuario en STEP 7 (Página 907).
  • Página 906 Servidor web 12.8 Páginas web definidas por el usuario Tabla 12-1 Ejemplos de lectura de variables Nombre del bloque Nombre de la va‐ Comando de lectura de datos riable ABC:DEF <!--AWP_Out_Variable Name='special_tag' Use ='"ABC:DEF"' --> :=special_tag: :="T\\": A \B 'C :D <!--AWP_Out_Variable Name='another_special_tag' Use='"A \\B \'C :D"' -->...
  • Página 907: Configurar El Uso De Las Páginas Web Definidas Por El Usuario

    Servidor web 12.8 Páginas web definidas por el usuario Nombre del bloque Nombre de la varia‐ Opciones de la cláusula de nombre de datos Data_block_1 A \B 'C :D Name='"Data_block_1".A \\B \'C :D' DB A' B C D$ E Name='"DB A\' B C D$ E".Tag' Las cláusulas de uso se rigen por las mismas convenciones que las cláusulas de nombre.
  • Página 908: Configurar La Página De Entrada

    Servidor web 12.8 Páginas web definidas por el usuario 9. Conserve el número de DB predeterminado de la web o introduzca un número de su elección. Este es el número del DB de control que controla la visualización de las páginas web. 10.Conserve el número inicial predeterminado del DB de fragmentos o introduzca un número de su elección.
  • Página 909: Programar La Instrucción Www Para Páginas Web Definidas Por El Usuario

    Servidor web 12.8 Páginas web definidas por el usuario Una vez haya finalizado la configuración y se haya descargado el proyecto en la CPU, el servidor web puede utilizar como página de entrada la "página HTML predeterminada" que se seleccionó al configurar las páginas web definidas por el usuario (Página 907).
  • Página 910: Utilización Del Db De Control

    Servidor web 12.8 Páginas web definidas por el usuario la aplicación se ha iniciado correctamente o bien puede comprobar RET_VAL llamando posteriormente la instrucción WWW. Tabla 12-4 Valor de retorno RET_VAL Descripción No hay error 16#00yx x: La petición representada por el bit respectivo está en estado de espera: x=1: petición 0 x=2: petición 1 x=4: petición 2...
  • Página 911: Acceso A Las Páginas Web Definidas Por El Usuario

    Servidor web 12.8 Páginas web definidas por el usuario 12.8.7 Acceso a las páginas web definidas por el usuario A las páginas web definidas por el usuario se accede desde las páginas web estándar (Página 851). Las páginas web estándar disponen de un enlace a las "Páginas definidas por el usuario"...
  • Página 912: Espacio De Memoria De Carga

    Servidor web 12.8 Páginas web definidas por el usuario Espacio de memoria de carga Las páginas web definidas por el usuario se convierten en bloques de datos al hacer clic en "Generar bloques". Esta acción requiere mucho espacio en la memoria de carga. Si se ha instalado una Memory Card, se puede contar con la capacidad de dicha Memory Card como espacio de memoria de carga externa para las páginas web definidas por el usuario.
  • Página 913: Ejemplo De Una Página Web Definida Por El Usuario

    Servidor web 12.8 Páginas web definidas por el usuario 12.8.9 Ejemplo de una página web definida por el usuario 12.8.9.1 Página web para vigilar y controlar una turbina de viento Una página web definida por el usuario podría ser, por ejemplo, una página web utilizada para vigilar y controlar a distancia una turbina de viento: Descripción En esta aplicación, cada turbina de un parque de turbinas de viento está...
  • Página 914: Archivos Utilizados

    Servidor web 12.8 Páginas web definidas por el usuario Archivos utilizados Este ejemplo de página web definida por el usuario consta de tres archivos: • Wind_turbine.html: Esta es la página HTML que implementa la visualización que aparece arriba, utilizando comandos AWP para acceder a los datos del controlador. •...
  • Página 915: Leer Y Visualizar Datos Del Controlador

    Servidor web 12.8 Páginas web definidas por el usuario • Corrección de cabeceo: activa la corrección manual del cabeceo de las hojas. El programa de usuario de STEP 7 exige que tanto la co‐ rrección manual como de cabeceo sean TRUE (verdadero) para aplicar el ajuste de cabeceo de las hojas.
  • Página 916: Utilizar Un Tipo De Enumeración

    Servidor web 12.8 Páginas web definidas por el usuario 12.8.9.3 Utilizar un tipo de enumeración La página HTML "Control remoto de la turbina de viento" utiliza tipos de enumeración para las tres instancias donde la página HTML visualiza "ON" u "OFF" para un valor booleano y donde el usuario especifica un valor booleano.
  • Página 917: Escribir Una Entrada Del Usuario En El Controlador

    Servidor web 12.8 Páginas web definidas por el usuario 12.8.9.4 Escribir una entrada del usuario en el controlador La página HTML de vigilancia remota de la turbina de viento dispone de varios comandos AWP para escribir datos en el controlador (Página 895). La página HTML declara AWP_In_Variables para variables booleanas, de modo que un usuario con privilegios para modificar variables pueda conmutar la turbina de viento a control manual y activar la corrección manual para la velocidad de la turbina, la corrección de viraje o la corrección de cabeceo de hojas.
  • Página 918: Escribir Una Variable Especial

    Servidor web 12.8 Páginas web definidas por el usuario Nota Observe que si se declara un bloque de datos entero en una declaración de AWP_In_Variable, por ejemplo <!-- AWP_In_Variable Name='"Data_block_1"' -->, entonces toda variable dentro de ese bloque de datos se puede escribir desde la página web definida por el usuario. Utilice esta opción si pretende que todas las variables de un bloque de datos sean de escritura.
  • Página 919 Servidor web 12.8 Páginas web definidas por el usuario Viraje: Real CorrecciónCabeceo: Bool Cabeceo: Real Frenado: Real La página web definida por el usuario muestra los valores actuales de los datos PLC y proporciona una lista de selección para establecer los tres valores booleanos utilizando una asignación de tipo de enumeración.
  • Página 920 Servidor web 12.8 Páginas web definidas por el usuario <td><p> :="Bloque_de_datos_1".DirecciónViento: gr.</p></td> </tr> <tr style="height: 2%;"><td style="width: 25%;"><p>Temperatura:</p></ td> <td><p> :="Bloque_de_datos_1".Temperatura: gr. C</p></td> </tr> <tr style="height: 2%;"> <td style="width: 25%;"><p>Potencia de salida:</p></td> <td><p style="margin- bottom:5px;"> :="Bloque_de_datos_1".PotenciaSalida: kW</p> </td> </tr> <form method="POST" action=""> <tr style="height: 2%;"...
  • Página 921: Viraje De La Turbina

    Servidor web 12.8 Páginas web definidas por el usuario <option value="Off">No</option> </select> </td> </tr> <tr style="vertical-align: top; height: 2%;"> <td style="width: 25%;"> <p>Viraje de la turbina:</p> </td> <td> <p style="margin-bottom:5px;"><input name='"Bloque_de_datos_1".Viraje' size="10" value=':="Bloque_de_datos_1".Viraje:' type="text"> gr.</p> </td> </tr> <tr style="vertical-align: top; height: 2%;"> <td style="width: 25%;">...
  • Página 922 Servidor web 12.8 Páginas web definidas por el usuario <tr style="vertical-align: top; height: 2%;"> <td style="width: 25%;"><p>Frenado:</p></td> <td> <form method="POST" action=""> <p> <input name='"Bloque_de_datos_1".Frenado' size="10" value=':="Bloque_de_datos_1".Frenado:' type="text"> %</p> </form> </td> </tr> <tr><td></td></tr> </table> </body> </html> Turbina_Viento.css BODY { background-image: url('./Wind_turbine.jpg'); background-position: 0% 0%;...
  • Página 923: Configuración En Step 7 De La Página Web De Ejemplo

    Servidor web 12.8 Páginas web definidas por el usuario 12.8.9.7 Configuración en STEP 7 de la página web de ejemplo Para incluir la página HTML "Control remoto de la turbina de viento" como página web definida por el usuario para el S7-1200, hay que configurar los datos acerca de la página HTML en STEP 7 y crear bloques de datos desde la página HTML.
  • Página 924: Configurar Páginas Web Definidas Por El Usuario En Varios Idiomas

    Servidor web 12.8 Páginas web definidas por el usuario 12.8.10 Configurar páginas web definidas por el usuario en varios idiomas El servidor web ofrece los medios para diseñar páginas web definidas por el usuario en los idiomas siguientes: • Alemán (de) •...
  • Página 925 Servidor web 12.8 Páginas web definidas por el usuario Ejemplo El ejemplo siguiente utiliza una página HTML predeterminada con el nombre "langswitch.html" en cada una de las carpetas de idiomas. En el directorio HTML también hay una carpeta con el nombre "script".
  • Página 926 Servidor web 12.8 Páginas web definidas por el usuario <!-- Language Selection --> <table> <tr> <td align="right" valign="top" nowrap> <!-- change language immediately on change of the selection --> <select name="Language" onchange="DoLocalLanguageChange(this)" <size="1"> <option value="de" selected >Deutsch</option> <option value="en" >Englisch</option> </select>...
  • Página 927: Configurar Step 7 Para Utilizar Una Estructura De Página Multilingüe

    Servidor web 12.8 Páginas web definidas por el usuario Nota Si la implementación de la página web definida por el usuario incluye archivos HTML que están dentro de carpetas específicas de idioma (en, de, por ejemplo) y también archivos HTML que no están en las carpetas específicas de idioma, tenga en cuenta que no será...
  • Página 928: Estados Globales En La Estructura Commandstate

    Servidor web 12.8 Páginas web definidas por el usuario Estructura Commandstate "Commandstate" es una estructura que contiene comandos y estados globales del servidor web. Comandos globales en la estructura "Commandstate" Los comandos globales rigen en general para el servidor web. El servidor web se puede activar o bien reiniciar desde los parámetros del DB de control.
  • Página 929 Servidor web 12.8 Páginas web definidas por el usuario ofrecen información sobre el fragmento actual. Es posible utilizar los comandos de órdenes para controlar el fragmento actual. Variable de bloque Tipo de datos Descripción requesttab ARRAY [ 1 .. 4 ] OF STRUCT Matriz de estructuras para controlar individual‐...
  • Página 930 Servidor web 12.8 Páginas web definidas por el usuario Los métodos disponibles para utilizar el fragment_index incluyen: • Procesar el fragmento actual: no modifique el fragment_index y active el comando "continue". • Omitir el fragmento actual: ajuste el fragment_index a 0 y active el comando "continue". •...
  • Página 931: Web Api

    La Web API del S7‑1200 implementa la funcionalidad Web API de S7‑1500, que se documenta en el capítulo Páginas web > API (Application Programming Interface) de este documento (https://support.industry.siemens.com/cs/us/en/view/59193560/es). El documento correspondiente al S7‑1500 describe la función Web API para una serie específica de CPU S7-1500.
  • Página 932: Métodos Web Api Soportados

    Encontrará los tipos de datos soportados por la Web API de S7‑1500 aquí: Páginas web > API (Application Programming Interface) > Lectura y escritura de datos de proceso > Tipos de datos soportados en este documento (https://support.industry.siemens.com/cs/us/en/view/ 59193560/es). 12.8.12.2 Métodos Web API soportados A partir de V4.5, el S7-1200 soporta los siguientes métodos Web API:...
  • Página 933: Número De Conexiones

    URL http://ww.xx.yy.zz o https:// ww.xx.yy.zz, donde "ww.xx.yy.zz" representa la dirección IP de la CPU. • Siemens ofrece un certificado de seguridad para el acceso seguro al servidor web. En la página web estándar de introducción (Página 862) es posible cargar e importar el certificado en las opciones de Internet del navegador web (Página 854).
  • Página 934: Uso De Javascript

    Servidor web 12.9 Limitaciones 12.9.1 Uso de JavaScript Las páginas web estándar emplean HTML, JavaScript y cookies. Si el sitio restringe el uso de JavaScript y cookies, hay que habilitarlos para que las páginas funcionen de manera adecuada. Si no se puede habilitar JavaScript para el navegador web no será posible ejecutar las páginas web estándar.
  • Página 935: Importar Registros De Datos En Formato Csv A Versiones De Microsoft Excel Que No Son Estadounidenses Ni Británicas

    Servidor web 12.9 Limitaciones Limitaciones de las páginas Estado de variable y Tabla de observación: • El número máximo de caracteres de la URL es de 2083. La URL que representa la página actual se puede ver en la barra de direcciones del navegador. •...
  • Página 936 Servidor web 12.9 Limitaciones Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 937: Procesador De Comunicaciones Y Modbus Tcp

    Procesador de comunicaciones y Modbus TCP 13.1 Utilizar las interfaces de comunicación serie Dos módulos de comunicaciones (CM) y una Communication Board (CB) ofrecen la interfaz para la comunicación PtP: • CM 1241 RS232 (Página 1421) • CM 1241 RS422/485 (Página 1422) •...
  • Página 938: Polarizar Y Terminar Un Conector De Red Rs485

    13.2 Polarizar y terminar un conector de red RS485 Siemens ofrece un conector de red RS485 (Página 1437) que permite conectar fácilmente varios aparatos a una red RS485. El conector posee dos juegos de terminales para fijar los cables de entrada y salida.
  • Página 939: Comunicación Punto A Punto (Ptp)

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) circuito. El CB 1241 no tiene ningún conector de 9 pines. La tabla siguiente muestra las conexiones con un conector de 9 pines del interlocutor. Tabla 13-2 Terminación y polarización para el CB 1241 Dispositivo terminador (polarización ON) Dispositivo no terminador (polarización OFF) ①...
  • Página 940: Comunicación Ptp, Freeport

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.1 Comunicación PtP, Freeport PtP con Freeport, o protocolo de construcción libre, ofrece una libertad y flexibilidad máximas, pero requiere una implementación exhaustiva en el programa de usuario. PtP ofrece numerosas posibilidades, a saber: •...
  • Página 941 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Por este motivo, S7-1200 soporta dos juegos de instrucciones PtP: • Instrucciones Legacy punto a punto (Página 1112): estas instrucciones son anteriores a la versión V4.0 de S7-1200 y solo funcionan con la comunicaciones serie si se utiliza un módulo de comunicaciones CM 1241 o una Communication Board CB 1241.
  • Página 942: Comunicación 3964(R)

    Consulte el capítulo que describe los principios de la transmisión de datos en el manual Manual S7-300 Acoplamiento punto a punto CP 341, configuración y parametrización. (https:// support.industry.siemens.com/cs/es/es/view/1117397) para obtener una descripción completa del protocolo. Configurar el módulo de comunicación Para comunicarse con un interlocutor mediante el protocolo 3964(R) hay que incluir uno de los siguientes módulos de comunicación en la configuración de dispositivos de STEP 7:...
  • Página 943: Configurar La Comunicación Ptp Freeport

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) También es posible utilizar las instrucciones antiguas de transmisión y recepción punto a punto: • SEND_PTP (transmitir datos del búfer de transmisión) (Página 1120) • RCV_PTP (habilitar recepción de mensajes) (Página 1122) 13.3.3 Configurar la comunicación PtP Freeport Puede usar uno de los métodos siguientes para configurar las interfaces de comunicación para...
  • Página 944: Estado Operativo

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) En el caso del CM 1241 RS422/485, dispone de opciones adicionales para la configuración del puerto como se muestra a continuación. El modo 422 del módulo CM 1241 RS422/485 también admite el control de flujo por software.
  • Página 945: Gestionar El Control De Flujo

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.3.1 Gestionar el control de flujo El control de flujo es un mecanismo que permite regular el intercambio de datos entre un emisor y un receptor para evitar pérdidas de datos. El control de flujo garantiza que un emisor no envíe más información de la que el receptor es capaz de procesar.
  • Página 946: Control De Flujo Por Software

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Control de flujo por software El control de flujo por software utiliza caracteres especiales en los mensajes para proporcionar el control de flujo. Se configuran caracteres hexadecimales que representan XON y XOFF. XOFF indica que una transmisión debe detenerse.
  • Página 947: Configurar Los Parámetros De Recepción

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Parámetro Definición Retardo RTS ON Determina el tiempo que debe esperarse tras activar RTS antes de iniciar la transmisión. El rango está comprendido entre 0 y 65535 ms (el valor predeterminado es 0). Este parámetro solo es válido si en la configuración del puerto (Página 943) se ha definido el control de flujo por hardware.
  • Página 948: Condiciones De Inicio Del Mensaje

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Los parámetros de recepción de mensajes también se pueden configurar o modificar dinámicamente desde el programa de usuario utilizando la instrucción Receive_Config (Página 966). Nota Los valores de parámetros ajustados mediante la instrucción Receive_Config en el programa de usuario prevalecen sobre las propiedades de "Configuración de la recepción de mensajes".
  • Página 949: Configuración De Ejemplo: Iniciar Mensaje En Una O Dos Secuencias De Caracteres

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Parámetro Definición Condición especial: Determina que un carácter en particular indique el principio de un mensaje. Este carácter es por consiguiente el primer carácter del mensaje. Cualquier carácter que se reciba antes de este Detectar el inicio del mensa‐...
  • Página 950 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Controlador programable S7-1200 Manual de sistema, V4.5 05/2021, A5E02486683-AO...
  • Página 951: Condiciones De Fin Del Mensaje

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) En esta configuración, la condición de inicio se cumple cuando se presenta uno de los patrones siguientes: • Cuando se recibe una secuencia de cinco caracteres en la que el primer carácter es 0x6A y, el quinto, 0x1C.
  • Página 952 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) bytes. El mensaje terminará si la recepción tarda más de 300 milisegundos o si la distancia temporal entre dos caracteres es superior a 40 tiempos de bit o si se reciben 50 bytes. Parámetro Definición Detectar fin del mensaje por...
  • Página 953 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Parámetro Definición Detectar fin del mensaje por El mensaje finaliza cuando ha transcurrido el timeout máximo configurado entre cualquier par tiempo excedido entre carac‐ de caracteres consecutivos de un mensaje. El valor predeterminado del tiempo excedido entre teres caracteres es 12 tiempos de bit y el valor máximo es 65535 tiempos de bit, hasta un límite máximo de ocho segundos.
  • Página 954: Configuración De Ejemplo: Fin Del Mensaje Con Una Cadena De Caracteres

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Configuración de ejemplo: fin del mensaje con una cadena de caracteres Tenga en cuenta la siguiente configuración de las condiciones de fin del mensaje: En este caso, la condición de fin se cumple cuando se reciben dos caracteres 0x6A consecutivos, seguidos de dos caracteres cualesquiera.
  • Página 955 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Estos campos aparecen en la configuración de la recepción de mensajes de las propiedades del dispositivo: Ejemplo 1: Considerar un mensaje estructurado según el protocolo siguiente: Caracteres 3 a 14 contados según la longitud INDEX 0x0C xxxx...
  • Página 956: Configurar La Comunicación 3964(R)

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.4 Configurar la comunicación 3964(R) 13.3.4.1 Configurar los puertos de comunicación 3964(R) Puede usar uno de los métodos siguientes para configurar las interfaces de comunicación para la comunicación 3964(R): •...
  • Página 957: Configurar La Prioridad Y Los Parámetros De Protocolo Para 3964(R)

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Parámetro Definición Rotura de hilo* Active una de las opciones siguientes: • Sin comprobación de rotura de hilo • Activar comprobación de rotura de hilo Velocidad de transferencia El valor predeterminado para la velocidad de transferencia es de 9,6 Kbits/s.
  • Página 958 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Parámetro Definición Prioridad Alta o baja: El CM tendrá la prioridad alta o baja y el interlocutor de la comunicación debe tener la opuesta. Con comprobación de bloque Si está...
  • Página 959: Instrucciones De Comunicación Punto A Punto

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.5 Instrucciones de comunicación punto a punto 13.3.5.1 Parámetros comunes de las instrucciones de comunicación punto a punto Tabla 13-3 Parámetros de entrada comunes para las instrucciones PTP Parámetro Descripción Muchas de las instrucciones PtP utilizan la entrada REQ para iniciar la operación en una transición de...
  • Página 960 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Nota Los parámetros DONE, NDR y ERROR solo están activados durante una ejecución. La lógica del programa debe guardar temporalmente los valores de estado de la salida en flip-flops de datos, de modo que sea posible detectar cambios de estado en posteriores ciclos del programa.
  • Página 961: Port_Config (Configurar Los Parámetros De Comunicación Dinámicamente)

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Descripción de la clase Clases de error Descripción Errores de puntero 16#8p01 a 16#8p51 Usado para errores del puntero ANY, siendo "p" el número de pa‐ rámetro de la instrucción Errores de protocolo integrados 16#848x Usado para errores de protocolo integrados...
  • Página 962 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Parámetro y tipo Tipo de datos Descripción BAUD UInt Velocidad de transferencia del puerto (valor predeterminado: 6): 1 = 300 baudios, 2 = 600 baudios, 3 = 1200 baudios, 4 = 2400 baudios, 5 = 4800 baudios, 6 = 9600 baudios, 7 = 19200 baudios, 8 = 38400 baudios, 9 = 57600 baudios, 10 = 76800 baudios, 11 = 115200 baudios PARITY...
  • Página 963 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Parámetro y tipo Tipo de datos Descripción ERROR Bool TRUE durante una ejecución tras haberse finalizado la última petición con un error STATUS Word Código de condición de ejecución (valor predeterminado: 0) No aplicable si el protocolo = 1 (protocolo 3964(R)) Solo son válidos los modos 0 y 1 cuando el protocolo = 1 (protocolo 3964(R)) en función de si el módulo CM es un RS232 o un RS422.
  • Página 964: Send_Config (Configurar Los Parámetros De Transmisión En Serie Dinámicamente)

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.5.3 Send_Config (configurar los parámetros de transmisión en serie dinámicamente) Tabla 13-10 Instrucción Send_Config (configuración de transmisión) KOP / FUP Descripción "Send_Config_DB"( La instrucción Send_Config permite configurar dinámicamente los pará‐ REQ:=_bool_in_, PORT:=_word_in_, metros de transmisión serie de un...
  • Página 965 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Parámetro y tipo Tipo de datos Descripción IDLELINE UInt Este parámetro indica que la línea permanecerá inactiva durante el número de tiempos de bit indicado hasta el inicio de cada mensaje. El máximo es 65535 tiempos de bit hasta ocho segundos como máximo.
  • Página 966: Receive_Config (Configurar Los Parámetros De Recepción En Serie Dinámicamente)

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.5.4 Receive_Config (configurar los parámetros de recepción en serie dinámicamente) Tabla 13-13 Instrucción Receive_Config (configuración de recepción) KOP / FUP Descripción "Receive_Config_DB"( La instrucción Receive_Config per‐ mite configurar dinámicamente los REQ:=_bool_in_, PORT:=_uint_in_, parámetros de recepción serie de un...
  • Página 967 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Condiciones de inicio de la instrucción Receive_P2P La instrucción Receive_P2P utiliza la configuración indicada por la instrucción Receive_Config para determinar el inicio y fin de los mensajes de comunicación punto a punto. Las condiciones de inicio determinan el inicio de un mensaje.
  • Página 968 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Parámetro y tipo Tipo de datos Descripción STRSEQ3CTL Byte Ignorar/comparar el control de cada carácter de la secuencia 3. Valor predeterminado: B#16#0 STRSEQ3 Char[5] Caracteres de inicio de la secuencia 3 (5 caracteres). Valor predetermi‐ nado: 0 STRSEQ4CTL Byte...
  • Página 969 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Estructura de los tipos de datos del parámetro CONDITIONS, 2ª parte (condiciones de fin) Tabla 13-17 Estructura de CONDITIONS para condiciones de fin Parámetro Tipo de parámetro Tipo de datos Descripción ENDCOND UInt...
  • Página 970 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Parámetro Tipo de parámetro Tipo de datos Descripción ENDSEQ1CTL Byte Ignorar/comparar el control de cada carácter de la secuen‐ B#16#0 cia 1: Estos son los bits de habilitación de cada carácter de la se‐ cuencia de fin.
  • Página 971: P3964_Config (Configurar El Protocolo 3964(R))

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.5.5 P3964_Config (configurar el protocolo 3964(R)) Tabla 13-19 Instrucción P3964_Config (configurar el protocolo 3964(R)) KOP / FUP Descripción "P3964_Config_DB"( P3964_Config permite cambiar la prio‐ ridad y los parámetros de protocolo en REQ:=_bool_in_, PORT:=_uint_in_, tiempo de ejecución.
  • Página 972 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Parámetro y tipo Tipo de datos Descripción AcknDelayTime UInt Ajuste del tiempo de retardo de acuse (en función de la velocidad de transfe‐ rencia de datos ajustada) (valor predeterminado: 2000 ms) 1 ms a 65535 ms BuildupAttempts IN UInt...
  • Página 973: Send_P2P (Transmitir Datos Del Búfer De Transmisión)

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.5.6 Send_P2P (transmitir datos del búfer de transmisión) Tabla 13-22 Instrucción Send_P2P (enviar datos punto a punto) KOP / FUP Descripción "Send_P2P_DB"( La instrucción Send_P2P inicia la transferencia de datos y transmite el REQ:=_bool_in_, PORT:=_word_in_, búfer asignado a la interfaz de co‐...
  • Página 974 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) ejecuciones posteriores de Send_P2P con REQ puesto a "low" devuelven el estado 16#7000 (no ocupado). Los diagramas siguientes muestran la relación entre los valores de salida y REQ. Para esto se supone que la instrucción se llama periódicamente para comprobar el estado del proceso de transmisión.
  • Página 975: Interacción De Los Parámetros Length Y Buffer

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) STATUS (W#16#..) Descripción 81D8 Intento de transmisión rechazado porque el puerto no ha sido configurado 81DF El CM ha reseteado la interfaz hacia el FB por una de las razones siguientes •...
  • Página 976: Receive_P2P (Habilitar Recepción De Mensajes)

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) parte de una estructura de datos del parámetro BUFFER , LENGTH se puede ajustar como se indica a continuación: Tabla 13-25 Parámetros LENGTH y BUFFER LENGTH BUFFER Descripción No utilizado Los datos completos se envían según se define en el parámetro BUFFER.
  • Página 977 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Tabla 13-27 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción PORT PORT Tras haber instalado y configurado un dispositivo de comunicación CM o CB, el identificador de puerto aparece en la lista desplegable de parámetros disponible en la conexión del cuadro PUERTO.
  • Página 978: Receive_Reset (Borrar El Búfer De Recepción)

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) STATUS (W#16#...) Descripción 81E3 Mensaje terminado debido a un error de desbordamiento 81E4 Mensaje terminado porque la longitud calculada excede el tamaño del búfer 81E5 Señal de polarización inversa (condición de rotura de hilo) 81E6 La cola del mensaje está...
  • Página 979: Signal_Get (Consultar Señales Rs-232)

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Tabla 13-30 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción Bool Activa la inicialización del receptor cuando se produce un flanco ascendente en esta entrada de habilitación (valor predeterminado: False) PORT PORT...
  • Página 980: Signal_Set (Activar Señales Rs-232)

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Parámetro y tipo Tipo de datos Descripción STATUS Word Código de condición de ejecución (valor predeterminado: 0) Bool Terminal de datos disponible, módulo listo (salida). Valor predeterminado: False Bool Equipo de datos listo, interlocutor listo (entrada).
  • Página 981 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Tabla 13-35 Tipos de datos para los parámetros Parámetro y tipo Tipo de datos Descripción Bool Inicia la activación de las señales RS232 cuando se produce un flanco as‐ cendente en esta entrada (valor predeterminado: False) PORT PORT...
  • Página 982: Get_Features

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.5.11 Get_Features Tabla 13-37 Instrucción Get_Features (consultar funciones avanzadas) KOP / FUP Descripción Get_Features lee las funciones avan‐ "Get_Features_DB"( REQ:=_bool_in_, zadas de un módulo. PORT:=_word_in_, NDR:=_bool_out_, ERROR=>_bool_out_, STATUS=>_word_out_, MODBUS_CRC=>_bool_out_, DIAG_ALARM=>_bool_out_, SUPPLY_VOLT=>_bool_out);...
  • Página 983: Set_Features

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.5.12 Set_Features Tabla 13-39 Instrucción Set_Features (ajustar funciones avanzadas) KOP / FUP Descripción Set_Features ajusta las funciones "Set_Features_DB"( REQ:=_bool_in_, avanzadas que soporta un modulo. PORT:=_word_in_, EN_MODBUS_CRC:=_bool_in_, EN_DIAG_ALARM:=_bool_in_, EN_SUPPLY_VOLT:=_bool_in_, DONE=>_bool_out_, ERROR=>_bool_out_, STATUS=>_word_out_);...
  • Página 984: Programar La Comunicación Ptp

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.6 Programar la comunicación PtP STEP 7 ofrece instrucciones avanzadas que permiten al programa de usuario establecer comunicaciones punto a punto utilizando un protocolo diseñado e implementado en el programa de usuario.
  • Página 985: Arquitectura De Sondeo

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.6.1 Arquitectura de sondeo El programa de usuario de STEP 7 debe llamar las instrucciones de comunicación punto a punto de S7-1200 de forma cíclica/periódica para comprobar los mensajes recibidos. Un sondeo de la transmisión notifica al programa de usuario el fin de la transmisión.
  • Página 986: Ejemplo: Comunicación Punto A Punto

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.7 Ejemplo: Comunicación punto a punto En este ejemplo, una CPU S7-1200 se comunica con un PC con emulador de terminal a través de un módulo CM 1241 RS232. La configuración punto a punto y el programa de STEP 7 muestran en este ejemplo cómo la CPU puede recibir un mensaje del PC y enviar el mensaje de vuelta al Hay que conectar la interfaz de comunicación del módulo CM 1241 RS232 a la interfaz RS232 del PC, que por lo general es COM1.
  • Página 987: Configurar Los Módulos De Comunicación

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.7.1 Configurar los módulos de comunicación El CM 1241 se puede configurar desde la configuración de dispositivos de STEP 7 o con las instrucciones del programa de usuario. Este ejemplo utiliza la variante de la configuración de dispositivos.
  • Página 988 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) • Configuración de inicio de recepción de mensajes: Configure el CM 1241 para que inicie la recepción de un mensaje cuando la línea de comunicación esté inactiva durante al menos 50 tiempos de bit (aprox.
  • Página 989: Estados Operativos De Rs422 Y Rs485

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.7.2 Estados operativos de RS422 y RS485 Configurar RS422 Para el modo RS422, hay tres modos de operación según la configuración de la red. Seleccione uno de estos modos en función de los dispositivos de la red. Según la selección que se realice en Inicialización de la línea de recepción, se podrían dar los casos que se indican a continuación.
  • Página 990: Caso 2: Rs422 Sin Detección De Rotura De Cable, Polarización Directa

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) Caso 1: RS422 con detección de rotura de cable • Modo de operación: RS422 • Inicialización de la línea de recepción: Polarización inversa (polarizada con R(A) > R(B) > 0V) •...
  • Página 991 Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) La polarización y la terminación las añade el usuario en los nodos finales de la red. Configurar RS485 Para el modo RS485, solo hay un estado operativo. Según la selección que se realice en Inicialización de la línea de recepción, se podrían dar los casos que se indican a continuación.
  • Página 992: Programar El Programa De Step 7

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) 13.3.7.3 Programar el programa de STEP 7 El programa de ejemplo utiliza un bloque de datos globales para el búfer de comunicación, una instrucción RCV_PTP (Página 1122) para recibir datos del emulador de terminal y una instrucción SEND_PTP (Página 1120) para enviar de regreso el búfer al emulador de terminal.
  • Página 993: Configurar El Emulador De Terminal

    Procesador de comunicaciones y Modbus TCP 13.3 Comunicación punto a punto (PtP) byte del mensaje ha sido transmitido desde el CM 1241. Cuando la transmisión ha finalizado, la salida DONE (Tag_5 en M10.0) se pone a TRUE durante una ejecución de SEND_PTP. Segmento 4: vigile la salida DONE de SEND_PTP y desactive la marca de transmisión (Tag_8 en M20.0) cuando la transmisión haya finalizado.
  • Página 994: Ejecutar El Programa De Ejemplo

    Procesador de comunicaciones y Modbus TCP 13.4 Comunicación de interfaz serie universal (USS) 13.3.7.5 Ejecutar el programa de ejemplo Para poner en práctica el programa de ejemplo, proceda del siguiente modo: 1. Cargue el programa STEP 7 en la CPU y asegúrese de que la misma esté en modo RUN. 2.
  • Página 995: Comunicaciones Uss Mediante Profibus O Profinet

    Procesador de comunicaciones y Modbus TCP 13.4 Comunicación de interfaz serie universal (USS) Comunicaciones USS mediante PROFIBUS o PROFINET 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 USS para usar un rack de periferia descentralizada PROFINET o PROFIBUS para comunicarse con varios dispositivos (lectores RFID, dispositivos GPS y otros): •...
  • Página 996 Procesador de comunicaciones y Modbus TCP 13.4 Comunicación de interfaz serie universal (USS) La flecha azul indica el flujo de comunicación bidireccional entre dispositivos. Nota Con la versión V4.1 de S7-1200 se pueden emplear las instrucciones punto a punto para todos los tipos de comunicación punto a punto: serie, serie mediante PROFINET y serie mediante PROFIBUS.
  • Página 997: Seleccionar La Versión De Las Instrucciones Uss

    Procesador de comunicaciones y Modbus TCP 13.4 Comunicación de interfaz serie universal (USS) 13.4.1 Seleccionar la versión de las instrucciones USS En STEP 7 están disponibles dos versiones de las instrucciones USS: • La versión 2.0 (instrucciones Legacy) estaba disponible inicialmente en STEP 7 Basic/ Professional V13.
  • Página 998: Requisitos Para Utilizar El Protocolo Uss

    Procesador de comunicaciones y Modbus TCP 13.4 Comunicación de interfaz serie universal (USS) 13.4.2 Requisitos para utilizar el protocolo USS Las cuatro instrucciones USS utilizan dos bloques de función (FB) y dos funciones (FC) que soportan el protocolo USS. Un bloque de datos de instancia (DB) USS_Port_Scan se utiliza para cada red USS.
  • Página 999: Calcular El Tiempo Necesario Para La Comunicación Con El Accionamiento

    Procesador de comunicaciones y Modbus TCP 13.4 Comunicación de interfaz serie universal (USS) La instrucción USS_Port_Scan es un bloque de función (FB) que gestiona la comunicación real entre la CPU y los accionamientos vía el puerto de comunicación punto a punto (PtP) RS485. Cada llamada a este FB gestiona una comunicación con un accionamiento.
  • Página 1000: Instrucciones Uss

    Procesador de comunicaciones y Modbus TCP 13.4 Comunicación de interfaz serie universal (USS) velocidad de transferencia de comunicación. Si el FB USS_Port_Scan se llama más frecuentemente que el intervalo de USS_Port_Scan, no se incrementará el número de transacciones. El intervalo de timeout del accionamiento es el tiempo disponible para una transacción si, debido a errores de comunicación, se requieren 3 intentos para finalizar la transacción.

Tabla de contenido