ITMO20080327A1 - ELECTRONIC CONTROL UNIT AND ITS PROGRAMMING SYSTEM - Google Patents
ELECTRONIC CONTROL UNIT AND ITS PROGRAMMING SYSTEM Download PDFInfo
- Publication number
- ITMO20080327A1 ITMO20080327A1 IT000327A ITMO20080327A ITMO20080327A1 IT MO20080327 A1 ITMO20080327 A1 IT MO20080327A1 IT 000327 A IT000327 A IT 000327A IT MO20080327 A ITMO20080327 A IT MO20080327A IT MO20080327 A1 ITMO20080327 A1 IT MO20080327A1
- Authority
- IT
- Italy
- Prior art keywords
- programming
- program modules
- control unit
- modules
- electronic control
- Prior art date
Links
- 230000000007 visual effect Effects 0.000 claims description 16
- 238000011161 development Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 description 14
- 230000018109 developmental process Effects 0.000 description 13
- 238000000034 method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000008672 reprogramming Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- -1 CAN bus Chemical compound 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- WDQKVWDSAIJUTF-GPENDAJRSA-N via protocol Chemical compound ClCCNP1(=O)OCCCN1CCCl.O([C@H]1C[C@@](O)(CC=2C(O)=C3C(=O)C=4C=CC=C(C=4C(=O)C3=C(O)C=21)OC)C(=O)CO)[C@H]1C[C@H](N)[C@H](O)[C@H](C)O1.C([C@H](C[C@]1(C(=O)OC)C=2C(=C3C([C@]45[C@H]([C@@]([C@H](OC(C)=O)[C@]6(CC)C=CCN([C@H]56)CC4)(O)C(=O)OC)N3C=O)=CC=2)OC)C[C@@](C2)(O)CC)N2CCC2=C1NC1=CC=CC=C21 WDQKVWDSAIJUTF-GPENDAJRSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Description
"CENTRALINA ELETTRONICA E RELATIVO SISTEMA DI PROGRAMMAZIONE" . "ELECTRONIC CONTROL UNIT AND RELATED PROGRAMMING SYSTEM".
DESCRIZIONE DESCRIPTION
La presente invenzione riguarda un sistema per la programmazione di centraline elettroniche e, in particolare, di schede elettroniche dedicate al controllo di motori di gruppi elettrogeni, motopompe, elettropompe e simili. The present invention relates to a system for programming electronic control units and, in particular, electronic boards dedicated to the control of engines of generating sets, motor pumps, electric pumps and the like.
Il campo dei motori, dei gruppi elettrogeni, delle motopompe e delle elettropompe è caratterizzato da una continua innovazione e da un continuo incremento delle tipologie di prodotti, anche allo scopo di rispondere ad esigenze e normative che variano nel tempo e da paese a paese. The field of engines, generators, motor pumps and electric pumps is characterized by continuous innovation and a continuous increase in the types of products, also in order to respond to needs and regulations that vary over time and from country to country.
Le normative variano con notevole rapidità e i costruttori sono quindi quotidianamente alla ricerca di nuove tecnologie per riuscire a realizzare motori sempre più performanti ed efficienti con riferimento ad emissioni e consumi. Anche per queste ragioni, la tecnologia si è orientata verso la gestione elettronica dei motori: quasi tutti i motori moderni sono gestiti con ausili elettronici, mentre un tempo l'immissione di carburante nei cilindri e l'accensione delle candele erano regolati da apparati meccanici ed elettro-meccanici azionati dal motore stesso. Dalla gestione elettronica del motore dipendono le sue emissioni atmosferiche, le sue prestazioni, la sua fruibilità, la sua prontezza, il suo consumo, il suo rendimento e la sua affidabilità nel tempo. The regulations vary considerably and manufacturers are therefore daily in search of new technologies to be able to create more and more performing and efficient engines with reference to emissions and consumption. Also for these reasons, the technology has been oriented towards the electronic management of the engines: almost all modern engines are managed with electronic aids, while once the injection of fuel into the cylinders and the ignition of the spark plugs were regulated by mechanical and electro-mechanical driven by the engine itself. Its atmospheric emissions, its performance, its usability, its readiness, its consumption, its efficiency and its reliability over time depend on the electronic management of the engine.
La gestione elettronica consente di aggiornare e modificare rapidamente il funzionamento di un motore modificandone il software di controllo ed evitando, entro certi limiti, di doverlo rimpiazzare integralmente per soddisfare nuove esigenze o diversi requisiti. Electronic management makes it possible to quickly update and modify the operation of an engine by modifying its control software and avoiding, within certain limits, having to replace it completely to meet new needs or different requirements.
L'impiego dell'elettronica è ovviamente subordinato alla comprensione dei principi funzionali di un motore. Infatti, il sistema di gestione elettronica esegue semplicemente le direttive che il progettista inserisce nella sua memoria. I vari programmi di gestione elettronica, cioè le cosiddette "centraline", si differenziano dunque in base a quali e quanti parametri di funzionamento vengono monitorati, nonché al modo in cui vengono monitorati. The use of electronics is obviously subordinated to the understanding of the functional principles of an engine. In fact, the electronic management system simply executes the directives that the designer inserts in his memory. The various electronic management programs, ie the so-called "control units", therefore differ according to which and how many operating parameters are monitored, as well as the way in which they are monitored.
Esistono criteri generali che accomunano le logiche di funzionamento delle centraline. Tuttavia, ciascuna centralina deve essere programmata individualmente per realizzare un determinato comportamento. Questa attività risulta particolarmente laboriosa, poiché vi è necessità, ogniqualvolta il sistema richieda una modifica, di intervenire su ciascun software di gestione delle diverse centraline. Inoltre, le diverse normative, nonché le logiche di mercato, hanno indotto una notevole diversificazione per ciò che concerne i tipi e i modelli di centraline, cosicché si rende necessario, per apportare una analoga modifica, l'intervento sul software specifico di numerosi tipi di centralina, con conseguente innalzamento dei tempi e dei costi necessari allo scopo. There are general criteria that unite the operating logic of the control units. However, each control unit must be individually programmed to achieve a certain behavior. This activity is particularly laborious, since it is necessary, whenever the system requires a modification, to intervene on each management software of the various control units. Furthermore, the different regulations, as well as the market logic, have induced a considerable diversification as regards the types and models of control units, so that it is necessary, in order to make a similar change, to intervene on the specific software of numerous types of control units. , with a consequent increase in the time and costs necessary for the purpose.
E' dunque un bisogno sentito nell'arte quello di fornire centraline e strumenti che consentano di velocizzare le operazioni di riprogrammazione delle diverse centraline. It is therefore a need felt in the art to provide control units and tools that allow to speed up the reprogramming operations of the various control units.
Compito precipuo della presente invenzione è quello di superare i limiti dell'arte nota sopra evidenziati, proponendo un nuovo sistema e metodo per la programmazione di centraline elettroniche che consenta di gestire diverse tipologie di applicazione con un unico prodotto. The main task of the present invention is that of overcoming the limits of the prior art highlighted above, proposing a new system and method for programming electronic control units which allows to manage different types of applications with a single product.
Nell'ambito di questo compito, scopo della presente invenzione è quello di fornire una centralina elettronica in grado di operare in modo differenziato a seconda del motore cui è collegata e delle sue esigenze di funzionamento. Within the scope of this aim, the object of the present invention is to provide an electronic control unit capable of operating in a differentiated manner according to the engine to which it is connected and its operating requirements.
Ulteriore scopo della presente invenzione è fornire sistema e un metodo per la programmazione di centraline in grado di generare in modo automatico il software di controllo in modo semplice e veloce. A further object of the present invention is to provide a system and a method for programming control units capable of automatically generating the control software in a simple and fast way.
Queste caratteristiche e altre che risulteranno in seguito, sono raggiunte da un sistema per la generazione di programmi per la automazione di centraline elettroniche comprendente un ambiente di sviluppo integrato ("integrated development environment" o IDE), una pluralità di moduli di programma, e mezzi per che la generazione, a partire da una combinazione definita da un utente, di un insieme di dati di programmazione per una centralina elettronica. These characteristics and others that will result later, are achieved by a system for the generation of programs for the automation of electronic control units comprising an integrated development environment ("integrated development environment" or IDE), a plurality of program modules, and means for that the generation, starting from a combination defined by a user, of a set of programming data for an electronic control unit.
Vantaggiosamente, i moduli di programma sono rappresentati graficamente e i mezzi per la combinazione dei moduli di programma comprendono un'interfaccia visuale. Advantageously, the program modules are represented graphically and the means for combining the program modules comprise a visual interface.
Preferibilmente, l'ambiente di sviluppo integrato comprende un linguaggio di programmazione, un editor e un compilatore. Preferably, the integrated development environment comprises a programming language, an editor and a compiler.
Alcuni moduli di programma sono predefiniti nel sistema, mentre altri possono essere generati dall'utente usando il linguaggio di programmazione proprietario . Some program modules are predefined in the system, while others can be generated by the user using the proprietary programming language.
Oltre alle funzioni programma, l'applicazione può essere vantaggiosamente in grado di importare e gestire immagini e animazioni bitmap scelte dall'utente, atte a essere mostrate, insieme ai dati provenienti dai sensori o dai comandi della centralina, in un display LCD appartenente o connesso ad una centralina. In addition to the program functions, the application can advantageously be able to import and manage images and bitmap animations chosen by the user, designed to be shown, together with the data coming from the sensors or from the control unit commands, in a belonging or connected LCD display. to a control unit.
Il compito e gli scopi prefissi sono altresì raggiunti da una centralina elettronica per motori, comprendente almeno un microprocessore, mezzi di memoria, mezzi di interfaccia di programmazione e mezzi di interfaccia verso un motore . The intended aim and objects are also achieved by an electronic control unit for motors, comprising at least one microprocessor, memory means, programming interface means and means for interfacing with a motor.
La centralina può essere dotata o connessa ad un display LCD, che visualizzerà informazione e immagini sulla base della programmazione ricevuta. The control unit can be equipped or connected to an LCD display, which will display information and images based on the programming received.
Ulteriori caratteristiche e vantaggi della presente invenzione risulteranno maggiormente dalla seguente descrizione dettagliata, resa in forma di esempio illustrativo e non limitativo, e accompagnata dalle relative figure in cui: Further characteristics and advantages of the present invention will become clearer from the following detailed description, given in the form of an illustrative and non-limiting example, and accompanied by the relative figures in which:
La figura 1 è uno schema a blocchi relativo ad una architettura del sistema secondo il presente trovato; Figure 1 is a block diagram relating to an architecture of the system according to the present invention;
La figura 2 è uno schema a blocchi che illustra in maggior dettaglio l'architettura del sistema di figura 1; Figure 2 is a block diagram which illustrates in greater detail the architecture of the system of Figure 1;
La figura 3 è un diagramma di flusso che illustra una forma di realizzazione del metodo di generazione di un programma secondo il presente trovato . Figure 3 is a flow chart illustrating an embodiment of the method of generating a program according to the present invention.
Un'architettura esemplificativa del sistema oggetto del presente trovato è sintetizzata nello schema a blocchi di figura 1. La figura mostra un elaboratore 1, sul quale è installato un ambiente di sviluppo integrato 2, una scheda elettronica 12 e un canale di comunicazione tra elaboratore e scheda 13. An exemplary architecture of the system according to the present invention is summarized in the block diagram of figure 1. The figure shows a computer 1, on which an integrated development environment 2, an electronic board 12 and a communication channel between the computer and tab 13.
La scheda 12 è preferibilmente una centralina elettronica programmabile, comprendente un involucro, un display, una pulsantiera, microprocessore, mezzi di memoria, mezzi di interfaccia di programmazione e mezzi di interfaccia verso un motore . The card 12 is preferably a programmable electronic control unit, comprising a casing, a display, a push-button panel, microprocessor, memory means, programming interface means and means for interfacing with a motor.
L'ambiente di sviluppo comprende preferibilmente un editor 3, all'interno del quale si evidenzia una finestra per la programmazione visuale 4. L'ambiente di sviluppo comprende inoltre un compilatore 5, un validatore 10 e un modulo per il download 11. L'elaboratore comprende inoltre un'area del disco fisso 6, in cui sono memorizzati i moduli di programma predefiniti o definiti dall'utente 7, oltre al programma in fase di realizzazione, costituito principalmente da una combinazione di detti moduli. The development environment preferably comprises an editor 3, within which a window for visual programming is highlighted 4. The development environment also comprises a compiler 5, a validator 10 and a download module 11. The The computer also comprises an area of the hard disk 6, in which the predefined or user-defined program modules 7 are stored, in addition to the program under construction, consisting mainly of a combination of said modules.
L'editor 3 è preferibilmente strutturato in riquadri. Un primo riquadro contiene una rappresentazione della struttura del progetto in termini di schede hardware, funzioni del programma, configurazione del display e dati simili. Un secondo riquadro contiene finestre il cui contenuto varia a seconda di quanto selezionato nel primo riquadro. Editor 3 is preferably structured in boxes. A first box contains a representation of the project structure in terms of hardware cards, program functions, display configuration and similar data. A second pane contains windows whose content varies depending on what is selected in the first pane.
In particolare, quando nel primo riquadro sono selezionate funzioni di programma, nel secondo riquadro compare la finestra di programmazione visuale 4. Utilizzando i vari moduli 7, precaricati nel sistema, l'utente ricostruisce le funzioni più comuni svolte da una centralina elettronica senza la necessità di scrivere codice di programmazione, utilizzando le interfacce tipiche dei sistemi RAD ("Rapid Application Development" ), note nella tecnica. Ad esempio, è sufficiente trascinare un modulo nella finestra di programmazione visuale 4 per importarne il codice in esso contenuto, che verrà poi interpretato in fase di compilazione. In particular, when program functions are selected in the first box, the visual programming window 4 appears in the second box. Using the various modules 7, preloaded in the system, the user reconstructs the most common functions performed by an electronic control unit without the need to write programming code, using the interfaces typical of RAD systems ("Rapid Application Development"), known in the art. For example, it is sufficient to drag a module into the visual programming window 4 to import the code it contains, which will then be interpreted during compilation.
L'impostazione dei moduli può essere effettuata in una corrispondente sezione "proprietà", che viene visualizzata nel primo riquadro quando si seleziona un modulo. Si possono così definire secondo tecniche convenzionali le variabili ad essi associate oppure si possono collegare più moduli attraverso i rispettivi ingressi e uscite in modo che possano comunicare tra loro. The setting of modules can be done in a corresponding "properties" section, which is displayed in the first pane when a module is selected. The variables associated with them can thus be defined according to conventional techniques or multiple modules can be connected through their respective inputs and outputs so that they can communicate with each other.
Attraverso il codice di programmazione è possibile realizzare nuovi moduli e quindi impartire alla scheda tutte le istruzioni che potrebbero servire per applicazioni diverse da quelle standard o da quelle inizialmente previste nel sistema. Through the programming code it is possible to create new modules and then to give the board all the instructions that could be used for applications other than the standard ones or those initially provided for in the system.
L'editor 3 comprende inoltre una finestra per la gestione della scheda hardware: in questa sezione è possibile ampliare le potenzialità della scheda aggiungendo nuovi moduli hardware in grado di svolgere diverse funzioni, ad esempio comunicazione tramite protocollo, quale protocollo CAN bus, Ethernet, seriale e così via. Editor 3 also includes a window for managing the hardware card: in this section it is possible to expand the potential of the card by adding new hardware modules capable of performing various functions, for example communication via protocol, such as CAN bus, Ethernet, serial protocol. and so on.
L'elenco delle schede disponibili è ad esempio inserito in un albero di progetto secondo tecnica nota ed è ad esempio possibile selezionare il nodo "Hardware ->Schede" nell'albero di progetto e cliccare un pulsante opportunamente denominato (ad esempio "Apri gestione hardware" ) per accedere alla schermata in cui vengono visualizzate la scheda base e gli eventuali moduli di espansione presenti . The list of available cards is for example inserted in a project tree according to known technique and it is for example possible to select the node "Hardware -> Cards" in the project tree and click a suitably named button (for example "Open hardware management ") to access the screen where the base board and any expansion modules present are displayed.
L'editor 3 comprende una finestra per la programmazione del display della scheda: in questa sezione è possibile gestire tutto ciò che dovrà essere visualizzato nel display della scheda, dai pulsanti alle linee di testo, alle variabili, alle immagini e alle animazioni: utilizzando i vari controlli di una sezione "strumenti" , è inoltre possibile progettare gli aspetti interattivi che verranno visualizzati e utilizzati dall'utente finale, con modalità che il tecnico del ramo comprende senza sforzo. Editor 3 includes a window for programming the card display: in this section it is possible to manage everything that must be displayed on the card display, from buttons to text lines, variables, images and animations: using the various controls of a "tools" section, it is also possible to design the interactive aspects that will be displayed and used by the end user, in ways that the person skilled in the art understands without effort.
L'editor 3 comprende inoltre una finestra per la definizione dei tasti fisici presenti su una centralina: in questa schermata vengono stabilite le funzioni di programma da attivare alla pressione dei pulsanti posti sul tastierino del dispositivo . Editor 3 also includes a window for defining the physical keys present on a control unit: this screen defines the program functions to be activated by pressing the buttons on the device keypad.
L'editor 3 comprende inoltre una finestra che consente di associare agli ingressi e alle uscite fisiche di una scheda una variabile specifica a cui faranno riferimento i vari moduli presenti nel codice . The editor 3 also includes a window that allows you to associate a specific variable to which the various modules present in the code will refer to the physical inputs and outputs of a card.
L'editor 3 può inoltre comprendere una sezione relativa alla gestione delle varie tipologie di allarme che possono verificarsi durante il funzionamento del dispositivo. Gli allarmi possono essere divisi in due raggruppamenti: allarmi generati dai moduli programma e allarmi definiti dall'utente. E' possibile impostare tutte le scelte relative alla segnalazione agendo sui parametri disponibili nel campo "proprietà" visualizzato in un riquadro dell' editor, sempre con modalità note nella tecnica.. The editor 3 can also include a section relating to the management of the various types of alarms that may occur during the operation of the device. Alarms can be divided into two groupings: alarms generated by program modules and user-defined alarms. It is possible to set all the choices relating to the signaling by acting on the parameters available in the "properties" field displayed in an editor pane, always in the manner known in the technique.
L'editor comprende un comando di validazione che attiva il validatore 10: il validatore è preferibilmente un modulo software che si assicura che non ci siano incongruenze tra gli indici degli elementi e che le variabili utilizzate per il funzionamento del programma siano state tutte definite nel modo corretto. The editor includes a validation command that activates the validator 10: the validator is preferably a software module that ensures that there are no inconsistencies between the indices of the elements and that the variables used for the program operation have all been defined in the way correct.
L'editor comprende inoltre un comando di compilazione che attiva il compilatore 5: il compilatore è preferibilmente un modulo software che traduce quanto realizzato dall'utente in linguaggio di basso livello interpretabile dal processore della scheda. The editor also comprises a compilation command which activates the compiler 5: the compiler is preferably a software module which translates what the user has created into a low-level language that can be interpreted by the card processor.
Infine 1'editor comprende un comando di download che attiva il modulo di download 11: il modulo di download è preferibilmente un modulo software che trasferisce il codice generato sulla memoria flash della scheda attraverso il canale di comunicazione 13: in una forma di realizzazione preferita il canale 13 comprende due porte USB e un cavo USB. La figura 2 illustra in maggior dettaglio la generazione del codice nell'ambiente di sviluppo integrato 2. La generazione di codice avviene a partire dai moduli di programma 7, che possono essere considerati come una sorta di "mattoni" in base ai quali costruire l'applicazione. Ciascun modulo svolge una specifica funzionalità, ad esempio avvio motore o arresto motore; alcuni moduli, che svolgono le funzioni più comuni sono predefiniti nel sistema, altri possono essere programmati dall'utente e archiviati in una libreria, in modo da essere riutilizzabili per varie applicazioni. Finally, the editor comprises a download command which activates the download module 11: the download module is preferably a software module which transfers the generated code to the flash memory of the card through the communication channel 13: in a preferred embodiment the channel 13 includes two USB ports and a USB cable. Figure 2 illustrates in greater detail the generation of the code in the integrated development environment 2. The generation of code takes place starting from the program modules 7, which can be considered as a sort of "bricks" on which to build the application. Each module performs a specific function, for example engine start or engine stop; some modules, which perform the most common functions are predefined in the system, others can be programmed by the user and stored in a library, so as to be reusable for various applications.
I moduli di programma 7 vengono combinati all'interno dell'editor 3 e in particolare della finestra di programmazione visuale 4: in questa finestra i moduli sono rappresentati graficamente come rettangoli e le frecce rappresentano la comunicazione tra ingressi e uscite dei vari moduli. Una volta concluso il disegno dell'applicazione, l'ambiente di sviluppo integrato genera il codice sorgente 8 che viene validato tramite il validatore 10 e in seguito compilato dal compilatore 5 che genera il codice eseguìbile 9. Infine il modulo di download 11 trasferisce il codice sulla scheda elettronica 12 Il funzionamento del sistema secondo il trovato viene ora descritto con riferimento al diagramma di flusso di figura 3. The program modules 7 are combined in the editor 3 and in particular in the visual programming window 4: in this window the modules are graphically represented as rectangles and the arrows represent the communication between the inputs and outputs of the various modules. Once the application design has been completed, the integrated development environment generates the source code 8 which is validated by the validator 10 and then compiled by the compiler 5 which generates the executable code 9. Finally, the download module 11 transfers the code on the electronic board 12 The operation of the system according to the invention is now described with reference to the flow chart of Figure 3.
Al passo 20 l'utente crea un nuovo progetto: in questo modo attiva l'ambiente di sviluppo integrato 2, che si presenta con due riquadri: in quello destro sono visualizzati tutti i componenti del progetto, quali hardware, programma e display, mentre il contenuto di quello sinistro varia a seconda di quanto selezionato nel riquadro destro. Al passo 30 l'utente, utilizzando i comandi del menu dell' IDE, può aggiungere nuovi moduli hardware alla scheda, selezionandoli da un elenco, in modo da ampliare le potenzialità della scheda stessa. Se si desiderano solo le funzionalità base della stessa questo passo può essere saltato . At step 20 the user creates a new project: in this way he activates the integrated development environment 2, which appears with two panels: the right one shows all the components of the project, such as hardware, program and display, while the content of the left one varies depending on what is selected in the right pane. At step 30 the user, using the IDE menu commands, can add new hardware modules to the card, selecting them from a list, in order to expand the capabilities of the card itself. If you want only the basic functionality of the same, this step can be skipped.
Al passo 40 l'utente procede alla programmazione del display della scheda, selezionando opportuni pulsanti, testi, immagini o animazioni. At step 40 the user proceeds to program the card display, selecting appropriate buttons, texts, images or animations.
Al passo 50 l'utente passa alla programmazione vera e propria delle funzionalità del sistema. La peculiarità del sistema sta nel fatto che non è necessario scrivere codice, ma è possibile costruire il programma trascinando moduli di programma predefiniti all'interno della finestra 4, impostando le proprietà di ciascun modulo e collegando i moduli attraverso i rispettivi ingressi e uscite. At step 50 the user passes to the actual programming of the system functions. The peculiarity of the system lies in the fact that it is not necessary to write code, but it is possible to build the program by dragging predefined program modules into window 4, setting the properties of each module and connecting the modules through their respective inputs and outputs.
Al passo 60 vengono stabilite le funzioni programma da attivare alla pressione dei pulsanti sul tastierino del dispositivo. Ad ognuno di essi può venire associata una funzione standard e un'altra azione da effettuare in modalità edit: ad esempio il tasto "up" ha normalmente la funzione "seleziona controllo precedente" , ma se viene selezionata una variabile modificabile dall'utente, assumerà la funzione "incrementa" aumentandone il valore. At step 60 the program functions to be activated when the buttons on the device keypad are pressed. Each of them can be associated with a standard function and another action to be carried out in edit mode: for example, the "up" key normally has the "select previous control" function, but if a variable that can be modified by the user is selected, it will assume the function "increases" by increasing its value.
Al passo 70 l'utente associa agli ingressi e alle uscite fìsiche della scheda una variabile specifica a cui faranno riferimento i vari moduli presenti nel codice. At step 70 the user associates a specific variable to which the various modules present in the code will refer to the physical inputs and outputs of the card.
Al passo 80 l'utente imposta le varie tipologie di allarme che possono verificarsi durante il funzionamento del dispositivo: è possibile impostare tutte le scelte relative alle modalità di segnalazione. At step 80 the user sets the various types of alarms that can occur during device operation: it is possible to set all the choices relating to the signaling modes.
Al passo 90, una volta completato il progetto nelle sue varie parti, il comando "validazione" fa in modo che il codice sorgente generato ai passi precedenti in modo visuale venga esaminato dal validatore 10: il validatore si assicura che non ci siano incongruenze tra gli indici degli elementi e che le variabili utilizzate per il funzionamento del programma siano state tutte definite nel modo corretto. At step 90, once the project has been completed in its various parts, the "validation" command causes the source code generated in the previous steps to be visually examined by the validator 10: the validator makes sure that there are no inconsistencies between the indexes of the elements and that the variables used for the operation of the program have all been defined correctly.
Dopo la validazione con esito positivo, al passo 100 cliccando sul pulsante "Compila Progetto", il compilatore 5 traduce tutto quello che è stato realizzato dall'utente in linguaggio di basso livello interpretabile dal processore della scheda . After successful validation, at step 100 by clicking on the "Compile Project" button, the compiler 5 translates everything that has been created by the user into a low-level language that can be interpreted by the card processor.
Infine al passo 110, premendo il tasto "Download", il modulo di download il trasferisce il codice compilato sulla memoria flash della scheda attraverso la porta USB presente nella parte frontale del dispositivo. Finally, in step 110, by pressing the "Download" button, the download module transfers the compiled code to the flash memory of the card through the USB port on the front of the device.
La centralina elettronica risulta così programmata con i moduli di programma come configurati dal sistema. Il relativo microprocessore sarà quindi in grado di operare secondo tale programmazione. The electronic control unit is thus programmed with the program modules as configured by the system. The relative microprocessor will therefore be able to operate according to this programming.
Si è in pratica constatato che il metodo e il sistema descritti raggiungono il compito e gli scopi preposti. In particolare, si è visto come il metodo così concepito permetta di superare i limiti qualitativi dell'arte nota grazie al fatto che consente di programmare centraline elettroniche per una varietà di dispositivi in maniera semplice e veloce. In practice it has been found that the described method and system achieve the intended aim and objects. In particular, it has been seen how the method thus conceived allows to overcome the qualitative limits of the known art thanks to the fact that it allows to program electronic control units for a variety of devices in a simple and fast way.
In particolare, l'invenzione realizza un ambiente integrato di sviluppo, ossia un programma che aiuta i programmatori nello sviluppo del software. Normalmente consiste in un editor di codice sorgente, un compilatore e/o un interprete, e opzionalmente un debugger, prevedibile anche nel presente caso. In particular, the invention realizes an integrated development environment, ie a program that helps programmers in software development. It usually consists of a source code editor, a compiler and / or an interpreter, and optionally a debugger, which can also be expected in this case.
Secondo una forma di realizzazione preferita, un ulteriore ausilio alla programmazione di centraline elettroniche secondo il trovato è dato dall'impiego di linguaggi di programmazione visuali: un linguaggio di programmazione visuale (Visual Programming Language, VPL) è un linguaggio di programmazione che consente la programmazione tramite la manipolazione grafica degli elementi e non tramite sintassi scritta. La programmazione avviene utilizzando metodi visuali per esprimere le relazioni tra i dati: un VPL consente di programmare con "espressioni visuali" ma anche all'evenienza di inserire spezzoni di codice. La maggioranza dei VPL è basata sul concetto "boxes and arrows" , ovvero su un insieme di box, rettangoli, circonferenze o altro, che sono concepiti come funzioni connesse tra di loro da "arrows", ossia frecce. According to a preferred embodiment, a further aid to the programming of electronic control units according to the invention is given by the use of visual programming languages: a visual programming language (VPL) is a programming language that allows programming through the graphic manipulation of the elements and not through written syntax. Programming takes place using visual methods to express the relationships between data: a VPL allows programming with "visual expressions" but also when you need to insert pieces of code. Most VPLs are based on the concept of "boxes and arrows", that is a set of boxes, rectangles, circles or other, which are conceived as functions connected to each other by "arrows".
L'ambiente per la programmazione visuale fornisce quindi tutto il necessario per poter "disegnare" sin dall'inizio un programma; in rapporto ai linguaggi testuali le regole sintattiche sono praticamente inesistenti. Il sistema si fa carico di generare il software di basso livello necessario a realizzare la funzionalità espressa in modo visuale. The visual programming environment therefore provides everything necessary to be able to "design" a program from the beginning; in relation to textual languages the syntactic rules are practically non-existent. The system takes care of generating the low-level software necessary to realize the functionality expressed in a visual way.
I vantaggi di questa programmazione visuale sono notevoli: oltre alla facilità e velocità di apprendimento, infatti, l'utente può "vedere il programma" , e quindi lo può modificare o aggiornare in modo intuitivo, evitando di dover analizzare il codice sorgente. The advantages of this visual programming are considerable: in addition to the ease and speed of learning, in fact, the user can "see the program", and therefore can modify or update it in an intuitive way, avoiding having to analyze the source code.
II trovato qui descritto fornisce dunque mezzi di sviluppo integrati e tecniche di programmazione visuale nell'ambito della programmazione di centraline elettroniche, in modo da facilitare la programmazione e la modifica delle centraline stesse, e ottenere un sistema di programmazione facile da usare, versatile e caratterizzato da elevata velocità di apprendimento e di realizzazione . The invention described here thus provides integrated development means and visual programming techniques in the context of the programming of electronic control units, in order to facilitate the programming and modification of the control units themselves, and to obtain a programming system that is easy to use, versatile and characterized. by high learning and realization speed.
Il sistema è molto versatile e consente di coprire diversi settori merceologici con un unico prodotto, permettendo di realizzare sistemi di controllo per motori diesel o elettrici per motopompe, elettropompe, sistemi antincendio, gruppi elettrogeni, generatori. The system is very versatile and allows you to cover different product sectors with a single product, allowing you to create control systems for diesel or electric motors for motor pumps, electric pumps, fire-fighting systems, generators, generators.
La programmazione modulare e visuale presenta notevoli vantaggi in termini di semplicità e velocità nella programmazione e nella manutenzione e aggiornamento, e consente una efficace riusabilità dei moduli. The modular and visual programming has significant advantages in terms of simplicity and speed in programming and maintenance and updating, and allows effective reusability of the modules.
Si noti in particolare che una medesima centralina elettronica può essere programmata per mostrare diversi dati o diverse pagine di dati, a seconda delle esigenze dell'utente. Ciò consente di differenziare i prodotti e rispettare eventuali esigenze o normative specifiche semplicemente riprogrammando o riconfigurando l'informazione da mostrare a video, mantenendo intatta l'elettronica sottostante . It should be noted in particular that the same electronic control unit can be programmed to show different data or different data pages, according to the user's needs. This allows you to differentiate the products and comply with any specific needs or regulations simply by reprogramming or reconfiguring the information to be displayed on the screen, while keeping the underlying electronics intact.
Chiaramente, numerose modifiche saranno chiare e possono essere prontamente eseguite dall'esperto del ramo senza uscire dall'ambito di protezione della presente invenzione. Clearly, numerous modifications will be clear and can be readily carried out by the person skilled in the art without departing from the scope of the present invention.
E' altresì evidente che il concetto inventivo alla base del presente trovato prescinde dalla effettiva implementazione dei moduli software, che possono essere realizzati in qualsiasi linguaggio e su qualsiasi piattaforma hardware, nonché come firmware applicabile ai moderni dispositivi elettronici . It is also evident that the inventive concept underlying the present invention is independent of the actual implementation of the software modules, which can be made in any language and on any hardware platform, as well as as firmware applicable to modern electronic devices.
Perciò l'ambito di protezione delle rivendicazioni non deve essere limitato dalle illustrazioni o dalle forme di realizzazione preferite illustrate nella descrizione sotto forma di esempi, ma piuttosto le rivendicazioni devono comprendere tutte le caratteristiche di novità brevettabile che risiedono nella presente invenzione, incluse tutte le caratteristiche che sarebbero trattate come equivalenti dal tecnico del ramo. Therefore, the scope of the claims should not be limited by the illustrations or preferred embodiments illustrated in the description in the form of examples, but rather the claims should include all of the patentable novelty features that reside in the present invention, including all features which would be treated as equivalent by the person skilled in the art.
Claims (6)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT000327A ITMO20080327A1 (en) | 2008-12-22 | 2008-12-22 | ELECTRONIC CONTROL UNIT AND ITS PROGRAMMING SYSTEM |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IT000327A ITMO20080327A1 (en) | 2008-12-22 | 2008-12-22 | ELECTRONIC CONTROL UNIT AND ITS PROGRAMMING SYSTEM |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ITMO20080327A1 true ITMO20080327A1 (en) | 2010-06-23 |
Family
ID=41145239
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| IT000327A ITMO20080327A1 (en) | 2008-12-22 | 2008-12-22 | ELECTRONIC CONTROL UNIT AND ITS PROGRAMMING SYSTEM |
Country Status (1)
| Country | Link |
|---|---|
| IT (1) | ITMO20080327A1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6854111B1 (en) * | 1999-09-24 | 2005-02-08 | Rockwell Software Inc. | Library manager for automated programming of industrial controls |
-
2008
- 2008-12-22 IT IT000327A patent/ITMO20080327A1/en unknown
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6854111B1 (en) * | 1999-09-24 | 2005-02-08 | Rockwell Software Inc. | Library manager for automated programming of industrial controls |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Karsai et al. | Design guidelines for domain specific languages | |
| CN112631555A (en) | Extensible IDE platform with open API | |
| Zaytsev et al. | Parsing in a broad sense | |
| CN105117215B (en) | The development approach and device of automobile function | |
| von Hanxleden et al. | Pragmatics twelve years later: a report on Lingua Franca | |
| CN105824616A (en) | Development method and frame for equipment control system program | |
| Löwgren | History, state and future of user interface management systems | |
| Wüest et al. | Semi-automatic generation of metamodels from model sketches | |
| André et al. | Translating UML state machines to coloured Petri nets using Acceleo: A report | |
| Gupta et al. | Towards a systematic engineering of industrial domain-specific languages | |
| CN102915403A (en) | Visualization graph edition configuration method for equipment parameters of computer platform | |
| KR20150066377A (en) | Simulation framework system based on DEVS and simulation method using the same | |
| ITMO20080327A1 (en) | ELECTRONIC CONTROL UNIT AND ITS PROGRAMMING SYSTEM | |
| CN114518734B (en) | Control model integration method, device and medium thereof | |
| Flater et al. | Rendering UML activity diagrams as human-readable text | |
| Kos et al. | From DCOM interfaces to domain-specific modeling language: A case study on the Sequencer | |
| Patwari et al. | A complementary domain specific design environment aiding SysML | |
| Dejanovic et al. | Comparison of Textual and Visual Notations of DOMMLite Domain-Specific Language. | |
| Mäder et al. | Customizing traceability links for the unified process | |
| Stoiber et al. | Feature unweaving: Refactoring software requirements specifications into software product lines | |
| EP2184678A1 (en) | Automated generation of a computer application | |
| Bagnato et al. | SysML for modeling co-simulation orchestration over FMI: the INTO-CPS approach | |
| Kosower et al. | Flowgen: Flowchart-based documentation for C++ codes | |
| Herrmannsdoerfer | GMF: A model migration case for the transformation tool contest | |
| Jörges | The state of the art in code generation |