Iris _

Pixsys Forum

everybody's effort for the same goal

Comunicazione Modbus con Dispositivo generico

Post Reply
user7490
Posts: 50
Joined: 21/01/2014, 8:23

Comunicazione Modbus con Dispositivo generico

Post by user7490 »

Buona sera
Stò utilizzando un TD410 in bus RS485 con un MCM260X-2AD e un Dispositivo Generico sempre in RS485.
Ho fatto la configurazione del Dispositivo Generico coma da prassi e gli ho associato un Modbus Fc-04 per leggere le variabili che interessano; ilTD410 e il MCM comunicano regolarmente, mentre il Dispositivo Generico non c'è verso che comunichi.
Ho utilizzato la sysMbMRtuNodeStatus in watch per controllare lo stato della comunicazione con i nodi, il nodo Generico viene visto Configurato , Attivo ma non Presente.
Ho fatto diverse prove cambiando anche la velocità del bus, ma senza esito.
Ho un dubbio che riguarda la terminazione, il Dispositivo Generico richiede la terminazione da 120ohm ad entrambi i capi del bus, mentre il TD410 ha la terminazione da 330ohm, se tolgo la terminazione dal TD410 e inserisco la terminazione da 120ohm sul MCM non funziona più la comunicazione anche con il MCM
Vi chiedo cortesemente di fornirmi delle indicazioni su quale può essere la causa della mancanza di comunicazione.
Grazie.
Pixsys tecnico 1
Moderatore
Posts: 1649
Joined: 29/10/2010, 10:09
Contact:

Re: Comunicazione Modbus con Dispositivo generico

Post by Pixsys tecnico 1 »

Salve,
lasci la terminazione e la polarizzazione attive lato TD410 (dip 1-2-3-4 a ON), mentre nella MCM260X non inserisca la terminazione, altrimenti il segnale RS485 si chiuderà su tale nodo e quello successivo non riceverà alcun segnale.
le prove che può fare sono:
- trovare un registro holding (40xxx) da leggere e usi la funziona FC-03 per provare a leggerlo
- se ad esempio l'indirizzo è 40005, provi a leggere il 40004, il 40005 ed il 40006 per capire se c'è un offset di 1 rispetto agli indirizzi modbus indicati
Ovviamente si presuppone che la configurazione del dispositivo sia compatibile con quella della rete RS485 esistente, cioè:
- velocità
- formato
- attesa di risposta (che dovrà essere inferiore al tempo di time-out impostato sul master)
- numero di slave corretto
user7490
Posts: 50
Joined: 21/01/2014, 8:23

Re: Comunicazione Modbus con Dispositivo generico

Post by user7490 »

Buonasera
Ho fatto come indicato, ma il nodo non alza il flag "Pres" come si vede sotto
Nodi_modbus.png
Allego anche la configurazione del nodo
Conf_nodo_generico.png
e anche la configurazione delle Fc del nodo
Modbus_Fc03.png
Ho assegnato 4 indirizzi di questo Fc ad altrettante variabili, ma senza esito
Il nodo è all'id 2, ho provato sia senza terminazione, che con la terminazione da 120ohm , lasciando disinserita la terminazione sul nodo 1, ma niente da fare.
Ho provato a testare la comunicazione con ModScan32 e mi da il log seguente:
16:59:46 October 05, 2022 30002: ** Received Invalid Response to MODBUS Query**
16:59:48 October 05, 2022 30002: ** MODBUS Message TIME-OUT **
16:59:50 October 05, 2022 30001: ** Received Invalid Response to MODBUS Query**
16:59:52 October 05, 2022 30001: ** MODBUS Message TIME-OUT **
16:59:54 October 05, 2022 30001: ** MODBUS Message TIME-OUT **
16:59:56 October 05, 2022 30001: ** MODBUS Message TIME-OUT **
16:59:58 October 05, 2022 30001: ** MODBUS Message TIME-OUT **
e così via.
Mi auguro di averequalche indicazione risolutiva del problema. Grazie
You do not have the required permissions to view the files attached to this post.
Pixsys tecnico 1
Moderatore
Posts: 1649
Joined: 29/10/2010, 10:09
Contact:

Re: Comunicazione Modbus con Dispositivo generico

Post by Pixsys tecnico 1 »

Salve,
da quel che si vede dalla diagnostica del LogicLab (e lo stesso dal modscan), c'è un errore di time-out, quindi il nodo proprio non risponde. Verificherei:
- se il nodo ha un led per segnalare la comunicazione, se questo si accende/lampeggia oppure no
- se i registri interrogati sono disponibili (l'indirizzo "0" Holding register è di fatto l'assoluto 40000)
- provare a leggere un solo registro alla volta, inserendo anche un tempo di "Wait before send", tipo a 100mS.

Dai test che ha effettuato comunque, si evince che non è un problema di LogicLab/TD410 in quanto anche con il modscan tale nodo non risponde, quindi potrebbe essere semplicemente difettoso.
user7490
Posts: 50
Joined: 21/01/2014, 8:23

Re: Comunicazione Modbus con Dispositivo generico

Post by user7490 »

Buonasera
La comunicazione con il dispositivo è andata a buon fine, il problema era dovuto principalmente ad un puntamento all'indirizzo errato nell'FC , dovuto ad un malinteso; poi si è aggiunto anche un problema di conversione del dato che è stato discusso in un altro topic.
Ora però sono alle prese con la comunicazione con un altro dispositivo generico in ModbusRtu che con ModScan comunica in modo sistematico e puntuale, mentre quando lo inserisco in bus con TD710 non riesce a comunicare correttamente.
In dettaglio:
Cn ModScan programmo l'indirizzo dipositivo, il codice funzione, l'indirizzo byte di inizio, la quantità di byte e ModScan chiama il dispositivo con: Indirizzo, Cod. Funz. , ind. inizio, quantità byte, CRC , ChkSUm, ad es: 01 04 00 17 00 64 41 E5; il dipositivo risponde con :l'indirizzo di inizio e poi i byte con i dati richiesti.
Quando invece viene messo in bus con un TD710, configurando un dispositivo generico e impostando una FC04 con l'indirizzo di inizio lettura dati, cioè gli stessi utilizzati anche in ModScan, andando a monitorare il traffico, sempre con ModScan, si nota che sul bus viene lanciata una richiesta di 12 byte di cui i primi 6 non centrano nulla con la richiesta che dovrebbe essere fatta al dispositivo generico, solo gli ultimi 6 byte riportano la richiesta corretta, ma , tra l'altro, mancano i due byte di CRC e CHKSUM; il dispositivo riponde, ma non fornisce una risposta accettabile.
Quindi le domande sono:
- Perché il TD710 aggiunge questi byte all'inizio ? e cosa significano ?
- C'è modo di correggere e fare in modo che la richiesta sia conforme allo standard ModbusRtu ?
Grazie

-
Pixsys tecnico 1
Moderatore
Posts: 1649
Joined: 29/10/2010, 10:09
Contact:

Re: Comunicazione Modbus con Dispositivo generico

Post by Pixsys tecnico 1 »

Salve,
facciamo una verifica e le diamo feedback.
Pixsys tecnico 1
Moderatore
Posts: 1649
Joined: 29/10/2010, 10:09
Contact:

Re: Comunicazione Modbus con Dispositivo generico

Post by Pixsys tecnico 1 »

Salve,
i bytes in più all’inizio e l’assenza del CRC mi lasciano pensare che stia vedendo un pacchetto ModbusTCP invece che RTU.
Non ho molte altre osservazioni a proposito.
user7490
Posts: 50
Joined: 21/01/2014, 8:23

Re: Comunicazione Modbus con Dispositivo generico

Post by user7490 »

Salve

I bytes in più all’inizio e l’assenza del CRC li vedo su ModScan e sono quelli relativi alla richesta del Master Modbus RTU (Pixsys) al dispositivo generico, il quale, chiaramente, non si aspetta una tale lunghezza di richiesta e risponde con:
00 00 00 00 00 03 01 84 0e
Le impostazioni di ModScan sono le medesime con cui vado ad interrogare direttamente il dispositivo generico, con protocollo Modbus RTU , direttamente sulla porta com occupata dal dispositivo di interfaccia RS232/RS485; mentre via Pixsys, ModScan va a leggere sull'indirizzo Tcp di comunicazione di Pixsys porta 502, può essere che il problema è relativo all'indirizzamente della porta ? ed eventualmente qual'è la porta corretta ?
Grazie
Post Reply