Leggere un Finder serie 7M via Modbus RTU con Finder OPTA in CODESYS
Guide and Tutorial | Leggere un Finder serie 7M via Modbus RTU con Finder OPTA in CODESYS
Leggere un Finder serie 7M via Modbus RTU con Finder OPTA in CODESYS
Scopri come configurare Finder OPTA in CODESYS per leggere i dati da un dispositivo Finder serie 7M tramite Modbus RTU.
Panoramica
Finder OPTA è dotato di una porta RS-485 che consente la comunicazione con dispositivi compatibili con il protocollo Modbus RTU, come i Finder serie 7M. In questo tutorial mostreremo, passo dopo passo, come configurare Finder OPTA in CODESYS per leggere correttamente i dati da un contatore Finder serie 7M.
Obbiettivi
- Configurare Finder OPTA tramite Ethernet per la lettura dei registri di un Finder serie 7M in CODESYS
- Leggere i registri di un Finder serie 7M tramite Modbus RTU in CODESYS
Requisiti
Prima di iniziare, assicurati di avere:
- PLC Finder OPTA CODESYS (x1)
- Alimentatore switching 12W o 25W per OPTA(1x)
- Finder serie 7M con Modbus RTU (x1)
- Cavo Ethernet (x1)
- Cavo per la connettività RS-485 con una delle seguenti specifiche (x2):
- STP/UTP 24-18AWG (non terminato) con resistenza di 100-130Ω
- STP/UTP 22-16AWG (terminato) con resistenza di 100-130Ω
- Ambiente di sviluppo CODESYS installato con plug-in OPTA Configurator. Trovi una guida all'installazione a questo link.
- Rete configurata correttamente: il PC deve comunicare correttamente con Finder OPTA tramite Ethernet. Trovi una guida alla configurazione a questo link.
Per seguire questo tutorial, sarà necessario collegare il contatore di energia Finder serie 7M alla rete elettrica e fornire un carico adeguato. Sarà inoltre necessario alimentare il Finder Opta con l'alimentatore e configurare correttamente la connessione seriale RS-485. Il diagramma sottostante mostra la configurazione corretta dei collegamenti tra il Finder Opta e il Finder serie 7M.
Istruzioni
In questo tutorial i parametri di configurazione utilizzati per la comunicazione Modbus con il Finder serie 7M sono:
- Indirizzo Modbus:
1
. - Baudrate:
38400
. - Stop bit:
1
. - Parity:
NO
.
Possiamo impostare questi valori tramite NFC utilizzando l'applicazione Finder Toolbox NFC.
Creazione progetto CODESYS
Apri CODESYS.
Crea un nuovo progetto e scegli Progetto standard
.
Assicurati che il dispositivo sia Finder Opta
, poi seleziona il linguaggio del programma (in seguito usiamo ST).
Identificazione Finder OPTA via Ethernet
A questo punto fai doppio click sulla voce Device (Finder Opta)
del menu Dispositivi
, si aprirà una scheda come mostrato qui
sotto.
Premi il bottone Sfoglia la rete
e assicurati di vedere il dispositivo Finder OPTA comparire sotto il Gateway, poi premi OK
.
Configurazione Modbus
In questa fase configuriamo la porta RS-485 e i parametri del protocollo Modbus per garantire che il Finder OPTA sia in grado di comunicare con il Finder serie 7M.
Premi il tasto destro sulla voce Device (Finder Opta)
e seleziona Aggiungi dispositivo
.
Adesso configura il protocollo Modbus RTU sulla porta RS-485 di Finder OPTA.
Seleziona Modbus COM Port
e fai click su Aggiungi dispositivo
.
Imposta i valori di configurazione della porta seriale come segue:
- Porta COM:
2
, ovvero la porta RS-485 del Finder OPTA. - Velocità in baud:
38400
. - Parità:
NONE
. - Bit di dati:
8
. - Bit di stop:
1
.
Dopo aver impostato i valori della porta seriale, premi il tasto destro su Modbus_COM_Port(Modbus COM Port)
e poi su Aggiungi dispositivo
.
Dalla lista seleziona Modbus Client, COM Port
e fai Aggiungi dispositivo
. In
questo modo aggiungi un client Modbus che comunica sulla porta seriale
precedentemente configurata, ovvero il Finder serie 7M.
Ora premi il tasto destro sull'elemento appena aggiunto nel menu laterale
Modbus_Client_COM_Port(Modbus Client, COM Port)
e fai Aggiungi dispositivo...
.
Seleziona Server Modbus, porta COM
, poi Aggiungi dispositivo
per
specificare che il Finder serie 7M si comporterà da server, mentre il Finder
OPTA si comporterà da client.
A questo punto clicca sull'elemento appena aggiunto nel menu laterale e
assicurati che Indirizzo del server
sia 1
, ovvero l'indirizzo Modbus del
Finder serie 7M.
Ora non ci resta che configurare un canale del server Modbus, ovvero impostare
dei parametri che il programma utilizzerà per effettuare la lettura dal Finder
serie 7M. Nella stessa schermata clicca su Canale del server Modbus
poi su
Aggiungi canale
in basso a destra. In questo tutorial leggiamo il valore
della frequenza del Finder serie 7M. Come definito nel manuale tecnico del
dispositivo,
il valore di frequenza è contenuto negli Input Register 32498
e 32499
in
formato float
. Pertanto, imposta i valori del canale come segue:
- Nome:
Frequenza
. - Tipo di accesso:
Read Input Registers (Codice funzione 4)
. - Trigger:
Ciclico
. - Tempo di ciclo:
1000
, ovvero una lettura al secondo. - Offset:
2498
. - Lunghezza:
2
. - Trattamento errore:
Mantieni ultimo valore
.
Dopo aver premuto OK
vedrai il riepilogo del canale appena impostato.
Preparazione del programma ST
Adesso scriviamo il programma ST che legge il valore di frequenza.
Questo programma si occupa di invertire l’ordine dei byte letti dal Finder serie 7M per interpretarli correttamente come numeri in
virgola mobile (float
). L’operazione è necessaria perché i dati del contatore sono memorizzati in formato Little Endian, mentre
per la corretta interpretazione come float
è richiesto l’ordine Big Endian. Dopo l’inversione, il programma accede direttamente
all’indirizzo di memoria della variabile ricostruita e ne interpreta il contenuto come un valore float
. Questo passaggio è
fondamentale per ottenere la misura reale memorizzata nel dispositivo, trasformandola in un formato leggibile e utilizzabile
dall’utente. In CODESYS il formato float
è indicato come REAL
.
Nel menu laterale, clicca su PLC_PRG (PRG)
.
Nella parte superiore dell'editor - dedicata alla definizione delle variabili - inserisci il seguente codice:
PROGRAM PLC_PRG
VAR
words: ARRAY[0..1] OF WORD;
frequency_w: ARRAY[0..1] OF WORD;
ptr: POINTER TO REAL;
frequency: REAL;
END_VAR
Nella parte inferiore dell'editor - dedicata alla logica del programma - inserisci il seguente codice:
// Flip endianness
frequency_w[0] := words[1];
frequency_w[1] := words[0];
// Interpret as float
ptr := ADR(frequency_w);
frequency := ptr^;
Adesso è necessario associare le variabili del programma al canale Modbus, in modo che le variabili contengano i valori letti dal canale.
Nel menu laterale clicca due volte su Server_Modbus_porta_COM
. Adesso clicca sulla sezione ModbusGenericSerialServer mapping I/O
e nella tabella clicca due volte sulla cella Variabile
per far comparire il pulsante opzioni.
Clicca sul pulsante opzioni per far comparire la lista di variabili, espandi la
voce Application
e la voce PLC_PRG
per visualizzare le variabili
precedentemente definite all'interno del programma ST. A questo punto clicca
sulla variabile words
e premi OK
per assegnarla al canale Frequenza
.
Il riepilogo mostra la variabile assegnata al canale Frequenza
. Da ora in
poi, la variabile words
contiene i byte letti dai registri del Finder serie
7M, rappresentati il valore di frequenza misurato. È il nostro programma ST a
trasformare questi byte in un valore float
.
Caricamento del programma su Finder OPTA
In questa fase, scarichiamo il programma e la configurazione hardware su Finder OPTA, così che esegua il codice appena scritto e restituisca il valore di frequenza letto dal Finder serie 7M.
Scarica il programma e la configurazione sul dispositivo premendo il pulsante
verde in alto etichettato come Login
.
Terminato lo scaricamento, il programma è scaricato su Finder OPTA. Fallo
partire premendo il pulsante Start
.
La tab PLC_PRG
mostra in tempo reale il valore della frequenza contenuta nella variabile frequency
, in questo caso 49.98 Hz
.
Conclusioni
Seguendo questi passaggi, hai effettuato una lettura Modbus RTU dai registri di un Finder serie 7M utilizzando Finder OPTA in CODESYS.
Se riscontri problemi, verifica di aver cablato correttamente i dispositivi e di aver configurato i parametri Modbus come specificato nel tutorial.