Hoe kunnen we helpen?
ASCII seriële gateway met een ACE (2 seriële poorten)
De ACE met 2 seriële poorten kan worden gebruikt als seriële gateway. Dat kan echter werken tussen 1 USB-poort (Slave Modbus) en 1 ASCII seriële poort.
Als je bijvoorbeeld een serieel bericht van een apparaat met data wilt converteren naar een ander serieel apparaat met dezelfde data.
Dit kan worden gebruikt met verschillende snelheden en pariteiten parameters.
Voor deze bewerking moet je een ACE PLC hebben met 2 RS232- of RS485-poorten.
Je moet elke seriële poort verbinden met je apparaten.
| RX naar TX TX naar RX GND naar GND |
![]() |
Voeg het GatewaySerialSub programma toe aan je ACE met vBuilder.
Dit programma is voor ACE 7096x versie. Controleer de versie in de “Setup Hardware”. Wijzig deze indien nodig.
Je moet ook de seriële poort configureren als“Aangepast type” en alle andere parameters, afhankelijk van de configuratie van je apparatuur.
![]() |
of | ![]() |
![]() |
Hoe werkt het programma?
Het programma is een subroutine genaamd “SerialA1toA2”.
In het hoofdprogramma roepen we deze subroutine aan bij elke programmacyclus.
“NbMess.Processed” (in het hoofdprogramma) en“NbMessagReceived” (in de subroutine) is het aantal verwerkte berichten. Dit is alleen ter informatie.
In ons geval is de lengte van het ontvangen bericht 14. De lengte van het verzonden bericht is 42. Je moet deze waarden voor je toepassing aanpassen aan de lengte van je berichten.
De tags“ReceivedArray” en“SendArray” zijn arrays van respectievelijk 14 en 42.
De waarden in de array-tags moeten decimaal zijn. Zie https://en.wikipedia.org/wiki/ASCII
In de subroutine heb je verschillende toestanden :
- Toestand 0: We openen en luisteren naar de seriële poort A1.
- Status 1: We controleren of er een bericht binnenkomt. Als er niets binnenkomt na“MyTimer“, openen we de seriële poort opnieuw (status 0).
- Status 2: Het bericht van poort A1 staat al in“ReceivedArray”. We maken een nieuw bericht en sturen het naar de seriële poort A2.
In dit onderstaande voorbeeld bevat het nieuw verzonden bericht (“SendArray”) vaste waarden en waarden uit de“ReceivedArray”.

- Status 3: Zodra het bericht naar de A2 seriële poort is verzonden, verhogen we het aantal ontvangen berichten en keren we terug naar luisteren (Status 0)
Resultaat
In deze onderstaande afbeelding zien we de waarde ” 1234567″ van“ReceivedArray” gekopieerd naar“SendArray”




