IT202000012328A1 - Metodo di assegnazione di un indirizzo operativo - Google Patents

Metodo di assegnazione di un indirizzo operativo Download PDF

Info

Publication number
IT202000012328A1
IT202000012328A1 IT102020000012328A IT202000012328A IT202000012328A1 IT 202000012328 A1 IT202000012328 A1 IT 202000012328A1 IT 102020000012328 A IT102020000012328 A IT 102020000012328A IT 202000012328 A IT202000012328 A IT 202000012328A IT 202000012328 A1 IT202000012328 A1 IT 202000012328A1
Authority
IT
Italy
Prior art keywords
communication
slave
identification
slave devices
address
Prior art date
Application number
IT102020000012328A
Other languages
English (en)
Inventor
Luca Marzolla
Original Assignee
Carel Ind Spa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Carel Ind Spa filed Critical Carel Ind Spa
Priority to IT102020000012328A priority Critical patent/IT202000012328A1/it
Priority to US17/999,970 priority patent/US11784848B2/en
Priority to EP21734211.2A priority patent/EP4158883A1/en
Priority to CN202180038430.0A priority patent/CN115989666A/zh
Priority to PCT/IB2021/054569 priority patent/WO2021240380A1/en
Publication of IT202000012328A1 publication Critical patent/IT202000012328A1/it

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

METODO DI ASSEGNAZIONE DI UN INDIRIZZO OPERATIVO
Il presente trovato concerne il campo della comunicazione per sistemi elettronici con architettura ?master/slave? operanti secondo un protocollo di comunicazione seriale. In particolare, il presente trovato si riferisce ad un metodo di assegnazione di un indirizzo operativo. Il presente trovato, inoltre, riguarda un dispositivo master configurato o programmato per l?esecuzione del suddetto metodo ed un sistema elettronico con architettura ?master/slave?, operante secondo un protocollo di comunicazione seriale e comprendente una pluralit? di dispositivi slave, e un dispositivo master configurato o programmato per l?esecuzione del suddetto metodo.
La portata del presente trovato non si estende ai protocolli di comunicazione che utilizzano procedure, metodi o protocolli di indirizzamento gi? definiti, come ad esempio ? il caso del TCP/IP mediante protocollo DHCP.
Soprattutto nel settore dell?automazione industriale, sono noti sistemi elettronici analogici e/o digitali che presentano un?architettura del tipo ?mater/slave?, secondo la quale un dispositivo principale, detto dispositivo ?master?, esercita il controllo su uno o pi? dispositivi periferici, detti dispositivi ?slave?, con cui ? posto in comunicazione. Normalmente, i sistemi elettronici aventi architettura del tipo ?mater/slave? comprendono una pluralit? di dispositivi ?slave? collegati ad un dispositivo ?master? che funge da unit? centrale di coordinamento e controllo per una pluralit? di dispositivi ?slave?. Ad esempio, il dispositivo master pu? essere un controllore PLC e la pluralit? di dispositivi slave possono essere apparecchi o strumenti di misurazione.
Negli ultimi decenni, sono stati sviluppati diversi protocolli di comunicazione per sistemi elettronici con architettura di tipo ?master/slave?. Tali protocolli di comunicazione definiscono la modalit? di interazione, vale a dire la modalit? di scambio di dati, tra il dispositivo master e i dispositivi slave di un sistema elettronico con architettura ?master/slave? e si avvalgono di diversi circuiti trasmissivi per la realizzazione di almeno un canale di trasmissione dei dati tra il dispositivo master ed i dispositivi slave.
In tale ambito, i protocolli di comunicazione seriale hanno assunto particolare rilevanza per robustezza, economia e tolleranza alle interferenze. Nei sistemi elettronici con architettura ?master/slave? operanti secondo un protocollo di comunicazione seriale, la comunicazione si basa su un flusso di bit trasferito su di un unico canale di trasmissione.
Tra i protocolli di comunicazione seriale le versioni seriali del protocollo Modbus, e.g., Modbus RTU e Modbus ASCII, hanno assunto oggigiorno lo status di standard ?de facto?. Altri i protocolli di comunicazione seriali ampiamente impiegati sono ad esempio: il protocollo Inter Integrated Circuit (I2C) e il protocollo Serial Peripheral Interface (SPI).
In un sistema elettronico con architettura master/slave operante secondo un protocollo di comunicazione seriale, il dispositivo master esercita il controllo sui dispositivi slave inviando una cosiddetta comunicazione operativa in modalit? broadcast, ossia un messaggio contente un comando o un?istruzione rivolto/a indistintamente a tutti i dispositivi slave, oppure una cosiddetta comunicazione operativa in modalit? indirizzata, ossia un messaggio contente un comando o un?istruzione rivolto/a ad uno specifico dispositivo slave.
Affinch? una comunicazione operativa in modalit? indirizzata sia recepita soltanto dal dispositivo slave a cui essa ? specificatamente destinata, deve essere stabilito un accoppiamento univoco tra la suddetta comunicazione operativa e tale dispositivo slave.
A questo scopo, a ciascun dispositivo slave del sistema elettronico deve essere assegnato un indirizzo operativo che lo identifichi univocamente e questo stesso indirizzo operativo deve essere contenuto nelle comunicazioni operative ad esso destinate.
L?assegnazione dell?indirizzo operativo ad ognuno dei dispositivi slave di un sistema elettronico ?, dunque, fondamentale per garantire il corretto funzionamento del sistema elettronico stesso.
I protocolli di comunicazione seriali pertanto richiedono l?implementazione di un procedimento di assegnazione di un indirizzo operativo ai dispositivi slave per permettere una comunicazione specifica ad un particolare dispositivo slave indirizzata a quest?ultimo tramite il suo indirizzo operativo.
L?assegnazione dell?indirizzo operativo ai dispositivi slave di un sistema elettronico operante secondo un protocollo di comunicazione seriale avviene, in genere, al momento dell?installazione del sistema elettronico, nel caso in cui uno dei dispositivi slave vada offline oppure nel caso in cui sia richiesta la sostituzione di un dispositivo slave a causa del danneggiamento o della rottura di questo oppure per altri motivi.
Tradizionalmente, l?assegnazione dell?indirizzo operativo pu? essere eseguita manualmente da un addetto. Tuttavia, oltre a richiedere un tempo molto elevato per poter essere portata a termine, un?assegnazione manuale da parte di un addetto si presta, ovviamente, ad essere soggetta ad errore umano.
Per ovviare a tale inconveniente, sono stati sviluppati metodi di assegnazione di un indirizzo operativo implementabili autonomamente da un sistema elettronico con architettura del tipo ?master/slave? operante secondo un protocollo di comunicazione seriale.
In particolare, nell?ambito della tecnica nota, tali metodi di assegnazione di un indirizzo operativo implementabili autonomamente da un sistema elettronico con architettura del tipo ?master/slave? operante secondo un protocollo di comunicazione seriale ? previsto che il dispositivo master richieda alla pluralit? di dispositivi slave dello stesso sistema elettronico che ognuno di essi, se si trova in uno stato non indirizzato, invii al dispositivo master una comunicazione di identificazione contente il proprio identificativo univoco, a partire da un istante iniziale scelto dallo stesso dispositivo slave in modo casuale, entro un determinato arco temporale. Nell?ambito della presente divulgazione, con l?espressione ?identificativo univoco? si intende un codice, ad esempio un codice numerico o alfanumerico, che consente di identificare o individuare univocamente o singolarmente ciascun dispositivo slave della pluralit? di dispositivi slave. L?identificativo univoco pu? essere ad esempio un "identificativo univoco universale" (Universally unique identifier-UUID), oppure un simil indirizzo MAC (Media Access Control address-MAC address). Quindi, l?identificativo univoco identifica univocamente ciascun dispositivo slave della pluralit? di dispositivi slave e tale comunicazione di identificazione viene utilizzata dal dispositivo master come insieme di dati di partenza per l?assegnazione di un indirizzo operativo.
La comunicazione di identificazione contenente l?identificativo univoco di un dispositivo slave ha una propria durata. Generalmente tale durata ? dell?ordine di millesimi di secondo.
Per quanto la durata delle comunicazioni di identificazione possa essere considerata breve, la trasmissione delle stesse a partire da un istante casuale comporta il fatto che una comunicazione di identificazione di un primo dispositivo slave e quella di un secondo dispositivo slave possano essere completamente sovrapposte oppure parzialmente sovrapposte, vale a dire parzialmente accavallate ossia esse sono trasmesse almeno in parte contemporaneamente. Pertanto, in questi casi, i dati contenuti in una comunicazione di identificazione possono mescolarsi, rispettivamente completamente o parzialmente, con i dati di almeno una ulteriore comunicazione di identificazione rendendo la comunicazione non decifrabile per il dispositivo master che la riceve.
Qualora i dati si mescolino completamente, ossia in caso di sostanziale contemporaneit? di almeno due comunicazioni di identificazione, il dispositivo master ? in grado di riconoscere l?errore. Ad esempio, nel caso delle versioni seriali del protocollo Modbus, i dispositivi master sono, infatti, generalmente programmati o configurati per effettuare un controllo volto all'individuazione di errori casuali nella trasmissione dati, ad esempio un controllo di ridondanza ciclico (cyclic redundancy check-CRC). In tal caso, avendo riconosciuto l?errore, il dispositivo master non attribuisce alcun indirizzo operativo ai rispettivi dispositivi slave da cui sono partite, sostanzialmente in simultanea, le comunicazioni di identificazione.
Qualora i dati si mescolino solo in parte, il dispositivo master non sempre ? in grado di riconoscere l?errore. La parziale sovrapposizione di comunicazioni di identificazione da parte di due o pi? diversi dispositivi slave ? difficilmente identificabile da parte del dispositivo master. In alcuni di questi casi, il dispositivo master pu? ritenere di aver correttamente ricevuto una singola e valida comunicazione di identificazione ed emettere un ordine di assegnazione di un indirizzo operativo che, cos?, ? recepito da pi? dispositivi slave con la conseguenza di assegnare lo stesso identico indirizzo operativo ai diversi dispositivi slave da cui sono state invece trasmesse, in parziale sovrapposizione, le comunicazioni di identificazione.
In caso di assegnazione di uno stesso indirizzo operativo a due o pi? differenti dispositivi slave, almeno uno di essi ricever? comunicazioni operative in modalit? indirizzata da parte del dispositivo master. In tale caso, il comando contenuto nella comunicazione operativa del dispositivo master potrebbe essere correttamente processato ed eseguito, a seconda di ci? che viene impartito e dal tipo di risposta attesa. In generale, comunque, in caso di assegnazione di uno stesso indirizzo operativo a due o pi? dispositivi slave, ? molto elevata la probabilit? che si riscontrino problemi di comunicazione o errori nella rete. Attualmente ? quindi fortemente sentita l?esigenza di migliorare il procedimento messo in atto da un sistema elettronico con architettura del tipo ?master/slave? operante secondo un protocollo di comunicazione seriale per assegnare un indirizzo operativo ai dispositivi slave dello stesso sistema elettronico; in particolare, l?esigenza sentita ? di ridurre il rischio di assegnazione erronea di un indirizzo operativo a uno o pi? dispostivi slave dello stesso sistema elettronico. Il problema alla base del presente trovato ?, quindi, quello di soddisfare la suddetta esigenza.
Compito principale del presente trovato consiste pertanto nel realizzare un metodo di assegnazione di un indirizzo operativo, che ponga soluzione a tale problema risolvendo i lamentati inconvenienti sopra descritti con riferimento alla tecnica nota.
Nell?ambito di tale compito ? scopo del presente trovato proporre un metodo di assegnazione di un indirizzo operativo, implementabile autonomamente o automaticamente, da un sistema elettronico con architettura del tipo ?master/slave? operante secondo un protocollo di comunicazione seriale, che permetta di ridurre il numero di possibili assegnazioni errate di un indirizzo operativo a due o pi? i dispositivi slave.
Questo compito, nonch? questi ed altri scopi che meglio appariranno nel seguito sono raggiunti da un metodo di assegnazione di un indirizzo operativo implementabile da un sistema elettronico con architettura del tipo ?master/slave? operante secondo un protocollo di comunicazione seriale. ?, inoltre, oggetto della presente divulgazione, un dispositivo master configurato o programmato per implementare il metodo di assegnazione di un indirizzo operativo secondo il presente trovato e un sistema elettronico con architettura del tipo ?master/slave? operante secondo un protocollo di comunicazione seriale configurato o programmato per implementare il metodo di assegnazione di un indirizzo operativo secondo il presente trovato.
Caratteristiche di dettaglio del metodo di assegnazione di un indirizzo operativo secondo il presente trovato sono riportate nelle corrispondenti rivendicazioni dipendenti.
Ulteriori caratteristiche e vantaggi del trovato risulteranno maggiormente evidenti dalla descrizione di una forma di esecuzione preferita, ma non esclusiva di un metodo di assegnazione di un indirizzo operativo.
La portata del presente trovato non si estende ai protocolli di comunicazione che utilizzano procedure, metodi o protocolli di indirizzamento gi? definiti, come ad esempio ? il caso del TCP/IP mediante protocollo DHCP.
Sono inoltre unite alla presente divulgazione, a titolo indicativo e non limitativo, le tavole di disegno, in cui:
- la figura 1 illustra uno schema esemplificativo di un sistema elettronico con architettura del tipo ?master/slave?, secondo il presente trovato;
- la figura 2 illustra mediante schema esemplificativo il rapporto tra istante iniziale, istante finale, intervallo temporale, arco temporale massimo, arco temporale complessivo, slot;
- la figura 3 illustra un diagramma di flusso esemplificativo del metodo di assegnazione di un indirizzo operativo, secondo il presente trovato.
Il metodo oggetto del presente trovato ? implementabile da un sistema elettronico 1 con architettura master/slave operante secondo un protocollo di comunicazione seriale comprendente un dispositivo master 10 ed una pluralit? di dispositivi slave 20. In particolare, se il protocollo di comunicazione seriale ? una versione del protocollo Modbus, quale ad esempio Modbus RTU e Modbus ASCII, il sistema elettronico 1 con architettura master/slave pu? comprendere un dispositivo master 10 collegato ad un massimo di 247 dispositivi slave 20i.
In accordo con il principio operativo di un sistema elettronico con architettura ?master/slave?, di per s? tradizionale, il dispositivo master 10 pu? esercitare pieno controllo sulla pluralit? di dispositivi slave 20. Il disposto master 10 pu? fungere cio? da unit? centrale di coordinamento e controllo per la pluralit? di dispositivi slave 20.
Ciascun dispositivo slave 20i ha, ossia ? dotato, di un proprio identificativo univoco. L?identificativo univoco ? un numero che identifica singolarmente ciascun dispositivo slave 20i. Nell?ambito del presente trovato, con l?espressione ?identificativo univoco? si intende un codice, ad esempio un codice numerico o alfanumerico, che consente di identificare o individuare univocamente ciascun dispositivo slave della pluralit? di dispositivi slave. L?identificativo univoco pu? essere ad esempio un "identificativo univoco universale" (Universally unique identifier-UUID), oppure un simil indirizzo MAC (Media Access Control address-MAC address), oppure il numero di serie che, in genere, ? assegnato ad un dispositivo slave dallo stesso produttore.
Ciascun dispositivo slave 20i ? collegato al dispositivo master 10 per la comunicazione reciproca. Il dispositivo master 10 e la pluralit? di dispositivi slave 20 sono, cio?, reciprocamente connessi per interagire tra di loro attraverso lo scambio di comunicazioni, secondo il protocollo di comunicazione seriale. In particolare, nel caso in cui il protocollo di comunicazione seriale sia una versione seriale del protocollo Modbus, tale connessione pu? avvenire per mezzo di un singolo bus che costituisce il canale di trasmissione attraverso il quale sono reciprocamente scambiate tali comunicazioni.
La comunicazione in un sistema elettronico 1 ad architettura master/slave operate secondo un protocollo di comunicazione seriale pu? essere, come di consueto, inizializzata dal dispositivo master 10. Vale a dire che la prima comunicazione pu? essere trasmessa dal dispositivo master 10 ad uno o pi? dei dispositivi slave 20i.
La comunicazione da parte del dispositivo master 10 pu? prevedere la trasmissione di una comunicazione operativa, ossia una comunicazione contenente un comando o un?istruzione, ad un solo specifico dispositivo slave 20i oppure all?intera pluralit? di dispositivi slave 20 congiuntamente.
In linea con ci?, il dispositivo master 10 ? configurato per inviare una comunicazione operativa in modalit? broadcast; vale a dire una comunicazione operativa contenente un comando o un?istruzione che non ? indirizzato/a, ossia non comprende un identificativo di uno dispositivo slave destinatario cos? che qualsiasi dispositivo slave della pluralit? di dispositivi slave 20 lo riceva e lo tratti come un comando a s? indirizzato.
In altre parole, un comando o un?istruzione contenuto in una comunicazione in modalit? broadcast pu? essere ? trattato come se fosse indirizzato indistintamente all?intera pluralit? di dispositivi slave 20. Inoltre, il dispositivo master 10 pu? essere preferibilmente configurato o programmato per inviare una comunicazione operativa in modalit? indirizzata; vale a dire una comunicazione operativa contenente un comando o un?istruzione indirizzato specificamente ad un dispositivo slave 20i dell?intera pluralit? di dispositivi slave 20. Vale a dire, cio?, che il dispositivo master 10 pu? essere inoltre configurato o programmato per inviare una comunicazione operativa in modalit? indirizzata, ossia un messaggio contente un comando o un?istruzione rivolto/a ad uno specifico dispositivo slave 20i.
Affinch? le comunicazioni operative possano essere recepite da ciascun dispositivo slave 20i dell?intera pluralit? di dispositivi slave 20 o da uno specifico dispositivo slave 20i, le comunicazioni operative contengono anche un indirizzo operativo.
L?indirizzo operativo pu? essere uno dei campi di una comunicazione operativa che permette di indirizzare la stessa comunicazione, in modo univoco, ad uno specifico dispositivo slave 20i o all?intera pluralit? di dispositivi slave 20. Preferibilmente, secondo le versioni seriali del protocollo Modbus, l?indirizzo operativo pu? essere contenuto come primo byte di ogni ?pacchetto? costituente una comunicazione operativa in modalit? indirizzata. Preferibilmente secondo le versioni seriali del protocollo Modbus, indirizzo operativo pu? essere un indirizzo numerico.
Per essere recepita da tutti i dispositivi slave 20i della pluralit? di dispositivi slave 20 indistintamente, una comunicazione operativa in modalit? broadcast preferibilmente pu? includere, oltre al suddetto comando, un indirizzo generico o universale. Tale indirizzo generico o universale ? un indirizzo valido contemporaneamente per tutti i dispostivi slave 20i della pluralit? di dispositivi slave 20.
In altre parole, una comunicazione operativa che include tale indirizzo generico o universale ? trattata da ciascun dispositivo slave 20i che la riceve come una comunicazione a s? indirizzata.
Preferibilmente, nelle versioni seriali del protocollo Modbus, tale indirizzo generico o universale pu? essere impostato di default come ?0?.
Invece, per essere recepita da un solo specifico dispositivo slave 20i della pluralit? di dispositivi slave 20, una comunicazione operativa in modalit? indirizzata preferibilmente pu? includere un indirizzo operativo riferito o associato univocamente allo specifico dispositivo slave 20i, ossia un indirizzo operativo atto a identificare univocamente lo specifico dispositivo slave 20i della pluralit? di dispositivi slave 20. Preferibilmente, nel caso delle versioni seriali del protocollo Modbus, l?indirizzo operativo pu? avere un valore numerico intero compreso tra 1 e 247.
Ciascun dispositivo slave 20i della pluralit? di dispositivi slave 20 ? configurato o programmato per essere selettivamente in uno stato indirizzato oppure in uno stato non indirizzato. Vale a dire che ciascun dispositivo slave 20i pu? trovarsi alternativamente in uno stato indirizzato oppure in uno stato non indirizzato ove, nello stato non indirizzato ha un indirizzo operativo assegnato e, nello stato non indirizzato, ? privo di un indirizzo operativo. Nello stato non assegnato quindi un dispositivo slave non ha un indirizzo operativo che lo identifichi univocamente. Vale a dire che, nello stato non indirizzato, un dispositivo slave 20i ? ?anonimo? ossia non identificabile univocamente dal dispositivo master 10. Nello stato non indirizzato, nonostante un dispositivo slave 20i sia dotato di un proprio identificativo univoco risulta comunque ignoto o non riconoscibile dal dispositivo master 10. Per questo, se un dispositivo slave 20i si trova in uno stato non indirizzato recepir? solo comunicazioni operative in modalit? broadcast da parte del dispositivo master 10.
Al contrario, nello stato indirizzato un dispositivo slave 20i ha un proprio indirizzo operativo. In altre parole, nello stato indirizzato ad un dispositivo slave 20i corrisponde un indirizzo operativo che lo identifica univocamente per il dispositivo master 10. Quindi, nello stato indirizzato, un dispositivo slave 20i attraverso il proprio indirizzo operativo pu? risultare singolarmente riconoscibile da parte del dispositivo master 10. Come sopra anticipato, preferibilmente in una versione seriale del protocollo Modbus, un indirizzo operativo ? normalmente un numero intero compreso nell?insieme tra 1 e 247. Se un dispositivo slave 20i si trova in uno stato indirizzato pu? ricevere da parte del dispositivo master 10 sia comunicazioni operative in modalit? broadcast sia comunicazioni operative in modalit? indirizzata.
Generalmente, uno o pi? dispositivi slave 20i della pluralit? di dispositivi slave 20 si trova/si trovano in uno stato non indirizzato al momento dell?installazione o set up del sistema elettronico con architettura di tipo ?master/slave? 1. Altri casi, in cui un dispositivo slave 20i pu? trovarsi nello stato non indirizzato si verificano, ad esempio, al seguito di malfunzionamenti improvvisi tali per cui il dispositivo slave 20i si disconnette dalla rete oppure nel caso in cui sia richiesta la manutenzione o sostituzione di un dispositivo slave oppure nel caso in cui uno dei dispositivi slave vada offline. Perch? un ciascun dispositivo slave 20i della pluralit? di dispositivi slave 20 abbia un indirizzo operativo, in modo da poter recepire le comunicazioni operative esclusivamente ad esso destinate, deve essere eseguita una assegnazione di tale indirizzo operativo.
In qualunque stato, indirizzato o non indirizzato, si trovi ciascun dispositivo slave 20i della pluralit? di dispositivi slave 20, esso ? configurato o programmato per eseguire i comandi del dispositivo master 10. In particolare, ciascun dispositivo slave 20i della pluralit? di dispositivi slave 20 ? configurato o programmato per eseguire comandi contenuti in una comunicazione operativa in modalit? broadcast. Ad esempio, in risposta ad una comunicazione operativa in modalit? broadcast, un dispositivo slave 20i pu? inviare una comunicazione di identificazione, oppure una comunicazione di conferma.
Preferibilmente, ogni dispositivo slave 20i della pluralit? di dispositivi slave 20 pu? essere anche configurato o programmato per eseguire comandi contenuti in una comunicazione operativa in modalit? indirizzata, qualora il proprio indirizzo operativo coincida con l?indirizzo operativo contenuto nella comunicazione operativa.
Il metodo oggetto del presente trovato ? un metodo di assegnazione di un indirizzo operativo ad almeno un dispositivo slave 20i di una pluralit? di dispositivi slave da parte di un dispositivo master 20 secondo un protocollo di comunicazione seriale.
Tale metodo comprende almeno le seguenti fasi: una fase A, una fase B, una fase C e una fase D come di seguito specificate.
Nella fase A il dispositivo master 10 invia una prima comunicazione operativa in modalit? broadcast, questa contiene un comando per tutta la pluralit? di dispositivi slave 20, di trasmettere l?identificativo univoco U_ID ad un istante di trasmissione It. Vale a dire che il dispositivo master 10 invia una prima comunicazione operativa indistintamente a tutti i dispositivi slave 20i della pluralit? di dispositivi slave 20 richiedendo a ciascuno di essi di inviare il proprio identificativo univoco U_ID, ad un istante di trasmissione It. La prima comunicazione operativa dal dispositivo master 10 richiede, quindi, alla pluralit? di dispositivi slave 20 di trasmettere il proprio identificativo univoco U_ID ad un determinato istante di trasmissione It.
Tale istante di trasmissione It deve essere compreso tra un istante iniziale Ii ed un istante finale If. L?istante di trasmissione It ossia cade entro un arco temporale massimo Tmax a partire da un istante iniziale Ii. In altre parole, la trasmissione dell?identificativo univoco U_ID deve iniziare entro un arco temporale massimo Tmax compreso tra l?istante iniziale Ii e l?istante finale If. L?arco temporale massimo Tmax rappresenta l?intervallo massimo entro il quale pu? iniziare la trasmissione dell?identificativo univoco U_ID da parte di un dispositivo slave 20i.
Tale istante di trasmissione It ha un valore in unit? di tempo, rispetto all?istante iniziale Ii, pari al prodotto di un numero casuale r per un predefinito intervallo temporale T; ove tale numero casuale r ? un numero naturale. Quindi, la trasmissione dell?identificativo univoco U_ID deve avvenire, rispetto all?istante iniziale Ii, ad un tempo che ? un multiplo dell?intervallo temporale T. Vale a dire che l?istante di trasmissione It pu? coincidere con l?instante iniziale Ii o essere ritardato rispetto all?istante iniziale Ii di un tempo della durata pari alla ripetizione, per un numero casuale r di volte, della durata di tale intervallo temporale T. Per avviare la trasmissione del proprio identificativo univoco U_ID, un dispositivo slave 20i deve, cio?, attendere che l?intervallo temporale T sia trascorso per un numero r di volte.
Ad esempio, supponendo che l?intervallo temporale T abbia una durata di 20ms, e il valore assegnato al numero r da un dispositivo slave 20i sia pari a 47, allora l?istante di trasmissione It ? pari a 0,020s x 47 = 0,94 s dopo l?istante inziale Ii. Qualora un dispositivo slave 20i assegni il valore 0 al numero r, l?istante di trasmissione It ? pari a 0; vale a dire che l?istante di trasmissione It coincide con l?istante inziale Ii.
Durante la fase A, quindi, il dispositivo master 10 impone una cadenza, entro l?arco temporale massimo Tmax, per l?inizio della trasmissione dell?identificativo univoco U_ID da parte dei dispositivi slave 20i. Secondo tale cadenza, ciascun istante di trasmissione It pu? essere, quindi, separato rispetto a un successivo istante di trasmissione It? di un tempo nullo oppure pari ad almeno la durata dell?intervallo temporale T o di un tempo pari ad un multiplo della durata dell?intervallo temporale T.
Tutti i dispositivi slave 20i della pluralit? di dispositivi slave 20 ricevono la comunicazione operativa inviata dal dispositivo master 10 nella fase A, in modalit? broadcast, ma solo i dispositivi slave 20i che sono in uno stato non indirizzato, ossia cui non risulta precedentemente assegnato un indirizzo operativo, eseguono le fasi B e D del metodo secondo il presente trovato. Vale a dire che soltanto se un dispositivo slave 20i si trova nello stato non indirizzato effettua le fasi B e D del presente metodo.
In particolare, nella fase B, ciascuno dispositivo slave 20i della pluralit? di dispositivi slave 20 che ha ricevuto la prima comunicazione operativa, se ? nello stato non indirizzato, assegna un valore al numero casuale r e trasmette, a partire dall?istante di trasmissione It, una comunicazione di identificazione contenente l?identificativo univoco U_ID di tale dispositivo slave 20i. In altre parole, ogni dispositivo slave 20i, in uno stato non indirizzato, risponde alla prima comunicazione operativa del dispositivo master 10 includendo il proprio identificativo univoco U_ID in una comunicazione di identificazione, scegliendo un valore da assegnare al numero casuale r, e, infine trasmettendo la comunicazione di identificazione a partire dall?istante di trasmissione It.
In particolare, l?intervallo temporale T ha una durata sostanzialmente pari ad una durata della comunicazione di identificazione in modo tale che se almeno un primo dispositivo slave 20a dei dispositivi slave 20i ed almeno un secondo dispositivo slave 20b dei dispositivi slave 20i trasmettono ciascuno una propria comunicazione di identificazione rispettivamente ad un primo istante iniziale It,a e ad un secondo istante iniziale It,b, il dispositivo master 10 o riceve una risposta corrotta formata da una sovrapposizione sostanzialmente completa delle comunicazioni di identificazione del primo e secondo dispositivo slave 20a e 20b se il primo istante iniziale It,a ? uguale al secondo istante iniziale It,b, oppure riceve le comunicazioni di identificazione dei dispositivi slave 20a e 20b non sovrapposte se il primo istante iniziale It,a ? differente dal secondo istante iniziale It,b.
L?intervallo temporale T ha cio? una durata pressoch? pari alla durata della trasmissione di una comunicazione di identificazione di un dispositivo slave 20i. In questo modo ? assicurato che a partire dall?istante di trasmissione It e trascorso un tempo pari alla durata dell?intervallo temporale T possa essere trasmessa una intera comunicazione di identificazione di un dispositivo slave 20i.
Vale a dire che, vantaggiosamente, se almeno un primo dispositivo slave 20a ed un secondo dispositivo slave 20b trasmettono ciascuno una propria comunicazione di identificazione rispettivamente ad un primo istante iniziale It,a e ad un secondo istante iniziale It,b si possono verificare due casi alternativi.
In un primo caso, il primo istante iniziale It,a coincide con il secondo istante iniziale It,b e pertanto, la trasmissione delle comunicazioni di identificazione da parte del primo dispositivo slave 20a e del secondo dispositivo slave 20b avvengono sostanzialmente in contemporanea. Pertanto, il dispositivo master 10 riceve pressoch? simultaneamente le comunicazioni di identificazione. In altre parole, il dispositivo master 10 riceve una risposta corrotta data dalla sovrapposizione sostanzialmente completa delle comunicazioni di identificazione; ossia, si pu? verificare un conflitto di dati contenuti nella comunicazione di identificazione del primo dispositivo slave 20a e del secondo dispositivo slave 20b. I dati contenuti nelle comunicazioni di identificazione del primo dispositivo slave 20a e i dati contenuti nella comunicazione di identificazione del secondo dispositivo slave 20b sono ricevuti dal dispositivo master 10 sostanzialmente sovrapposti tra loro e, perci?, non processabili da questo.
Il dispositivo master 10, cio?, ricevendo pressoch? contemporaneamente la comunicazione di identificazione del primo dispositivo slave 20a e la comunicazione di identificazione del secondo dispositivo slave 20b non ? in grado di distinguere se i dati contenuti in ciascuna di esse si riferiscano al primo dispositivo slave 20a o al secondo dispositivo slave 20b; in particolare il dispositivo master 10 non ? in grado di verificare la correttezza dei dati contenuti nelle comunicazioni di identificazione sovrapposte .
Nel secondo caso, invece, il primo istante iniziale It,a e il secondo istante iniziale It,b differiscono tra loro; quindi, la trasmissione delle comunicazioni di identificazione da parte del primo dispositivo slave 20a e del secondo dispositivo slave 20b avviene rispettivamente durante un primo intervallo temporale Ta ed un secondo intervallo temporale Tb distinti tra loro. La comunicazione di identificazione rispettivamente del primo dispositivo slave 20a e del secondo dispositivo slave 20b sono quindi trasmesse separatamente.
Il dispositivo master 10, in questo secondo caso, riceve le comunicazioni di identificazione di tali dispositivi slave 20a e 20b non sovrapposte. Le comunicazioni di identificazione rispettivamente del primo dispositivo slave 20a e del secondo dispositivo slave 20b vengono cio? ricevute distintamente o separatamente tra loro.
Vantaggiosamente, ? quindi prevenuto l?invio di comunicazioni di identificazione in parziale sovrapposizione. Vale a dire che in questo modo ? evitato che due dispositivi slave 20i trasmettano una rispettiva comunicazione di identificazione parzialmente sovrapposta. In altre parole, in accordo con un metodo secondo il presente trovato, l?inizio della trasmissione di una comunicazione di identificazione da parte di un primo dispositivo slave 20a non pu? avvenire nel lasso di tempo in cui ? in corso la trasmissione di un?altra comunicazione di identificazione da parte di un secondo dispositivo slave 20b.
Ne consegue che la trasmissione dell?identificativo univoco U_ID da parte della pluralit? di dispositivi slave 20 pu? risultare cadenzata entro un arco temporale complessivo Tc della durata pari alla somma della durata dell?arco temporale massimo Tmax e della durata dell?intervallo temporale T.
Essendo la ricezione da parte del dispositivo master pressoch? istantanea, l?arco temporale complessivo Tc rappresenta, inoltre, l?attesa complessiva del dispositivo master 10 per ricevere risposta dalla pluralit? di dispositivi slave 20.
Ad esempio, se Tmax ha una durata pari a 1000ms e T ha una durata di 50ms, quindi: l?arco temporale complessivo Tc avr? durata pari a 1050.
Nella fase C, il dispositivo master 10 per ciascuna comunicazione di identificazione che riceve e che non forma una risposta corrotta, trasmette nella modalit? broadcast una seconda comunicazione operativa. In altre parole, per ciascuna comunicazione di identificazione ricevuta distintamente o separatamente da almeno un?altra comunicazione di identificazione, il dispositivo master 10 invia alla pluralit? di dispositivi slave 20 una seconda comunicazione operativa.
In particolare, ciascuna seconda comunicazione operativa consiste in una risposta a ciascuna comunicazione di identificazione che contiene il medesimo identificativo univoco U_ID di quest?ultima e, inoltre, un indirizzo univoco U_AD, ad esempio un indirizzo Modbus, da associare al dispositivo slave 20i della pluralit? di dispositivi slave 20 che ha tale identificativo univoco U_ID. Vale a dire che ciascuna seconda comunicazione operativa contiene: un identificativo univoco U_ID, che corrisponde a quello trasmesso in una delle comunicazioni di risposta che non forma una risposta corrotta, e un indirizzo univoco U_AD da assegnare al dispositivo slave della pluralit? di dispositivi slave 20 cui corrisponde quell?identificativo univoco U_ID. In altre parole, una seconda comunicazione operativa contiene l?abbinamento di un indirizzo univoco U_AD e di uno specifico identificativo univoco U_ID; ove l?indirizzo univoco U_AD deve essere assegnato al dispositivo slave 20i cui corrisponde lo specifico identificativo univoco U_ID. In altre parole, per ciascun dispositivo slave 20i la cui comunicazione di identificazione alla prima comunicazione operativa non forma una risposta corrotta, il dispositivo master 10 emette una seconda comunicazione operativa che assegna a tale dispositivo slave 20i un indirizzo univoco U_AD che ? diverso da qualsiasi indirizzo univoco U_AD assegnato o che sar? assegnato agli altri dispositivi slave 20i.
Nella fase D, avviene l?assegnazione dell?indirizzo operativo ai dispositivi slave 20i della pluralit? di dispositivi slave 20 la cui comunicazione di identificazione non era parte di una risposta corrotta. In particolare, nella fase D, ciascun dispositivo slave della pluralit? di dispositivi slave 20 che riceve la seconda comunicazione operativa, se ? nello stato non indirizzato ed il proprio identificativo univoco U_ID coincide con l?identificativo univoco U_ID contenuto nella seconda comunicazione operativa allora acquisisce come proprio indirizzo operativo l?indirizzo univoco U_AD contenuto nella seconda comunicazione operativa e passa nello stato indirizzato. Nella fase D, ciascun dispositivo slave 20i della pluralit? di dispositivi slave 20 che riceve la seconda comunicazione operativa confronta l?identificativo univoco U_ID contenuto in tale seconda comunicazione operativa con il proprio identificativo univoco U_ID. Quindi, se l?identificativo univoco U_ID contenuto nella seconda comunicazione operativa coincide con il proprio identificativo univoco U_ID, allora il dispositivo slave 20i imposta come proprio indirizzo operativo l?indirizzo univoco U_AD contenuto nella stessa seconda comunicazione operativa. In questo modo, il dispositivo slave 20i passa da uno stato non indirizzato ad uno stato indirizzato.
Infine, secondo il presente metodo, se il dispositivo master 10 ha ricevuto nella fase C almeno una comunicazione di identificazione, sovrapposta ad almeno un ulteriore comunicazione di identificazione, allora sono ripetute dalla fase A alla fase D. In altre parole, ? eseguita una nuova iterazione delle fasi da A a D qualora il dispositivo master 10 ha ricevuto nella fase C almeno una di tale comunicazione di identificazione, sovrapposta o non sovrapposta ad almeno un?ulteriore comunicazione di identificazione, ossia anche se riceve solamente una o pi? risposte corrotte. Pertanto, il metodo non reitera le fasi da A a D quando durante la fase C il dispositivo master 10 non riceve pi? alcuna risposta, tale fatto essendo assunto come corrispondere ad una situazione nella quale tutti i dispositivi slave 20i della pluralit? di dispositivi slave 20 ? nello stato indirizzato. Il metodo pu? terminare, quindi, una volta che tutti i dispositivi slave 20i della pluralit? di dispositivi slave 20, sono nello stato indirizzato e non rispondono alla prima comunicazione operativa che il dispositivo master 10 emette nella fase A.
Preferibilmente, il protocollo di comunicazione seriale pu? essere una versione seriale del protocollo Modbus. Ad esempio, tale protocollo di comunicazione seriale pu? essere la versione Modbus RTU o la versione seriale Modbus ASCII. Preferibilmente, la fase C pu? avere inizio solo al termine dell?arco complessivo Tc. Vantaggiosamente, in questo modo il dispositivo master 10 attende tutto il tempo necessario per ricevere eventuali risposte da parte dei dispositivi slave 20i della pluralit? di dispositivi slave 20 che si trovano nello stato non indirizzato. Secondo tale possibile aspetto del secondo trovato, l?istante inziale It e l?istante finale If definiscono l?arco temporale massimo Tmax e la fase C ? eseguita non prima che sia trascorso un tempo pari alla somma dell?intervallo temporale T e dell?arco temporale massimo Tmax dall?invio della comunicazione operativa nella fase A, in modo tale che la fase C sia eseguita una volta trascorso tutto il tempo necessario per ricevere le comunicazioni di risposta da parte di tutti i dispositivi slave 20i che sono nello stato non indirizzato. Preferibilmente, quindi, la fase C inizia dopo che ? trascorso un tempo pari all?arco temporale complessivo Tc. In altre parole, il dispositivo master 10 resta in attesa per tale arco temporale complessivo Tc, in modo tale da aver ricevuto tutte le possibili comunicazioni di identificazione prima di inviare una seconda comunicazione operativa alla pluralit? di dispositivi slave 20. La fase C ? pertanto, vantaggiosamente, condotta una volta che sono state ricevute tutte le possibili comunicazioni di identificazione da parte della pluralit? di dispositivi slave 20. In questo modo, vantaggiosamente, ? massimizzata la possibilit? di ricezione di almeno una comunicazione di identificazione da parte del dispositivo master 10 prima dell?avvio della fase C. In altre parole, vantaggiosamente, l?assegnazione di un indirizzo operativo non avviene prima che non siano pervenute al dispositivo master 10 tutte le possibili comunicazioni di identificazione. La fase B non ?, perci?, interrotta da una prematura assegnazione di un indirizzo operativo ai soli dispositivi slave che per primi hanno iniziato a trasmettere la propria comunicazione di identificazione. Secondo un possibile aspetto, la comunicazione operativa della fase A pu? comprendere un valore massimo R assegnabile al numero casuale r. Vale a dire che il dispositivo master 10 pu? indicare il numero massimo di istanti di trasmissione It entro l?arco temporale massimo Tmax. Tale valore massimo R corrisponde, pertanto, al massimo numero di volte che l?intervallo T pu? essere ripetuto interamente entro l?arco temporale complessivo Tc.
In particolare, la durata dell?arco temporale complessivo Tc ? pari alla durata dell?intervallo temporale T per un numero di volte pari a tale valore massimo R. L?arco temporale complessivo Tc risulta quindi composto da un numero di slot temporali, che corrispondono all?intervallo temporale T, pari a tale valore massimo R; ove ciascuno slot temporale ha inizio ad un certo istante di trasmissione It e durata pari all?intervallo temporale T. Ciascuno slot temporale rappresenta la finestra temporale entro cui pu? avvenire la trasmissione dell?identificativo univoco U_ID da parte di almeno un dispositivo slave 20i della pluralit? di dispositivi slave 20.
Ad esempio, se Tmax ha una durata pari a 300ms e T ha una durata di 30ms, allora il valore massimo R ? pari a 10 e l?arco temporale complessivo Tc comprende 10 slot temporali.
Secondo questo stesso possibile aspetto, inoltre, tale valore massimo R pu? essere maggiore o uguale al numero S di dispositivi slave 20i della pluralit? di dispositivi slave 20. Preferibilmente ? definito, quindi, almeno uno slot per ciascun dispositivo slave 20i della pluralit? di dispositivi slave 20. In questo modo, ? ridotta la probabilit? che, anche se tutti i dispositivi slave 20i della pluralit? di dispositivi slave 20 si trovano in uno stato non indirizzato, si verifichi la sovrapposizione, completa, di almeno due comunicazioni di identificazione all?interno dello stesso slot. Pertanto, ci? consente vantaggiosamente di velocizzare la procedura.
Ne consegue, vantaggiosamente, che pu? essere ridotto il numero di iterazioni che il metodo deve compiere prima che a ciascun dispositivo slave 20i della pluralit? di dispositivi slave sia assegnato un indirizzo operativo.
Tuttavia, all?aumentare del numero di slot, e di conseguenza dell?arco temporale complessivo Tc, pu? aumentare complessivamente la durata dell?esecuzione del metodo secondo il presente trovato.
Cos?, in generale, in accordo con il presente trovato, la durata dell?arco temporale massimo Tmax e dell?intervallo temporale T e/o del valore massimo R e/o dell?arco temporale complessivo Tc sono scelti in base alle condizioni contingenti di implementazione del presente metodo.
In particolare, un valore maggiore dell?arco temporale massimo Tmax allungher? l?attesa, da parte del dispositivo master 10 delle comunicazioni di risposta dei dispositivi slave 20i ma ridurr? la probabilit? di sovrapposizione di tali comunicazioni di risposta ossia di comunicazioni corrotte e, quindi, di reiterazioni delle fasi da A a D.
Per definire un possibile compromesso tra il numero di slot, che come anticipato corrisponde al valore massimo R assegnabile al numero casuale r, e la probabilit? che si verifichi almeno una risposta corretta, ossia che il dispositivo master 10 non riceva solo risposte corrotte, ? possibile utilizzare la formula statistica cosiddetta ?paradosso del compleanno? (o ?Birthday problem?).
Secondo la formula statistica del ?paradosso del compleanno? la probabilit? che sia ricevuta dal disposi tivo master 10 almeno una risposta corretta ? pari a:
Dove, in modo di per s? noto:
R ? il valore massimo assegnabile al numero casuale r e pari al numero di slot; S ? il numero di dispositivi slave che si trovano in uno stato non indirizzato prima della fase A del suddetto metodo.
Applicando tale formula, per esempio se il numero S di dispositivi slave che si trovano in uno stato non indirizzato prima della fase A ? pari a 5 e il numero massimo assegnabile al numero casuale ? 5 (quindi sono presenti 5 slot), la probabilit? che sia ricevuta una risposta corrotta ? pari a:
P1c = 1 - (? x ? x ? x ? ) = 1 - 24/625 = 1 - 0.0384 = 0,9616 = 96.16%
Il massimo valore assegnabile al numero casuale, quindi il numero di slot, R pu? essere scelto in modo che la probabilit? che si verifichi una risposta corrotta sia minore del 50%, o minore del 30%, o minore del 20%, a seconda delle esigenze contingenti di attuazione del trovato.
Secondo un possibile aspetto del trovato, l?istante iniziale Ii pu? essere l?istante nel quale la pluralit? di dispositivi slave 20 riceve la comunicazione operativa della fase A. Vale a dire che la fase B pu? avere inizio non appena i dispositivi slave 20i della pluralit? di dispositivi slave 20 ricevono la comunicazione operativa da parte del dispositivo master 10. Se un dispositivo slave 20i assegna al numero casuale r il valore 0, allora la comunicazione di identificazione contente l?identificativo univoco U_ID di quel dispositivo slave 20i viene inviata sostanzialmente a partire dall?istante in cui la stessa comunicazione operativa ? ricevuta, ossia al netto del tempo necessario al dispositivo slave 20i di elaborare la prima comunicazione operativa e di inviare la propria comunicazione di identificazione. In questo modo, vantaggiosamente, non sono creati tempi di attesa tra la fase A e l?inizio della fase B.
Secondo un possibile aspetto del presente trovato, nella fase D ciascun dispositivo slave 20i della pluralit? di dispositivi slave che ha acquisito come proprio indirizzo operativo l?indirizzo univoco U_AD contenuto nella seconda comunicazione operativa, pu? inviare una comunicazione di conferma di avvenuto cambiamento di stato dallo stato non indirizzato allo stato indirizzato. Quindi, nella fase D, ciascun dispositivo slave 20i che ? passato da uno stato non indirizzato ad uno stato indirizzato, preferibilmente, pu? trasmettere al dispositivo master 10 una comunicazione di conferma. Tale comunicazione di conferma contiene l?indirizzo univoco U_AD impostato da un dispositivo slave 20i come proprio indirizzo operativo. In questo caso, il metodo pu? terminare quando il dispositivo master 10 non riceve alcuna comunicazione di conferma. In alternativa, ad esempio, il metodo pu? terminare quando in detta fase B il dispositivo master 10 non riceve n? comunicazioni di identificazione n? una risposta corrotta. Vale a dire cio? che il metodo pu? terminare quando nella fase B, il dispositivo master 10 non riceve alcuna comunicazione di identificazione, da sola o sovrapposta ad almeno un?ulteriore comunicazione di identificazione. Secondo un possibile aspetto del presente trovato, l?intervallo temporale T pu? avere una durata di pari alla durata della comunicazione di identificazione sommata alla durata prefissata di un intervallo di errore, in cui la durata prefissata di tale intervallo di errore ? inferiore alla durata della comunicazione di identificazione. Ad esempio, tale durata prefissata pu? essere pari a 5ms. Ancor pi? preferibilmente, nel caso di una versione seriale del protocollo Modbus, la durata dell?intervallo T pu? comprendere inoltre l??inter frame delay Modbus?, vale a dire un tempo di silenzio tra una comunicazione e la successiva. Ancora pi? preferibilmente, tale ?inter frame delay Modbus? ha durata almeno pari ad almeno 1750 ?s o al tempo necessario alla comunicazione di 3.5 caratteri. In questo modo, ? ridotta la possibilit? che una prima comunicazione di identificazione non sia trasmessa completamente entro un primo slot e che una seconda comunicazione di identificazione, successiva alla prima comunicazione di identificazione possa sovrapporsi a quest?ultima.
Secondo un possibile aspetto del metodo secondo il presente trovato, durante la fase C il dispositivo master 10 pu? memorizzare in una lista l?identificativo univoco U_ID contenuto in ciascuna comunicazione di identificazione, che non formi una risposta corrotta, in funzione dell?ordine di arrivo. In altre parole, il dispositivo master 10 pu? compilare una lista elencando l?identificativo univoco U_ID contenuto nelle comunicazioni di identificazione ricevute secondo l?ordine di arrivo di queste. I numeri serali U_ID contenuti nelle comunicazioni di identificazione, che non hanno formato una risposta corrotta, possono quindi essere elencati in ordine di arrivo. Il primo identificativo univoco U_ID introdotto nella lista pu? corrispondere a quello contenuto nella prima comunicazione di identificazione ricevuta dal dispositivo master 10 correttamente, ossia non sovrapposta ad un?altra comunicazione identificazione cio? a formare una risposta corrotta, il secondo identificativo univoco U_ID introdotto nella lista pu? corrispondere a quello contenuto nella seconda comunicazione di identificazione ricevuta dal dispositivo master 10 correttamente, e cos? via.
Quindi, il dispositivo master 10 pu? abbinare progressivamente un indirizzo univoco U_AD a ciascun identificativo univoco contenuto nella lista. Vale a dire che il dispositivo master 10 mano a mano, ossia seguendo l?ordine della lista, pu? associare un indirizzo univoco U_AD a ciascun identificativo univoco. Quindi, il primo indirizzo univoco U_AD pu? essere abbinato al primo identificativo univoco U_ID della lista, il secondo indirizzo univoco U_AD pu? essere abbinato al secondo identificativo univoco U_ID della lista e cos? via.
In particolare, nel caso di una versione seriale del protocollo Modbus, l?indirizzo univoco U_AD pu? essere il primo valore compreso nell?insieme di numeri naturali tra 1 e 247 che non risulta gi? abbinato ad un identificativo univoco di un dispositivo slave 20i. In altre parole, in tale caso, il dispositivo master 10 abbina progressivamente il primo indirizzo univoco U_AD, in forma di un numero intero tra 1 e 247, libero ossia non assegnato in precedenza al primo identificativo univoco trasmessogli.
Quindi, ordinatamente, il dispositivo master 10 esaurisce via via gli indirizzi operativi assegnabili.
Forma, inoltre, parte della presente divulgazione un dispositivo master 10 configurato e/o programmato per eseguire la fase A e la fase C del metodo secondo il presente trovato.
Infine, ? parte della presente divulgazione un sistema elettronico 1 con architettura del tipo ?master/slave? operante secondo un protocollo di comunicazione seriale comprendente ameno un dispositivo master 10 configurato e/o programmato per eseguire la fase A e la fase C del metodo secondo il presente trovato ed una pluralit? di dispositivi slave 20 collegati al dispositivo master 10 per la comunicazione reciproca secondo il protocollo di comunicazione seriale.
Il metodo secondo il presente trovato ? applicabile particolarmente ad un sistema elettronico 1 con architettura del tipo ?master/slave?, operante secondo un protocollo di comunicazione seriale, di apparati frigoriferi. In particolare, in tali applicazioni, il dispositivo master 10 pu? essere un dispositivo di controllo o un supervisore d?area; mentre pluralit? di dispositivi slave 20 pu? comprendere, un compressore ossia il suo controller con inverter, apparecchi dotati di sonde per la rilevazione di temperatura o di pressione, ventilatori, espansioni di I/O, altri controlli.

Claims (10)

RIVENDICAZIONI
1. Metodo di assegnazione di un indirizzo operativo ad almeno un dispositivo slave (20) di una pluralit? di dispositivi slave (20) da parte di un dispositivo master (10) secondo un protocollo di comunicazione seriale;
ove ciascuno dispositivo slave (20i) di detta pluralit? di dispositivi slave (20) ha un identificativo univoco (U_ID), ? collegato a detto dispositivo master (10) per la comunicazione reciproca ed ? configurato per essere selettivamente in uno stato indirizzato oppure in uno stato non indirizzato, ove in detto stato indirizzato detto dispositivo slave (20i) ha un indirizzo operativo assegnato e in detto stato non indirizzato ? privo di un indirizzo operativo;
ove detto dispositivo master (10) ? configurato per inviare una comunicazione operativa in una modalit? broadcast;
ove detto dispositivo slave (20i) ? configurato per eseguire comandi contenuti in una comunicazione operativa in detta modalit? broadcast;
detto metodo comprende le seguenti fasi:
- una fase A in cui detto dispositivo master (10) invia una prima comunicazione operativa in detta modalit? broadcast contenente un comando di trasmettere detto identificativo univoco (U_ID) ad un istante di trasmissione (It); ove detto istante di trasmissione (It) ? compreso tra un istante iniziale (Ii) ed un istante finale (If) ed ha un valore, in unit? di tempo rispetto a detto istante iniziale (Ii), pari al prodotto di un numero casuale (r) per un predefinito intervallo temporale (T); ove detto numero casuale (r) ? un numero naturale;
- una fase B in cui ciascuno dispositivo slave (20i) di detta pluralit? di dispositivi slave (20) che ha ricevuto detta prima comunicazione operativa, se ? in detto stato non indirizzato, assegna un valore a detto numero casuale (r) e trasmette, a partire da detto istante di trasmissione (It), una comunicazione di identificazione che contiene l?identificativo univoco (U_ID) di detto dispositivo slave (20i); ove detto intervallo temporale (T) ha una durata sostanzialmente pari ad una durata di detta comunicazione di identificazione in modo tale che se almeno un primo di detto dispositivo slave (20a) ed almeno un secondo di detto dispositivo slave (20b) trasmettono ciascuno una propria di detta comunicazione di identificazione rispettivamente ad un primo di detto istante iniziale (It,a) e ad un secondo di detto istante iniziale (It,b), detto dispositivo master (10) o riceve una risposta corrotta formata da una sovrapposizione sostanzialmente completa delle comunicazioni di identificazione di detti primo e secondo dispositivo slave (20a, 20b) se detto primo istante (It,a) iniziale ? uguale a detto secondo istante iniziale (It,b), oppure riceve le comunicazioni di identificazione di detti dispositivi slave (20a, 20b) non sovrapposte se detto primo istante iniziale (It,a) ? differente da detto secondo istante iniziale (It,b);
- una fase C in cui detto dispositivo master (10) per ciascuna di detta comunicazione di identificazione, che riceve e che non forma una di detta risposta corrotta, trasmette in detta modalit? broadcast una seconda comunicazione operativa; ove ciascuna di detta seconda comunicazione operativa consiste in una risposta a ciascuna di detta comunicazione di identificazione rispetto alla quale contiene il medesimo identificativo univoco (U_ID) e contiene inoltre un indirizzo univoco (U_AD) da associare al dispositivo slave (20i) di detta pluralit? di dispositivi slave (20) che ha detto identificativo univoco (U_ID);
- una fase D in cui ciascun dispositivo slave (20i) di detta pluralit? di dispositivi slave (20) che riceve detta seconda comunicazione operativa, se ? in detto stato non indirizzato ed il proprio identificativo univoco (U_ID) coincide con l?identificativo univoco (U_ID) contenuto in detta seconda comunicazione operativa allora acquisisce come proprio indirizzo operativo l?indirizzo univoco (U_AD) contenuto in detta seconda comunicazione operativa e passa in detto stato indirizzato;
ove se detto dispositivo master (10) ha ricevuto in detta fase C almeno uno di detta comunicazione di identificazione, sovrapposta o non sovrapposta ad almeno un?ulteriore di detta comunicazione di identificazione, allora sono ripetute le fasi da detta fase A a detta fase D.
2. Metodo secondo la rivendicazione 1, ove detto istante inziale (It) e detto istante finale (If) definiscono un arco temporale massimo (Tmax) e detta fase C ? eseguita non prima che sia trascorso un tempo pari alla somma di detto intervallo temporale (T) e detto arco temporale massimo (Tmax) dall?invio di detta comunicazione operativa in detta fase A.
3. Metodo secondo una delle rivendicazioni precedenti, in cui la comunicazione operativa di detta fase A comprende un valore massimo (R) assegnabile a detto numero casuale (r); ed in cui detto valore massimo (R) ? maggiore o uguale al numero di dispositivi slave (S) della pluralit? di dispositivi slave (20).
4. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui detto istante iniziale (It) ? l?istante nel quale detta pluralit? di dispositivi slave (20) riceve la comunicazione operativa in modalit? broadcast della fase A.
5. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui in detta fase D ciascun dispositivo slave (20i) di detta pluralit? di dispositivi slave (20) che ha acquisito come proprio indirizzo operativo l?indirizzo univoco (U_AD) contenuto in detta seconda comunicazione operativa, invia una comunicazione di conferma di avvenuto cambiamento di stato da detto stato indirizzato a detto stato non indirizzato.
6. Metodo secondo una qualsiasi delle rivendicazioni precedenti, in cui l?intervallo temporale (T) ha una durata di pari alla durata della comunicazione di identificazione sommata ad una durata prefissata di un intervallo di errore, in cui detta durata prefissata di detto intervallo di errore ? inferiore alla durata della comunicazione di identificazione.
7. Metodo secondo una qualsiasi delle rivendicazioni precedenti, ove detto protocollo di comunicazione seriale ? una versione seriale del protocollo Modbus.
8. Metodo secondo la rivendicazione precedente, ove durante la fase C il dispositivo master 10 memorizza in una lista l?identificativo univoco (U_ID) contenuto in ciascuna di detta comunicazione di identificazione che non forma una risposta corrotta in funzione dell?ordine di arrivo e abbina progressivamente un indirizzo univoco (U_AD) a ciascun identificativo univoco (U_ID) contenuto in detta lista; ove detto indirizzo univoco (U_AD) ? il primo valore compreso nell?insieme di numeri naturali tra 1 e 247 che non risulta gi? abbinato ad un identificativo univoco (U_ID) di un dispositivo slave (20i).
9. Dispositivo master (10) configurato e/o programmato per eseguire detta fase A e detta fase C del metodo secondo una delle rivendicazioni da 1 a 8.
10. Sistema elettronico 1 con architettura del tipo ?master/slave? operante secondo un protocollo di comunicazione seriale comprendente almeno un dispositivo master (10) secondo la rivendicazione 9 e una pluralit? di dispositivi slave (20) collegati a detto dispositivo master (10) per la comunicazione reciproca.
IT102020000012328A 2020-05-26 2020-05-26 Metodo di assegnazione di un indirizzo operativo IT202000012328A1 (it)

Priority Applications (5)

Application Number Priority Date Filing Date Title
IT102020000012328A IT202000012328A1 (it) 2020-05-26 2020-05-26 Metodo di assegnazione di un indirizzo operativo
US17/999,970 US11784848B2 (en) 2020-05-26 2021-05-26 Method of assigning an operative address
EP21734211.2A EP4158883A1 (en) 2020-05-26 2021-05-26 Method of assigning an operative address
CN202180038430.0A CN115989666A (zh) 2020-05-26 2021-05-26 分配操作地址的方法
PCT/IB2021/054569 WO2021240380A1 (en) 2020-05-26 2021-05-26 Method of assigning an operative address

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102020000012328A IT202000012328A1 (it) 2020-05-26 2020-05-26 Metodo di assegnazione di un indirizzo operativo

Publications (1)

Publication Number Publication Date
IT202000012328A1 true IT202000012328A1 (it) 2021-11-26

Family

ID=72086997

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102020000012328A IT202000012328A1 (it) 2020-05-26 2020-05-26 Metodo di assegnazione di un indirizzo operativo

Country Status (5)

Country Link
US (1) US11784848B2 (it)
EP (1) EP4158883A1 (it)
CN (1) CN115989666A (it)
IT (1) IT202000012328A1 (it)
WO (1) WO2021240380A1 (it)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117222050A (zh) * 2023-08-30 2023-12-12 北京诺亦腾科技有限公司 通信方法、装置、电子设备及存储介质
CN117478642A (zh) * 2023-12-27 2024-01-30 广州市瀚云信息技术有限公司 通信地址自动分配方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130326099A1 (en) * 2010-09-30 2013-12-05 Ralph Schmidt Method for automatically allocating addresses to similar bus users
CN108737590A (zh) * 2018-05-15 2018-11-02 浙江正泰电器股份有限公司 一种地址自动分配的方法、系统、Modbus主站、Modbus从站
CN109936640A (zh) * 2017-12-19 2019-06-25 苏州阿特斯阳光电力科技有限公司 从节点设备的地址分配方法和装置
US20200125515A1 (en) * 2018-10-18 2020-04-23 Bender Gmbh & Co. Kg Method for resolving an address conflict for modbus rtu standard protocol

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190697B2 (en) * 2009-05-20 2012-05-29 Square D Company Automated configuration of device communication settings
US8700747B2 (en) * 2011-04-19 2014-04-15 Schneider Electric It Corporation System and method for automatically addressing devices in a multi-drop network
GB201214859D0 (en) * 2012-08-20 2012-10-03 Control Tech Ltd Node address allocation
US9461876B2 (en) * 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
CN107800639B (zh) * 2016-09-06 2020-04-14 华为技术有限公司 交换装置、交换装置组、数据传输方法和计算机系统
US10805262B1 (en) * 2019-06-10 2020-10-13 Banner Engineering Corp. Modbus system having actual and virtual slave addresses and slave sensors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130326099A1 (en) * 2010-09-30 2013-12-05 Ralph Schmidt Method for automatically allocating addresses to similar bus users
CN109936640A (zh) * 2017-12-19 2019-06-25 苏州阿特斯阳光电力科技有限公司 从节点设备的地址分配方法和装置
CN108737590A (zh) * 2018-05-15 2018-11-02 浙江正泰电器股份有限公司 一种地址自动分配的方法、系统、Modbus主站、Modbus从站
US20200125515A1 (en) * 2018-10-18 2020-04-23 Bender Gmbh & Co. Kg Method for resolving an address conflict for modbus rtu standard protocol

Also Published As

Publication number Publication date
EP4158883A1 (en) 2023-04-05
WO2021240380A1 (en) 2021-12-02
US20230246873A1 (en) 2023-08-03
CN115989666A (zh) 2023-04-18
US11784848B2 (en) 2023-10-10

Similar Documents

Publication Publication Date Title
IT202000012328A1 (it) Metodo di assegnazione di un indirizzo operativo
US6631141B1 (en) Methods, systems and computer program products for selecting an aggregator interface
CN103620573B (zh) 用于匹配串行总线系统中的数据传输安全性的方法和设备
CN106155014B (zh) 工业互联网现场层宽带总线实时性实现方法
CN108123860A (zh) 基于can总线的智能家居系统节点设备的id自动分配及管理方法
US10237288B2 (en) Method for deep data inspection over an industrial internet field broadband bus
US20150295729A1 (en) Hardware accelerator for tunnel processing
WO2014122711A1 (ja) 車載用中継装置
CN104967700A (zh) 多联机系统的控制器的软件升级方法及网络地址分配方法
US20210281666A1 (en) Distributor node, automation network and method for transmitting telegrams
CN113711544A (zh) 用于在自动化网络中对电报进行路由的方法、数据结构、自动化网络和网络分配器
KR20190033041A (ko) 리니어 모터 시스템 및 그 구동 방법
JP2007237300A (ja) 制御装置、ロボット・システム及びロボット制御方法
US9203797B2 (en) Network comprising a plurality of devices and root device and method for assigning a network address
WO2016121043A1 (ja) ネットワークシステム、アドレス管理装置及びアドレス管理方法
JP2016005285A (ja) パケットからデータを抽出する方法およびその装置
JP2016134879A (ja) 機器id割り付けシステム
CN113821076B (zh) 基于虚拟时钟的虚拟仿真系统及同步方法
TWI730894B (zh) 透過操作虛擬區網標籤在時間敏感網路與非時間敏感網路之間路由封包之裝置及方法
JP5215894B2 (ja) 通信制御回路、通信ノード、通信システム、並びに通信制御方法及びプログラム
KR101361502B1 (ko) 이더넷 스위치
WO2021099186A3 (de) Verfahren zur überwachung der kommunikation auf einem kommunikationsbus, elektronische vorrichtung zum anschluss an einen kommunikationsbus, sowie zentrale überwachungsvorrichtung zum anschluss an einen kommunikationsbus
US20150355617A1 (en) Sequencer system and address setting method
CN106789515B (zh) 数据传输方法及装置
EP3591535B1 (en) Addressing mechanism