Vai al contenuto
PLC Forum


Ritardo Invio Protocollo Modbus


saisas

Messaggi consigliati

Mi trovo a comunicare con un modulo output remoto a mezzo di protocollo Modbus.Ho utilizzato la funzione F145F146_MODBUS_COMMAND.Nell'inviare il comnado il dispositivo risponde correttamente sia nella scrittura che nella lettura.

Il problema che ho riscontrato e il ritardo dell'invio di un comando tra una transizione è un'altra,nel senso che se metto a 1 il bit di invio dati devo aspettare un tempo notevole 4-5 secondi prima che possa inviare la prossima.

In serie al comando di start ho inserito il bit sys_bIsComPort2F145F146NotActive,e ho notato che questo bit va a 1 dopo 4-5 secondi,so che il modbus non è un protocollo molto veloce,ma non credo fino a questo punto.

Ho provato a togliere il bit sys_bIsComPort2F145F146NotActive ed a mettere sempre a 1 il bit di start,ma al modulo arriva ugualmente un comando ogni 4-5 secondi.

Sapreste indicarmi se oltre all'istruzione F145F146_MODBUS_COMMANDbisogna settare untempo o altro per rendere il sistema piu veloce.

Grazie

Link al commento
Condividi su altri siti


utilizzao stessa configuazione su due impianti (master I/O +termoregolatore+ragnetti), il tempo di risposta è di qualche decimo, poi diende dal carico di dati, dal numero degli slave e dalla bontà della rete rs485,

4-5 secondi "puzzano" di software o sua gestione migliorabile.

Link al commento
Condividi su altri siti

Roberto Gioachin
In serie al comando di start ho inserito il bit sys_bIsComPort2F145F146NotActive

Naturalmente tu stai utilizzando la Com2, e inoltre stai utilizzando un plc con porta configurabile come modbus.

Inoltre avrai di sicuro settato la porta del plc come modbus.

Se fornisci informazioni di questo tipo forse è meglio, si risparmia tempo.

In ogni caso se i tempi sono questi, significa che c'è un errore sulla trasmissione.

Raggiunto un certo tempo il bit in questione và a livello alto solo a causa del time-out, non perchè è terminata la trasmissione.

Tu potresti anche ridurre questo tempo, ma il problema deve essere risolto correggendo l'errore.

Prova invece a trasmettere ogni secondo, con un clock ed un fronte di salita, prova a vedere se i dati sono corretti.

Prova poi a ridurre il clock a 0,5 secondi e vedi se cambia qualcosa.

Se i dati non arrivano correttamente, probabilmente hai commesso qualche errore di cablaggio o di configurazione.

Ciao

Roberto

Link al commento
Condividi su altri siti

In ogni caso se i tempi sono questi, significa che c'è un errore sulla trasmissione.

Problema risolto il plc esegue correttamente tutte le funzioni,avevo quel tempo alto perche lo slave non rispondeva e il bit andava a 1 doto il tempo di time-out.

Sapreste indicarmi in quanto tempo il PLC riesce ad eseguire una trasmissione con relativo codice di ritorno della trasmissione avvenuta correttamente?

Visto che avrei pensato di utilizzare il sistema per leggere una quota da uno strumento di posizionamento.

Visto che sto facendo delle prove in modbus,vorrei far diventare il PLC slave e con un programma che gira su PC gestire il PLC da remoto per scrivere su aree di memoria o leggere ingressi,uscite,ecc.Sapreste consiglirmi un pogramma Free che mi faccia da modbus master

Grazie

Link al commento
Condividi su altri siti

Roberto Gioachin
Sapreste indicarmi in quanto tempo il PLC riesce ad eseguire una trasmissione con relativo codice di ritorno

Dipende molto dalla velocità di comunicazione, 10 ms in genere sono più che sufficenti.

Sapreste consiglirmi un pogramma Free che mi faccia da modbus master

Sulla rete cerca "tester modbus"

Ciao

Roberto

Link al commento
Condividi su altri siti

Roberto Gioachin

Ciao

Suppongo tu stia usando una porta RS485.

Se di questa si tratta e la distanza massima della limea è nell'ordine di qualche decina di metri, puoi usare sicuramente una velocità pari a 115.200.

Con questa seriale puoi arrivare massimo a 1.200 metri di lunghezza totale della linea, naturalmente con una velocità di comunicazione limitata a 9.600 baudrate.

In pratica per rendere affidabile la trasmissione, più aumenta la lunghezza della linea e più devi abbassare la velocità di comunicazione (baudrate).

Ciao

Roberto

Link al commento
Condividi su altri siti

Roberto Gioachin

So di aver già visto qualcosa, ma non ricordo se su un testo o qualche altro documento.

Di sicuro sulla rete si trovano queste informazioni, magari parti da quì.

Ciao

Roberto

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...