Comunicación S7 unidireccional en Simatic. ¿Cómo organizar el intercambio PLC-PLC programando y cargando solo un PLC?

Las conexiones S7 utilizadas para intercambiar información entre dispositivos de las series S7-300, 400, 1200, 1500 son configurables. Esto significa que debe informar explícitamente a los dispositivos quién se está comunicando con quién. En general, estas conexiones son bidireccionales (bidireccionales o bilateral), es decir, La adición de una conexión configurable ocurre para ambos PLC, lo que resulta en la necesidad de descargar ambos PLC. Esto no causa ningún problema particular si ambos PLC están en el departamento del sistema de control de procesos de la empresa y para ambos PLC hay un software de aplicación real disponible. Pero también hay casos especiales: es necesario establecer un intercambio entre el "antiguo" S7-300 y el "nuevo" S7-1500, además, el código fuente del antiguo programa se ha perdido. Bueno, o la operación simplemente tiene miedo de tocar el PLC. O simplemente no hay operación, la tarea de organizar el intercambio "pende" del integrador del "nuevo" sistema,lo que conduce a la condición anterior: nadie realmente quiere tocar el software de un sistema desconocido.





En tales casos, la capacidad disponible para configurar una conexión unilateralmente, activarla (es decir, "nuestro" PLC iniciará la conexión), agregar bloques de programa de comunicación PUG / GET (este método no funciona con otros bloques, todos los demás bloques son bidireccionales ) y descargar solo un PLC. Asumiremos que de alguna manera hemos conservado la información sobre el contenido de los bloques de datos, ya sea de la documentación del sistema o de la descripción de las etiquetas del sistema SCADA.





Brevemente sobre las conexiones unidireccionales y bidireccionales está escrito en la base de conocimientos en el enlace .





Herr Berger escribe muchas cosas interesantes sobre el tema:





Hans Berger "Automatización con SIMATIC S7-1500", p. 761





: S7- CPU, «» (active side), PUT/GET « », connection resource  03. , 03 , S7-.





«» ET200S CPU, S7-300 din-. ip- , .





ip-: 192.168.43.4





: DB1.DBD0, DB1.DBD4, DB1.DBD8





«» S7-1516, .





, . DB13. , PUT/GET «» .





Devices & networks.





Connections S7 connection





CPU Add new connection





S7-1516 , , . X1. Local ID (0x100) — , GET.





Add, Connections





ip-





Address details rack/slot , Connection resource 03. Rack — «», slot — «», «» CPU Simatic. ( «» ) 0/2.





OB1 GET .





GET , Properties ( ), . .





Req — , .





ID — , 0x100





ADDR_1 — , ANY





RD_1 — , , ANY. , .





DB1.DBD0.





ADDR_1. — ANY, Simatic. P#DB1.DBX0.0 BYTE 4





DB1 — 1





DBX0.0 — 0 ( 0 )





BYTE 4 — 4





P#DB1.DBX0.0 BYTE 4 DB1.DBD0. , , TIA Portal .





R0 "xEchangeDB".R0 ( ANY , P#DB13.DBX0.0 BYTE 4).





( Tag_1) , . , REQ , / .





Tag_1 :





, , 666. CPU S7-300 , . , 4 . , R1 R2 — .





3 ANY :





:





. , GET: NDR — , ERROR — STATUS — , . , «» , , . .





ANY, . GET ( ), PUT ( ). , PUT STATUS. .





GET . () PUT. , . R0 DB13. PUT .









Luego escribiremos datos estableciendo el valor de la variable Tag_7 igual a "1". Bueno, ahora, para ser honesto, veamos el valor de esta variable en la "caja negra".





La escritura de datos se realizó correctamente. Por lo tanto, incluso sin tener el programa controlador original en la mano, podemos leer información y escribirla. La cantidad de datos es limitada y depende del tipo de CPU. EMNIP, para la "serie trescientos" el paquete está limitado a 160 bytes, puede encontrar más información en la documentación. La ausencia de la necesidad de realizar cambios en el software de la aplicación es válida solo para las series 300 y 400, para miles de unidades se requiere permitir el acceso a la CPU mediante el método PUT / GET marcando la casilla correspondiente en la configuración del sistema.








All Articles