【Versión extensa】 Comunicación entre la computadora host C # /. NET y Siemens PLC

Según algunas estadísticas incompletas, las diez principales marcas internacionales de PLC en el mercado chino son las siguientes (para evitar disputas, sin ningún orden en particular):

Siemens, Schneider, Omron, Mitsubishi, Rockwell, Panasonic, ABB, Beckhoff, Emerson, GE

Eche otro vistazo a las diez principales marcas nacionales de PLC en el mercado chino:

Hollysys, Delta, Inovance, Xinje, Yonghong, Fengwei, Nanda Autotop, Xiamen Haiwei, Huangshi Kewei, Shanghai Zhenghang

Parte de la razón por la que los ingenieros eléctricos contemporáneos son tan buenos (Ku Bi) es probablemente porque hay demasiadas marcas de PLC y es posible que no puedan terminar de aprender toda su vida.

Todo lo anterior se envía con pensamientos, no como el tema de hoy. El tema de hoy es principalmente para presentarle cómo realizar la comunicación entre C # / .NET y Siemens PLC desde la perspectiva de los ingenieros eléctricos.

N0.01 Preparación

Si desea realizar la comunicación entre C # / .NET y Siemens PLC, primero debe tener cierta comprensión de Siemens PLC.Los modelos de PLC utilizados actualmente por Siemens PLC en el mercado incluyen: S7-200, S7-200Smart, S7-300, S7 -400, S7-1200, S7-1500, el área de almacenamiento principal del PLC Siemens incluye el área V (el área V es DB1 en el protocolo de comunicación), área M, área I, área Q, área DB, otra área C y área T Debido a que se usa menos y se puede transferir a través del programa, no está involucrado.

Por supuesto, si tenemos el hardware del PLC real a mano, por supuesto es muy conveniente y se puede probar directamente, pero para los estudiantes que no tienen un PLC, también preparamos una solución de antemano para todos: empujar ↓

Creación de un entorno de simulación de comunicación S7 basado en S7-PLCSIMAdvanced

    Después de configurar el entorno de simulación, solo debe prestar atención a los siguientes puntos:

       1. En la configuración del PLC, debe marcar para permitir el acceso a la comunicación PUT / GET desde objetos remotos.

                                                                            El gráfico 1 permite el acceso Put Get

    2. Si necesita acceder al bloque DB, debe desmarcar el acceso optimizado al bloque en las propiedades del bloque DB.

                                                                            Cuadro 2 Bloque DB para optimizar el acceso

3. Si se trata de un entorno de simulación construido por PLCSIM-Advanced, el bloque en la columna de protección en las propiedades de la solución completa debe ser verificado para soportar la simulación durante la compilación.

                                                                            La compilación de bloques del gráfico 3 admite la simulación

       4. Para que se lea la dirección, debe ser una dirección existente en el PLC:

    Tomemos como ejemplo el área de almacenamiento M. Generalmente, el byte máximo del área M es 8192. Si lee MD9000, debe ser imposible de leer.

    Tome el área de almacenamiento de la base de datos como ejemplo: si aún no ha creado DB1, si leyó DB1.DBD0, seguramente no podrá leerlo.

    Tome el área de almacenamiento de la base de datos como ejemplo: si su DB1 solo tiene un rango de 200 bytes, no podrá leer DB1.DBD200.

    Siempre que se sigan los cuatro principios anteriores, la comunicación PLC de Siemens básicamente no tiene problemas de configuración o hardware.

 

N0.02 Comunicación básica del PLC

La comunicación básica mencionada en esta sección se refiere principalmente a la lectura y escritura continua única o múltiple de la dirección del PLC. A continuación, se utilizará directamente el entorno de simulación recién construido para las pruebas. Por supuesto, el uso del PLC real también es completamente No hay problema. La premisa es cambiar primero DB1.DBD0, DB1.DBD4, DB1.DBD8 y DB1.DBD12 en el blog a 1.2, 3.4, 5.6, 7.8, respectivamente, y cambiar la cadena de 100 bytes a partir de DB.DBS344 a "esta noche Hay clases públicas gratuitas en la computadora host "para pruebas y lectura:

                                                                                  Gráfico 4 Valor variable DB1

                                                                              Gráfico 5 Datos de la cadena DB1

El primer paso: leer una sola variable

Utilice C # para llamar a la biblioteca de comunicaciones xktComm.dll (Nuget busca xktComm para descargar e instalar) para leer una sola variable del PLC. El resultado se muestra en la siguiente figura:

Nota: La comunicación del PLC de Siemens solo necesita una dirección IP y un tipo de CPU, no un número de puerto, porque el número de puerto del protocolo S7 es un valor fijo de 102, la razón para elegir el tipo de CPU es porque los diferentes tipos de CPU tienen diferentes mensajes de reconocimiento. De igual forma, para la captura y análisis de mensajes de Siemens PLC, escribí un artículo especial para explicarlo antes: poke ↓

El principio subyacente y el análisis de captura de paquetes del protocolo de comunicación Siemens S7

                                                                                    Gráfico 6 Lectura única del PLC

                                                                             Gráfico 7 Lectura de una sola cadena del PLC

Paso 2: escribe una sola variable

También es muy conveniente escribir una sola variable. Simplemente ingrese la dirección, escriba y escriba el valor directamente. A continuación, escriba estas 4 direcciones en 1.0, 2.0, 3.0, 4.0 y los resultados son los siguientes:

 

                                                                                Gráfico 8 Escritura única del PLC

                                                                                     Gráfico 9 Escritura de cadena de un solo carácter del PLC

Paso 3: leer múltiples variables

Para la lectura de múltiples variables, debe completar la longitud de lectura. A continuación, cambiando la longitud de lectura a 4, lea DB1.DB0-DB1.DBD12 de una vez, y el resultado se muestra en la siguiente figura:

                                                                               Gráfico 10 Lectura múltiple del PLC

Paso 4: escribe múltiples variables

Para la escritura de múltiples variables, no es necesario completar la longitud de lectura, directamente en el valor de escritura, separar con espacios, escribir el valor correspondiente, debajo, cambiar DB1.DBD0-DB1.DBD12 a 1.2, 3.4, 5.6 , 7.8 como ejemplo, cambie el valor escrito a 1.2 3.4 5.6 7.8, el resultado se muestra en la siguiente figura:

                                                                                      Gráfico 11 Escritura múltiple del PLC

 

N0.03 Comunicación avanzada PLC

Si la comunicación básica del PLC puede satisfacer las necesidades del proyecto de todos, entonces la comunicación avanzada del PLC seguramente sorprenderá a todos.

La aplicación principal de la comunicación avanzada de PLC es leer y escribir múltiples áreas de almacenamiento discontinuas o múltiples variables discontinuas a la vez, lo que parece ser compatible solo con el protocolo Siemens S7 y no con otras marcas de PLC.

El primer paso: lectura múltiple de variables discontinuas

En la siguiente figura, después de conectarse al PLC, ingresando la dirección de la variable y el tipo de variable, y luego haciendo clic en Agregar al área de lectura, la variable que desea leer se cargará en el área de lectura a la derecha y el área de lectura se mostrará en formato JSON , El lado derecho muestra el tiempo que consume. Después de agregar, haga clic para leer los datos y los datos que desea leer se mostrarán en el cuadro de registro. Estas variables pueden ser discontinuas.

Tomemos la lectura de MD10, MD100, MD200, DB1.DBD0, DB1.DBD8 como ejemplo de prueba, y los resultados de la prueba se muestran en la siguiente figura:

                                                                            Gráfico 12 PLC multivariable leído al mismo tiempo

                                                                                  Tabla 13 Tabla de monitoreo de PLC

Paso 2: escribe una variable discontinua para leer

Sobre la base de la lectura en el paso anterior, escriba respectivamente MD10, MD100, MD200, DB1.DBD0, DB1.DBD8 en 1.0, 2.0, 3.0, 4.0, 5.0, y siga utilizando el mismo método para completar la dirección de variable, el tipo de variable y escribir Ingrese el valor, haga clic para agregar al área de escritura y finalmente haga clic para escribir datos y determinar si los datos se pueden escribir al mismo tiempo. El resultado de la prueba se muestra en la siguiente figura:

                                                                            Gráfico 14 Escritura multivariable del PLC al mismo tiempo

                                                                         Gráfico 15 Comparación de los resultados de escritura de varias variables del PLC

Mediante el resultado de la retroalimentación y la comparación de datos del PLC, la medición real demuestra que se pueden escribir múltiples variables en el PLC al mismo tiempo, y el juicio toma solo 11 ms, lo que indica que el mensaje se escribe a la vez. Con todo, la aplicación razonable de la comunicación avanzada PLC mejorará en gran medida la eficiencia de comunicación de la computadora superior.

N0.04 Resumen general

Este artículo describe principalmente la comunicación entre C # y Siemens PLC con más detalle.Creo que será de gran ayuda para muchos ingenieros eléctricos, especialmente ingenieros eléctricos basados ​​en Siemens PLC. En los últimos años, con el proceso de inteligencia artificial y el Internet de las cosas, la industria del control industrial ha experimentado grandes cambios. Todo ingeniero eléctrico debe hacer ajustes a tiempo, aprender al menos un lenguaje de programación de alto nivel, tomar precauciones y responder con mejor actitud. La próxima fabricación inteligente 2025.

                                                                                        Escanea el código QR para seguir la cuenta oficial ↓

 

 

 

Supongo que te gusta

Origin blog.csdn.net/xiketangAndy/article/details/106839983
Recomendado
Clasificación