El ACE con 2 puertos serie se puede utilizar como una puerta de enlace serie. Sin embargo, esto puede funcionar entre 1 puerto USB (Slave Modbus) y 1 puerto serie ASCII.

Si desea, por ejemplo, convertir un mensaje serie de un equipo que incluye datos a otro equipo serie con los mismos datos.

Se puede utilizar con diferentes velocidades y parámetros de paridad.

Para esta operación es necesario disponer de un PLC ACE con 2 puertos RS232 o RS485.

Debe conectar cada puerto serie a sus dispositivos.

RX a TXTX
a RXGND
a GND

Añada el programa GatewaySerialSub a su ACE con vBuilder.

Este programa es para la versión ACE 7096x. Compruebe la versión en el «Setup Hardware». Cámbielo si es necesario.

También debe configurar el puerto serie como «Custom type» y todos los demás parámetros dependiendo de la configuración de su equipo.

o

Cómo hace el trabajo del programa?

El programa es una subrutina llamada «SerialA1aA2».

En el programa principal, llamamos a esta subrutina en cada ciclo de programa.

«NbMess.Processed« (en el programa principal) y «NbMessagReceived» (en la subrutina) es el número de mensajes procesados. Esto es sólo para información.

En nuestro caso, la longitud del mensaje recibido es de 14. La longitud del mensaje enviado es de 42. Debe ajustar estos valores para su aplicación según la longitud de sus mensajes.

Las etiquetas «ReceivedArray» y «SendArray» son matrices de tamaño 14 y 42 respectivamente.

Los valores de las etiquetas de la matriz deben estar en decimales. Véase https://en.wikipedia.org/wiki/ASCII

En la subrutina, usted tiene un estado diferente:

  • Estado 0: Abrimos y escuchamos el puerto serie A1.
  • Estado 1: Comprobamos si llega algún mensaje. Si no llega nada después de «MyTimer«, reabrimos el puerto serie (Estado 0).
  • Estado 2: El mensaje del puerto A1 ya está en «ReceivedArray». Creamos el nuevo mensaje y lo enviamos al puerto serie A2.

En este ejemplo, el nuevo mensaje enviado («SendArray») contiene valores fijos y valores del «ReceivedArray».

  • Estado 3: Una vez que el mensaje es enviado al puerto serie A2, incrementamos el número de mensajes recibidos y volvemos a escuchar (Estado 0)

Resultado

En esta imagen de abajo, podemos ver el valor «+1234567» de la forma «ReceivedArray» copiado a «SendArray»