BE1027263A1 - CONTROL OF INDUSTRIAL INSTALLATION - Google Patents

CONTROL OF INDUSTRIAL INSTALLATION Download PDF

Info

Publication number
BE1027263A1
BE1027263A1 BE20195307A BE201905307A BE1027263A1 BE 1027263 A1 BE1027263 A1 BE 1027263A1 BE 20195307 A BE20195307 A BE 20195307A BE 201905307 A BE201905307 A BE 201905307A BE 1027263 A1 BE1027263 A1 BE 1027263A1
Authority
BE
Belgium
Prior art keywords
motor
program fragment
installation
program
fragment
Prior art date
Application number
BE20195307A
Other languages
Dutch (nl)
Other versions
BE1027263A9 (en
BE1027263B1 (en
Inventor
Bart Guns
Original Assignee
Automotion Nv
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 Automotion Nv filed Critical Automotion Nv
Priority to BE20195307A priority Critical patent/BE1027263A9/en
Publication of BE1027263A1 publication Critical patent/BE1027263A1/en
Application granted granted Critical
Publication of BE1027263B1 publication Critical patent/BE1027263B1/en
Publication of BE1027263A9 publication Critical patent/BE1027263A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence

Abstract

In een eerste aspect betreft de uitvinding een werkwijze voor het ontwikkelen van een stuurprogramma voor aansturing van een industriële installatie, welke installatie minstens een controller, een bussysteem, een motordrive en een motor omvat. Deze werkwijze omhelst het invoegen van een programmafragment met instructies voor het aansturen van de motor, en met instructies voor het daarbij verzamelen van één of meerdere statussignalen. In het bijzonder wordt het genoemde programmafragment in zijn geheel ingevoegd, vanuit een softwarebibliotheek. In een verder aspect betreft de uitvinding nog een werkwijze voor het aansturen van een geautomatiseerde industriële installatie.In a first aspect, the invention relates to a method for developing a control program for controlling an industrial installation, which installation comprises at least a controller, a bus system, a motor drive and a motor. This method involves inserting a program fragment with instructions for controlling the motor, and with instructions for collecting one or more status signals. In particular, said program fragment is inserted in its entirety, from a software library. In a further aspect, the invention relates to a method for controlling an automated industrial installation.

Description

AANSTURING VAN INDUSTRIËLE INSTALLATIESCONTROL OF INDUSTRIAL INSTALLATIONS

TECHNISCH DOMEIN De uitvinding heeft betrekking op software voor het aansturen van geautomatiseerde, industriële installaties.TECHNICAL DOMAIN The invention relates to software for controlling automated industrial installations.

STAND DER TECHNIEK Zoals gekend worden zulke installaties aangestuurd d.m.v. aangepaste software die op één of meerdere controllers (bv. een PLC) wordt uitgevoerd. Verschillende programmeertalen, zowel grafisch als tekst-gebaseerd zijn geschikt om de nodige sturingssoftware samen te stellen. Weliswaar zijn de bestaande programmeertalen nog relatief hoogdrempelig. Vaak is de uiteindelijke sturingssoftware daardoor onvoldoende inzichtelijk voor 0.a. procesingenieurs, onderhoudsingenieurs en controle-ingenieurs. Verder stelden de uitvinders vast dat bepaalde softwarefragmenten steeds opnieuw voorkomen, onder dezelfde vorm of onder een sterk gelijkaardige vorm. Dit, zowel binnen éénzelfde stuurprogramma, als tussen stuurprogramma's voor sterk uiteenlopende installaties/toepassingen onderling. Bovendien vraagt de stijgende complexiteit van geautomatiseerde installaties om een meer gerichte aanpak qua simulatie en debugging van de sturingssoftware, en qua monitoring en analyse van de werking van de installaties zelf. Deze vaststellingen brachten de uitvinders ertoe om een verbeterde werkwijze te ontwikkelen voor het genereren, uitvoeren, simuleren, wijzigen, monitoren en/of debuggen van industriële sturingssoftware. De uitvinding richt zich voornamelijk op: (i) een sterk verhoogde efficiëntie van programmeren, en (it) een verbeterde inzichtelijkheid van de daaruit verkregen sturingssoftware. Uiteraard is het samenstellen van industriële sturingssoftware op zich gekend uit de stand der techniek. US 6 854 111 bijvoorbeeld, beschrijft een bibliotheeksysteem dat dit proces tracht te vereenvoudigen. Het voorziet een “Library Manager” dat bestaande stuurprogramma's analyseert, om er programmafragmenten uit te puren.STATE OF THE TECHNIQUE As is known, such installations are controlled by means of adapted software that runs on one or more controllers (e.g. a PLC). Various programming languages, both graphic and text-based, are suitable for compiling the necessary control software. It is true that the existing programming languages are still relatively difficult. Often the ultimate control software is therefore insufficiently transparent for 0.a. process engineers, maintenance engineers and control engineers. Furthermore, the inventors found that certain software fragments occur over and over again, in the same shape or in a very similar shape. This, both within the same driver and between drivers for widely differing installations / applications. Moreover, the increasing complexity of automated installations requires a more focused approach in terms of simulation and debugging of the control software, and in terms of monitoring and analysis of the operation of the installations themselves. These findings led the inventors to develop an improved method for generating, executing, simulating, modifying, monitoring and / or debugging industrial control software. The invention mainly focuses on: (i) a greatly increased efficiency of programming, and (it) an improved insight of the control software obtained therefrom. Of course, the compilation of industrial control software is known per se from the state of the art. For example, US 6 854 111 describes a library system that seeks to simplify this process. It provides a “Library Manager” that analyzes existing drivers to extract program fragments.

Na verwerking worden de herwerkte programmafragmenten (met bv. hernoemde controlevariabelen) ondergebracht in bibliotheken. Een programmeur kan dan via aangepaste “Program Builders” deze programmafragmenten gaan combineren tot nieuwe sturingssoftware.After processing, the reworked program fragments (with eg renamed control variables) are placed in libraries. A programmer can then use modified “Program Builders” to combine these program fragments into new control software.

De huidige uitvinding heeft als doel om zulke technieken verder uit te breiden en te professionaliseren. In het bijzonder tracht de uitvinding heel gericht een meerwaarde te bekomen voor het genereren, uitvoeren, simuleren, wijzigen, monitoren en/of debuggen van industriële stuurprogramma's, aangepast voor het aansturen van geautomatiseerde, industriële installaties.The present invention aims to further expand and professionalize such techniques. In particular, the invention tries very specifically to obtain added value for the generation, execution, simulation, modification, monitoring and / or debugging of industrial control programs, adapted for controlling automated industrial installations.

SAMENVATTING VAN DE UITVINDING Daartoe voorziet de uitvinding in een eerste aspect een werkwijze volgens conclusie 1, voor het ontwikkelen van een aangepast stuurprogramma (te gebruiken voor aansturing van een geautomatiseerde industriële installatie). Een belangrijk kenmerk is dat zowel (i) de directe aansturing van de motor (over het bussysteem) als (ii) het verzamelen van statussignalen, rechtstreeks kunnen worden geïmplementeerd vanuit een bibliotheek. Zoals verderop uitgelegd, gaat het typisch weinig inzichtelijke, low-level code. Een belangrijk voordeel is nu dat deze specifieke code alvast in een bibliotheek zit weggestopt. Vandaaruit kan de code worden opgeroepen (en evt. geconfigureerd). Algemeen kan de gebruiker zich dus bezighouden met de essentie van het programmeren van zijn installatie, gericht op de werking ervan. Het kennisniveau van programmeren zelf hoeft niet zo hoog te zijn. Ten tweede is het niet nodig om de code voor aansturing van motoren telkens te herhalen, voor elke motor afzonderlijk. Dit is vooral voordelig in geautomatiseerde, industriële installaties met een groot aantal motoren. In een verder aspect voorziet de uitvinding nog een werkwijze voor het aansturen van een geautomatiseerde industriële installatie, met gebruik van een stuurprogramma dat volgens het eerste aspect van de uitvinding werd verkregen.SUMMARY OF THE INVENTION To this end, the invention provides in a first aspect a method according to claim 1, for developing a modified control program (to be used for controlling an automated industrial installation). An important feature is that both (i) the direct control of the motor (over the bus system) and (ii) the collection of status signals can be implemented directly from a library. As explained further on, it typically involves low-insight, low-level code. An important advantage is now that this specific code is already hidden in a library. The code can be called up from there (and configured if necessary). In general, the user can thus deal with the essence of programming his installation, focusing on its operation. The level of knowledge of programming itself does not have to be that high. Second, it is not necessary to repeat the motor control code over and over again, for each motor individually. This is especially beneficial in automated industrial installations with a large number of engines. In a further aspect, the invention provides a further method of controlling an automated industrial plant, using a control program obtained according to the first aspect of the invention.

GEDETAILLEERDE BESCHRIJVING De uitvinding heeft betrekking op een werkwijze voor het ontwikkelen van een stuurprogramma voor aansturing van een geautomatiseerde installatie, en op een werkwijze voor het aansturen van de installatie op basis van een daaruit verkregen stuurprogramma. Tenzij anders gedefinieerd hebben alle termen die gebruikt worden in de beschrijving van de uitvinding, ook technische en wetenschappelijke termen, de betekenis zoals ze algemeen begrepen worden door de vakman in het technische veld van de uitvinding. Voor een betere beoordeling van de beschrijving van de uitvinding, worden de volgende termen expliciet uitgelegd. “Een”, ”de” en “het” refereren in dit document aan zowel het enkelvoud als het meervoud tenzij de context duidelijk anders veronderstelt. Wanneer “ongeveer” in dit document gebruikt wordt bij een meetbare grootheid, een parameter, een tijdsduur of moment, en dergelijke, dan worden variaties bedoeld van +/-20% of minder, bij voorkeur +/-10% of minder, meer bij voorkeur +/-5% of minder, nog meer bij voorkeur +/-1% of minder, en zelfs nog meer bij voorkeur +/-DETAILED DESCRIPTION The invention relates to a method for developing a control program for controlling an automated installation, and to a method for controlling the installation on the basis of a control program obtained therefrom. Unless defined otherwise, all terms used in the description of the invention, including technical and scientific terms, have the meaning as commonly understood by those skilled in the art of the invention. For a better assessment of the description of the invention, the following terms are explicitly explained. “A”, ”the” and “it” throughout this document refer to both singular and plural unless the context clearly suggests otherwise. In this document, when “about” is used for a measurable quantity, parameter, time duration or moment, and the like, it means variations of +/- 20% or less, preferably +/- 10% or less, more at preferably +/- 5% or less, even more preferably +/- 1% or less, and even more preferably +/-

0.1% of minder dan en van de geciteerde waarde, voor zoverre zulke variaties van toepassing zijn in de beschreven uitvinding. Hier moet echter wel onder verstaan worden dat de waarde van de grootheid waarbij de term “ongeveer” gebruikt wordt, zelf specifiek wordt bekendgemaakt.0.1% or less than and of the quoted value, insofar as such variations apply in the disclosed invention. However, this should be understood to mean that the value of the quantity using the term “approximately” is itself specifically disclosed.

De termen “omvatten”, “omvattende”, “bestaan uit”, “bestaande uit”, “voorzien van”, “bevatten”, “bevattende”, “behelzen”, “behelzende”, “inhouden”, “inhoudende” zijn synoniemen en zijn inclusieve of open termen die de aanwezigheid van wat volgt aanduiden, en die de aanwezigheid niet uitsluiten of beletten van andere componenten, kenmerken, elementen, leden, stappen, gekend uit of beschreven in de stand der techniek. De termen “automatisch” en afgeleide termen, zoals doorheen dit document gebruikt, verwijzen naar om het even welke werkwijze of installatie die geen of slechts beperkte menselijke input vergt, bij de uitvoering/werking ervan. Optioneel is menselijke input vereist of mogelijk, voorafgaand het uitvoeren van de werkwijze of het in werking treden van het systeem.The terms “comprise”, “comprising”, “consisting of”, “consisting of”, “incorporating”, “containing”, “containing”, “comprising”, “comprising”, “containing”, “containing” are synonyms. and are inclusive or open terms that indicate the presence of what follows, and that do not exclude or impede the presence of other components, features, elements, members, steps known from or described in the art. The terms “automatic” and derived terms, as used throughout this document, refer to any method or installation that requires no or only limited human input in its implementation / operation. Optionally, human input is required or possible prior to performing the method or operating the system.

Het citeren van numerieke intervallen door de eindpunten omvat alle gehele getallen, breuken en/of reële getallen tussen de eindpunten, deze eindpunten inbegrepen.Quoting numeric intervals through the endpoints includes all integers, fractions, and / or real numbers between the endpoints, including these endpoints.

In een eerste aspect voorziet de uitvinding een werkwijze voor het ontwikkelen, door een gebruiker, van een stuurprogramma voor aansturing van een geautomatiseerde industriële installatie, welke installatie minstens een controller, een bussysteem, een motordrive en een motor omvat, de werkwijze omvattende het invoegen van minstens één motorsturing-programmafragment, - welk programmafragment instructies omvat voor directe communicatie tussen de controller en de motordrive, via het genoemde bussysteem en volgens een geschikt busprotocol, gericht op het aansturen van de motor en met een beweging in een deel van de installatie tot gevolg, - en welk programmafragment verder nog instructies omvat voor het verzamelen, door de controller, van tenminste één statussignaal m.b.t. de motor en/of m.b.t. de genoemde beweging, tijdens en/of na afloop van de beweging.In a first aspect, the invention provides a method for developing, by a user, a driver for controlling an automated industrial installation, said installation comprising at least a controller, a bus system, a motor drive and a motor, the method comprising inserting at least one motor control program fragment, which program fragment contains instructions for direct communication between the controller and the motor drive, via said bus system and according to a suitable bus protocol, aimed at controlling the motor and resulting in movement in part of the installation and which program fragment further comprises instructions for the collection, by the controller, of at least one status signal with regard to the motor and / or with regard to said movement, during and / or after the movement.

In het bijzonder wordt het genoemde programmafragment ingevoegd in zijn geheel, vanuit een motorsturing-softwarebibliotheek, waarbij de gebruiker het programmafragment nog verder configureert, minstens wat betreft een motortype van de motor.In particular, said program fragment is inserted in its entirety, from a motor control software library, wherein the user further configures the program fragment, at least in terms of an engine type of the motor.

Het stuurprogramma kan dan als uitvoerbare code op een controller worden geladen, voor het uitvoeren ervan d.m.v. de controller.The driver can then be loaded onto a controller as executable code for execution by means of the controller.

Via het bussysteem is de controller nu gekoppeld met de motordrive.The controller is now linked to the motor drive via the bus system.

Via deze weg kan de controller dus de motor aansturen.The controller can therefore control the motor via this route.

Volgens een niet-limitatief voorbeeld zal de controller daartoe verschillende commando's uitsturen, over het bussysteem heen.According to a non-limitative example, the controller will send various commands to this end, across the bus system.

Een gevolgd busprotocol wordt bijvoorbeeld gekozen uit de groep omvattende: Ethernet, Devicenet, Modbus, Profibus, Profinet en RS485. Echter is de uitvinding tot geen van deze gelimiteerd.For example, a tracked bus protocol is selected from the group comprising: Ethernet, Device Net, Modbus, Profibus, Profinet and RS485. However, the invention is not limited to any of these.

Samen hebben deze commando's bijvoorbeeld als doel om de motor in te schakelen, om de motor uit te schakelen, of om de snelheid van de motor te regelen.Together these commands have the purpose, for example, to switch on the motor, to switch off the motor, or to regulate the speed of the motor.

Echter vergen de communicatie via het bussysteem, de initialisatie, de foutafhandeling en dergelijke een groot aantal “low-level” commando's.However, communication via the bus system, initialization, error handling and the like require a large number of “low-level” commands.

Doorgaans verminderen deze de leesbaarheid en inzichtelijkheid van stuurprogramma's.Typically these reduce the readability and visibility of drivers.

De motordrive omvat in de eerste plaats een elektronische vermogensschakeling, voor het regelen van de elektrische energie die naar de motor wordt gestuurd.The motor drive primarily includes an electronic power circuit, for controlling the electrical energy that is sent to the motor.

Zo kunnen de snelheid, torsie en optioneel ook de draaipositie worden geregeld. In elk geval kan op deze wijze een “beweging in de installatie” worden gerealiseerd. Uiteraard is de uitvinding niet gelimiteerd tot een welbepaald motortype (bv. een 5 servomotor, een asynchrone motor, een DC-motor, een stappenmotor, ), noch tot een welbepaalde uitvoering (model, vermogen, ) van zo’n motortype. Wel is de aard van de commando's en de vormgeving van de software ook deels bepaald door het type hardware. Dit bemoeilijkt het programmeren.In this way, the speed, torque and optionally also the rotation position can be controlled. In any case, a “movement in the installation” can be realized in this way. Naturally, the invention is not limited to a specific motor type (eg a 5-servo motor, an asynchronous motor, a DC motor, a stepping motor,), nor to a specific version (model, power,) of such a motor type. However, the nature of the commands and the design of the software is also partly determined by the type of hardware. This makes programming more difficult.

Een belangrijk voordeel van de uitvinding is nu dat bovengenoemde “motorsturing- softwarebibliotheek” één of meerdere, kant-en-klare programmafragmenten voorziet. Deze verzorgen onder andere de communicatie tussen de controller en de motordrive/motor, en dit voor meerdere motortypes. De gebruiker dient slechts een geschikt programmafragment in te voegen en daarbij het daadwerkelijk gebruikte motortype te configureren. Daardoor zal eenzelfde stuurprogramma dus ook werken voor eenzelfde installatie waarin één of meerdere motoren van een ander motortype worden toegepast. De gebruiker dient slechts de correcte motortypes in het stuurprogramma te configureren.An important advantage of the invention is now that the above mentioned "motor control software library" provides one or more ready-to-use program fragments. These provide, among other things, the communication between the controller and the motor drive / motor, and this for several motor types. The user only needs to insert a suitable program fragment and configure the actual motor type used. As a result, the same driver will also work for the same installation in which one or more engines of a different engine type are used. The user only needs to configure the correct motor types in the driver.

Een “softwarebibliotheek”, zoals hierin gebruikt, is een verzameling van voorgeschreven code en kan allerhande klassen, procedures, routines, scripts configuratiegegevens en dergelijke omvatten. Deze voorgeschreven code kan dan door een programma (bv. een stuurprogramma voor een geautomatiseerde, industriële installatie) worden benut. Daartoe kan de gebruiker zulke bibliotheken in het stuurprogramma laden (statisch) en/of met het stuurprogramma linken (dynamisch). In eerste instantie is de uitvinding tot geen van beide gelimiteerd; beide termen zijn onderling uitwisselbaar.A "software library", as used herein, is a collection of prescribed code and can include various classes, procedures, routines, scripts, configuration data, and the like. This prescribed code can then be used by a program (eg a driver for an automated industrial installation). To this end, the user can load such libraries into the driver (static) and / or link to the driver (dynamic). Initially, the invention is not limited to either; both terms are interchangeable.

Enerzijds is het erg omslachtig en tijdrovend om voor elke motor afzonderlijk de code neer te schrijven die nodig is om deze motor aan te sturen, via het bussysteem en de motordrive. Een belangrijk voordeel is dat deze code nu simpelweg kan worden opgeroepen vanuit een bibliotheek. Vaak omvatten geautomatiseerde installaties een veelheid aan motoren, hetgeen dit voordeel versterkt. In het andere geval moet een groot deel code immers steeds opnieuw worden herhaald.On the one hand, it is very laborious and time-consuming to write down the code for each motor separately that is needed to control this motor, via the bus system and the motor drive. An important advantage is that this code can now simply be called up from a library. Automated installations often include a multitude of engines, which enhances this advantage. In the other case, a large part of the code has to be repeated over and over again.

Anderzijds gaat het doorgaans om "low-level” code - dat is, code van een laag niveau. Tegelijkertijd is de code dus hoogdrempelig. Vaak wordt zij daardoor moeilijk begrepen door de gebruiker (bv. proces-ingenieurs, onderhoudsingenieurs en controle-ingenieurs). Een belangrijk voordeel is nu dat deze voorgeschreven code in een bibliotheek zit weggestopt. Vandaaruit kan de code eenvoudig worden opgeroepen en geconfigureerd. Algemeen kan de gebruiker zich dus bezig houden met de essentie van het programmeren van de installatie, gericht op de eigenlijke werking ervan. Het genoemde programmafragment (uit de motorsturing-softwarebibliotheek) omvat verder nog instructies het verzamelen, door de controller, van tenminste één statussignaal m.b.t. de motor en/of m.b.t. de genoemde beweging. Eén of meerdere van zulke statussignalen worden tijdens en/of na afloop van de beweging verzameld. Een statussignaal kan conditioneel (hoog/laag) zijn, bijvoorbeeld een merker die aangeeft of de motor draait, of een foutcode die al dan niet actief is. Verder kan een statussignaal de positie aangeven, of het bereiken van een bepaalde positie bevestigen. Andere statussignalen geven de motorstroom weer, of bv. de snelheid waarmee de motor draait. In eerste instantie is de uitvinding tot geen van deze gelimiteerd.On the other hand, it is usually "low-level" code - that is, low-level code. At the same time, the code is therefore high-threshold and often difficult for the user to understand (eg process engineers, maintenance engineers, and control engineers) An important advantage is now that this prescribed code is tucked away in a library, from where the code can be easily retrieved and configured, so in general the user can focus on the essentials of programming the installation, focusing on its actual operation. Said program fragment (from the motor control software library) further comprises instructions for the collection, by the controller, of at least one status signal with regard to the motor and / or with regard to said movement. One or more of such status signals are displayed during and / or after of the movement.A status signal can be conditional (high / low), for example a marker that indicates whether the motor is running, or an error code that may or may not be active. Furthermore, a status signal can indicate the position or confirm that a certain position has been reached. Other status signals indicate the motor current, or eg the speed at which the motor is rotating. Initially, the invention is not limited to any of these.

Het is een extra voordeel dat de uitvinding toelaat om het verzamelen van zulke statussignalen rechtstreeks te implementeren vanuit een bibliotheek. Statussignalen kunnen bijvoorbeeld worden ingezet voor analyse van de werking van de installatie. Een verhoogde motorstroom, bijvoorbeeld, kan indicatief zijn voor een lager die dreigt vast te lopen. Verder kan “het bereiken van een bepaalde positie” bv. worden gebruikt om KPI's bij te houden.It is an added advantage that the invention allows to implement the collection of such status signals directly from a library. Status signals can be used, for example, to analyze the operation of the installation. An increased motor current, for example, can be indicative of a bearing in danger of seizing. Furthermore, “reaching a certain position” can be used eg to keep track of KPIs.

Bij voorkeur omvatten programmaframgenten ut de motorsturing- softwarebibliotheek dus minstens instructies voor: - communicatie via de bus m.b.t. het aansturen van de motor, om een gewenste beweging in de installatie te realiseren, en voor - het verzamelen van één of meerdere statussignalen. In een verdere of alternatieve uitvoeringsvorm omvat de werkwijze nog het invoegen van een tijdsregistratie-programmafragment met instructies voor tijdsregistratie van statussignalen en/of acties die in de installatie plaatsgrijpen, en welk programmafragment in zijn geheel, vanuit een tijdsregistratie-softwarebibliotheek wordt ingevoegd.Preferably, program parameters from the motor control software library therefore comprise at least instructions for: - communication via the bus with regard to controlling the motor, in order to realize a desired movement in the installation, and for - collecting one or more status signals. In a further or alternative embodiment, the method further comprises the insertion of a time registration program fragment with instructions for time registration of status signals and / or actions taking place in the installation, and which program fragment is inserted in its entirety, from a time registration software library.

Er wordt ook wel gesprokken van “datalogging”. Voor elke registratie wordt minstens het bewuste statussignaal en/of de bewuste actie (bv. zoals geregistreerd via sensoren) voorzien van een timestamp. Mogelijke acties zijn bijvoorbeeld het inschakelen en uitschakelen van een vacuüm, bij een “pick & place” installatie. Zulke tijdsregistraties kunnen onder andere gebruikt worden voor onderhoud, om KPI's bij te houden en om de werking van de installatie te analyseren, en om de software te debuggen. Voor dat laatste kan worden gekeken in welke tijdsperiode een fout optrad of begon op te treden, en welke acties er toen in de installatie en/of software werden uitgevoerd.It is also referred to as “data logging”. For each registration, at least the relevant status signal and / or the action concerned (e.g. as registered via sensors) is provided with a timestamp. Possible actions are, for example, switching on and off a vacuum in a “pick & place” installation. Such time registrations can be used, among other things, for maintenance, to keep track of KPIs and to analyze the operation of the installation, and to debug the software. For the latter, it can be checked in which time period an error occurred or started to occur, and which actions were carried out in the installation and / or software at that time.

Optioneel wordt zulke verdere verwerking van de geregistreerde informatie (bv. het bepalen van trends en afwijkingen t.o.v. trends) uitgevoerd op een afzonderlijke computer. Echter is dit niet beperkend voor de uitvinding.Optionally, such further processing of the recorded information (e.g. determination of trends and deviations from trends) is performed on a separate computer. However, this is not limiting of the invention.

In een verdere of alternatieve uitvoeringsvorm kan de gebruiker de ingeladen programmafragmenten wel configureren, maar niet inkijken en/of wijzigen. In principe is het niet nodig dat de gebruiker toegang heeft tot de volledige code van de softwarebibliotheken. Het is veel inzichtelijker om programmafragmenten slechts voor een deel configureerbaar te maken door de gebruiker. Ook kan de gebruiker bijvoorbeeld de ingangen en uitgangen selecteren. Echter kan de volledige inhoud van de bibliotheken, slechts worden ingekeken en/of gewijzigd met een bepaald machtigingsniveau. Deze inhoud is niet toegankelijk voor de doorsnee gebruiker. Veelal omvat een industriële installatie een veelheid aan motoren die elk worden aangestuurd door de controller. In een verdere of alternatieve uitvoeringsvorm van de werkwijze, omvat de installatie dus minstens een eerste motor en een tweede motor, waarbij de gebruiker voor elk van beide motoren een motortype configureert. Voor beide motoren wordt de motorsturing-softwarebibliotheek aangesproken.In a further or alternative embodiment, the user can configure the loaded program fragments, but cannot view and / or change them. In principle, it is not necessary for the user to have access to the full code of the software libraries. It is much more transparent to make program fragments only partially configurable by the user. The user can also select, for example, the inputs and outputs. However, the entire content of the libraries can only be viewed and / or changed with a certain permission level. This content is not accessible to the average user. An industrial installation usually comprises a multitude of motors, each of which is controlled by the controller. Thus, in a further or alternative embodiment of the method, the installation comprises at least a first motor and a second motor, the user configuring a motor type for each of the two motors. The motor control software library is used for both motors.

In nog een verdere uitvoeringsvorm wordt bovengenoemde “beweging” in de installatie door elk van beide motoren beïnvloed, in combinatie. Volgens een mogelijk voorbeeld verzorgt een eerste motor een x-component van de beweging, terwijl een tweede motor een y-component van de beweging verzorgt. Een voorgeschreven traject in het xy-vlak vraagt dus om een gecoördineerde beweging van beide motoren, in combinatie. Volgens nog een ander voorbeeld gaat het om een pick & place installatie met drie armen die door drie afzonderlijke motoren worden aangestuurd, en waarbij een vierde motor een azimutale draaihoek instelt. Zulke installaties zijn gekend door de vakman. Opnieuw vraagt het afwerken van een bepaald traject om een gecoördineerde beweging van de motoren, in combinatie. In een verdere of alternatieve uitvoeringsvorm accepteert het motorsturing- programmafragment als invoer een doelpositie en/of een doelsnelheid voor de beweging. Uitgaande van zo een doelpositie en/of doelsnelheid, verzorgt dit programmafragment de gehele verdere communicatie tussen de controller en de motordrive/motor, via het bussysteem. Dit laat dus toe om zeer inzichtelijk te programmeren.In yet a further embodiment the above mentioned "movement" in the installation is influenced by each of the two motors, in combination. In one possible example, a first motor provides an x component of the motion, while a second motor provides a y component of the motion. A prescribed trajectory in the xy-plane therefore requires a coordinated movement of both motors, in combination. According to yet another example, it concerns a pick & place installation with three arms that are controlled by three separate motors, and where a fourth motor sets an azimuthal rotation angle. Such installations are known to the skilled person. Once again, completing a particular trajectory requires a coordinated movement of the motors, in combination. In a further or alternative embodiment, the motor control program fragment accepts as input a target position and / or a target speed for the motion. Based on such a target position and / or target speed, this program fragment provides the entire further communication between the controller and the motor drive / motor via the bus system. This allows for very insightful programming.

In een verdere of alternatieve uitvoeringsvorm omvat de werkwijze verder nog het invoegen van een trajectbepaling-programmafragment met instructies voor het genereren van doelposities en/of doelsnelheden, op basis van een gekozen traject voor de beweging. Dit programmafragment wordt ingevoegd in zijn geheel, vanuit een trajectbepaling-softwarebibliotheek. De doelposities en/of doelsnelheden kunnen rechtstreeks als invoer worden gebruikt voor de motorsturing-bibliotheek, zoals hierboven beschreven, of kunnen deze invoer althans beïnvloeden. Optioneel zal de gebruiker daarbij nog het aantal assen configureren, en de onderlinge stand ervan. In de praktijk zal het trajectbepaling-programmafragment bijvoorbeeld een reeks targetposities voor alle motoren genereren, om de miliseconde. Daarbij wordt bijvoorbeeld uitgegaan van een traject met een beginpositie, een eindpositie en eventueel nog één of meerdere tussenposities. Ook de snelheid of totale tijdsduur kunnen worden gespecifieerd. Echter, de uitvinding is hiertoe niet gelimiteerd. In een verdere of alternatieve uitvoeringsvorm wordt een uitvoer van de trajectbepaling-softwarebibliotheek gebruikt als invoer voor de motorsturing- — softwarebibliotheek. In een verdere of alternatieve uitvoeringsvorm zal een uitvoer van het trajectbepaling-programmafragment bv. een invoer van het motorsturing- programmafragment beïnvloeden. In een verdere of alternatieve uitvoeringsvorm, genereert het trajectbepaling- programmafragment doelposities en/of doelsnelheden, voor elk van de genoemde motoren, voor coördinatie van de gecombineerde beweging. Daarbij zal deze softwarebibliotheek een gecoördineerde aansturing van deze motoren verzorgen.In a further or alternative embodiment, the method further comprises inserting a trajectory determination program fragment with instructions for generating target positions and / or target speeds, based on a selected trajectory for the motion. This program fragment is inserted in its entirety from a trajectory determination software library. The target positions and / or target speeds can be used directly as input to the motor control library, as described above, or at least can influence these input. Optionally, the user will also configure the number of axles and their mutual position. In practice, for example, the trajectory program fragment will generate a series of target positions for all engines every millisecond. This assumes, for example, a route with a start position, an end position and possibly one or more intermediate positions. The speed or total time can also be specified. However, the invention is not limited thereto. In a further or alternate embodiment, an output from the trajectory software library is used as an input to the engine control software library. For example, in a further or alternate embodiment, an output of the trajectory program fragment will affect an input of the engine control program fragment. In a further or alternate embodiment, the trajectory finding program fragment generates target positions and / or target speeds, for each of said engines, for coordinating the combined motion. In addition, this software library will provide coordinated control of these motors.

In een verdere of alternatieve uitvoeringsvorm omvat het stuurprogramma één of meerdere programmeertalen, gekozen uit de groep omvattende Function Block Diagram, Ladder Diagram, Sequential Function Chart en/of Structured Text. Mogelijke voorbeelden van tekst-gebaseerde programmeertalen zijn “Basic” en "C#”.In a further or alternative embodiment, the control program comprises one or more programming languages selected from the group consisting of Function Block Diagram, Ladder Diagram, Sequential Function Chart and / or Structured Text. Possible examples of text-based programming languages are "Basic" and "C #".

In een verdere of alternatieve uitvoeringsvorm stemmen één of meerdere van de ingevoegde programmafragmenten overeen met een configureerbaar functieblok. Daarbij kan de gebruiker het stuurprogramma minstens voor een deel samenstellen door het onderling verbinden, op een computerscherm, van één of meerdere functieblokken en door deze functieblokken te configureren. Een voordeel is dat het kennisniveau van de gebruiker veel lager moet zijn. Low-level code zit grotendeels weggestopt in de functieblokken. In een verdere uitvoeringsvorm stemt het motorsturing-programmafragment overeen met een functieblok dat als invoer een doelpositie en/of een doelsnelheid accepteert, en dat als uitvoer het genoemde statussignaal geeft. In een verder aspect betreft de uitvinding nog een werkwijze voor het aansturen van een geautomatiseerde industriële installatie d.m.v. een aangepast stuurprogramma, waarbij het stuurprogramma is ontwikkeld door toepassing van de werkwijze zoals hierboven beschreven. Diezelfde kenmerken kunnen worden hernomen, en diezelfde voordelen kunnen worden herhaald. In wat volgt, wordt de uitvinding beschreven a.d.h.v. een niet-limiterend voorbeeld dat de uitvinding illustreert, en dat niet bedoeld is of geïnterpreteerd mag worden om de omvang van de uitvinding te limiteren. De uitvinding kan bijvoorbeeld worden toegepast om een stuurprogramma te genereren voor een installatie met een aanvoertransportband en met twee pick & place robotsystemen. De aanvoertransportband wordt aangedreven d.m.v. een asynchrone motor. In normale werking draait deze aan een afgeregelde, vaste snelheid. De pick & place robotsystemen zijn identiek. Zij omvatten drie armen die samen de beweging van één aangrijpingspunt in de ruimte sturen, elk d.m.v. een eigen aandrijfmotor (bv. een servomotor). Een vierde motor regelt nog de azimutale draaihoek. Zulke pick & place robotsystemen zijn gekend door de vakman.In a further or alternative embodiment, one or more of the inserted program fragments correspond to a configurable function block. In addition, the user can compile the driver program at least in part by interconnecting one or more function blocks on a computer screen and by configuring these function blocks. An advantage is that the knowledge level of the user must be much lower. Low-level code is largely hidden in the function blocks. In a further embodiment, the motor control program fragment corresponds to a function block which accepts as input a target position and / or a target speed, and which gives as output the said status signal. In a further aspect, the invention still relates to a method for controlling an automated industrial installation by means of a custom driver, the driver being developed using the method described above. Those same features can be redone, and those same benefits can be repeated. In what follows, the invention is described by means of a non-limiting example illustrating the invention, and which is not intended or should be construed to limit the scope of the invention. For example, the invention can be used to generate a control program for an installation with a supply conveyor and with two pick & place robot systems. The supply conveyor is driven by means of an asynchronous motor. In normal operation it runs at a regulated, fixed speed. The pick & place robot systems are identical. They comprise three arms that together control the movement of one point of application in space, each by means of its own drive motor (e.g. a servomotor). A fourth motor controls the azimuthal rotation angle. Such pick & place robot systems are known to those skilled in the art.

De robotsystemen zijn opeenvolgend langs de transportband voorzien. Aangebrachte goederen (via de transportband) worden deels door het eerste robotsysteem, en deels door het tweede robotsysteem in dozen geborgen.The robotic systems are provided sequentially along the conveyor. Delivered goods (via the conveyor belt) are partly stored in boxes by the first robot system and partly by the second robot system.

Alle commando's op de bus, voor motorsturing vanuit de controller, worden softwarematig verzorgd door een programmafragment genaamd “asblok”. Het gaat om een programmafragment dat in zijn geheel wordt ingevoegd in het stuurprogramma, vanuit een daartoe voorziene softwarebibliotheek.All commands on the bus, for motor control from the controller, are provided in software by a program fragment called “axis block”. This is a program fragment that is inserted in its entirety into the driver, from a software library provided for this purpose.

Indien het stuurprogramma wordt geschreven in FBD, bijvoorbeeld, kan het gaan om een afzonderlijk functieblok dat in zijn geheel wordt ingevoegd. Dit, éénmaal per motor. Telkens wordt daarbij het motortype geconfigureerd. Het functieblok voorziet minstens als ingang een doelpositie en/of een doelsnelheid, en genereert minstens als uitgang een statussignaal m.b.t. de motor en/of de beweging. Bijvoorbeeld gaat het om een signaal dat aangeeft dat de gevraagde beweging is volbracht. De gebruiker hoeft zich niet langer bezig te houden met de basiscommando'’s voor communicatie over de bus.If the driver is written in FBD, for example, it may be a separate function block that is inserted in its entirety. This, once per motorcycle. The motor type is always configured. The function block provides at least as input a target position and / or a target speed, and generates at least as output a status signal regarding the motor and / or the movement. For example, it is a signal that indicates that the requested movement has been completed. The user no longer has to deal with the basic commands for communication over the bus.

Verdere softwarebibliotheken voorzien bijvoorbeeld programmafragmenten die geschikte doelposities en/of doelsnelheden genereren, en programmafragmenten die de doelposities/doelsnelheden van de verschillende robotmotoren t.o.v. de bewegende transportband transformeren. De uitvinding is tot geen van deze gelimiteerd.For example, further software libraries provide program fragments that generate appropriate target positions and / or target speeds, and program fragments that transform the target positions / target speeds of the various robot motors relative to the moving conveyor. The invention is not limited to any of these.

Het is verondersteld dat de huidige uitvinding niet beperkt is tot de uitvoeringsvormen die hierboven beschreven zijn en dat enkele aanpassingen of veranderingen aan de beschreven voorbeelden kunnen toegevoegd worden zonder de toegevoegde conclusies te herwaarderen.It is believed that the present invention is not limited to the embodiments described above and that some modifications or changes may be made to the examples described without revaluing the appended claims.

Claims (13)

CONCLUSIESCONCLUSIONS 1. Een werkwijze voor het ontwikkelen, door een gebruiker, van een stuurprogramma voor aansturing van een geautomatiseerde industriële installatie, welke installatie minstens een controller, een bussysteem, een motordrive en een motor omvat, de werkwijze omvattende het invoegen van minstens één motorsturing-programmafragment, welk programmafragment: - instructies omvat voor directe communicatie tussen de controller en de motordrive, via het genoemde bussysteem en volgens een geschikt busprotocol, gericht op het aansturen van de motor en met een beweging in een deel van de installatie tot gevolg, en - verder nog instructies omvat voor het verzamelen, door de controller, van tenminste één statussignaal m.b.t. de motor en/of m.b.t. de genoemde beweging, tijdens en/of na afloop van de beweging, met het kenmerk, dat het programmafragment in zijn geheel, vanuit een motorsturing-softwarebibliotheek wordt ingevoegd, en waarbij de gebruiker het programmafragment nog verder configureert, minstens wat betreft een motortype van de motor.A method of developing, by a user, a driver for controlling an automated industrial installation, the installation comprising at least a controller, a bus system, a motor drive and a motor, the method comprising inserting at least one motor driver program fragment , which program fragment: - includes instructions for direct communication between the controller and the motor drive, via said bus system and according to a suitable bus protocol, aimed at controlling the motor and resulting in movement in part of the installation, and - further also contains instructions for the collection, by the controller, of at least one status signal with regard to the motor and / or with regard to the said movement, during and / or after the movement, characterized in that the program fragment in its entirety, from a motor control software library is inserted, and the user configures the program fragment even further, at least s for an engine type of the engine. 2. De werkwijze volgens conclusie 1, verder omvattende het invoegen van een tijdsregistratie-programmafragment met instructies voor tijdsregistratie van statussignalen en/of acties die in de installatie plaatsgrijpen, en welk programmafragment in zijn geheel, vanuit een tijdsregistratie- softwarebibliotheek wordt ingevoegd.The method of claim 1, further comprising inserting a timing program fragment with instructions for timing status signals and / or actions occurring in the installation, and which program fragment is inserted in its entirety, from a timing software library. 3. De werkwijze volgens één der conclusies 1-2, waarbij de gebruiker één of meerdere van de ingeladen programmafragmenten configureert, zonder dat de gebruiker de programmacode ervan kan inkijken en/of wijzigen.The method according to any of claims 1-2, wherein the user configures one or more of the loaded program fragments, without the user being able to view and / or change its program code. 4, De werkwijze volgens één der conclusies 1-3, waarbij de installatie minstens een eerste motor en een tweede motor omvat, en waarbij de gebruiker voor elk van beide motoren een motortype configureert.The method of any one of claims 1-3, wherein the installation includes at least a first motor and a second motor, and wherein the user configures a motor type for each of the two motors. 5. De werkwijze volgens voorgaande conclusie 4, waarin beide motoren in combinatie de beweging beïnvloeden.The method of preceding claim 4, wherein both motors in combination affect the motion. 6. De werkwijze volgens één der conclusies 1-5, waarbij het motorsturing- programmafragment een doelpositie en/of een doelsnelheid voor de beweging als invoer accepteert.The method of any of claims 1 to 5, wherein the motor control program fragment accepts a target position and / or a target speed for the motion as input. 7. De werkwijze volgens één der voorgaande conclusies, verder omvattende het invoegen van een trajectbepaling-programmafragment met instructies voor het genereren van doelposities en/of doelsnelheden, op basis van een gekozen traject voor de beweging, en welk programmafragment in zijn geheel, vanuit een trajectbepaling-softwarebibliotheek wordt ingevoegd.The method of any preceding claim, further comprising inserting a trajectory determination program fragment with instructions for generating target positions and / or target speeds, based on a chosen trajectory for the motion, and which program fragment in its entirety, from a trajectory determination software library is inserted. 8. De werkwijze volgens conclusies 5, 6 en 7, waarbij een uitvoer van het trajectbepaling-programmafragment een invoer van het motorsturing- programmafragment beïnvloedt.The method of claims 5, 6 and 7, wherein an output of the trajectory fix program fragment affects an input of the engine control program fragment. 9. De werkwijze volgens conclusie 8, waarbij het trajectbepaling- programmafragment doelposities en/of doelsnelheden genereert, voor elk van de genoemde motoren, voor coördinatie van de gecombineerde beweging.The method of claim 8, wherein the trajectory finding program fragment generates target positions and / or target speeds, for each of said engines, for coordinating the combined motion. 10.De werkwijze volgens één der voorgaande conclusies, waarbij het stuurprogramma één of meerdere programmeertalen omvat, gekozen uit de groep omvattende Function Block Diagram, Ladder Diagram, Sequential Function Chart en/of Structured Text.The method of any of the preceding claims, wherein the control program comprises one or more programming languages selected from the group consisting of Function Block Diagram, Ladder Diagram, Sequential Function Chart and / or Structured Text. 11.De werkwijze volgens conclusie 10, waarbij het motorsturing- programmafragment overeenstemt met een functieblok dat als invoer een doelpositie en/of een doelsnelheid accepteert, en dat als uitvoer het genoemde statussignaal geeft.The method of claim 10, wherein the engine control program fragment corresponds to a function block that accepts as input a target position and / or a target speed, and which outputs as output said status signal. 12. De werkwijze volgens één der voorgaande conclusies, waarbij het busprotocol is gekozen uit de groep omvattende Ethernet, Devicenet, Modbus, Profibus, Profinet en RS485.The method of any one of the preceding claims, wherein the bus protocol is selected from the group consisting of Ethernet, Devicenet, Modbus, Profibus, Profinet and RS485. 13.Een werkwijze voor het aansturen van een geautomatiseerde industriële installatie d.m.v. een aangepast stuurprogramma, waarbij het stuurprogramma is ontwikkeld door toepassing van de werkwijze volgens één der voorgaande conclusies.13. A method for controlling an automated industrial installation by means of a custom control program, the control program being developed using the method of any preceding claim.
BE20195307A 2019-05-10 2019-05-10 CONTROL OF INDUSTRIAL INSTALLATIONS BE1027263A9 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
BE20195307A BE1027263A9 (en) 2019-05-10 2019-05-10 CONTROL OF INDUSTRIAL INSTALLATIONS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
BE20195307A BE1027263A9 (en) 2019-05-10 2019-05-10 CONTROL OF INDUSTRIAL INSTALLATIONS

Publications (3)

Publication Number Publication Date
BE1027263A1 true BE1027263A1 (en) 2020-12-03
BE1027263B1 BE1027263B1 (en) 2020-12-08
BE1027263A9 BE1027263A9 (en) 2020-12-14

Family

ID=66776058

Family Applications (1)

Application Number Title Priority Date Filing Date
BE20195307A BE1027263A9 (en) 2019-05-10 2019-05-10 CONTROL OF INDUSTRIAL INSTALLATIONS

Country Status (1)

Country Link
BE (1) BE1027263A9 (en)

Citations (1)

* Cited by examiner, † Cited by third party
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

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947798B2 (en) * 1999-09-24 2005-09-20 Rockwell Software Inc. System and method for developing software programs by way of multiple applications and users
DE10055168A1 (en) * 2000-08-03 2002-02-21 Siemens Ag Industrial control for technical process e.g. for production machine, has technology neutral base system combined with technological objects
US7515977B2 (en) * 2004-03-30 2009-04-07 Fisher-Rosemount Systems, Inc. Integrated configuration system for use in a process plant

Patent Citations (1)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
BE1027263A9 (en) 2020-12-14
BE1027263B1 (en) 2020-12-08

Similar Documents

Publication Publication Date Title
US10782668B2 (en) Development of control applications in augmented reality environment
Rauch et al. An advanced STEP-NC controller for intelligent machining processes
EP3102366B1 (en) A system and method for creating and editing a playlist defining motions of a plurality of robots cooperatively performing a show
US7801710B2 (en) Simulation controls for model variability and randomness
US7933678B2 (en) System and method for analyzing a production process
US20090089032A1 (en) Enhanced simulation models for automation
EP2244143B1 (en) Method and device for programming an industrial controller of an automated installation
US10761513B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
DE102015116086A1 (en) robot control
BE1027263A9 (en) CONTROL OF INDUSTRIAL INSTALLATIONS
Zenkevich et al. Logical control a group of mobile robots
US20220291670A1 (en) Control data extraction and evaluation of production system
US20210018903A1 (en) Information processing system, information processing method, and recording medium
WO2019199709A1 (en) Translation of graphics to newer format using pattern matching
CN114789453A (en) Mechanical arm dynamic PID control method and device, electronic equipment and storage medium
Zhang et al. Gilbreth 2.0: an industrial cloud robotics pick-and-sort application
US11287802B2 (en) Simulation method for simulating a real control for an industrial process, a system, or a machine, and simulation system for carrying out such a simulation method
Bauer et al. Approach for an early validation of mechatronic systems using idealized simulation models within the conceptual design
Qamsane et al. A model-based transformation method to design PLC-based control of discrete automated manufacturing systems
CN112192567B (en) Method and device for acquiring working range of robot
Pollák et al. PLC Control of a 2-Axis Robotic Arm in a Virtual Simulation Environment
Králik et al. Use of Virtual Reality in RobotStudio
WO2022049805A1 (en) Control device, control system, and program
Giske et al. Development of Digital Fish Simulation Model
Frey Formal methods in PLC control demonstrated at a flexible manufacturing line

Legal Events

Date Code Title Description
FG Patent granted

Effective date: 20201208