Red de conocimiento informático - Aprendizaje de programación - ¿El PLC necesita enviar una solicitud como ADAM4017 para recibir datos del módulo ADAM4017?

¿El PLC necesita enviar una solicitud como ADAM4017 para recibir datos del módulo ADAM4017?

Port0 y adam4017/4018 están conectados a través de la línea RS-485, que es una comunicación semidúplex. Los datos solo se pueden enviar o recibir al mismo tiempo y solo se pueden recibir después de enviarlos.

En este ejemplo, el indicador de envío de datos se establece en m1.0 y el indicador de recepción de datos se establece en m1.0. En el programa principal, emita una instrucción XMT a intervalos regulares para configurar M1.0 en 1, configúrelo en 0 en la interrupción de finalización de mensaje XMT 9 y emita una instrucción RCV para configurar M1.1. Borre M1.1 en la interrupción de finalización del mensaje RCV.

Lee el módulo 4018/4017 con la dirección 06/07, y envía el comando de lectura de cadena "# 06" + 0x0D, donde 0x0D es el último carácter de la cadena, y los datos devueltos por 4018 son :

& gt+0023.7+0023.7+0023.7+0023.7+0023.7+0017.5+0023.5+0023.7+000d; La respuesta comienza con el carácter ">", comienza con 0x0d y termina con 0x0D. tiene *** Hay 8 canales, cada canal ocupa 7 bytes, por lo que el tamaño del búfer de recepción es 1+7*8+1=58 bytes. Como el primer byte del string S7-200 representa la longitud, se necesitan 59 bytes.

A 9600 bps, sin bit de paridad y 1 bit de parada, la velocidad de transmisión máxima es 960 bytes/segundo, (4+58)/960*1000=658779 ms, de los cuales se envían 4 bytes, se reciben 58 bytes. La instrucción RCV se ejecuta inmediatamente después de la transferencia XMT y se utiliza antes de ejecutar XMT. El tiempo de espera de respuesta se establece en 1,5 veces el tiempo necesario para leer normalmente la información y se asignan 100 ms para registrar smw92.

El número de interrupciones para el envío de información XMT del Puerto 0 es 9 y el número de interrupciones de finalización de recepción de información RCV es 23.

Debido a que algunas CPU s7200 solo tienen puerto 0, se usa sm0.7 bit ($ term) para iniciar y detener la comunicación del puerto libre y se puede usar en el estado $ term.

Este programa utiliza dos variables para registrar la cantidad de veces que se envía XMT y la cantidad de veces que RCV se recibe exitosamente, porque las consultas se envían primero y luego se reciben. Si se recibe correctamente, los valores de estas dos variables deberían ser iguales.

Debido a que hay dos módulos, el número de veces que se envía XMT es módulo 2, el valor de 0 es 4017 y el valor de 1 es 4018, y la consulta se realiza en secuencia. Múltiples módulos analógicos a la vez;