saisas Inserito: 18 febbraio 2011 Segnala Inserito: 18 febbraio 2011 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
AVC_Veronica Inserita: 19 febbraio 2011 Segnala Inserita: 19 febbraio 2011 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.
Roberto Gioachin Inserita: 19 febbraio 2011 Segnala Inserita: 19 febbraio 2011 In serie al comando di start ho inserito il bit sys_bIsComPort2F145F146NotActiveNaturalmente 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.CiaoRoberto
saisas Inserita: 19 febbraio 2011 Autore Segnala Inserita: 19 febbraio 2011 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 masterGrazie
Roberto Gioachin Inserita: 19 febbraio 2011 Segnala Inserita: 19 febbraio 2011 Sapreste indicarmi in quanto tempo il PLC riesce ad eseguire una trasmissione con relativo codice di ritornoDipende molto dalla velocità di comunicazione, 10 ms in genere sono più che sufficenti.Sapreste consiglirmi un pogramma Free che mi faccia da modbus masterSulla rete cerca "tester modbus"CiaoRoberto
saisas Inserita: 19 febbraio 2011 Autore Segnala Inserita: 19 febbraio 2011 Scusa roberto la velocita di comunicazione intendi i Baud rate.Quale puo essere una velocita consigliabileGrazie
Roberto Gioachin Inserita: 20 febbraio 2011 Segnala Inserita: 20 febbraio 2011 CiaoSuppongo 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).CiaoRoberto
saisas Inserita: 20 febbraio 2011 Autore Segnala Inserita: 20 febbraio 2011 Grazie per la risposta,esiste una tabella che indica lunghezza/velocita?Grazie
Roberto Gioachin Inserita: 21 febbraio 2011 Segnala Inserita: 21 febbraio 2011 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ì.CiaoRoberto
Gabo Inserita: 21 febbraio 2011 Segnala Inserita: 21 febbraio 2011 Oltrea al bit "NotActive" c'è un flag di errore dell'istruzione F145-F146 così si può discriminare l'intervento del time out.
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora