Skip to main content

Blocco funzione: ModbusServer

Biblioteca: IoDrvModbusTCPSlave

Questo blocco funzione elabora fino a 10 richieste di connessione client parallela tramite Modbus TCP. Le richieste Modbus funzionano all'interno di intervalli di dati che mappano i registri di input e holding.

Sono supportati i seguenti codici funzione Modbus:

  • 0x01 Leggi le bobine

  • 0x02 Lettura di ingressi discreti

  • 0x03 Leggi i registri di partecipazione

  • 0x04 Leggi i registri di input

  • 0x05 Scrivi bobina singola

  • 0x06 Scrivi registro singolo

  • 0x0F Scrivi più bobine

  • 0x10 Scrivi più registri

  • 0x17 Lettura/scrittura di più registri

Il blocco funzione ModbusServer utilizza i parametri configurati nella scheda Editor dispositivi del server Modbus TCP.

Tabella 27. Ingressi (VAR_INPUT)

Nome

Tipo di dati

Valore iniziale

Descrizione

wPort

WORD

502

La porta del server (stack del protocollo TCP/IP) 502 è l'impostazione predefinita di Modbus

pInputData

POINTER TO WORD

Puntatore a PAROLA; punta alla mappa del registro di ingresso Modbus

uiInputDataSize

UINT

1024

Lunghezza dell'array dei dati di input (WORD per registro): Default: 1024

pOutputData

POINTER TO WORD

Puntatore a PAROLA; punta alla mappa del registro di mantenimento Modbus

uiOutputDataSize

UINT

Lunghezza dell'array dei dati di uscita (WORD per registro):

tCurrentTime

UDINT

Tempo corrente del PLC (in ms) Se è configurato un timeout, è necessario aggiornarlo prima dell'esecuzione del blocco funzione.

tTimeout

UDINT

Timeout (ms). Se non è zero e non si è verificato alcun errore di scrittura Modbus fino al timeout, i dati di uscita vengono impostati su zero.

xEnable

BOOL

FALSE

Flag per avviare l'elaborazione della richiesta

xReset

BOOL

FALSE

Riavviare la normale comunicazione con i server e reimpostare le parole di stato e il bit di errore sul fronte di salita.



Tabella 28. Uscite (VAR_OUTPUT)

Nome

Tipo di dati

Valore iniziale

Descrizione

xBusy

BOOL

FALSE

TRUE mentre la richiesta è in corso

xError

BOOL

FALSE

Informazioni sugli errori rilevati

byClientConnections

BYTE

0

Numero di connessioni