Print

Passerelle série ASCII avec un ACE (2 ports série)

L’ACE avec 2 ports série peut être utilisé comme passerelle série. Cependant, cela peut fonctionner entre 1 port USB (Slave Modbus) et 1 port série ASCII.

Si vous voulez par exemple convertir un message série d’un équipement qui inclut des données en un autre équipement série avec les mêmes données.

Il peut être utilisé avec différents paramètres de vitesse et de parité.

Pour cette opération, vous devez disposer d’un API ACE avec 2 ports RS232 ou RS485.

Vous devez relier chaque port série à vos appareils

RX à TXTX
à RXGND
à GND

GatewaySerialSub à votre ACE avec vBuilder.

Ce programme est pour la version ACE 7096x. Vérifiez la version dans le « Setup Hardware ». Changez-le si nécessaire.

Vous devez également configurer le port série en tant que « Custom type » et tous les autres paramètres en fonction des configurations de vos équipements.

ou

Comment fonctionne le programme ?

Le programme est une sous-routine appelée « SerialA1toA2 ».

Dans le programme principal, nous appelons cette sous-routine à chaque cycle de programme.

« NbMess.Processed » (dans le programme principal) et « NbMessagReceived » (dans la sous-routine) est le nombre de messages traités. C’est juste pour information.

Dans notre cas, la longueur du message reçu est de 14. La longueur du message envoyé est de 42. Vous devez ajuster ces valeurs pour votre application en fonction de la longueur de vos messages.

Les balises ReceivedArray et SendArray sont des tableaux de taille respective 14 et 42, les valeurs dans les balises de tableau doivent être en décimal. Voir https://en.wikipedia.org/wiki/ASCII

Dans la sous-routine, vous avez un état différent :

  • Etat 0 : Nous ouvrons et écoutons le port série A1.
  • État 1 : Nous vérifions si un message arrive. Si rien n’arrive après « MyTimer« , nous rouvrons le port série (état 0).
  • Etat 2 : Le message du port A1 est déjà dans le « ReceivedArray »
  • Nous créons le nouveau message et l’envoyons sur le port série A2.

Dans l’exemple ci-dessous, le nouveau message envoyé (SendArray) contient des valeurs fixes et des valeurs provenant du ReceivedArray.

  • Etat 3 : Une fois le message envoyé sur le port série A2, on incrémente le nombre de messages reçus et on revient à l’écoute (Etat 0)

Résultat

Dans l’image ci-dessous, on peut voir la valeur « +1234567 » du formulaire ReceivedArray copié dans SendArray