Hoe kunnen we helpen?

Print

Lezen en extraheren van gegevens uit een ASCII-frame dat via de ACE PLC RS232/485-poort is verzonden

 

Hier gaan we zien hoe we gegevens uit een ASCII-frame kunnen halen. In dit voorbeeld zullen we zien hoe we gegevens uit een frame met een vaste lengte kunnen halen. Voorbeeld: Laten we beginnen met een frame als dit: *ST,0000,01,9876,5432,1722,0268,01,1377# We willen de vetgedrukte waarde eruit halen:

  • 9876 het vloeistofniveau
  • 5432 het vloeistofniveau in real time
  • 01 de alarmstatus

We stellen een subroutine in om deze uitlezing en extractie te beheren.

Open een nieuwe subroutine met deze invoer/uitvoergegevens

  • vloeistofniveau
  • real-time vloeistofniveau
  • alarmstatus
  • De COM-poort openen om te luisteren
  • Controleert of er een bericht is of niet
    • Zo ja, dan gaan we naar stap 2
We roepen de subroutine op om de ASCII-string te converteren naar een getal

  • We dragen het hele ASCII-frame/de hele string over
  • We geven de positie van de waarde in de string op
  • vervolgens halen we de waarde op in de “Number” tag

We moeten dat voor elke waarde doen.

Vergeet niet om je ACE RS232/485 poort als “custom” te declareren, niet als“Modbus” De ASCII-naar-waarde conversie subroutine kun je vinden in het project Je kunt het project en de subroutines hier downloaden