Questo blocco funzione da eseguire in task Back utilizzabile con modello a cascata, permette di gestire un array di comandi Modbus, si connette al FB ModbusMaster ed in base alla selezione del tipo ed allo stream di comunicazione si possono gestire comandi Modbus Ascii, Modbus RTU, Modbus TCP sia su seriale che su connessione ethernet (UDP/TCP).
Permette di essere utilizzato in cascata con altri FB della libreria, collegando il Done di una FB con Enable di quella successiva è possibile creare catene di FB che condividono la stessa connessione Modbus.
In MMdb occorre passare l’indirizzo del FB di gestione protocollo Modbus. In ACAdd occorre indicare l’indirizzo di allocazione della struttura ACMODBUS_DATA che contiene le informazioni e lo stato dei comandi, in ACNr occorre definire il numero di comandi da gestire.
Upgrade list
- Se l’oggetto aggiornato non è nell’ultima versione del package, vedi capitolo “Aggiornamento librerie” in questo articolo.
- Gli oggetti obsoleti sono inseriti nella libreria eLLabObsoleteLib fare riferimento al relativo manuale ed al manuale programmazione in formato pdf.
ACModbus_v1
Utilizza il nuovo blocco funzione ModbusMaster_v1, tutti gli altri parametri rimangono inalterati.
ACModbus_v2
Utilizza il nuovo blocco funzione ModbusMaster_v2, tutti gli altri parametri rimangono inalterati. Utilizza la nuova struttura dati ACMODBUS_DATA_V2 in cui è stato aggiunta la definizione del campo Absolute.
ACModbus_v3
Utilizza il nuovo blocco funzione ModbusMaster_v3 e la nuova struttura dati ACMODBUS_DATA_V3. Modificata gestione comandi, su errore esecuzione si esegue un nuovo tentativo poi si setta errore. I comandi in errore sono ritentati dopo il tempo definito in RTime. Eliminato uscite CStart, COk, AIDx ora questi dati sono nella struttura dati. Eliminato uscita Errors, ora gli errori sono conteggiati nella struttura dati.
Descrizione
Enable (BOOL) Comando abilitazione gestione. Da collegare a Done del FB precedente se utilizzato in cascata.
MMdb (@ModbusMaster_v3) Indirizzo istanza FB ModbusMaster per gestione protocollo Modbus.
ACAdd (@ACMODBUS_DATA_V3) Indirizzo array strutture ACMODBUS_DATA definizione comandi Modbus da eseguire.
ACNr (UDINT) Numero comandi Modbus da eseguire (Lunghezza array definizione).
RTime (TIME) Tempo attesa prima di ritentare i comandi in errore.
Done (BOOL) Esecuzione terminata, rimane attivo fino alla disabilitazione di Enable. Da collegare ad Enable del FB successivo se utilizzato in cascata.
Fault (BOOL) Attivo per un loop se errore di esecuzione.

Esempi
Come utilizzare gli esempi.
Viene eseguita la lettura/scritture di 4 registri da un sistema SlimLine. Se definto localhost il programma opera sullo stesso sistema in cui è eseguito. Dopo la lettura e prima della scrittura viene incrementato il valore di alcuni registri.