IT201800005542A1 - Sistema per la progettazione e/o l’aggiornamento di programmi per l’interfaccia operatore e la gestione di macchinari e/o impianti di automazione - Google Patents

Sistema per la progettazione e/o l’aggiornamento di programmi per l’interfaccia operatore e la gestione di macchinari e/o impianti di automazione Download PDF

Info

Publication number
IT201800005542A1
IT201800005542A1 IT102018000005542A IT201800005542A IT201800005542A1 IT 201800005542 A1 IT201800005542 A1 IT 201800005542A1 IT 102018000005542 A IT102018000005542 A IT 102018000005542A IT 201800005542 A IT201800005542 A IT 201800005542A IT 201800005542 A1 IT201800005542 A1 IT 201800005542A1
Authority
IT
Italy
Prior art keywords
programs
updating
opc
machines
operator interface
Prior art date
Application number
IT102018000005542A
Other languages
English (en)
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 filed Critical
Priority to IT102018000005542A priority Critical patent/IT201800005542A1/it
Priority to US17/056,997 priority patent/US11507361B2/en
Priority to PCT/IT2019/050109 priority patent/WO2019224854A1/en
Priority to EP19735412.9A priority patent/EP3797350A1/en
Publication of IT201800005542A1 publication Critical patent/IT201800005542A1/it

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13144GUI graphical user interface, icon, function bloc editor, OI operator interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

Descrizione del trovato avente per titolo:
“SISTEMA PER LA PROGETTAZIONE E/O
L’AGGIORNAMENTO DI PROGRAMMI PER L’INTERFACCIA OPERATORE E LA GESTIONE DI MACCHINARI E/O IMPIANTI DI AUTOMAZIONE”
CAMPO DI APPLICAZIONE
Il presente trovato si riferisce ad un sistema per la progettazione e/o sviluppo di programmi per l’interfaccia uomo macchina (HMI - Human Machine Interface) ed il controllo di macchinari e/o impianti di automazione. Per impianto di automazione si intendono gli impianti che automatizzano una pluralità di funzionalità.
Il trovato si riferisce altresi ad un metodo per l’aggiomamento dei citati programmi e/o controlli.
In particolare, il trovato si riferisce ad un sistema e ad un connesso metodo sia per la gestione delle modifiche che dell’aggiornamento dei programmi che consentono ad un operatore di interagire con le macchine e/o con gli impianti di automazione.
Più in generale, il presente trovato trova impiego nello sviluppo e nell’ aggiornamento di tutti i programmi applicativi di sistemi che richiedono e/o consentono interazioni uomo macchina in ambito industriale e non.
STATO DELLA TECNICA
Nel settore dell’automazione industriale, ma anche in altri settori della tecnica, è noto utilizzare sistemi hardware completi di programmi applicativi che permettono ad un operatore di interagire e/od interfacciarsi con un impianto e/o una macchina, attraverso un display, una tastiera, un mouse e/o un touchscreen.
Quando i costruttori e/o i System integrator progettano un qualsiasi macchinario e/o un impianto di automazione tendono a sviluppare un programma applicativo che possa soddisfare il più possibile le richieste dei clienti. Questo significa che si deve eventualmente affrontare esigenze che coinvolgono diverse funzionalità, e/o configurazioni della macchina/o dell’impianto.
Per quanto sia esaustiva l’analisi iniziale, è durante la fase di installazione e collaudo che emergono sia ulteriori richieste sia eventuali esigenze ulteriori.
Queste esigenze successive impongono di intervenire con un’ulteriore personalizzazione dei programmi applicativi originariamente sviluppati. Le successive richieste, o nuove identificazioni, creano difficoltà ai costruttori di macchine e/o ai System integrator in quanto spesso il personale dedicato alle attività di installazione e collaudo non dispongono delle capacità e conoscenze ascrivibili ai progettisti dell’applicazione.
Per la progettazione delle modifiche e/o delle nuove funzionalità lo stato della tecnica attuale prevede l’utilizzo di un apposito software, denominato ambiente di sviluppo (IDE - Integrated Development Environment)
Detto software è noto per lo sviluppo del file del progetto e/o di applicazione, e normalmente viene installato su un computer diverso dall’unità di controllo della macchina/o dell’impianto.
Il nuovo file del progetto viene caricato, con le relative modalità, sull’unità hardware di HMI/controllo della macchina o dell’impianto, in ragione delle modalità richieste da detta unità hardware.
In detta unità hardware è normalmente installato il programma denominato “runtime”, che esegue il file del progetto stesso. I computer sui quali viene installato l’ambiente di sviluppo, che vengono utilizzati per sviluppare il progetto dell’applicazione, sono normalmente diversi dai computer che vengono installati sulle macchine e/o impianti, quali unità di HMI/controllo.
I computer per lo sviluppo dei progetti sono normalmente dei PC da ufficio con elevate prestazioni di capacità di elaborazione. Di contro le caratteristiche dei computer dedicati all’unità di HMI e controllo, sono definite in modo specifico per ogni diverso tipo di macchina e/o impianto, prestando grande attenzione al rapporto prezzo/prestazioni. Va ricordato che detti computer dedicati devono essere in grado di sopportare l environment industriale in relazione alla temperatura, umidità, vibrazioni ed immunità ai disturbi.
In ogni caso è comunque possibile, in relazione alla complessità dell’applicazione ed alle risorse disponibili, installare nell’unità di HMI/controllo sia l’ambiente di sviluppo che il runtime, che contiene un insieme di moduli funzionali che eseguono l’applicazione.
L’esigenza di aggiornare l’unità di controllo con le modifiche o nuove funzionalità del programma applicativo provoca spesso continui fermi macchina. Detti fermi macchina possono ritardare anche pesantemente il collaudo finale del macchinario e/o interrompere la produzione anche per tempi economicamente non accettabili. Questi ritardi conseguentemente provocano perdite di giornate di produzione che si possono ripercuotere sia in ritardi di pagamento sia in storno di ordini.
Questi sono solo alcuni inconvenienti dello stato della tecnica che si evidenziano e si manifestano soprattutto quando gli utilizzatori delle macchine e/o impianti, chiedono personalizzazioni nella fase di installazione e collaudo.
Esiste pertanto la necessità di realizzare un nuovo metodo di aggiornamento di uno o più programmi da eseguire in un’unità di controllo di macchina e/o impianto.
In particolare, uno scopo del presente trovato è quello di definire un metodo di aggiornamento del programma applicativo, caricato ed eseguito sull’unità di HMI/controllo della macchina e/o impianto, che consenta di effettuare modifiche o di aggiungere o integrare nuove funzionalità direttamente dall’unità stessa. Il tutto senza la necessità di avere a disposizione l’ambiente di sviluppo IDE e senza la necessità di fermare le macchine e/o gli impianti.
Un altro scopo è realizzare un metodo che permetta di eseguire un aggiornamento temporaneo del programma applicativo, in modo che le modifiche o aggiunte siano valide soltanto per un periodo, ovvero la cui terminazione sia collegata ad un evento specifico.
L’aggiornamento temporaneo ad esempio è molto utile nei casi in cui si vogliano testare le modifiche e/o le nuove funzionalità prima di decidere se consolidare in via definitiva la detta modifica.
Per ovviare agli inconvenienti della tecnica nota e per ottenere questi ed ulteriori scopi e vantaggi, la Richiedente ha studiato, sperimentato e realizzato il presente trovato.
ESPOSIZIONE DEL TROVATO
Il presente trovato è espresso e caratterizzato dalle rivendicazioni indipendenti. Le rivendicazioni dipendenti espongono altre caratteristiche del trovato, o varianti dell’idea di soluzione principale. In accordo con i suddetti scopi, un sistema per la progettazione e/o l’aggiornamento dei programmi dell’unità di HMI/controllo di una macchina e/o di un impianto, o anche di un sistema di automazione, secondo una prima formulazione può prevedere un secondo computer nel quale è installato l’ambiente di sviluppo IDE.
Secondo il trovato, con l’ambiente di sviluppo IDE è possibile effettuare modifiche o aggiuntive integrazioni, ed inviarle tramite una modalità nota all’unità di destinazione. Le modalità note possono essere, ad esempio, una rete Ethernet locale o remota, o una chiavetta USB o altro sistema noto o fruibile.
Qualora le caratteristiche dell’unità di destinazione lo permettano, è possibile anche caricare l’ambiente di sviluppo IDE direttamente sull’unità di HMI/controllo.
Come indicato, nell’unità di HMI/controllo della macchina e/o dell’ impianto, ovvero anche del sistema di automazione, è installato il programma denominato “runtime”.
Detto programma è un insieme di moduli funzionali, fra i quali a puro titolo esemplificativo e non esaustivo: il modulo di interfaccia grafica; il modulo per la gestione allarmi; il modulo per la gestione delle ricette; e il modulo per la gestione delle comunicazioni verso il fieldbus, ecc...
Uno o più di detti moduli esegue il programma applicativo sviluppato con l’ambiente di sviluppo IDE interagendo consequenzialmente con le componenti deputate delle macchine e/o dell’impianto.
Secondo una variante, il modulo di comunicazione di tipo noto che opera verso il fieldbus, comprende anche il protocollo OPC UA che prevede una comunicazione sicura e criptabile con certificati.
Secondo un ulteriore variante il programma “runtime” comprende la funzionalità OPC UA client, che permette di comunicare con le componenti interessate delle macchine e/o dell’impianto attraverso il protocollo di comunicazione definito dallo standard OPC UA, o altro analogo.
Secondo una variante del trovato il programma “runtime” comprende anche la funzionalità OPC UA Server che permette di esporre ad altri componenti interessati OPC UA Client i valori relativi alle variabili sotto controllo.
Il trovato, attraverso un’estensione strutturata dell’information model standard OPC UA, permette di esporre anche le caratteristiche degli oggetti e più in generale di tutto il progetto.
In conseguenza a ciò, il runtime è in grado di analizzare ed interpretare i dati del progetto e/o applicazione e generare informazioni supplementari.
Secondo un’ulteriore variante, dette informazioni supplementari, possono descrivere tutte le proprietà di ogni singolo particolare del progetto.
E’ una variante del trovato che una o più dette proprietà vengano esposte estendendo l’information model standard dell’OPC UA con ulteriori nodi OPC UA, mantenendo la totale compatibilità con la situazione in essere.
Va inteso che i concetti del presente trovato non sono limitati all' utilizzo dello standard OPC UA, anche se a questo si farà riferimento nel seguito della descrizione e delle rivendicazioni. Infatti, sono utilizzabili anche altri standard aventi caratteristiche assimilabili od equivalenti.
Secondo una forma realizzativa del trovato le caratteristiche funzionali del progetto sono descritte per l’interfacciamento utente, attraverso i nodi OPC UA.
Detti nodi permettono di scambiare informazioni, in termini sia di valori che di semantica, tra dispositivi abilitati alla comunicazione mediante detto standard OPC UA.
Due software che utilizzano lo standard OPC UA possono quindi scambiare informazioni tra loro, sia se sono in esecuzione su uno stesso computer, sia se sono collocati su due computer remoti collegati tra di loro in modo noto.
Forme realizzative del presente trovato, utilizzano ed estendono lo standard OPC UA per creare una serie di “Object Type”, provvisti di una serie di Instance Declaration che ne descrivono le caratteristiche. Detti Object Type e le relative Instance Declaration definiscono tutti gli oggetti di un progetto di HMI. E’ quindi possibile sviluppare l'Information Model del detto file di progetto compatibile con lo standard OPC UA.
Le Instance Declaration sono a loro volta estendibili per aggiungere eventuali ulteriori caratteristiche agli Object Type. In altre parole le caratteristiche di un progetto di HMI possono essere modificate agendo sugli “Object Type” e sulle Instance Declaration che li descrivono.
Secondo un’aspetto del trovato, per mezzo di questi nuovi “Object Type” è possibile modificare e/o aggiornare il progetto/applicazione HMI direttamente sul “runtime” installato sull’unità di HMI/controllo della macchina e/o dell’impianto. La detta modifica, secondo il trovato, mantiene la totale compatibilità con lo standard OPC UA.
Secondo un’ulteriore aspetto del trovato le dette modifiche e/o aggiornamenti non necessitano l’utilizzo dell’ambiente di sviluppo IDE.
Secondo un ulteriore aspetto del presente trovato, è possibile trasferire le informazioni relative all’ aggiornamento attraverso pacchetti di istruzioni, ad esempio del tipo denominato come telegramma ethenet, definiti dallo standard OPC UA.
In particolare, per mezzo di meccanismi standard di tale specifica di comunicazione, il trovato permette di agire sui nodi OPC UA, ad esempio creandoli, eliminandoli o cambiandone attributi e proprietà. In questo modo le caratteristiche del progetto sono modificabili agendo sull’ Information model del progetto HMI esposto dall’OPC UA Server del runtime.
Secondo forme realizzative del presente trovato il runtime è in grado di accorgersi se sono state effettuate delle modifiche al progetto HMI attraverso i nodi OPC UA. Conseguentemente si ha l’opportunità di aggiornare l’unità di controllo senza che sia necessario riavviare il runtime.
Un esempio di possibile modifica del progetto HMI si ottiene agendo sui nodi OPC UA che descrivono le informazioni che si vogliono scambiare con il controllore del macchinario (di solito un PLC).
Secondo una ulteriore variante, il presente trovato non si limita alla possibilità di modificare i nodi di comunicazione verso il controllore della macchina e/o impianto, ma ammette la possibilità di modificare un qualunque altro elemento che fa parte del progetto dell’ interfaccia utente, quali per esempio allarmi, ricette, oggetti grafici nelle schermate e simili. Un possibile esempio di modifica dei nodi di comunicazione verso il controllore del macchina e/o impianto viene di seguito fornito.
Un nodo di comunicazione ha solitamente, tra le tante, le seguenti caratteristiche:
- Dispositivo di controllo del macchinario (ad esempio PLC) nel quale è presente il valore che si vuole associare al nodo di comunicazione. - Il tipo di dato che può assumere il nodo di comunicazione: è normalmente un intero o una stringa, ma vengono utilizzati anche altri tipi noti di dati.
- Indirizzo di memoria del dispositivo di controllo (PLC) dove si trova il valore da assegnare al nodo di comunicazione.
Secondo il presente trovato è possibile creare dei nodi di comunicazione che non erano stati previsti durante la fase di progettazione, ad esempio in relazione alla modifica delle funzionalità di un PLC.
Il trovato consente di modificare le caratteristiche dei nodi di comunicazione associati al PLC in modo che l’interfaccia utente si adegui e si adatti alla detta modifica.
Così facendo, l aggiornamento del programma in esecuzione sulla macchina e/o impianto può avvenire anche senza interrompere il funzionamento della macchina e/o impianto stesso.
L’esemplificazione sopra indicata è relativa ai nodi di comunicazione verso il controllore del macchinario (PLC), ma secondo il trovato può essere esteso a qualunque elemento del progetto HMI.
ILLUSTRAZIONE DEI DISEGNI
Queste ed altre caratteristiche del presente trovato appariranno chiare dalla seguente descrizione di forme di realizzazione, fonite a titolo esemplificativo, non limitativo, con riferimento agli annessi disegni in cui:
- la fig. 1 mostra schematicamente una forma realizzativa di un sistema per la progettazione e/o aggiornamento di programmi per l interfaccia operatore di macchine e/o impianti secondo il presente trovato.
Per facilitare la comprensione, numeri di riferimento identici sono stati utilizzati, ove possibile, per identificare elementi comuni identici nelle figure. Va inteso che elementi e caratteristiche di una forma di realizzazione possono essere convenientemente incorporati in altre forme di realizzazione senza ulteriori precisazioni.
DESCRIZIONE DI FORME DI REALIZZAZIONE
La descrizione di dettaglio è esemplificativa e non esaurisce possibili implementazioni dell’invenzione. Forme realizzative del presente trovato si riferiscono ad un sistema per la progettazione e/o aggiornamento di programmi per l’interfaccia operatore di macchine e/o impianti, ed è indicato nel suo complesso con il numero di riferimento 10.
Il sistema di progettazione 10 comprende almeno un primo dispositivo di calcolo 11 applicato, ad esempio integrato o incorporato (“embedded”) sulla macchina e/o impianto, e un secondo dispositivo di calcolo 12 su cui è in esecuzione lo specifico software (o ambiente di sviluppo 20). Detto ambiente di sviluppo 20 permette ad un utente di definire un file di progetto 26 dell’interfaccia operatore della macchina e/o dell’impianto.
In particolare, nel detto file di progetto 26 sono descritte tutte le funzionalità che deve avere l’interfaccia utente della macchina e/o impianto.
Tali funzionalità possono riferirsi ad esempio alle funzionalità dei dispositivi di controllo con le relative variabili e parametri di controllo, nonché a tutti gli aspetti connessi all’interfaccia grafica con l’utente.
Si noti che il secondo dispositivo di calcolo 12 viene qui rappresentato come componente separato dal primo dispositivo di calcolo 1 1.
Tuttavia, le considerazioni sotto riportate valgono anche nel caso in cui vi sia un unico dispositivo idoneo all’esecuzione di entrambe le funzioni.
In particolare, i due dispositivi 11 e 12 vengono mantenuti separati nel caso in cui il primo dispositivo di calcolo 11 non abbia le risorse hardware sufficienti per eseguire l’ambiente di sviluppo 20.
Il primo dispositivo 11 viene utilizzato per l’esecuzione di un programma di gestione, denominato programma runtime 21, dell’ interfacciamento tra l'utilizzatore e la macchina e/o l’impianto, il quale programma runtime comprende un’unità di controllo 22 composta da una pluralità di moduli 23.
Ogni modulo 23 interagisce con una o più funzionalità della macchina e/o dell’impianto, come si vedrà meglio nel seguito.
Secondo una forma realizzativa del trovato, il file di progetto 26 definisce le funzionalità dei vari moduli 23, con le modalità spiegate nel seguito.
Nella forma di realizzazione preferita, il file di progetto 26 è descritto come una serie di nodi OPC UA e relazioni tra nodi OPC UA. In questo modo è possibile sviluppare un Information Model (26c) del progetto HMI.
Nell’illustrazione della forma realizzativa, con riferimento al numero 26a viene identificato il file di progetto 26 condiviso, o trasmesso, attraverso un canale di comunicazione 13. Il detto canale di comunicazione 13 connette i due dispositivi di calcolo 11, 12 in modo noto.
Con riferimento al numero 26b è indicato un file di progetto 26 creato nel secondo dispositivo di calcolo 12 e trasferito con mezzi noti, ad esempio tramite chiavetta USB, al primo dispositivo di calcolo 11.
Secondo un ulteriore aspetto del presente trovato, in alternativa al file di progetto 26, è possibile trasferire le informazioni relative all’ aggiornamento dei moduli 23 del progetto HMI attraverso dei pacchetti di istruzioni, ad esempio telegrammi ethemet, definiti dallo standard OPC UA. In particolare, per mezzo di dette istruzioni si possono modificare le caratteristiche dei nodi OPC UA e le relazioni tra i suddetti nodi, modificando l'Information Model 26c del progetto HMI. Secondo forme realizzative del trovato, per esporre correttamente l' Information Model 26c, il programma runtime 21 utilizza un programma denominato OPC UA Server 28.
In particolare, il trovato prevede che sia possibile descrivere, e quindi modificare e/o aggiornare, il file di progetto 26 non più per mezzo di un file, ma agendo su una serie di nodi e relazioni tra nodi OPC UA esposti dall’ OPC UA Server 28 del programma di gestione 21.
Anche se nel presente trovato viene descritto l’uso della specifica standard OPC UA per lo scambio di informazioni tra dispositivi abilitati, rientra nell’ambito del trovato utilizzare anche altre specifiche, standard o non standard, purché compatibili con le funzioni da svolgere e purché gestibili con i dispositivi di calcolo 11 e 12 utilizzati.
Secondo una forma di realizzazione del trovato, all’attivazione del primo dispositivo di calcolo 11 viene automaticamente lanciato uno specifico software, denominato programma di aggiornamento 29.
Detto programma di aggiornamento 29 interroga, o viene interrogato, dall’ambiente di sviluppo 20 del secondo dispositivo di calcolo 12.
Nel momento in cui al programma di aggiornamento 29 viene comunicata la presenza di un file di progetto 26, di aggiornamento il programma di gestione 21 ne attiva il caricamento e l’esecuzione.
Successivamente il programma runtime 21 avvia un programma denominato Loader 27.
Il detto programma Loader 27 ha il compito di leggere le definizioni dei nodi OPC UA e le relazioni tra i nodi OPC UA dal file 26 di aggiornamento, nonché quello di caricare nell’OPC UA Server 28 l’Information Model 26c idoneo a descrivere tutti i nodi OPC UA e le relazioni tra i nodi dello specifico file di progetto 26. Questa funzionalità è una conseguenza dal fatto che, secondo il trovato, lo standard OPC UA, in particolare il cosiddetto modello informativo dello standard, è stato esteso.
Detta estensione serve per descrivere il file di progetto 26, utilizzando i nodi OPC UA e le relazioni tra i suddetti nodi per esporre il detto file di progetto 26 tramite l’OPC UA Server 28.
In particolare, e più specificatamente, l’estensione dell’ Information Model di OPC UA prevede la creazione di una serie di “Object Type” che definiscono tutti gli oggetti di un progetto di HMI.
Agendo sugli Object Type, eventualmente implementabili, realizzati nel modo, numero e tipologia finalizzata, si può quindi modificare il progetto senza nessuna limitazione, rimanendo compatibili con lo standard OPC UA.
Quando il Loader 27 ha terminato la sua attività, l’OPC UA Server 28, tramite il suo Information Model (26c), è in grado di esporre l’intero progetto 26 predisposto nell’ambiente di sviluppo 20.
I vari moduli 23, che costituiscono nel loro insieme l’unità di controllo 22, sono configurati per leggere, ognuno per la parte di loro competenza, una parte del file di progetto 26 predisposto nell’ambiente di sviluppo 20. Per fare ciò, ciascun modulo legge le caratteristiche dall’ informati on model 26c caricato dal Loader 27 nell’OPC UA Server 28.
I moduli 23 possono comprendere, ad esempio, ma non esclusivamente, moduli di allarmi 23a, moduli OPC UA Client 23b, Driver di Comunicazione verso dispositivi di controllo come PLC 23 c, Datalogger o Datastore 23 d, ricette 23 e, utenti 23 f, ed altri ancora.
Ognuno di detti moduli 23 è opportunamente configurato per conoscere, e quindi acquisire, la parte di propria pertinenza del file di progetto 26 descritto dall’ Information Model 26c ed esposto dall’ OPC UA Server 28. In tal modo, dopo la lettura, ogni modulo 23 si mette in esecuzione, eventualmente aggiornando, modificando e/o implementando le proprie funzionalità, seguendo le indicazioni del file di progetto 26.
Nel seguito, vengono fomiti alcuni possibili esempi di modifiche del file di progetto 26 caricato nel modello informativo 26c dell’OPC UA Server 28.
Detti esempi coinvolgono:
- Aggiunta di elementi grafici ad un panel di un’interfaccia, ad esempio una label, un trend, ecc.;
- Spostamento di un oggetto grafico di un panel;
- Modifica di una traduzione di un testo;
- Cambiamento di indirizzo di una variabile del PLC.
In base a quanto sopra descritto, le modalità con cui avviene l' aggiornamento fanno sì che qualunque caratteristica del file di progetto 26, agendo sull’ Information model 26c, può essere modificata.
Si può inoltre cancellare un qualunque elemento del progetto, si può anche aggiungere un qualunque elemento del progetto, si può modificare una qualunque proprietà di un qualunque elemento del progetto.
Secondo un aspetto importante del presente trovato, le modifiche sopra discusse possono essere effettuate mentre il progetto stesso è in esecuzione sulla macchina operatrice e/o sull’impianto.
Le modifiche effettuate al progetto avvengono, infatti, tramite cambiamenti effettuati nell’ Information model 26c, come sopra indicato, e possono essere attuate immediatamente dai vari moduli 23 del programma di gestione 21. Detti moduli 23 hanno il compito di applicare le modifiche effettuate al progetto per tramite di variazioni al modello informativo 26c.
Secondo un’ulteriore possibile soluzione realizzativa, l’OPC UA Server 28 permette le modifiche all'information model 26c solo se l’utente collegato all’OPC UA Server ha le opportune autorizzazioni. Si possono classificare diverse tipologie di utenti in base ai permessi:
- utenti che non hanno il diritto di vedere e modificare l' Information model 26c;
- utenti che hanno il diritto di vedere l' Information model 26c ma non di modificarlo;
- utenti che hanno diritto di vedere e modificare l' Information model 26c.
Secondo un’ulteriore possibile soluzione realizzativa, i permessi agli utenti possono essere connessi in relazione anche ad una sola parte dell' information model 26c. Ciò consente di fare modifiche parziali al file di progetto 26.
In alternativa, secondo una variante del trovato, si possono combinare i detti permessi e le parti dell’ Information model 26c in qualunque modo tra di loro.
A titolo di esempio non esaustivo, si possono avere in questo caso utenti con i seguenti permessi:
- vedere tutto l’information model del progetto 26c ma di poterne modificare solo una parte
- vedere una parte dell’ Information model 26c e di non poterla modificare
- vedere una parte dell'information model 26c e di poterla modificare.
Secondo un’ulteriore possibile soluzione realizzativa, le modifiche all’ Information model e attuate dall’unità di controllo 22 possono essere implementate temporaneamente, e quindi sono valide soltanto fino allo spegnimento della relativa macchina e/o impianto.
Secondo un’ulteriore possibile soluzione realizzativa, le modifiche all’ Information model e attuate dall’unità di controllo 22 possono essere rese persistenti.
È chiaro che al sistema di gestione ed al metodo di aggiornamento fin qui descritti possono essere apportate modifiche e/o aggiunte di parti, senza per questo uscire dall’ambito del presente trovato.
È anche chiaro che, sebbene il presente trovato sia stato descritto con riferimento ad alcuni esempi specifici, una persona esperta del ramo potrà senz’altro realizzare molte altre forme equivalenti, aventi le caratteristiche espresse nelle rivendicazioni e quindi tutte rientranti nell’ambito di protezione da esse definito.
Nelle rivendicazioni che seguono, i riferimenti tra parentesi hanno il solo scopo di facilitare la lettura e non devono essere considerati come fattori limitativi per quanto attiene all’ambito di protezione sotteso nelle specifiche rivendicazioni.

Claims (16)

  1. RIVENDICAZIONI 1. Sistema per la progettazione e/o l’aggiornamento di programmi per interfaccia operatore di macchine e/o impianti, comprendente almeno un primo dispositivo di calcolo (11) dedicato alla gestione di una macchina e/o di un impianto, che contiene almeno l’interfaccia uomo-macchina (HMI) di tale macchina e/o impianto, ed un secondo dispositivo di calcolo (12) per l’esecuzione di un software, o ambiente di sviluppo (20), per la creazione di un file di progetto (26), in cui sul primo dispositivo di calcolo (11) e sul secondo dispositivo di calcolo (12) sono installati rispettivi programmi di comunicazione, caratterizzato dal fatto che detto secondo dispositivo di calcolo (12) comprende mezzi per descrivere le caratteristiche del file del progetto (26) tramite un modello informativo che utilizza interfacce standard tra software, in cui detto modello informativo prevede che il file di progetto (26) sia descritto come una serie di nodi e relazioni tra nodi, ed in cui per mezzo di istruzioni software standard si possono modificare le caratteristiche e/o le relazioni tra i suddetti nodi, modificando così il modello informativo del file di progetto (26).
  2. 2. Sistema per la progettazione e/o l' aggiornamento di programmi per interfaccia operatore di macchine e/o impianti come alla rivendicazione 1, caratterizzato dal fatto che detti programmi di comunicazione permettono il trasferimento del detto file di progetto (26), creato nel detto ambiente di sviluppo (20), al detto programma di esecuzione installato sulla detta macchina, attraverso un canale di comunicazione (13), in cui detto file di progetto (26), è definito mediante creazione, eliminazione o modifica degli attributi di detti nodi.
  3. 3. Sistema per la progettazione e/o l aggiornamento di programmi per interfaccia operatore di macchine e/o impianti come alla rivendicazione 1, caratterizzato dal fatto che la specifica di comunicazione per il trasferimento del file di progetto (26) avviene attraverso dei pacchetti di istruzioni, ad esempio telegrammi ethemet, definiti dallo standard OPC UA.
  4. 4. Sistema per la progettazione e/o laggionamento di programmi per interfaccia operatore di macchine e/o impianti come in una qualsiasi delle rivendicazioni precedenti, caratterizzato dal fatto che comprende mezzi di generazione di “Object Type” e altri elementi idonei a definire gli oggetti di un progetto di interfaccia (HMI), estendendo l Information model di OPC UA .
  5. 5. Sistema per la progettazione e/o l’aggionamento di programmi per interfaccia operatore di macchine e/o impianti come alla rivendicazione 4, caratterizzato dal fatto che ciascuno di detti Object Type è associato ad una propria pluralità di Instance Declaration, modificabili e estendibili nel tempo, che descrivono le caratteristiche e le funzioni del detto Object Type.
  6. 6. Sistema per la progettazione e/o l’aggionamento di programmi per interfaccia operatore di macchine e/o impianti come ad una o l’altra delle rivendicazioni precedenti, caratterizzato dal fatto che il primo (11) ed il secondo (12) dispositivo di calcolo sono componenti distinti e separati, che sono in comunicazione tra di loro, tramite una rete locale o remota.
  7. 7. Sistema per la progettazione e/o l’aggiomamento di programmi per interfaccia operatore di macchine e/o impianti come ad una o l’altra delle rivendicazioni precedenti fino a 5, caratterizzato dal fatto che il primo (11) ed il secondo (12) dispositivo di calcolo sono inglobati in un unico componente (11) che include le funzionalità di entrambi.
  8. 8. Sistema per la progettazione e/o l’aggiornamento di programmi per interfaccia operatore di macchine e/o impianti come ad una o l’altra delle rivendicazioni precedenti, caratterizzato dal fatto che detto primo dispositivo di calcolo (11) comprende un programma runtime (21) in cui sono presenti due programmi, rispettivamente Loader (27) e OPC UA Server (28), in cui detto Loader (27) ha il compito di leggere le definizioni dei nodi e le relazioni tra i nodi dal file di progetto (26), e quello di caricare nell’OPC UA Server (28) un Information Model (26c) idoneo a descrivere tutti i nodi e le relazioni tra i nodi di detto file di progetto (26).
  9. 9. Sistema per la progettazione e/o l’aggiornamento di programmi per interfaccia operatore di macchine e/o impianti come alla rivendicazione 8, caratterizzato dal fatto che detto OPC UA Server (28) è configurato per esporre il detto Information Model (26c) di detto file di progetto (26) predisposto nell’ambiente di sviluppo (20).
  10. 10. Sistema per la progettazione e/o l’aggiornamento di programmi per interfaccia operatore di macchine e/o impianti come alla rivendicazione 8 o 9, caratterizzato dal fatto che, detto Information Model (26c) è modificabile da un qualunque OPC UA Client.
  11. 11. Sistema per la progettazione e/o l’aggiornamento di programmi per interfaccia operatore di macchine e/o impianti come ad una o l’altra delle rivendicazioni precedenti, caratterizzato dal fatto che il secondo dispositivo di calcolo (12) è costituito da un IPC (Industriai PC) , o un PC da ufficio, oppure anche da un tablet, su cui è in esecuzione un software dedicato alla progettazione di detto file di progetto (26) di progetto.
  12. 12. Sistema per la progettazione e/o l’aggiornamento di programmi per interfaccia operatore di macchine e/o impianti come ad una o l’altra delle rivendicazioni precedenti, caratterizzato dal fatto che il primo dispositivo di calcolo (11) è incorporato nella macchina e/o impianto ed è configurato per l’esecuzione di un software o programma di gestione (“runtime”) della parte di gestione uomo macchina della macchina operatrice.
  13. 13. Sistema per la progettazione e/o l’aggiornamento di programmi per interfaccia operatore di macchine e/o impianti come ad una o l’altra delle rivendicazioni precedenti, caratterizzato dal fatto che il primo dispositivo di calcolo (11) è costituito da un dispositivo mobile, come tablet o telefonino.
  14. 14. Sistema per la progettazione e/o l’aggiornamento di programmi per interfaccia operatore di macchine e/o impianti come ad una o l’altra delle rivendicazioni precedenti, caratterizzato dal fatto che il primo dispositivo di calcolo (11) comprende un’unità di controllo (22) composta da un insieme di moduli (23), in cui ogni modulo (23) interagisce con una o più determinate funzionalità della macchina operatrice.
  15. 15. Metodo di aggiornamento dell’interfaccia operatore di una macchina e/o impianto, in cui viene utilizzato almeno un primo dispositivo di calcolo (11) dedicato alla gestione della macchina e/o impianto ed un secondo dispositivo di calcolo (12) per l’esecuzione di un software, o ambiente di sviluppo (20), per la creazione di un file (26) di progetto, caratterizzato dal fatto che prevede che: - le caratteristiche del file di progetto (26) vengano descritte tramite un modello informativo standard tra software; - vengano generati “Object Type” e relative Instance Declaration idonei a definire gli oggetti di un progetto di interfaccia (HMI), estendendo quelli standard e quindi rimanendo compatibili con gli standard OPC UA, in cui ciascuno di detti Object Type è associato ad una propria pluralità di Instance Declaration, modificabili e estendibili nel tempo, che descrivono le caratteristiche e le funzioni del detto Object Type. - detto modello informativo sia trasferito dal secondo dispositivo di calcolo (12) al primo dispositivo di calcolo (11) tramite comunicazione tra rispettivi programmi di comunicazione; - un programma Loader (27) presente in detto primo dispositivo di calcolo (11) legge le definizioni dei nodi e le relazioni tra i nodi dal file di progetto (26), e carica in un programma OPC UA Server (28) un modello informativo (26c) idoneo a descrivere tutti i nodi e le relazioni tra i nodi che descrivono lo specifico file di progetto (26); - l’OPC UA Server (28) espone l’intero file di progetto (26) predisposto nell’ambiente di sviluppo (20) per mezzo dell’ Information model (26c) - una pluralità di moduli (23), che costituiscono nel loro insieme una unità di controllo (22) della macchina operatrice, leggono, ognuno per la parte di loro competenza, una parte del file di progetto (26) predisposto nell’ambiente di sviluppo 20, leggendo le caratteristiche del modello informativo (26c) caricato dal Loader (27) nell’OPC UA Server (28).
  16. 16. Metodo di aggiornamento come nella rivendicazione 15, caratterizzato dal fatto che, le informazioni relative all’ aggiornamento dei moduli (23) sono trasferite attraverso dei pacchetti di istruzioni, ad esempio telegrammi ethemet, definiti dallo standard OPC UA.
IT102018000005542A 2018-05-21 2018-05-21 Sistema per la progettazione e/o l’aggiornamento di programmi per l’interfaccia operatore e la gestione di macchinari e/o impianti di automazione IT201800005542A1 (it)

Priority Applications (4)

Application Number Priority Date Filing Date Title
IT102018000005542A IT201800005542A1 (it) 2018-05-21 2018-05-21 Sistema per la progettazione e/o l’aggiornamento di programmi per l’interfaccia operatore e la gestione di macchinari e/o impianti di automazione
US17/056,997 US11507361B2 (en) 2018-05-21 2019-05-21 System to design and/or update programs for industrial devices assigned to the operator interface and/or to manage machines and/or plants for industrial automation
PCT/IT2019/050109 WO2019224854A1 (en) 2018-05-21 2019-05-21 System to design and/or update programs for industrial devices assigned to the operator interface and/or to manage machines and/or plants for industrial automation
EP19735412.9A EP3797350A1 (en) 2018-05-21 2019-05-21 System to design and/or update programs for industrial devices assigned to the operator interface and/or to manage machines and/or plants for industrial automation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102018000005542A IT201800005542A1 (it) 2018-05-21 2018-05-21 Sistema per la progettazione e/o l’aggiornamento di programmi per l’interfaccia operatore e la gestione di macchinari e/o impianti di automazione

Publications (1)

Publication Number Publication Date
IT201800005542A1 true IT201800005542A1 (it) 2019-11-21

Family

ID=63449529

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102018000005542A IT201800005542A1 (it) 2018-05-21 2018-05-21 Sistema per la progettazione e/o l’aggiornamento di programmi per l’interfaccia operatore e la gestione di macchinari e/o impianti di automazione

Country Status (4)

Country Link
US (1) US11507361B2 (it)
EP (1) EP3797350A1 (it)
IT (1) IT201800005542A1 (it)
WO (1) WO2019224854A1 (it)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111181783B (zh) * 2019-12-25 2022-07-19 宁波吉利汽车研究开发有限公司 一种传递信息模型的方法、装置、系统和介质
CN111600739B (zh) * 2020-03-31 2022-08-02 吉利汽车研究院(宁波)有限公司 Opc ua地址空间模型中关联节点的同步更新方法
CN115639997B (zh) * 2022-10-19 2023-10-03 慧之安信息技术股份有限公司 Json格式描述opc ua信息模型的方法和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170060726A1 (en) * 2015-08-28 2017-03-02 Turk, Inc. Web-Based Programming Environment for Embedded Devices

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10335989B4 (de) * 2003-08-01 2019-07-11 Kw-Software Gmbh Online-Änderungen von CIL-Code-Programmen für die Industrieautomatisierung
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US20070067341A1 (en) * 2005-09-20 2007-03-22 International Business Machines Corporation Automated user interface functional requirements tool
US8863010B2 (en) * 2005-12-27 2014-10-14 Sap Ag Linking user interface design environment and application development environment
US8612870B2 (en) * 2006-08-04 2013-12-17 National Instruments Corporation Graphically specifying and indicating targeted execution in a graphical program
US9110558B2 (en) * 2012-08-03 2015-08-18 National Instruments Corporation Physics based graphical program editor
US20140040431A1 (en) * 2012-08-06 2014-02-06 General Electric Company Systems and methods for an opc ua server
US10255044B2 (en) * 2013-12-16 2019-04-09 Make Apps Better Ltd Method and system for modifying deployed applications
US9086824B1 (en) * 2014-01-15 2015-07-21 International Business Machines Corporation Requirements factorization mechanism
AU2016276284B9 (en) * 2015-06-07 2020-05-21 Wix.Com Ltd System and method for the generation of an adaptive user interface in a website building system
US10872153B2 (en) * 2018-02-23 2020-12-22 Microsoft Technology Licensing, Llc Trusted cyber physical system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170060726A1 (en) * 2015-08-28 2017-03-02 Turk, Inc. Web-Based Programming Environment for Embedded Devices

Also Published As

Publication number Publication date
EP3797350A1 (en) 2021-03-31
US11507361B2 (en) 2022-11-22
US20210157565A1 (en) 2021-05-27
WO2019224854A1 (en) 2019-11-28

Similar Documents

Publication Publication Date Title
CA3111422C (en) User interface for automated flows within a cloud based developmental platform
US9858044B2 (en) Application for builder for industrial automation
JP6819296B2 (ja) 仮想化管理・オーケストレーション装置、仮想化管理・オーケストレーション方法、および、プログラム
Hoheisel User tools and languages for graph‐based Grid workflows
US8352905B2 (en) Application builder for industrial automation
US20100082133A1 (en) Application builder for industrial automation
EP2177986A1 (en) Application builder for industrial automation
IT201800005542A1 (it) Sistema per la progettazione e/o l’aggiornamento di programmi per l’interfaccia operatore e la gestione di macchinari e/o impianti di automazione
US9552194B2 (en) System and method for creating a graphical user interface within a manufacturing execution system
CN112242920B (zh) 一种云平台部署方法、装置及节点
US9830204B2 (en) Facilitating communication between software components that use middleware
CN105847026A (zh) 一种基于扩展点实现网管系统功能扩展的方法
EP4296848A1 (en) System and method for device profile creation in an integrated development environment
Kajtazovic et al. A component-based dynamic link support for safety-critical embedded systems
Scacchi et al. Processes in securing open architecture software systems
McKee et al. Towards a virtual integration design and analysis enviroment for automotive engineering
CN116382694A (zh) 一种提升容器环境下Maven工程编译速度的方法
Rana et al. High assurance software architecture and design
Babu et al. Amadeos framework and supporting tools
EP4307104A1 (en) Extensible profiles for industrial controller devices
EP4307103A1 (en) Industrial automation system topology with point to point business rule integration
EP4307105A1 (en) Extensible profiles for industrial control modules
US20240295871A1 (en) Systems and methods for recurring industrial automation project design validation
US20240295872A1 (en) Container orchestration based on industrial design environment control architecture
EP4345602A1 (en) Presentation design to automation device binding