Visite el tutorial de la serie Siemens PLC basado en Socket (2)

Este artículo es el segundo artículo de la comunicación TCP abierta de Siemens. En el artículo anterior, hablamos sobre la programación utilizando Siemens 1200PLC como servidor TCP. Puede hacer clic en el enlace siguiente para leer: [ Cuenta pública dotNet industrial control host computer: thinger_swj]

Acceda al tutorial de la serie Siemens PLC basado en Socket (1)

Después de completar los pasos anteriores, el siguiente paso es escribir el software de la computadora superior para comunicarse con el PLC. El diseño de la interfaz de la interfaz de usuario de la computadora superior se muestra en la siguiente figura:


Como se puede ver en la figura anterior, la computadora superior debe completar las siguientes funciones:

  • Conexión y desconexión TCP
  • Multithreading para recibir datos del servidor
  • Análisis de datos generales de varios tipos de datos
  • La escritura general de varios tipos de datos se completará uno por uno en el orden de funciones, como sigue:

(1) Conexión y desconexión TCP: La conexión y desconexión TCP se realizan principalmente llamando a la función API de Socket. El código es el siguiente:

 

 

(2) Habilitar subprocesos múltiples para recibir continuamente datos del servidor: después de que la computadora host esté conectada al PLC, el PLC enviará datos periódicamente a la computadora host. La computadora host debe continuar recibiendo datos. Por lo tanto, después de que la conexión sea exitosa, se abre un subproceso para recibir datos del servidor.

(3) Análisis general de datos de varios tipos de datos: Cuando se han obtenido todos los datos (matrices de bytes), si se desea analizar cualquier tipo de datos, se encuentra a través del análisis que se requieren al menos tres elementos, que son las palabras iniciales. Sección, tipo de datos, desplazamiento (desplazamiento de bits para booleano, longitud para cadena), por lo que primero creamos una clase de entidad para estos tres elementos, como se muestra a continuación:

 

Muestra los datos a través del control, por lo que debe vincular el control. Esto se hace a través de la propiedad Tag. De acuerdo con el formato de DataType; Start.Offset, DataType completa los datos de acuerdo con el tipo enumerado y Start completa un número entero. Para Offset, si no es booleano Tipo o cadena, este elemento se puede dejar en blanco, el formato de llenado es el siguiente:

 

El método de vinculación de etiquetas es el siguiente: [ Computadora host de control industrial dotNet de cuenta pública: thinger_swj]

 

Después de obtener la etiqueta vinculada al control, debe escribir un método para realizar la conversión entre la etiqueta y el objeto de entidad BindVariable.

Idea general para la realización de la actualización de datos: recorra todos los controles, primero determine si la propiedad de la etiqueta cumple con los requisitos, si cumple con los requisitos, convierta la etiqueta en un objeto BindVariable y luego analice los datos de acuerdo con el objeto BindVariable. Aquí puede encapsular la actualización en tiempo real por separado en un método , Llame directamente a multihilo. Después de completar los pasos anteriores, puede ejecutar directamente el software de la computadora host para realizar la prueba de función de lectura. Primero cree una tabla de monitoreo en el blog, complete algunos números aleatorios y luego lea y compare a través de la computadora host. La tabla de seguimiento se muestra en la siguiente figura:

 

La computadora superior se ejecuta para leer los datos como se muestra en la siguiente figura:

Supongo que te gusta

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