En un artículo anterior, hablamos sobre el comando PUT y cómo lo usamos para comunicarnos entre dos PLC, ya sea que estén en el mismo proyecto o en dos proyectos diferentes. En este artículo, vamos a hablar sobre el comando GET que se usa para el proyecto de comunicación de PLC a PLC de Siemens para el intercambio de datos.
¿Qué es el comando GET?
Al igual que el comando put, un comando GET es un bloque de función integrado en TIA Portal (FB) que se usa exclusivamente para las CPU de la familia S7 para obtener datos de un PLC asociado remoto a un PLC local. A diferencia del comando PUT, en lugar de poner datos de PLC_1 en PLC_2, el comando GET obtendrá datos de PLC_2 en PLC_1.
Al usar el comando GET, tendría dos PLC, donde necesito obtener datos de un PLC llamado asociado a otro PLC llamado local. El PLC local es donde se programará el comando GET.
Además de una conexión Profinet entre los dos PLC. Se deben realizar algunas configuraciones en el PLC asociado para permitir que el otro PLC pueda acceder a él.
Crearemos un proyecto de muestra para mostrar cómo utilizar el comando GET.
Proyecto de comunicación de PLC a PLC de Siemens
Supondremos un proyecto de muestra en el que tenemos dos PLC en el mismo proyecto, PLC_1 que actuará como el PLC local y PLC_2 que es el PLC asociado.
Para crear una situación en la que necesitamos utilizar el comando GET, supondremos que queremos leer/obtener un número entero del PLC_2 asociado al PLC_1 local.
Primero, creemos un nuevo proyecto y agreguemos los dos PLC. Vea la imagen 1.
imagen 1. Cree un nuevo proyecto y agregue dos PLC.
Ahora, necesitamos configurar el PLC_2 asociado para habilitar el acceso GET desde el PLC_1. También necesitamos preparar los datos que se moverán del PLC_2 al PLC_1.
Primero, necesitamos permitir el acceso del comando GET al PLC_2 que proporcionará los datos. Ver imagen 2.
imagen 2. Permitir el acceso del comando GET.
Como puede ver en la imagen, permitimos que el comando GET acceda al PLC_2 desde las Propiedades del PLC_2, en la opción Protección y seguridad, haga clic en
“Permitir acceso con comunicación PUT/GET desde el socio remoto”
Ahora, tengo permitido leer/obtener datos del socio PLC_2 usando el comando GET.
A CONTINUACIÓN, queremos crear los datos que se moverán al PLC_1, asumimos que el PLC_1 quiere obtener un entero del PLC_2.
Definiremos una etiqueta de entero llamada “SendDataToPLC_1” esta etiqueta de entero se leerá desde el PLC_2 hacia el PLC_1. Ver imagen 3.
imagen 3. Definir los datos que se moverán al PLC_1
Y eso es todo; Esta es toda la configuración que necesita preparar desde el lado PLC_2 para poder recibir datos a través del comando GET.
AHORA, vamos a PLC_1, en PLC_1 queremos crear lógica donde usemos el comando GET para leer datos del PLC_2.
Como hicimos en el último artículo, simplemente arrastraremos y soltaremos el comando GET en nuestro OB1 principal. Vea la imagen 4.
imagen 4. Arrastre y suelte el comando GET
Tenga en cuenta que el comando GET se encuentra en la carpeta de comunicación S7, ya que es una función exclusiva para los PLC de la familia S7, porque involucra cuestiones de seguridad. Recuerde que en la imagen 2, cuando permitimos el uso del comando GET, estaba en el atributo Seguridad y protección de las propiedades del PLC, ya que está relacionado con la seguridad y protección del PLC.
Cuando arrastre y suelte el comando GET en su, se le solicitará que cree una instancia de bloque de datos, ya que el comando GET es esencialmente un bloque de función FB. Consulte la imagen 5.
imagen 5. Cree una instancia de datos para el comando GET.
Ahora que agregamos el comando GET a nuestra lógica, debemos comenzar a configurar el bloque GET como lo hicimos antes con el comando put. Para abrir las vistas de configuración del comando GET, presione el pequeño ícono azul en la parte superior del bloque. Consulte la imagen 6.
imagen 6. Abra la vista de configuración.
Tenemos dos parámetros principales para configurar, el parámetro de conexión y el parámetro de bloque. Consulte la imagen 7.
imagen 7. Configuración del bloque GET.
Como puede ver en la imagen, el PLC local es el PLC donde se llama al comando GET. Mientras que el PLC asociado es el que proporcionará los datos, también es el mismo al que le permitimos el acceso GET. En nuestro proyecto, el PLC asociado es PLC_2.
También puede ver en la imagen que el socio está vacío y que tenemos que seleccionar el PLC. Consulte la imagen 8.
imagen 8. Diferentes opciones en la lista de socios
Como puede ver, tenemos dos opciones diferentes para seleccionar el PLC asociado.
No especificado es cuando los PLC son de diferentes proyectos de TIA Portal y si los PLC son del mismo proyecto de TIA Portal, entonces encontrará el otro PLC en la lista.
Cuando elige la opción PLC_2 porque nuestros PLC están en el mismo proyecto, la configuración de conexión se completará automáticamente. Consulte la imagen 9.
imagen 9. PLC_2 como socio
Como ambos PLC están en el mismo proyecto, cuando elijo la opción PLC_2, todos los parámetros de conexión se completarán automáticamente.
Por otro lado, si el PLC asociado es de un proyecto diferente, entonces elegiré la opción No especificado y, en ese caso, tendré que completar algunos datos como la dirección IP del PLC asociado. Ver imagen 10.
imagen 10. PLC asociado como no especificado.
Como puede ver, cuando el asociado está No especificado, deberá agregar manualmente cierta información como la dirección IP del PLC asociado.
También puede ver que necesitamos agregar una subred al PLC_1 local. Para hacer eso, solo vaya a las propiedades Profinet del PLC_1 y seleccione agregar una nueva subred. Consulte la imagen 11.
Imagen 11. Agregar subred para PLC_1
Después de agregar una nueva subred a PLC_1, la configuración de los parámetros de conexión estará completa. Consulte la imagen 12.
imagen 12. Los parámetros de conexión están completos.
La siguiente configuración que debemos realizar es la del parámetro de bloque.
En el parámetro de bloque definimos los datos que se moverán entre los dos PLC y también la señal de activación que permitirá el inicio de la ejecución del bloque GET. Consulte la imagen 13.
imagen 13. Parámetros de bloque.
Como puede ver, debemos definir la señal de activación para el bloque GET y también debemos definir qué datos se moverán desde PLC_2 (área de lectura ADDR_1) y a dónde irán estos datos (área de almacenamiento RD_1).
Ya definimos ADDR_1 antes de la cual está la etiqueta de entero SendDataToPLC_1 que definimos dentro de PLC_2.
AHORA, definiremos el área de almacenamiento para esa etiqueta de entero y la señal de activación. Vea la imagen 14.
imagen 14. Defina la señal de activación y el área de almacenamiento
Después de definir la señal de activación, ADDR_1 y RD_1, completaremos estos parámetros en la configuración del bloque. Vea la imagen 15.
Imagen 15. Complete el parámetro del bloque
Ahora, la configuración del bloque GET está terminada y puede ver que el bloque ahora está listo para ser descargado y ejecutado. Consulte la imagen 16.
imagen 16. Bloque GET
El bloque GET ya está configurado y, una vez que la señal de activación esté activa, el bloque leerá ADDR_1 de PLC_2 y lo escribirá en RD_1 en PLC_1.