Il function code 0x46 fà parte di quei codici funzione lasciati liberi dal protocollo standard per implementare funzioni utente dedicate. Per questo non è documentato e non è gestito dalle librerie standard di comunicazione modbus.
Come vedi nel post precedente è indicato come eseguire l’invio di stringhe modbus utilizzando il programma Terminal. In alternativa puoi eseguire il download dal nostro sito del programma Toolly, che oltre ad essere un emulatore di terminale ha la possibilità di inviare stringhe binarie (Per il protocollo RTU) ed ha al suo interno una utility per il calcolo del CRC del frame modbus RTU.
Nello screenshot allegato come vedi ho definito nella finestra Cmd 1 il comando modbus per impostare l’indirizzo 0x02 nel modulo con indirizzo 0x01 (Come spiegato nel post precedente). Si vede anche l’utility del calcolo del CRC che ritorna il valore 0xF51E che è stato posto al termine del frame modbus di comando.