Come possiamo aiutarti?

Print

Lettura ed estrazione di dati da un frame ASCII inviato tramite la porta RS232/485 del PLC ACE

 

Qui vedremo come estrarre i dati da un frame ASCII. In questo esempio, vedremo come estrarre i dati da un frame di lunghezza fissa. Esempio: Partiamo da un frame come questo: *ST,0000,01,9876,5432,1722,0268,01,1377# Vogliamo estrarre il valore in grassetto:

  • 9876 il livello del liquido
  • 5432 il livello del liquido in tempo reale
  • 01 lo stato di allarme

Creeremo una subroutine per gestire la lettura e l’estrazione.

Apriamo una nuova subroutine con questi dati di ingresso/uscita

  • livello del liquido
  • livello del liquido in tempo reale
  • stato dell’allarme
  • Apertura della porta COM per l’ascolto
  • Verifica se c’è un messaggio o meno
    • In caso affermativo, si passa al passo 2
Richiamiamo la subroutine per convertire la stringa ASCII in numero

  • Trasferiamo l’intero fotogramma/stringa ASCII
  • Indichiamo la posizione del valore nella stringa
  • quindi, recuperiamo il valore nel tag “Number”

Dobbiamo farlo per ogni valore.

Non dimenticate di dichiarare la vostra porta ACE RS232/485 come “custom”, non “Modbus” Per quanto riguarda la subroutine di conversione da ASCII a valore, la troverete nel progetto Potete scaricare il progetto e le sue subroutine qui