SimpleModBus multi nodo

Ciao a tutti,

sto implementando una rete di arduini su protocollo ModBus utilizzando la libreria SimpleModBus.

Attualmente ho collegato un Master e uno Slave e lo scambio di dati funziona egregiamente.

Ora volevo collegare un secondo slave, ma ho il problema di come indirizzarlo all'interno del master.

Ora il numero dello slave è assegnato nella SETUP :

modbus_construct(packet1, 2, READ_HOLDING_REGISTERS, 0, 1, readRegs);
modbus_construct(packet2, 2, PRESET_MULTIPLE_REGISTERS, 1, 1, writeRegs);
modbus_configure(&Serial, baud, SERIAL_8N2, timeout, polling, retry_count, TxEnablePin, packets, TOTAL_NO_OF_PACKETS);

Come posso a livello di LOOP modificare il costruttore per indirizzarlo ad un'altro Slave ID? Devo ricreare i costruttori e reinvocare modbus_configure oppure c'è un modo più veloce per modificarne il valore?

Grazie. :wink:

Ciao,

leggi questo tutorial ti puo essere utile:

spero ti aiuti....

devi vedere come è fatta la libreria, ma generalmente ciò ch entra nel costruttore è const.

se questo è il caso, e la lib è fatta bene, la free()/destroy() chiama il distruttore che pulisce tutto, e quindi pui creare di nuovo l'oggetto.. ovvio parliamo di allocazione dinamica della memoria.