Home › Forum › Moduli I/O distribuiti › Impostazione indirizzo nodo modbus moduli I/O distribuito
- Questo topic ha 4 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 12 anni, 9 mesi fa da Sergio Bertana.
-
AutorePost
-
Novembre 29, 2010 alle 8:28 am #34930AnonimoInattivo
Ho acquistato dei moduli I/O distribuito TRP della Trycom con il protocollo Modbus RTU, volevo avere informazioni su come effettuare l’impostazione dell’indirizzo di nodo.
Dovrei definire indirizzi diversi ai vari moduli per poterli inserire in una rete RS485 multidrop.
Novembre 29, 2010 alle 8:33 am #36593Sergio BertanaAmministratore del forumE’ possibile connettersi al modulo in RS485 definendo parametri di comunicazione 9600, n, 8, 1, i moduli TRP sono settati di default con indirizzo 0x01. Come visibile dal manuale del prodotto è possibile con un comando modbus eseguire il set dell’indirizzo del modulo (Vedere capitolo Set up the module’s address). Il comando è ID 46 04 IP 00 00 00 (CRC), dove ID è l’indirizzo attuale del modulo, di default è 0x01, IP è l’indirizzo che si vuole definire, mentre il CRC deve essere calcolato utilizzando l’algoritmo definito dalle specifiche modbus.
Attenzione! tutti i caratteri della stringa (Trattandosi di modbus RTU) sono da considerarsi binari. Per inviare caratteri binari consiglio di utilizzare il programma Toolly. Per impostare ad esempio l’indirizzo 0x02 occorre inviare la stringa modbus 01 46 04 02 00 00 00 F5 1E (Da programma Terminal $01$46$04$02$00$00$00$F5$1E). Per impostare ad esempio l’indirizzo 0x03 occorre inviare la stringa modbus 01 46 04 03 00 00 00 F4 E2 (Da programma Terminal $01$46$04$03$00$00$00$F4$E2). Il nuovo indirizzo verrà memorizzato permanentemente nel modulo il quale risponderà a comandi modbus che iniziano con l’indirizzo definito, vedere anche questo post.Novembre 29, 2010 alle 10:12 am #36595Sergio BertanaAmministratore del forumIn questo post è documentato, ed è possibile il download, di un programma su SlimLine che gestisce la lettura di un modulo di ingressi logici e la scrittura di un modulo di uscite logiche.
Luglio 13, 2011 alle 2:17 pm #36843RobertoPartecipanteA proposito dell’implementazione del modbus sul Trycom TRP-C24M 16 out digitali. Non ho problemi per lettura e scrittura uscite, diverso è per l’ID nodo o altre funzioni, che usano il function code 0x46, non documentato dalle specifiche modbus standard e soprattutto non gestito dalle due librerie commerciali che possiedo e che dovrei impiegare per chiacchierarci insieme.
Almeno l’ID nodo devo gestirlo. Avete qualche info o tool standalone per gestire questi parametri ?
Luglio 13, 2011 alle 2:26 pm #36844Sergio BertanaAmministratore del forumIl 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.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.