Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Meter Bus Protocol


Messaggi consigliati

Inserito:

Ciao a tutti,

mi sono appena iscritto e avrei bisogno di una mano..

Dovrei scoprire come funziona il protocollo Meter Bus (anche detto Mbus). Avrei quindi bisogno di una documentazione in italiano che spieghi abbastanza..

Grazie dell'aiuto a chiunque saprà dirmi qualcosa.


Inserita:

Visto che le risposte latitano specifico un pò la mia richiesta. Avrei bisogno di capire come uno slave che utilizza M-Bus gestisca la sua memoria e inoltre come il Master faccia la chiamata ad un dato specifico di uno Slave specifico. Thanks a chi risponderà!!!

Inserita:

E' uno dei bus più esotici e mal documentati esistenti. C'è il sito del consorzio meterbus da cui puoi partire: http://www.m-bus.com/

Il meterbus non è solo un protocollo, ma prevede un layer fisico per le chiamate. Per esempio il master fa cadere la corrente di circa 10mA quando impegna la linea, quindi se vuoi scrivere un protocollo, devi avere anche un elettronico che ti disegni l'interfaccia fisica per il pilotaggio dei livelli di corrente.

Inserita:

Il sito ufficiale me lo stavo spulciando già da un pò ma ci capisco davvero poco. Ma non esiste una sorta di descrizione dei dati che il master invia allo slave quando deve prelevare il dato? Un'altra cosa.. Sul sito ufficiale che hai postato anche tu non riesco a capire dove finiscono i dati latti dallo slave, ovvero come e dove li salva. Se sono indirizzati su memoria o cose del genere..

Inserita: (modificato)

Lo slave non salva niente. Lo slave risponde a domande del master, altrimenti sta zitto. Si mette in ascolto quando il livello di corrente scende, e se il pacchetto dati emesso dal master contiene una domanda a lui rivolta, risponde, altrimenti sta zitto. In buona sostanza tutti gli slave vedono passare la domanda del master, ma solo quello che riconosce la domanda risponde. Gli altri tacciono.

La descrizione del protocollo non è univoca, perchè ogni costruttore risponde con una stringa proprietaria. Il master legge la stringa e la restituisce come stringa ASCII in rete seriale o ethernet o altro bus dati, senza interpretarla. Poi tocca a te sapere il significato della stringa.

In linea di massima la stringa è composta da un header di identificazione, una certa quantità di dati di lunghezza dichiarata nell'header, e poi il CRC finale. In buona sostanza il master non sa cosa sta chiedendo e non capisce il significato della risposta.

Per poter interpretare la stringa, devi chiedere al costruttore dello strumento di darti la transcodifica.

Io non ci sono mai riuscito (il consorzio prevede che ogni costruttore possa costruire il proprio formato proprietario della stringa dati, e quindi riservato), e infatti quando l'ho dovuto interpretare, sono ricorso al reverse engineering.

EDIT: ah, dimenticavo. La risposta dello slave può essere contenuta in diverse stringhe successive, perchè la stringa massima è di 256 byte. Se i dati sono più lunghi, lo slave invia quanti ne può, informando il master di quanti pacchetti si deve attendere la ricezione. Il master verifica il CRC e da conferma della ricezione del pacchetto 1. Lo slave riceve la conferma della ricezione è invia il pacchetto 2.... ecc. fino al pacchetto n. Fino a quando tutti i pacchetti dello slave non sono stati ricevuti, gli altri slave se ne stanno zitti e il master è obbligato ad attendere la ricezione, a meno che invii un reset allo slave, nel qual caso si ammutolisce.

Modificato: da NoNickName
Inserita:

Grazie mille per la rapidità delle risposte! Sapendo questo e riguardando la documentazione del sito ufficiale ho già capito molto di più. Grazieee

Inserita: (modificato)

Avrei un altra domanda. Sul sito Marcomweb.it ho trovato un gateway che fa da tramite tra Modbus e M-bus (in particolare il modello 900). Vorrei sapere se fosse possibile capire come funzionano un pò le cose..

Ovvero, se io faccio una chiamata dal Master al gateway per ottenere un dato devo inserire l'indirizzo a cui voglio accedere. Come faccio a capire come il gateway organizzi la sua memoria? Ammesso che esista un modo.

Ho cercato un pò e su un sito ho trovato che il gateway riesce a rilevare la scrittura da parte del Master nella "tabella di dati in uscita" di un dato di tipo "holding register". E' corretto?

Modificato: da Tetsugoshi

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