Vai al contenuto
PLC Forum


Modbus: Velocità Effettiva ?


odx

Messaggi consigliati

Salve, da poco uso protocolli, a parte qualche cosa a protocollo libero !

QUello che mi chiedo è: alla fine, a che velocità comunica una rete modbus (nel mio caso tra s7-200 master e 4 inverter control technique slave) ?

E' possibile che per mandare e ricevere in tutto 16 istruzioni, il tempo di ciclo complessivo sia addirittura di circa 1 secondo ?

Il tutto usando le librerie prefatte della Siemens per il protocollo modbus (molto pratiche).

Devo inviare 4 velocita', ricevere 4 amperaggi, ricevere 4 segnali di allarme e trasmettere 4 word di comando (start/stop ecc).

Ho fatto una subroutine che cicla, a ogni messaggio corretto, scala in quello successivo, per poi riprendere il primo e via ... ma non posso pensare di gestire uno start/stop in cui ho bisogno di una prontezza di arresto non superiore al mezzo secondo.

Cosa mi consigliate ? E' meglio che per quei due motori, utilizzi due uscite fisiche del plc ?

Grazie !

Link al commento
Condividi su altri siti


Mediamente uno scambio su una rete 485 in modbus RTU è tra 60 e 80 msec.

Quindi un secondo per 16 scambi mi sembra oltre che normale anche piuttosto buono.

Per rispondere alle tue necessità:

1 - sicuramente il cablaggio è la cosa più veloce o comunque è solo praticamente dipendente dal ciclo di scansione del PLC.

2 - separa le linee seriali o per singolo azionamento o per coppia di azionamenti

3 - scrivi il software utilizzando delle regole precise di priorità.

priorità massima alla scrittura comandi (ogni secondo o su evento)

bassa priorita alla lettura allarmi (di solito è solo monitoraggio quindi puoi fare una lettura ogni 5 o più secondi)

bassa priorità alla lettura delle misure (dipende cosa ne devi fare ma puoi leggere ogni 2 o 3 secondi)

4 - utilizza altri protocolli magari in ethernet se supportati

Link al commento
Condividi su altri siti

del_user_56966
a che velocità comunica una rete modbus

La domanda doveva essere a che velocità comunica un S7 usando il protocollo Modbus,

Il modbus non ha velocità pre-definite dallo Standard!.. :)

Mediamente uno scambio su una rete 485 in modbus RTU è tra 60 e 80 msec.

Anche questo non è corretto, le tempistiche sono dovute al Baudrate con cui comunichi al tipo di comando usato nonchè nel caso dei

comandi multiregistro alla quantità stessa di registri utilizzati!

Modificato: da alen
Link al commento
Condividi su altri siti

Ho scelto il modbus per una questione economica: la s7-200 integra una porta freeport e con le librerie prefatte era abbastanza semplice utilizzarla in modbus, e gli inverter control technique commander sk hanno integrata la porta modbus su rj45.

Siccome non era una necessita', a parte per un inverter che mi ha evitato la bruttezza visiva di un potenziometro di fianco a un HMI :), non avevo bisogno di scambio dati, devo fare start e stop e ricevere degli allarmi.

Ovvio che un quadro cablato in Bus fa piu' figura di uno cablato a cordina blu no ? E poi con un HMI, almeno settare le velocita' degli inverter e leggerne gli assorbimenti, mi sembra il minimo.

Come faccio a separare la linea per azionamento o coppia ? E' un parallelo di due fili che esce da una porta seriale del plc e va a ogni drive, ed ho solo quella disponibile sul plc.

Scrivere il sw in un modo cosi' preciso, penso sia complicato da fare, cioe' mi impegna parecchie risorse; ogni messaggio inviato necessita di un tempo di risposta e se nel frattempo invio un messaggio prioritario, questo mi da risposta di errore linea occupata. Purtroppo mi rimangono pochi giorni e poco tempo per fare altre prove, sono piu' sicuro a pilotare i due drive con un comando di marcia alla vecchia maniera; almeno ancora per questa macchina sara' cosi'.

Per i due motori che portano il materiale sotto conteggio, optero' quindi per il comando fisico, non posso permettermi probabilmente nemmeno mezzo secondo di ritardo, e tutto il resto, di cui non ho urgenze, lo lascio ciclare in una subroutine dedicata, probabilmente nemmeno sotto interrupt, se proprio mi rallenta il ciclo faro' una scansione ogni tot secondi con un timer.

Grazie per le risposte

Modificato: da odx
Link al commento
Condividi su altri siti

CITAZIONE

Mediamente uno scambio su una rete 485 in modbus RTU è tra 60 e 80 msec.

Anche questo non è corretto, le tempistiche sono dovute al Baudrate con cui comunichi al tipo di comando usato nonchè nel caso dei comandi multiregistro alla quantità stessa di registri utilizzati!

Ho detto mediamente considerando configurazioni medie (nelle mie esperienze). Quindi non è un dato corretto relativo ad un caso ma è mediamente così.

Link al commento
Condividi su altri siti

ODX

Come faccio a separare la linea per azionamento o coppia ?

metti un'altra scheda 485

ho solo quella disponibile sul plc.

allora niente...... cambia PLC: mettine uno più adatto alle reti modbus ........ ma non ti dico quale! eheh

Scrivere il sw in un modo cosi' preciso, penso sia complicato da fare, cioe' mi impegna parecchie risorse; ogni messaggio inviato necessita di un tempo di risposta e se nel frattempo invio un messaggio prioritario, questo mi da risposta di errore linea occupata.

se non hai mai affrontato il problema di dover "semaforizzare" delle comunicazioni ok potresti doverci mettere troppo tempo (dipende anche dalla tua esperienza in programmazione ovviamente).

Il messaggio prioritario non deve interrompere quello in corso, ma si mette in mezzo tra quello in corso e quello che era programmato essere il successivo. Nel peggiore dei casi avrai un ritardo nella reazione del sistema equivalente ad un ciclo plc + una trasmissione modbus che io posso stimare così a max 150 msec.

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...