DE112015006682T5 - Vorrichtung und verfahren zur erzeugung von programmen - Google Patents

Vorrichtung und verfahren zur erzeugung von programmen Download PDF

Info

Publication number
DE112015006682T5
DE112015006682T5 DE112015006682.9T DE112015006682T DE112015006682T5 DE 112015006682 T5 DE112015006682 T5 DE 112015006682T5 DE 112015006682 T DE112015006682 T DE 112015006682T DE 112015006682 T5 DE112015006682 T5 DE 112015006682T5
Authority
DE
Germany
Prior art keywords
control
controllers
blocks
model
communication
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
DE112015006682.9T
Other languages
English (en)
Inventor
Tatsuya Nagatani
Hideaki Minamide
Tsutomu Yoshikawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112015006682T5 publication Critical patent/DE112015006682T5/de
Granted legal-status Critical Current

Links

Images

Classifications

    • 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/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21063Bus, I-O connected to a bus
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21079Allocate at start up also to each controlled device a code for the master

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

Ziel der Erfindung ist es, eine Technik zur Verfügung zu stellen, die es ermöglicht, die Anzahl der Benutzeroperationen zu reduzieren. Ein Programmerzeugungsgerät besitzt eine Steuerungs-Verteilungseinheit (3) und eine Kommunikationsfunktions-Zusatzeinheit (4). Die Steuerungs-Verteilungseinheit (3) ordnet Steuerungen die jeweiligen Steuerungsblöcke eines Steuerungsmodells zu, basierend auf dem Steuerungsmodell, das von einer Steuerungsmodell-Eingabeeinheit (1) empfangen wird, und den Einstellinformationen und Verbindungsinformationen, die von einer Einstellinformations-Eingabeeinheit (2) empfangen werden. Die Kommunikationsfunktions-Zusatzeinheit (4) fügt dann, wenn erste und zweite der Steuerungsblöcke miteinander verbunden sind, einen Kommunikations-Steuerungsblock zu einem verbundenen Teil zwischen dem ersten und zweiten Steuerungsblock hinzu, wobei die ersten und zweiten Steuerungsblöcke verschiedenen Steuerungen im zugeordneten Steuerungsmodell zugeordnet sind.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich auf ein Programmerzeugungsgerät, das ein Programm zur Steuerung eines Steuerungs-Zielgerätes mit mehreren Steuerungen und mit den jeweiligen Steuerungen verbundenen Eingabe-/Ausgabegeräten erzeugt, und auf ein Programmerzeugungsverfahren zur Programmgenerierung.
  • STAND DER TECHNIK
  • Techniken mit der Funktion, ein Programm der jeweiligen Steuerung zu simulieren, das eine Einstellung der Kommunikation durch Simulation einer Kommunikationsfunktion zwischen Steuerungen beinhaltet, hat man als Programmerzeugungsgerät vorgeschlagen, das ein Programm zur Steuerung einer Produktionsanlage durch eine Vielzahl von Steuerungen erzeugt (vgl. z.B. das Patentdokument 1).
  • Weiterhin ist eine Programmiersoftware für eine modellbasierte Entwicklung bekannt, die durch die Kombination von Steuerungsblöcken ein Steuerungsmodell von Steuerungen oder ein zu steuerndes Modell entwerfen kann, um die Simulation der Steuerungen einschließlich des zu steuernden Modells zu ermöglichen (z.B. Nicht-Patentdokument 1).
  • STAND DER TECHNIK
    • Patentdokument 1: Japanische Patentanmeldungs-Offenlegungsschrift JP 2001-209 407 A
    • Nicht-Patentdokument 1: Hitoshi KIDOKORO, "Why Model-Based Development is Focused On Now", NIKKEI ELECTRONICS, 23. Juli 2012, S. 96 bis 102
  • KURZBESCHREIBUNG DER ERFINDUNG
  • Mit der Erfindung zu lösende Probleme
  • Gemäß der Technik des Patentdokuments 1 erfordert die Durchführung der Simulation ein Programm, mit dem Steuerungen tatsächlich zum Laufen gebracht werden können, wobei das Programm detaillierte Einstellungen eines Systems enthält. So sind auch dann, wenn im frühen Stadium der Planung einer Produktionsanlage zur Messung der Produktionskapazität der Produktionsanlage eine einfache Verifizierung nur von Maschinenoperationen gewünscht wird, detaillierte Einstellungen der Steuerungen notwendig, um die Maschine zu bedienen.
  • Das heißt, der Bediener muss Parameter einstellen und ein Programm zur Kommunikation zwischen Steuerungen vorgeben. Da es sich bei solchen Operationen jedoch um eine Operation handelt, bei der ein Programm zur Synchronisation von Daten zwischen einer Vielzahl von Steuerungen entwickelt wird, die unabhängig voneinander arbeiten, muss der Bediener die Steuerungszeiten der einzelnen Steuerungen und die Kommunikationsanforderungen der Steuerungen verstehen. So gibt es bisher ein Problem mit der Notwendigkeit für den Bediener, sich entsprechende Fertigkeiten anzueignen.
  • Da das Timing zur Ausführung eines Kommunikationsprogramms auch eng mit dem Timing zur Ausführung der anderen Prozesse in einer Steuerung und zwischen den Steuerungen verbunden ist, ist die Gestaltung eines Programms kompliziert und kann etwa einen halben Tag einer Betriebszeit in Anspruch nehmen. Wenn eine Spezifikation, z.B. Daten, die zwischen den Steuerungen ausgetauscht werden sollen, geändert wird, kann das Programm ein Redesign bzw. Neuentwicklung und eine Bearbeitungszeit erfordern, die der Zeit für die ursprüngliche Konzeption entspricht.
  • Die Technik gemäß dem Nicht-Patentdokument 1 führt zu dem Problem, dass der Bediener eine Vielzahl von Steuerungsblöcken, die in einem Steuerungsmodell für die Simulation enthalten sind, manuell in tatsächliche Steuerungen der jeweiligen Steuerungen zerlegen muss, um ein Programm für jede der Steuerungen zu entwerfen. Dieser Vorgang setzt voraus, dass der Bediener nicht nur die Spezifikation der einzelnen Steuerungen versteht, sondern auch die Fähigkeit besitzt, ein Steuerungsmodell optimal in Steuerungen der Steuerungen zu zerlegen, indem er die Konfiguration der eigentlichen Produktionsanlage überprüft. Somit gibt es ein Problem wegen der Notwendigkeit für den Bediener, sich entsprechende Fertigkeiten anzueignen.
  • Die vorliegende Erfindung wurde im Hinblick auf solche Probleme konzipiert und hat zum Ziel, eine Technik zur Verfügung zu stellen, mit der man in der Lage ist, die Benutzeroperationen zu reduzieren.
  • Mittel zum Lösen der Probleme
  • Ein Programmerzeugungsgerät gemäß der vorliegenden Erfindung ist ein Programmerzeugungsgerät, das ein Programm zur Steuerung eines Steuerungs-Zielgerätes mit einer Vielzahl von Steuerungen und mit den jeweiligen Steuerungen verbundenen Eingabe- und Ausgabegeräten erzeugt und Folgendes aufweist:
    • – eine Steuerungsmodell-Eingabeeinheit, die ein Steuerungsmodell empfängt, das durch das Verbinden einer Vielzahl von Steuerungsblöcken auf dem Steuerungs-Zielgerät dargestellt wird, wobei das Steuerungsmodell in das Programm übersetzbar ist;
    • – eine Einstellinformations-Eingabeeinheit, die Einstellinformationen der Vielzahl von Steuerungen und Verbindungsinformationen zwischen den Steuerungen sowie zwischen den Steuerungen und den Eingabe-/Ausgabegeräten empfängt;
    • – eine Steuerungsverteilungseinheit, die den Steuerungen die jeweiligen Steuerungsblöcke des Steuerungsmodells auf der Grundlage des von der Steuerungsmodell-Eingabeeinheit empfangenen Steuerungsmodells und der von der Einstellinformations-Eingabeeinheit empfangenen Einstellinformation und der Verbindungsinformation zuordnet; und
    • – eine Kommunikationsfunktions-Zusatzeinheit, die dann, wenn erste und zweite der Steuerungsblöcke miteinander verbunden sind, einen Kommunikations-Steuerungsblock zu einem verbundenen Teil zwischen dem ersten und dem zweiten Steuerungsblock hinzufügt, wobei die ersten und zweiten Steuerungsblöcke verschiedenen Steuerungen im zugeordneten Steuerungsmodell zugeordnet sind.
  • Effekt der Erfindung
  • Gemäß der vorliegenden Erfindung werden die jeweiligen Steuerungsblöcke des Steuerungsmodells auf der Grundlage des Steuerungsmodells, das von der Eingabeeinheit Steuerungsmodell empfangen worden ist, und der Einstellinformationen und der Verbindungsinformationen, die von der Eingabeeinheit für Einstellinformationen empfangen worden sind, den Steuerungen zugeordnet.
  • Wenn erste und zweite der Steuerungsblöcke, die verschiedenen Steuerungen des zugeordneten Steuerungsmodells zugeordnet sind, miteinander verbunden sind, wird ein Kommunikations-Steuerungsblock zu einem verbundenen Teil zwischen dem ersten und zweiten Steuerungsblock hinzugefügt. Somit können die Arbeitsabläufe des Anwenders, der die Vorgaben der Steuerungen versteht und ein Programm entwickelt, reduziert werden.
  • Weitere Ziele, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden anhand der folgenden ausführlichen Beschreibung und der dazugehörigen Zeichnungen noch besser verständlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Beispiel für ein Steuerungsmodell,
  • 2 ist ein Blockschaltbild, das die Konfiguration eines Programmerzeugungsgerätes gemäß Ausführungsform 1 veranschaulicht,
  • 3 zeigt ein Beispiel für ein Steuerungsmodell,
  • 4 zeigt ein Beispiel für ein Steuerungsmodell,
  • 5 zeigt beispielhaft ein Ergebnis der Verarbeitung durch eine Steuerungs-Verteilungseinheit gemäß Ausführungsform 1,
  • 6 ist ein Flussdiagramm, das die Zuordnungsprozesse der Steuerungs-Verteilungseinheit gemäß Ausführungsform 1 veranschaulicht,
  • 7 zeigt einen beispielhaften Ablauf der Steuerungsverteilungseinheit gemäß Ausführungsform 1,
  • 8A und 8B veranschaulichen beispielhafte Abläufe der Steuerungsverteilungseinheit gemäß Ausführungsform 1,
  • 9 zeigt beispielhaft ein Ergebnis der Verarbeitung durch eine Kommunikationsfunktions-Zusatzeinheit gemäß Ausführungsform 1,
  • 10 ist ein Flussdiagramm, das die Zuordnungsprozesse einer Steuerungs- Verteilungseinheit gemäß Ausführungsform 2 veranschaulicht,
  • 11 ist ein Blockschaltbild, das die Konfiguration eines Programmerzeugungsgeräts gemäß Ausführungsform 5 veranschaulicht; und
  • 12 ist ein Blockschaltbild, das eine Hardwarekonfiguration eines Programmerzeugungsgeräts veranschaulicht.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Ausführungsform 1
  • Ein Programmerzeugungsgerät gemäß Ausführungsform 1 der vorliegenden Erfindung erzeugt ein Programm zur Steuerung eines Steuerungs-Zielgerätes, das eine Vielzahl von Steuerungen und an die jeweiligen Steuerungen angeschlossene Eingabe-/Ausgabegeräte aufweist. Ein Produktionsapparat für eine Anlage (z.B. ein Halbleiterherstellungsapparat und ein Automat) wird als Beispiel für das Steuerungs-Zielgerät verwendet.
  • Bevor das Programmerzeugungsgerät gemäß Ausführungsform 1 im Detail beschrieben wird, wird eine Fabrikautomationssteuerung, die eine Art von Steuerung ist, vereinfacht beschrieben. Die hauptsächlich für die Steuerung eines Produktionsapparates für Anlagen eingesetzte Fabrikautomationssteuerung ist mit einer Vielzahl von Eingabe- und Ausgabegeräten verbunden und steuert diese Geräte.
  • Beispiele für die Input-Output-Geräte sind ein Eingabegerät für eine Steuerung, wie z.B. ein Sensor und ein Schalter und ein Ausgabegerät, wie z.B. eine Kontrollleuchte und ein Motor, das eine bestimmte Operation gemäß einem Ausgangssignal einer Steuerung ausführt.
  • Eine Verbindung von Input-Output-Geräten und eine Verbindung zwischen einer Steuerung und einem Input-Output-Gerät wird zusammenfassend als Input/Output (I/O) bezeichnet. Da ein Produktionsapparat aus verschiedenen I/Os besteht, deren Steuerungsverfahren sich voneinander unterscheiden, verwendet man häufig eine Kombination von Steuerungen, um eine entsprechende Ansteuerung der jeweiligen I/Os zu ermöglichen. Die an die jeweiligen Steuerungen angeschlossenen Input-Output-Geräte werden häufig zur Kommunikation zwischen einem Produktionsapparat und einer Steuerung eines anderen Gerätes verwendet.
  • Obwohl I/Os bei diskreten Ereignissen, wie z.B. einem Startschalter und einer Kontrollleuchte eines Gerätes, an viele Geräte angeschlossen sind, ist eine sofortige Steuerung der I/Os nicht unbedingt erforderlich. So stellen etwa mehrere Millisekunden der Steuerungszeit kein Problem dar, und die Konstanz der Steuerungszeit ist unter der Steuerung der I/Os nicht unbedingt erforderlich. Im Gegensatz dazu muss bei der Ansteuerung von Servomotoren ein Sollwert an einen Servoverstärker mit einer konstanten Steuerungsperiode, d.h. ca. 100 µsec, gesendet werden, mit dem eine sofortige Ansteuerung durchgeführt werden kann.
  • Bei herkömmlichen Steuerungen der I/Os bei vielen diskreten Ereignissen werden häufig Steuerungen der Fabrikautomation, die als programmierbare Steuerungen (SPS-Einheiten) bezeichnet werden, eingesetzt. Die PLCs sind überlegen in der Erweiterbarkeit der Anschlussklemmen, um an viele Geräte anschließbar zu sein. In vielen Fällen können die SPS-Einheiten einen Best-Effort Verarbeitungsmodus ausführen, dessen Steuerungszeit unbeständig ist, und einen Verarbeitungsmodus, in dem Prozesse mit mehreren konstanten Perioden parallel ausgeführt werden können, so dass die SPS-Einheiten an viele verschiedene Geräte angeschlossen werden können.
  • Da die letztgenannte Ansteuerung von Servomotoren das Senden eines Sollwertes an einen Servoverstärker mit konstanter Zeitdauer und die Durchführung komplizierter Berechnungen zur Generierung eines Sollwertes für einen Motor erfordert, werden häufig Regler zur Ansteuerung der Servomotoren verwendet, die als Servosystemregler bezeichnet werden. Hier können für die Steuerung der Servomotoren Regler verwendet werden, die sowohl Funktionen der SPS-Einheit als auch eines Servosystemreglers besitzen.
  • Eine Vielzahl von Steuerungen wird manchmal unter Berücksichtigung ihrer Verarbeitungslast oder Verdrahtung eingesetzt. Wenn eine Steuerung kein ausreichendes Verarbeitungs-Leistungsvermögen im Hinblick auf das angestrebte Leistungsvermögen eines Produktionsapparates aufweist, kann das Leistungsvermögen durch die Verteilung von Prozessen auf mehrere Steuerungen erzielt werden. Die Steuerungen können verteilt in einem Gerät angeordnet werden, um die Verdrahtung zwischen den Steuerungen und Geräten zu verkürzen. Hierbei kann die Verdrahtung für die Datenkommunikation reduziert werden, indem die Steuerungen z.B. über ein Ethernet-basiertes Netzwerk angeschlossen werden.
  • Die konventionelle Gestaltung und Entwicklung von Programmen bei typischen Produktionsapparaten beginnt mit der Berücksichtigung der Taktzeit und der mechanischen Auslegung auf der Basis eines Zeitdiagramms. Der nächste Schritt ist die Elektrokonstruktion, einschließlich der Verdrahtung der Steuerungen und der Eingabe-/Ausgabegeräte, auf der Grundlage des Zeitdiagramms und der Betriebsplanung einer Maschine, die durch die komplette mechanische Konstruktion definiert ist. Letzteres geht mit dem Steuerungsdesign der einzelnen Steuerungen einher.
  • Das Design, das auf dem Zeitdiagramm basiert, basiert auf den Erfahrungen und den Design-Assets, und ein solches Design endet mit einer groben Schätzung der Taktzeit aus seinem Mechanismus und seinen Operationen. Somit ist die Rechengenauigkeit der Taktzeit nicht hoch. Die Überprüfung von Störungen der Maschine usw. ist ebenfalls schwierig. Die Taktzeit kann mit hoher Genauigkeit in den Endstufen berechnet werden, in denen das Steuerungsdesign abgeschlossen ist. Wird die Soll-Performance nicht erreicht, erhöht sich die Anzahl der Debugging-Mannstunden.
  • In einer kürzlich vorgeschlagenen modellbasierten Entwicklungsumgebung werden sowohl ein mechanisches Modell als auch ein Steuerungsmodell in frühen Phasen des Entwurfs entwickelt, und es wird verifiziert, ob das mechanische Modell so gesteuert werden kann, dass es das angestrebte Leistungsvermögen erfüllt. Durch diese Prozesse kann die Anzahl der Debugging-Mannstunden, bei denen die Soll-Leistung nicht erreicht wird, in relativ frühen Stadien reduziert werden. Da der Hauptfaktor bei der Bestimmung der Taktzeit eines Produktionsapparates die Betriebszeit einer Maschine ist, wird in frühen Phasen der Konstruktion häufig ein einfaches Steuerungsmodell nur für den Betrieb der Maschine entwickelt.
  • Es ist eine Technik bekannt, mit der ein Steuerungsmodell in ein Programm übersetzt wird, das auch von einer Fabrikautomationssteuerung verarbeitet werden kann. Diese Technik erzeugt jedoch lediglich ein Programm, das sich ähnlich wie ein Steuerungsmodell verhält. Das heißt, selbst wenn aus einem einfachen Steuerungsmodell nur für den Betrieb einer Maschine ein Steuerungsprogramm generiert wird, das auch von einer Fabrikautomation abgearbeitet werden kann, und zwar aus einem Steuerungsmodell, das keine Randbedingungen, wie Einstellinformationen jeder Steuerung und Verbindungsinformationen zwischen den Steuerungen und I/Os enthält, berücksichtigt das Steuerungsprogramm solche Randbedingungen nicht. So kann eine tatsächliche Steuerung das Steuerungsprogramm kaum nutzen.
  • Um das Steuerungsprogramm für eine tatsächliche Steuerung nutzbar zu machen, muss das Steuerungsmodell also in Steuerungsvorgänge der jeweiligen Steuerungen zerlegt werden, um den Einschränkungen der einzelnen Steuerungen gerecht zu werden. Darüber hinaus erfordert der Datenaustausch zwischen verschiedenen Steuerungen, dass während des Austauschs ein Kommunikationsprogramm hinzugefügt wird. Bei den herkömmlichen Techniken zerlegt der Bediener, der die Spezifikation der einzelnen Steuerungen versteht, das Steuerungsmodell manuell oder fügt das Kommunikationsprogramm hinzu, was nicht einfach ist.
  • Im Gegensatz dazu hat das Programmerzeugungsgerät nach der Ausführungsform 1 die Funktion, ein Steuerungsmodell, das auf der Grundlage verschiedener Randbedingungen und Einstellbedingungen unter Missachtung der tatsächlichen Konfiguration der Steuerung und der Verbindungsinformationen der I/Os generiert worden ist, gemäß den tatsächlichen Konfigurationen von Steuerungen zu unterteilen und ein Kommunikationsprogramm hinzuzufügen, das nachstehend noch beschrieben wird.
  • Da das Programmerzeugungsgerät gemäß Ausführungsform 1 die Zerlegung gemäß den tatsächlichen Konfigurationen von Steuerungen durchführen und ein Programm zur Kommunikation, wie oben beschrieben, hinzufügen kann, können die Operationen bzw. der Bearbeitungsaufwand des Benutzers, der die Spezifikationen der Steuerungen versteht und das Programm entwickelt, reduziert werden.
  • 1 zeigt ein Beispiel für ein Steuerungsmodell, das in ein Programm zur Steuerung eines Produktionsapparates übersetzbar ist. In der allgemeinen Programmierung der modellbasierten Entwicklung wird ein Modell in einer grafischen Sprache beschrieben, wie in 1 dargestellt.
  • In 1 wird ein Steuerungsmodell dargestellt, in dem eine Vielzahl von Steuerungsblöcken an einen Produktionsapparat angeschlossen wird. Zu den Steuerungsblöcken gehören hier Steuerungsprozessblöcke, wie Fun 1 bis Fun 5 in 1, Eingabeprozesse, wie Eingang 1 bis Eingang 5 in 1 und Ausgabeprozesse wie Ausgang 1 bis Ausgang 3 in 1.
  • Wenn der Steuerungsprozessblock von Fun 1 von den anderen Steuerungsprozessblöcken unterschieden wird, so wird er in der folgenden Beschreibung als "Steuerungsprozessblock Fun 1" bezeichnet. Die Einheiten Fun 2 bis Fun 5 werden in ähnlicher Weise beschrieben.
  • Ebenso wird der Eingabeprozess von Eingang 1, wenn er sich von den anderen Eingabeprozessen unterscheidet, in der folgenden Beschreibung als "Input-1-Prozess" bezeichnet. Die Eingänge 2 bis 5 werden in ähnlicher Weise beschrieben. Ebenso wird der Ausgangsprozess von Ausgang 1, wenn er sich von den anderen Ausgangsprozessen unterscheidet, in der folgenden Beschreibung als "Ausgangsprozess 1" bezeichnet. Die Ausgänge 2 und 3 werden in ähnlicher Weise beschrieben.
  • Jeder der Steuerungsprozessblöcke kann mit einer Vielzahl von Eingängen und Ausgängen verbunden werden. In den Steuerungsprozessblöcken, an die Eingänge und Ausgänge angeschlossen sind, werden verschiedene Prozesse, basierend auf einem Eingang und einer internen Variablen, die von dem jeweiligen der Steuerungsprozessblöcke gehalten werden, ausgeführt, um Ausgänge zu erzeugen und die interne Variable basierend auf einem Ergebnis der Verarbeitung zu aktualisieren.
  • Eine Verbindung (Verbindungsleitung), dargestellt durch einen Pfeil zwischen den Steuerungsprozessblöcken, stellt einen Eingang und Ausgang von Daten zwischen den Steuerungsprozessblöcken dar. Es gibt zwei Möglichkeiten, Daten in die Steuerungsprozessblöcke einzugeben. Die eine ist ein Triggereingang zum Steuern von mindestens einem Parameter von Start, Auswahl und Stopp der Steuerungsprozessblöcke, und die andere ist ein Dateneingang, der von den Steuerungsprozessblöcken nacheinander verarbeitet werden soll.
  • Der erste Triggereingang wird hauptsächlich durch Eingänge von 0/1 Bit repräsentiert, während der zweite Dateneingang häufig durch einen Wert größer als ein Binärwert repräsentiert wird. Wenn der Triggereingang jedoch z.B. Start, Auswahl und Stopp eines Prozesses repräsentiert, wird er auch durch einen Wert repräsentiert, der größer als ein Binärwert ist. Je nach der Definition können nur einer oder beide von den Triggereingängen und der Dateneingang für die Eingabe in einen Steuerungsprozessblock verwendet werden.
  • Beispiele für die Fälle, in denen beide Eingänge verwendet werden, sind ein Fall, in dem der Triggereingang verwendet wird, wenn das Programmerzeugungsgerät einen diskreten Wert erhält, der kleiner oder gleich einem vorparametrierten Wert ist, und der Dateneingang anderweitig verwendet wird.
  • Die Steuerungsprozessblöcke können gestaffelt werden, und die Details der einzelnen Blöcke können durch ein Modell beschrieben werden, das durch eine Vielzahl von Blöcken beschrieben wird. Prozesse in den Blöcken können auch nicht in einer grafischen Sprache beschrieben werden, sondern in einer textbasierten, prozedurorientierten Sprache, wie z.B. einer C-Sprache. Ebenso können Steuerungsmodelle in anderen Sprachen als der grafischen Sprache beschrieben werden. Unter der Annahme, dass in verschiedenen Sprachen beschriebene Steuerungsmodelle gleichzeitig ausgeführt werden, können die gesamten Steuerungsmodelle bis zu einem gewissen Grad definiert werden.
  • Die Eingabeprozesse (z.B. Eingänge 1 bis 5 in 1) und die Ausgangsprozesse (z.B. Ausgänge 1 bis 3 in 1) im Steuerungsmodell können durch Einstellungen mit Signalen der an Steuerungen angeschlossenen Eingabe-/Ausgabegeräte oder mit Signalen zur Kommunikation mit einer Steuerung eines anderen Gerätes verknüpft werden.
  • 2 ist ein Blockschaltbild, das eine Konfiguration des Programmerzeugungsgeräts gemäß Ausführungsform 1 veranschaulicht. Das Programmerzeugungsgerät in 2 weist Folgendes auf: eine Steuerungsmodell-Eingabeeinheit 1, eine Einstellinformations-Eingabeeinheit 2, eine Steuerungs-Verteilungseinheit 3 und eine Kommunikationsfunktions-Zusatzeinheit 4. Verschiedene Eingabegeräte, wie Tastatur und Touchpanel oder nachstehend noch zu beschreibende Software werden als Beispiele für die Steuerungsmodell-Eingabeeinheit, 1 und die Einstellinformations-Eingabeeinheit 2 verwendet. Die Steuerungs-Verteilungseinheit 3 und die Kommunikationsfunktions-Zusatzeinheit 4 werden realisiert, indem z.B. ein Prozessor ein Programm ausführt, das in einem Speicher abgelegt ist, der nachstehend noch beschrieben wird.
  • Die Steuerungsmodell-Eingabeeinheit 1 erhält ein Steuerungsmodell (hier ein vom Anwender entworfenes Steuerungsmodell). Mit anderen Worten, das Steuerungsmodell (hier ein vom Anwender entworfenes Steuerungsmodell) wird in die Eingabeeinheit 1 des Steuerungsmodells eingegeben.
  • Zunächst wird in den frühen Phasen der Konzipierung eines Steuerungsmodells ein einfaches Steuerungsmodell nur für den Betrieb einer Maschine in der grafischen Sprache entwickelt, wie es in 1 dargestellt ist, und eine Taktzeit usw. wird zum Steuern eines mechanischen Modells betrachtet, ähnlich wie eine konventionelle modellbasierte Entwicklung. Da der Hauptzweck zu diesem Zeitpunkt die Überprüfung einer Taktzeit ist, handelt es sich beim Steuerungsmodell um ein einfaches Steuerungsmodell, das nur den normalen Maschinenbetrieb beinhaltet, wie in 3 dargestellt.
  • Nachdem das Steuerungsmodell entwickelt worden ist, von dem erwartet wird, das es die erwartete Zielfunktion erfüllt, wird ein Steuerungsmodell entwickelt, das die Steuerung von anderen Aspekten als die Steuerung von dem normalen Maschinenbetrieb beinhaltet, wie in 4 dargestellt. Beispiele für die Steuerung anderer Arbeitsgänge als der normalen Maschinenbedienung sind die Steuerung von Fehleroperationen, wie die Rückkehr zum Ursprung(-szustand) einer Maschine und ein Stoppvorgang, und verschiedene Steuerungen, die einem Produktionsapparat hinzugefügt werden, wie der Start einer Maschine, ein Stoppvorgang und die Eingabe und Ausgabe von verschiedenen Schaltern und einer Anzeige.
  • Die Steuerungsmodelle, die in die Steuerungsmodell-Eingabeeinheit 1 eingegeben werden sollen, dürfen nicht alle oder einen Teil der verschiedenen Steuerelemente enthalten, die einem Produktionsapparat hinzugefügt werden sollen. Nachdem ein Steuerungsmodell (eine Vielzahl von Steuerungsblöcken) in die jeweiligen Steuerungen zerlegt (verteilt) worden ist, können diese Steuerungen individuell zu den Steuerungen hinzugefügt werden. Mit anderen Worten, das Steuerungsmodell in 3 oder 4 kann in die Steuerungsmodell-Eingabeeinheit 1 des Steuerungsmodells eingegeben werden.
  • Das Steuerungsmodell (eine Vielzahl von Steuerungsblöcken), das in die Steuerungsmodell-Eingabeeinheit 1 eingegeben wird, wird in die entsprechenden Steuerungen zerlegt (verteilt), die später beschrieben werden. Das Steuerungsmodell, das in die Steuerungsmodell-Eingabeeinheit 1 des Steuerungsmodells eingegeben werden soll, umfasst daher vorzugsweise prozessrelevante Steuerungsprozesse in einer Vielzahl von Steuerungen.
  • Die Einstellungsinformations-Eingabeeinheit 2 empfängt Einstellinformationen einer Vielzahl von Steuerungen, Verbindungsinformationen zwischen den Steuerungen und Verbindungsinformationen zwischen den Steuerungen und den Eingabe-/Ausgabegeräten (Verbindungsinformationen von I/Os).
  • Die Einstellinformationen der Steuerungen beinhalten z.B. eine Steuerungsperiode der Steuerungen. Obwohl es sich bei den Einstellinformationen um Einstellparameter handeln kann, die während des Betriebs der Steuerungen verwendet werden, können Einschränkungen vorgegeben werden, wenn die Einstellparameter nicht sicher sind. Beispielsweise kann die Steuerungsperiode auf eine Verarbeitungsperiode (z.B. eine konstante Periode von 1 Millisekunde) eingestellt werden, wenn die Steuerungen tatsächlich als Einstellparameter betrieben werden, oder unter der Einschränkung, dass z.B. der Prozess innerhalb von 1 Millisekunde abgeschlossen sein soll, oder ohne Einschränkung.
  • Die Verbindungsinformationen zwischen den Steuerungen umfassen z.B. Konfigurationsinformationen der Steuerungen, Informationen darüber, über welche Art von Netzwerk die Steuerungen verbunden sind, und Einstellinformationen für die Kommunikation zwischen den Steuerungen.
  • Die Verbindungsinformationen von I/Os umfassen z.B. Informationen darüber, welche Art von Gerät mit welcher Steuerung verbunden ist, einschließlich der Kommunikation mit einer Steuerung eines anderen Geräts, Informationen darüber, welche Art von Daten zwischen Gerät und Steuerung übertragen werden, und Informationen darüber, mit welcher internen Variablen die Daten in der Steuerung verarbeitet werden.
  • Die Steuerungs-Verteilungseinheit 3 ordnet die Steuerungsblöcke des Steuerungsmodells den jeweiligen Steuerungen zu, basierend auf dem Steuerungsmodell, das von der Steuerungsmodell-Eingabeeinheit 1 empfangen worden ist, und den Einstell- und Verbindungsinformationen, die von der Einstellinformations-Eingabeeinheit 2 empfangen worden sind. Die 5 veranschaulicht ein Beispielergebnis der Zuordnung (Verteilung) des Steuerungsmodells in 4 zu den jeweiligen Steuerungen durch die Steuerungs-Verteilungseinheit 3.
  • Im Beispiel gemäß 5 sind ein Steuerungsprozessblock Fun 1, eine Konstante, die mit dem Steuerungsprozessblock Fun 1 verbunden ist, der Input-1-Prozess, der Output-1-Prozess und ein Input-4-Prozess einer SPS-Einheit zugeordnet, während die anderen Prozesse einem Servosystemregler zugeordnet sind. Obwohl die Steuerungsblöcke des Steuerungsmodells zwei Arten von Steuerungen zugeordnet sind, nämlich der SPS-Einheit und dem Servosystemregler in der folgenden Beschreibung, sind die Arten der Steuerungen natürlich nicht auf diese beschränkt.
  • 6 ist ein Flussdiagramm, das die Zuordnungsprozesse der Steuerungs-Verteilungseinheit 3 gemäß Ausführungsform 1 veranschaulicht.
  • Im Schritt S1 führt die Steuerungs-Verteilungseinheit 3 zunächst einen I/O-Verbindungsermittlungsprozess durch. Konkret holt die Steuerungs-Verteilungseinheit 3 aus den Verbindungsinformationen der von der Einstellinformations-Eingabeeinheit 2 empfangenen I/Os Eingangsprozesse und Ausgangsprozesse, die mit einer Eingabe-/Ausgabeeinheit verbunden sind, zwischen Eingangsprozessen und Ausgangsprozessen des Steuerungsmodells, die von der Steuerungsmodell-Eingabeeinheit 1 empfangen werden.
  • Anschließend ordnet die Steuerungs-Verteilungseinheit 3 die aufgefundenen Eingangs- und Ausgangsprozesse Steuerungen zu, die mit dem durch die Verbindungsinformationen der I/Os gekennzeichneten Eingabe-/Ausgabegerät verbunden sind. Im Beispiel gemäß 5 ordnet dieser Schritt S1 den Input-1-Prozess, den Input-4-Prozess und den Output-1-Prozess der SPS-Einheit zu und die anderen Input-Prozesse und Output-Prozesse dem Servosystemregler zu.
  • Im Schritt S2 führt die Steuerungs-Verteilungseinheit 3 einen Prozess zur Ermittlung von Randbedingungen in einem Ausgabegerät durch. Konkret bestimmt die Steuerungs-Verteilungseinheit 3, ob die Steuerung, deren Randbedingungen der Steuerungsprozesse am strengsten sind, aus den Steuerungen (SPS-Einheiten und Servosystemregler im Beispiel gemäß 5), denen die Ausgabeprozesse im Schritt S1 zugeordnet sind, aufgefunden werden kann.
  • Hier bestimmt die Steuerungs-Verteilungseinheit 3 die Randbedingungen als streng, wenn z.B. die Steuerungszeit in der Einstellinformation oder den Steuerungen, die von der Einstellinformations-Eingabeeinheit 2 eingegeben werden, am kürzesten ist oder wenn aufgrund der Zuordnung vieler anderer Steuerungsprozesse keine Kapazitätsreserve für die Steuerungsprozesse besteht (z.B. die zugeordnete Steuerungsprozesslast ist größer oder gleich einer Schwelle).
  • Die Steuerungs-Verteilungseinheit 3 kann anhand von einem oder mehreren Faktoren bestimmen, ob die Einschränkungen streng sind. Dieses Ergebnis zeigt, dass die Steuerung, deren Einschränkungen der Steuerungsprozesse am strengsten sind, eine Steuerung mit weniger Steuerungsprozessen ist, die zusätzlich zugeordnet werden können.
  • Wenn im Schritt S2 festgestellt wird, dass die Steuerung aufgefunden werden kann, gehen die Prozesse zum Schritt S3 (eine Steuerungsblockverbindung, die den Prozess 1 bestimmt) über. Ist dies nicht der Fall, gehen die Prozesse zum Schritt S4 über (ein Prozess zur Ermittlung von Randbedingungen in einem Eingabegerät).
  • Im Schritt S3 führt die Steuerungs-Verteilungseinheit 3 den Steuerungsblock-Verbindungsaufbau durch, der den Prozess 1 bestimmt. Konkret ordnet die Steuerungs-Verteilungseinheit 3 die Steuerungsprozessblöcke, die mit den Ausgangsprozessen verbunden sind, die der im Schritt S2 aufgefundenen Steuerung zugeordnet sind, der im Schritt S2 aufgefundenen Steuerung zu. Diese Zuordnung wird nicht durchgeführt, wenn die Steuerungsprozessblöcke bereits Zuordnungsziele haben.
  • Dann ordnet die Steuerungs-Verteilungseinheit 3 unter den den Steuerungen neu zugeordneten Steuerungsprozessblöcken der im Schritt S2 aufgefundenen Steuerung einen Steuerungsprozessblock zu, der mit einer Dateneingangsseite verbunden ist und dessen Zuordnungsziel noch nicht festgelegt ist.
  • 7 zeigt einen beispielhaften Ablauf der Steuerungs-Verteilungseinheit 3 im Schritt S3. Im Beispiel gemäß 7 wird ein Steuerungsprozessblock Fun X näher an der Dateneingangsseite in Bezug auf einen Steuerungsprozessblock Fun Y und der Steuerungsprozessblock Fun Y an einen Ausgangs-Z-Prozess angeschlossen. Obwohl dieser Ausgangs-Z-Prozess bereits einer Steuerung zugeordnet ist, die als SPS-Einheit bezeichnet wird, ist weder der Steuerungsprozessblock Fun X noch der Steuerungsprozessblock Fun Y einer Steuerung zugeordnet.
  • Im Schritt S3 ordnet die Steuerungs-Verteilungseinheit 3 den Steuerungsprozessblock Fun Y der Steuerung (SPS-Einheit) des Ausgangs-Z-Prozesses zu. Anschließend ordnet die Steuerungs-Verteilungseinheit 3 den Steuerungsprozessblock Fun X der Steuerung (SPS-Einheit) des Steuerungsprozessblocks Fun Y zu.
  • Die Steuerungs-Verteilungseinheit 3 wiederholt rekursiv die Zuordnung, ausgehend vom neu zugeordneten Steuerungsprozessblock, wie oben beschrieben. Wenn der Steuerungsprozessblock keiner Steuerung neu zugeordnet werden kann, wird der Schritt S3 beendet, und die Prozesse kehren zum Schritt S2 zurück.
  • Wenn die Prozesse vom Schritt S3 zum Schritt S2 zurückkehren, bestimmt die Steuerungs-Verteilungseinheit 3, ob eine Steuerung, deren Randbedingungen der Steuerungsprozesse neben der im vorherigen Schritt S2 aufgefundenen Steuerung die zweite Strengestufe sind, aus den Steuerungen, denen die Ausgabeprozesse im Schritt S1 zugeordnet sind, aufgefunden werden kann.
  • Wenn festgestellt wird, dass die Steuerung auffindbar ist, gehen die Prozesse weiter zum Schritt S3 (Steuerungsblock-Verbindungsfestellung 1). Ist dies nicht der Fall, gehen die Prozesse zum Schritt S4 über (der Prozess der Ermittlung von Randbedingungen im Eingabegerät). Angenommene Fälle, in denen festgestellt wird, dass die Steuerung nicht aufgefunden werden kann, umfassen einen Fall, in dem alle Ausgabeprozesse den Steuerungen zugeordnet sind.
  • Im Schritt S4 führt die Steuerungs-Verteilungseinheit 3 einen Prozess zur Ermittlung von Randbedingungen im Eingabegerät durch. Konkret bestimmt die Steuerungs-Verteilungseinheit 3, ob aus den Steuerungen, denen die Eingabeprozesse im Schritt S1 zugeordnet sind, eine Steuerung aufgefunden werden kann, deren Randbedingungen der Steuerungsprozesse am strengsten sind. Obwohl die Feststellung, ob die Randbedingungen streng sind, ähnlich wie im Schritt S2 (dem Verfahren zur Ermittlung der Randbedingungen im Ausgabegerät) erfolgt, kann es sein, dass sie nicht vollständig auf die gleiche Weise wie im Schritt S2 bestimmt wird.
  • Wenn im Schritt S4 festgestellt worden ist, dass die Steuerung aufgefunden werden kann, gehen die Prozesse zum Schritt S5 (Steuerungsblock-Verbindungsfestellung 2) über. Ist dies nicht der Fall, gehen die Prozesse zum Schritt S6 über (ein Prozess zur Ermittlung von Randbedingungen in den Steuerungsprozessblöcken).
  • Im Schritt S5 führt die Steuerungs-Verteilungseinheit 3 die Steuerungsblock-Verbindungsfestellung 2 durch. Konkret ordnet die Steuerungs-Verteilungseinheit 3 einen Steuerungsprozessblock, der mit einem Eingangsprozess verbunden ist, der im Schritt S4 aufgefundenen Steuerung zu, die im Schritt S4 aufgefundenen worden ist. Diese Zuordnung wird nicht durchgeführt, wenn der Steuerungsprozessblock bereits ein Zuordnungsziel hat.
  • Die Steuerungs-Verteilungseinheit 3 ordnet dann unter den der Steuerung neu zugeordneten Steuerungsprozessblöcken einen Steuerungsprozessblock zu, der mit einer Datenausgangsseite verbunden ist und dessen Zuordnungsziel noch nicht festgelegt ist, und zwar der im Schritt S4 aufgefundenen Steuerung. Die Steuerungs-Verteilungseinheit 3 wiederholt rekursiv die Zuordnung, ausgehend vom neu zugeordneten Steuerungsprozessblock, wie oben beschrieben. Wenn der Steuerungsprozessblock keiner Steuerung neu zugeordnet werden kann, wird der Schritt S5 beendet, und die Prozesse kehren zum Schritt S4 zurück.
  • Wenn die Prozesse vom Schritt 5 zum Schritt S4 zurückkehren, bestimmt die Steuerungs-Verteilungseinheit 3, ob eine Steuerung, deren Randbedingungen der Steuerungsprozesse neben der im vorherigen Schritt S4 aufgefundenen Steuerung die zweite Strengestufe haben, aus den Steuerungen, denen die Eingabeprozesse im Schritt S1 zugeordnet sind, aufgefunden werden kann.
  • Wenn festgestellt wird, dass die Steuerung auffindbar ist, fahren die Prozesse mit Schritt S5 fort (Steuerungsblock-Verbindungsfestellung 2). Ist dies nicht der Fall, gehen die Prozesse zum Schritt S6 über (der Prozess der Ermittlung von Randbedingungen in den Steuerungsprozessblöcken). Angenommene Fälle, in denen festgestellt wird, dass die Steuerung nicht aufgefunden werden kann, umfassen einen Fall, in dem alle Eingabeprozesse den Steuerungen zugeordnet sind.
  • Im Schritt S6 führt die Steuerungs-Verteilungseinheit 3 einen Prozess zur Ermittlung von Randbedingungen in den Steuerungsprozessblöcken durch. Konkret bestimmt die Steuerungs-Verteilungseinheit 3, ob ein Steuerungsprozessblock, der mit einem anderen Steuerungsprozessblock verbunden ist, der keiner Steuerung zugeordnet ist, aus den bereits den Steuerungen zugeordneten Steuerungsprozessblöcken aufgefunden werden kann.
  • Wird im Schritt S6 festgestellt, dass der Steuerungsprozessblock aufgefunden werden kann, wird aus den aufgefundenen Steuerungsprozessblöcken ein der Steuerung zugeordneter Steuerungsprozessblock, dessen Randbedingung am strengsten ist, aufgefunden, und die Prozesse gehen weiter zum Schritt S7 (Steuerungsblock-Verbindungsfestellung 3). Wenn im Schritt S6 festgestellt wird, dass der Steuerungsprozessblock nicht aufgefunden werden kann, fahren die Prozesse mit Schritt S8 fort (ein Prozess zur Ermittlung von Randbedingungen in einem Nicht-Verbindungszustand).
  • Im Schritt S7 führt die Steuerungs-Verteilungseinheit 3 die Steuerungsblock-Verbindungsfestellung 3 durch. Konkret ordnet die Steuerungs-Verteilungseinheit 3 einen weiteren Steuerungsprozessblock, der mit dem im Schritt S6 aufgefundenen Steuerungsprozessblock verbunden ist, einer Steuerung des im Schritt S6 aufgefundenen Steuerungsprozessblocks zu. Diese Zuordnung wird nicht durchgeführt, wenn der andere Steuerungsprozessblock bereits ein Zuordnungsziel hat.
  • Dann weist die Steuerungs-Verteilungseinheit 3 unter den verschiedenen Steuerungsprozessblöcken, die mit den anderen Steuerungsprozessblöcken verbunden sind, die der Steuerung neu zugeordnet worden sind, einen Steuerungsprozessblock zu, dessen Zuordnungsziel noch nicht festgelegt worden ist, und zwar der Steuerung des im Schritt S6 aufgefundenen Steuerungsprozessblocks.
  • Die 8A und 8B veranschaulichen jeweils einen Beispielprozess der Steuerungs-Verteilungseinheit 3 im Schritt S7. Im Beispiel gemäß 8A sind ein Eingangs-P-Prozess und ein Steuerungsprozess-Block Fun Z mit einem Steuerungsprozess-Block Fun X und der Steuerungsprozess-Block Fun X mit einem Steuerungsprozess-Block Fun Y verbunden. Obwohl die anderen Bausteine als der Steuerungsprozessblock Fun Z bereits einer Steuerung, der so genannten SPS-Einheit, zugeordnet sind, ist der Steuerungsprozessblock Fun Z noch keiner Steuerung zugeordnet.
  • Hier ordnet die Steuerungs-Verteilungseinheit 3 im Schritt S7 den Steuerungsprozessblock Fun Z der Steuerung (PLC) des Steuerungsprozessblocks Fun X zu. Obwohl der Prozess in 8A ähnlich ist wie der Steuerungsblock-Verbindungsfeststellungsprozess 1 im Schritt S3, unterscheiden sie sich dadurch, dass der Steuerungsblock-Verbindungsfeststellungs-Prozess 1 vom Ausgabeprozess zur Dateneingangsseite durchgeführt wird, während der Prozess in 8A vom Steuerungsprozessblock sowohl zur Dateneingangsseite als auch zur Datenausgangsseite durchgeführt wird.
  • Im Beispiel gemäß 8B ist der Steuerungsprozessblock Fun X mit dem Steuerungsprozessblock Fun Y verbunden, während der Steuerungsprozessblock Fun Y mit dem Steuerungsprozessblock Fun Z und einem Ausgangs-Q-Prozess verbunden ist. Obwohl die anderen Bausteine als der Steuerungsprozessblock Fun Z bereits einer Steuerung, der so genannten SPS-Einheit, zugeordnet sind, ist der Steuerungsprozessblock Fun Z noch keiner Steuerung zugeordnet.
  • Hier ordnet die Steuerungs-Verteilungseinheit 3 im Schritt S7 den Steuerungsprozessblock Fun Z der Steuerung (PLC) des Steuerungsprozessblocks Fun Y zu. Obwohl der Prozess in 8B ähnlich ist wie der Steuerungsblock-Verbindungsfeststellungsprozess 2 im Schritt S5, unterscheiden sie sich dadurch, dass der Steuerungsblock-Verbindungsfeststellungs-Prozess 2 vom Eingangsprozess zur Datenausgangsseite durchgeführt wird, während der Prozess in 8B vom Steuerungsprozessblock sowohl zur Dateneingangsseite als auch zur Datenausgangsseite durchgeführt wird.
  • Die Steuerungs-Verteilungseinheit 3 wiederholt rekursiv die Zuordnung, ausgehend vom neu zugeordneten Steuerungsprozessblock, wie oben beschrieben. Wenn dann der Steuerungsprozessblock keiner Steuerung neu zugeordnet werden kann, wird Schritt S7 beendet, und die Prozesse kehren zum Schritt S6 zurück.
  • Wenn die Prozesse vom Schritt S7 nach Schritt S6 zurückkehren, bestimmt die Steuerungs-Verteilungseinheit 3, ob ein Steuerungsprozessblock, der mit einem anderen Steuerungsprozessblock verbunden ist, der keiner Steuerung zugeordnet ist, aus den Steuerungen, denen die Steuerungen bereits wie oben beschrieben zugeordnet sind, aufgefunden werden kann.
  • Wenn festgestellt wird, dass der Steuerungsprozessblock auffindbar ist, wird aus den Steuerungsprozessblöcken ein Steuerungsprozessblock aufgefunden, der der Steuerung zugeordnet ist, deren Randbedingung am strengsten sind, und die Prozesse gehen dann weiter zum Schritt S7 (Steuerungsblock-Verbindungsfestellung 3). Wenn im Schritt S6 festgestellt wird, dass der Steuerungsprozessblock nicht aufgefunden werden kann, fahren die Prozesse mit Schritt S8 fort (ein Prozess zur Ermittlung von Randbedingungen in einem Nicht-Verbindungszustand).
  • Im Schritt S8 führt die Steuerungs-Verteilungseinheit 3 einen Prozess zur Ermittlung von Randbedingungen in einem Nicht-Verbindungszustand durch. Konkret bestimmt die Steuerungs-Verteilungseinheit 3, ob einer der Steuerungsprozessblöcke, der noch keiner Steuerung zugeordnet ist, nach einem geeigneten Beurteilungskriterium aufgefunden werden kann. Dabei wird ein relativ hoher Rang der Verarbeitungslast im Steuerungsprozessblock, die Anzahl der zu verarbeitenden globalen Variablen innerhalb des Steuerungsprozessblocks als groß eingestuft oder die Reihenfolge der den Steuerungsprozessblöcken einfach zugeordneten Identifikationsnummern als Beispiel für das geeignete Beurteilungskriterium herangezogen.
  • Die Steuerungs-Verteilungseinheit 3 kann das geeignete Kriterium für die Beurteilung unter einer einzigen Bedingung oder einer Kombination mehrerer Bedingungen festlegen. Die globalen Variablen sind typischerweise Variablen, die den Zugriff von jedem Teil, der nicht mit dem Steuerungsmodell in einem Steuerungsmodell verbunden ist, auf den Steuerungsprozessblock ermöglichen und eine Variable enthalten, deren zugänglicher Bereich begrenzt ist.
  • Wird im Schritt S8 festgestellt, dass der Steuerungsprozessblock nicht aufgefunden werden kann, so enden die Prozesse in 6.
  • Wird im Schritt S8 festgestellt, dass der Steuerungsprozessblock auffindbar ist, ruft die Steuerungs-Verteilungseinheit 3 eine Steuerung ab, der der aufgefundene Steuerungsprozessblock zuzuordnen ist, basierend auf dem entsprechenden Beurteilungskriterium. Als Beispiel für das geeignete Beurteilungskriterium dienen hier die Kriterien einer Steuerung, deren Randbedingung am wenigsten streng ist, und einer Steuerung, der viele andere Steuerungsprozessblöcke zugeordnet sind, die sich auf die im aufgefundenen Steuerungsprozessblock verwendeten globalen Variablen beziehen.
  • Die Steuerungs-Verteilungseinheit 3 kann das geeignete Kriterium für die Beurteilung unter einer einzigen Bedingung oder einer Kombination mehrerer Bedingungen festlegen. Dann gehen die Prozesse weiter zum Schritt S9 (Steuerungsblock-Verbindungsfestellung 4). Wenn der Prozess im Schritt S8 zum Schritt S9 übergeht, werden der Steuerungsprozessblock und die Steuerung aufgefunden.
  • Im Schritt S9 führt die Steuerungs-Verteilungseinheit 3 den Steuerungsblock-Verbindungsaufbau durch, der den Prozess 4 bestimmt. Konkret ordnet die Steuerungs-Verteilungseinheit 3 den im Schritt S8 aufgefundenen Steuerungsprozessblock der im Schritt S8 aufgefundenen Steuerung zu. Die Steuerungs-Verteilungseinheit 3 weist dann unter den verschiedenen Steuerungsprozessblöcken, die mit dem neu der Steuerung zugeordneten Steuerungsprozessblock verbunden sind, einen Steuerungsprozessblock zu, dessen Zuordnungsziel noch nicht festgelegt ist, und zwar der im Schritt S8 aufgefundenen Steuerung.
  • Die Steuerungs-Verteilungseinheit 3 wiederholt rekursiv die Zuordnung, ausgehend vom neu zugeordneten Steuerungsprozessblock, wie oben beschrieben. Wenn dann der Steuerungsprozessblock keiner Steuerung neu zugeordnet werden kann, wird Schritt S9 beendet, und die Prozesse kehren zum Schritt S8 zurück.
  • Durch eine Reihe von Prozessen verteilt die Steuerungs-Verteilungseinheit 3 alle Steuerungsprozessblöcke innerhalb des Steuerungsmodells auf die Steuerungen. Wenn die ersten und zweiten Steuerungsblöcke, die verschiedenen Steuerungen zugeordnet sind, in dem zugeordneten Steuerungsmodell miteinander verbunden sind, fügt die Kommunikationsfunktions-Zusatzeinheit 4 in 2 dem verbundenen Teil (Verbindungsleitung) zwischen dem ersten und zweiten Steuerungsblock einen Kommunikations-Steuerungsblock hinzu.
  • 9 veranschaulicht ein Beispiel für das Ergebnis des Prozesses, der von der Kommunikationsfunktions-Zusatzeinheit Einheit 4 auf dem zugeordneten Steuerungsmodell durchgeführt wird, wie in 5 dargestellt. Wie in 9 dargestellt, fügt die Kommunikationsfunktions-Zusatzeinheit 4 Datenkommunikationsprozesse hinzu, die Kommunikations-Steuerungsblöcke zwischen dem der Servosystem Steuerung zugeordneten Steuerungsprozessblock Fun 3 und jedem der der SPS-Einheit zugeordneten Steuerungsprozessblöcke Fun 1 und dem der SPS-Einheit zugeordneten Input-4-Prozess sind.
  • Die Datenkommunikationsprozesse umfassen verschiedene Prozesse für die Datenkommunikation zwischen verschiedenen Steuerungen, wie z.B. die Zuordnung einer internen Variable jeder Steuerung zu einer internen Variablen für die Kommunikation. Hierbei kann die Kommunikationsfunktions-Zusatzeinheit 4 eine interne Variable für die Kommunikation zuweisen, die auf den Verbindungsinformationen der Steuerung basiert, die von der Einstellinformations-Eingabeeinheit 2 empfangen werden.
  • Durch diese Prozesse werden alle Steuerungsblöcke im Steuerungsmodell den Steuerungen zugeordnet, und es entsteht ein Steuerungsmodell (z.B. das Steuerungsmodell gemäß 9), in dem die Kommunikations-Steuerungsblöcke im zusammenhängenden Teil zwischen den Steuerungsblöcken, die den verschiedenen Steuerungen zugeordnet sind, angeordnet sind.
  • Dann übersetzt der Anwender, z.B. der Bediener, den Steuerungsblock, der jeder Steuerung zugeordnet ist, in ein Programm für jede der Steuerungen, wobei eine bekannte Technik zur Umsetzung eines Steuerungsmodells in ein Programm verwendet wird, das auch von einer Fabrikautomationssteuerung verarbeitet werden kann. Wie oben beschrieben, kann das Steuerungsprogramm für jede der Steuerungen aus dem vom Benutzer eingegebenen Steuerungsmodell generiert werden und ignoriert die Einschränkungen der Steuerungen, die Einstellinformationen der Steuerungen, die die Einschränkungen der Steuerungen sind, und die Verbindungsinformationen zwischen den Steuerungen und den I/Os.
  • Zusammenfassung der Ausführungsform 1
  • Mit dem Programmerzeugungsgerät gemäß Ausführungsform 1 werden den Steuerungen die jeweiligen Steuerungsblöcke des Steuerungsmodells zugeordnet, basierend auf dem Steuerungsmodell, das von der Steuerungsmodell-Eingabeeinheit 1 empfangen wird, und den Einstellinformationen und den Verbindungsinformationen, die von der Einstellinformations-Eingabeeinheit 2 empfangen werden. Wenn erste und zweite der Steuerungsblöcke miteinander verbunden sind, wird ein Kommunikations-Steuerungsblock zu einem verbundenen Teil zwischen dem ersten und dem zweiten Steuerungsblock hinzugefügt, wobei die ersten und zweiten Steuerungsblöcke verschiedenen Steuerungen im zugeordneten Steuerungsmodell zugeordnet werden.
  • Dementsprechend kann aus dem Steuerungsmodell fast automatisch ein Steuerungsmodell generiert werden, das für jede der Steuerungen in ein Programm übersetzbar ist, das die Einschränkungen der Steuerungen außer Acht lässt. Dadurch können die Arbeitsabläufe des Anwenders, der die Vorgaben der Steuerungen versteht und ein Programm entwickelt, reduziert werden.
  • Die bei der Ausführungsform 1 beschriebenen Prozesse der Steuerungs-Verteilungseinheit 3, z.B. die Bedingungen oder die Ordnungen der bestimmenden Prozesse, sind beispielhaft und nicht begrenzt. Darüber hinaus schränkt Ausführungsform 1 den Anwender nicht ein, das Steuerungsmodell nach den Vorgängen der Steuerungs-Verteilungseinheit 3 und der Kommunikationsfunktions-Zusatzeinheit 4 anzupassen.
  • Obwohl der Zuordnungsprozess zu den Steuerungen rekursiv durchgeführt wird, solange in der Steuerungsblockverbindung, die die Prozesse 1, 2, 3 und 4 von Ausführungsform 1 bestimmt, Steuerungen neu zugeordnet werden, kann der Zuordnungsprozess auf jeden der Prozesse zur Ermittlung von Randbedingungen in der Mitte der Schrittfolge verschoben werden. Darüber hinaus kann eine Steuerung aufgefunden werden, indem die Strenge der Zwänge oder der Randbedingungen jeder Steuerung in jedem der Prozesse zur Ermittlung der Zwänge oder Randbedingungen neu bestimmt wird.
  • Darüber hinaus kann in jedem der Verfahren zur Ermittlung der Zwänge oder Randbedingungen ein Verfahren zur Untersagung der Zuweisung an die Steuerungen oder zur Aufhebung des Verbotsverfahrens entsprechend dem Ergebnis der Bestimmung der Zwänge oder Randbedingungen durchgeführt werden.
  • Ausführungsform 2
  • Die Blockkonfiguration eines Programmerzeugungsgerätes gemäß Ausführungsform 2 der vorliegenden Erfindung ist die gleiche wie die (2) gemäß Ausführungsform 1. In dem Programmerzeugungsgerät gemäß Ausführungsform 2 werden im Folgenden die gleichen oder ähnliche Komponenten wie bei der Ausführungsform 1 durch die gleichen Bezugszeichen bezeichnet, und die verschiedenen Komponenten werden hauptsächlich beschrieben.
  • Gemäß Ausführungsform 1 ändert die Steuerungs-Verteilungseinheit 3 die Zuordnung des Steuerungsmodells zu den Steuerungen nicht. Wenn jedoch alle Steuerungsblöcke innerhalb des Steuerungsmodells den Steuerungen zugeordnet sind, wird die Zuordnung vorzugsweise überprüft und geändert, wenn eine der Steuerungen nicht den Einschränkungen oder Randbedingungen, wie z.B. einer Steuerungsperiode genügt.
  • Gemäß der vorliegenden Ausführungsform 2 enthält die Einstellinformation eine Einschränkung oder Randbedingung, die durch die Vielzahl der Steuerungen erfüllt werden muss. Wenn das Steuerungsmodell, in dem die Steuerungen zugeordnet sind, nicht der Einschränkung entspricht, die in den Einstellinformationen enthalten ist, die von der Einstellinformations-Eingabeeinheit 2 empfangen werden, ändert die Steuerungszuordnungseinheit 3 die Zuordnung der Steuerungsblöcke im Steuerungsmodell. Konkret hebt die Steuerungs-Verteilungseinheit 3 rekursiv die Zuordnung der Steuerungsblöcke zu den Steuerungen auf und ordnet die Steuerungsblöcke rekursiv den rekursiv optimalen Steuerungen im Hinblick auf das gesamte Steuerungsmodell zu.
  • 10 ist ein Flussdiagramm, das die Zuordnungsprozesse der Steuerungs-Verteilungseinheit 3 gemäß Ausführungsform 2 veranschaulicht. In 10 werden die gleichen Prozesse wie in 6 durch die gleichen Bezugszeichen bezeichnet, und hauptsächlich die Unterschiede werden beschrieben.
  • Wie in 10 dargestellt, wird den Prozessen der Steuerungs-Verteilungseinheit 3 gemäß Ausführungsform 2 ein Randbedingungsbestimmungsprozess als Schritt S11 nach dem Schritt S9 in 6 hinzugefügt.
  • Im Schritt S11 (dem Randbedingungs-Bestimmungs- oder -Ermittlungsverfahren) bestimmt die Steuerungs-Verteilungseinheit 3, ob das Ergebnis der Zuordnung der Steuerungsblöcke zu den jeweiligen Steuerungen den Randbedingungen der Steuerungen in der Einstellinformation der Steuerungen entspricht, die von der Einstellinformations-Eingabeeinheit 2 eingegeben wird. So wird z.B. bei der Abarbeitung der den Steuerungen zugeordneten Steuerungsblöcke ermittelt, ob die Steuerungsperiode, die eine Randbedingung ist, erfüllt ist.
  • Wenn im Schritt S11 festgestellt wird, dass alle Randbedingungen erfüllt sind, beendet die Steuerungs-Verteilungseinheit 3 den Schritt S11 und auch die Prozesse in 10. Wenn im Schritt S11 nicht festgestellt wird, dass alle Randbedingungen erfüllt sind, hebt die Steuerungs-Verteilungseinheit 3 die Zuordnung des Steuerungsblocks zur Steuerung auf, die den Randbedingungen nicht genügt.
  • Im Beispiel gemäß 10 kehren die Prozesse nach Abbruch der Zuordnung zum Schritt S2 zurück. Bei Umlegungsprozessen nach der Stornierung wird jedoch ein Umlegungsverfahren durchgeführt, während es dem stornierten Steuerungsblock untersagt ist, vor der Stornierung derselben Steuerung zugeordnet zu werden (im Folgenden als "Umlegungsverfahren mit Verbot" bezeichnet).
  • Wenn auch nur eine vorgegebene Anzahl rekursiver Suchvorgänge nicht die Zuordnung erreicht, die alle Einschränkungen erfüllt, was nicht eigens dargestellt ist, kann dem Benutzer eine Fehlermeldung angezeigt werden, die darauf hinweist, dass die Einschränkungen nicht erfüllt sind, und die Prozesse in 10 können beendet werden.
  • Obwohl das Beispiel der Aufhebung der Zuordnung zur Steuerung mit Bezug auf 10 beschrieben wird, ist die Aufhebung der Zuordnung zur Steuerung nicht darauf beschränkt, sondern kann z.B. in einer Reihenfolge durchgeführt werden, die in umgekehrter Reihenfolge zur zugeordneten Reihenfolge erfolgt. Insbesondere dann, wenn im Schritt S11 nicht festgestellt wird, dass alle Randbedingungen erfüllt sind, hebt die Steuerungs-Verteilungseinheit 3 die Zuordnung aller Steuerungsblöcke auf, die im Schritt S9 durchgeführt worden sind (Steuerungsblock-Verbindungsfestellung 4), und führt den Zuordnungsprozess mit Verbot durch (z.B. wieder den Schritt S9).
  • Dann wird Schritt S11 analog wie oben ausgeführt. Wenn nicht festgestellt wird, dass alle Randbedingungen erfüllt sind, indem die Schritte S9 und S11 wiederholt ausgeführt werden, wird die Zuweisung aller Steuerungsblöcke, die im Schritt S7 (Steuerungsblock-Verbindungsfestellung 3) durchgeführt worden sind, abgebrochen und der Zuordnungsprozess mit Verbot (z.B. wieder Schritt S7) durchgeführt. Sofern im Schritt S11 nicht festgestellt wird, dass alle Randbedingungen erfüllt sind, werden die Annullierung der Zuteilung und der Zuteilungsprozess mit Verbot in umgekehrter chronologischer Reihenfolge vom Schritt S5 bis zum Schritt S3 durchgeführt.
  • Andernfalls kann die Verbindung über den Triggereingang bevorzugt gegenüber der Verbindung über den Dateneingang abgebrochen werden. Denn in vielen Fällen meldet der Triggereingang ein diskretes Ereignis, und die Zuordnung des Triggereingangs zu den anderen Steuerungen ist problemlos möglich. In der obigen Beschreibung hebt die Steuerungs-Verteilungseinheit 3 die Zuordnung von "allen Steuerungsblöcken" auf, die in der jeweiligen Steuerungsblockverbindung durchgeführt werden und die die Prozesse 1, 2, 3 und 4 bestimmen. Die Prozesse sind jedoch nicht auf solche beschränkt, sondern die Zuordnung der Steuerungsblöcke kann auch in umgekehrter Reihenfolge zur vergebenen Reihenfolge aufgehoben werden, und der Vergabeprozess mit Untersagung kann in jedem der Steuerungsblock-Verbindungen bestimmenden Prozesse durchgeführt werden.
  • Zusammenfassung der Ausführungsform 2
  • In dem Programmerzeugungsgerät gemäß Ausführungsform 2 wird die Zuordnung der Steuerungsblöcke geändert, wenn das Steuerungsmodell, in dem die Steuerungen zugeordnet sind, nicht der Einschränkung entspricht, die in den Einstellinformationen enthalten ist, die von der Einstellinformations-Eingabeeinheit 2 empfangen werden. So kann die optimale Zuordnung zur Erfüllung der Randbedingungen rekursiv gesucht werden.
  • Ausführungsform 3
  • Die Blockkonfiguration eines Programmerzeugungsgeräts gemäß Ausführungsform 3 der vorliegenden Erfindung ist die gleiche wie die (2) gemäß Ausführungsform 1. In dem Programmerzeugungsgerät gemäß Ausführungsform 3 werden im Folgenden die gleichen oder ähnliche Komponenten wie bei der Ausführungsform 1 durch die gleichen Bezugszeichen bezeichnet, und hauptsächlich die davon verschiedenen Komponenten werden beschrieben.
  • Die in 9 dargestellte Datenkommunikationsverarbeitung (Kommunikations-Steuerungsblöcke) umfasst in der Ausführungsform 3 eine Funktion zur Durchführung der Datenverarbeitung bei der Kommunikationsdatenausgabe von einem der ersten und zweiten Steuerungsblöcke und zur Eingabe der Kommunikationsdaten in den anderen der ersten und zweiten Steuerungsblöcke, wobei die Datenverarbeitung für eine Steuerungsperiode relevant ist (Kommunikationssynchronisation).
  • Die Kommunikationsfunktions-Zusatzeinheit 4 bestimmt dann die Datenverarbeitung, die in der Datenkommunikationsverarbeitung (Kommunikations-Steuerungsblock) durchzuführen ist, basierend auf dem Steuerungsmodell, das von der Steuerungsmodell-Eingabeeinheit 1 empfangen wird, und den Einstellinformationen, die von der Einstellinformations-Eingabeeinheit 2 empfangen werden.
  • Beispielsweise fügt die Kommunikationsfunktions-Zusatzeinheit 4 bei unterschiedlichen Steuerungen die Datenverarbeitung zur Datenkommunikationsverarbeitung hinzu, um z.B. ein Versagen des Sendens und Empfangens von Kommunikationsdaten zu verhindern oder die Steuerungsleistung mit Hilfe der Kommunikationsdaten zu verbessern.
  • Ein Beispiel für die Bestimmung der Datenverarbeitung, die von der Kommunikationsfunktion, die die Einheit 4 auf eine langperiodische Steuerung A mit langer Steuerungsperiode und eine kurzperiodische Steuerung B mit kurzer Steuerungsperiode hinzufügt, durchgeführt wird, wird im Folgenden beschrieben.
  • Wenn die Kurzzeit-Steuerung B Impulsdaten an die Langzeit-Steuerung A überträgt, bestimmt die Kommunikationsfunktions-Zusatzeinheit 4 einen Prozess, bei dem die Kommunikationsdaten von der Kurzzeit-Steuerung B gehalten werden, bis die Langzeit-Steuerung A die Impulsdaten empfängt, um einen Ausfall des Sendens und Empfangens der Kommunikationsdaten zu verhindern, da eine Datenverarbeitung in der Datenkommunikationsverarbeitung durchzuführen ist.
  • Umgekehrt, wenn die Kurzzeit-Steuerung B Impulsdaten von der Langzeit-Steuerung A empfängt, bestimmt die Kommunikationsfunktions-Zusatzeinheit 4 einen Prozess des Pulsierens der Kommunikationsdaten von der Langzeit-Steuerung A als die in der Datenkommunikationsverarbeitung durchzuführende Datenverarbeitung. Darüber hinaus, wenn die Kurzzeit-Steuerung B benötigt wird, um die Kommunikationsdaten der Langzeit-Steuerung A als eine Menge kontinuierlicher Variation zu verarbeiten, bestimmt die Kommunikationsfunktions-Zusatzeinheit 4 einen Prozess der Interpolation der Kommunikationsdaten der Langzeit-Steuerung A als die in der Datenkommunikationsverarbeitung durchzuführende Datenverarbeitung.
  • Wie oben beschrieben, bestimmt die Kommunikationsfunktions-Zusatzeinheit 4, welche Art der Datenverarbeitung in der Datenkommunikationsverarbeitung (ein Kommunikations-Steuerungsblock) durchgeführt wird, basierend auf den Einstellbedingungen der Steuerungen und der Art der Eingangs- und Ausgangsdaten des Steuerungsblocks, die an die Datenkommunikationsverarbeitung anzuschließen sind.
  • Zusammenfassung der Ausführungsform 3
  • Das Programmerzeugungsgerät gemäß Ausführungsform 3 bestimmt die in der Datenkommunikationsverarbeitung durchzuführende Datenverarbeitung (ein Kommunikations-Steuerungsblock), basierend auf dem Steuerungsmodell, das von der Steuerungsmodell-Eingabeeinheit 1 empfangen wird, und den von der Einstellinformations-Eingabeeinheit 2 empfangenen Einstellinformationen. Dementsprechend können die Benutzeroperationen beim Hinzufügen eines Programms zur Kommunikation reduziert werden.
  • Ausführungsform 4
  • Die Blockkonfiguration eines Programmerzeugungsgeräts gemäß Ausführungsform 4 der vorliegenden Erfindung ist die gleiche wie die (2) gemäß der Ausführungsform 1. In dem Programmerzeugungsgerät gemäß Ausführungsform 4 werden im Folgenden die gleichen oder ähnliche Komponenten wie bei der Ausführungsform 1 durch die gleichen Bezugszeichen bezeichnet, und hauptsächlich werden die davon verschiedenen Komponenten beschrieben.
  • Die Datenkommunikation zwischen Steuerungsblöcken wird normalerweise auf eine Verbindung zwischen Steuerungsblöcken in einem Steuerungsmodell programmiert. Die Programmierung erfolgt jedoch manchmal dadurch, dass eine globale Variable für das gesamte Steuerungsmodell definiert und auf die globale Variable zugegriffen wird, um die Kommunikation zwischen den Steuerungsblöcken zu ermöglichen. Da auf die globale Variable in einem Prozess in einem Steuerungsblock oder in einem in einer anderen Programmiersprache beschriebenen Prozess zugegriffen wird, wird sie nicht als Verbindungsinformation des Steuerungsblocks dargestellt.
  • Das Programmerzeugungsgerät gemäß Ausführungsform 4 kann auch in einem solchen Fall ein Programm erzeugen. Konkret umfasst das Steuerungsmodell: einen dritten der Steuerungsblöcke; und einen vierten der Steuerungsblöcke, der in der Lage ist, Daten zum und vom dritten Steuerungsblock über eine globale Variable zu übertragen und zu empfangen, wobei der vierte Steuerungsblock nicht mit dem dritten Steuerungsblock verbunden ist.
  • Wenn unter den Steuerungen im Steuerungsmodell, wie in 9 dargestellt, die Steuerungen, denen die dritten und vierten Steuerungsblöcke zugeordnet sind, unterschiedlich sind, fügt die Kommunikationsfunktions-Zusatzeinheit 4 eine Datenkommunikationsverarbeitung hinzu, die zwischen den Steuerungen durchzuführen ist, denen die dritten und vierten Steuerungsblöcke zugeordnet sind.
  • Die Kommunikationsfunktions-Zusatzeinheit 4 ruft in den Steuerungsblöcken, die den jeweiligen Steuerungen zugeordnet sind, globale Variablen ab und bestimmt das Vorhandensein einer Vielzahl von Steuerungsblöcken, deren globale Variablen gleich und für einander zugänglich sind, deren Steuerungen aber unterschiedlich sind. Wenn die Kommunikationsfunktions-Zusatzeinheit 4 das Vorhandensein solcher Steuerungsblöcke feststellt, fügt die Kommunikationsfunktions-Zusatzeinheit 4 ein Kommunikationsprogramm (Datenkommunikationsverarbeitung) zwischen den Steuerungen basierend auf den Verbindungsinformationen der Steuerungen hinzu.
  • Dieses Kommunikationsprogramm kann als eigenständiger Steuerungsblock, der nicht mit den anderen Steuerungsblöcken verbunden ist, durch ein anderes Programm als eine Programmiersprache zum Verbinden der Steuerungsblöcke oder als Parametrierung der Steuerungen hinzugefügt werden. Das Kommunikationsprogramm ist durch diese Methoden nicht eingeschränkt.
  • Zusammenfassung der Ausführungsform 4
  • Mit dem Programmerzeugungsgerät gemäß Ausführungsform 4 wird, für den Fall, dass die dritten und vierten Steuerungsblöcke in der Lage sind, Daten zwischenzeitlich unter Verwendung einer globalen Variablen zu senden und zu empfangen, aber im Steuerungsmodell nicht miteinander verbunden sind, wenn Steuerungen, denen die dritten und vierten Steuerungsblöcke zugeordnet sind, voneinander verschieden sind, eine Datenkommunikationsverarbeitung zwischen den Steuerungen, denen die dritten und vierten Steuerungsblöcke zugeordnet sind, hinzugefügt. Dementsprechend können die Benutzeroperationen beim Hinzufügen eines Programms zur Kommunikation reduziert werden.
  • Ausführungsform 5
  • 11 ist ein Blockschaltbild, das die Konfiguration eines Programmerzeugungsgeräts gemäß Ausführungsform 5 der vorliegenden Erfindung veranschaulicht. Das Programmerzeugungsgerät in 11 enthält neben dem Programmerzeugungsgerät (2) gemäß Ausführungsform 1 eine Eingabe-Spezifikationseinheit 5. Die Eingabe-Spezifikationseinheit 5 kann über einen externen Eingang (ein Benutzereingang bzw. eine Benutzereingabe) eine Steuerung festlegen, der ein Steuerungsblock eines Steuerungsmodells zugeordnet werden soll. Als Beispiel für die Eingabe-Spezifikationseinheit 5 werden verschiedene Eingabegeräte, wie etwa Tastatur und Touchpanel oder später noch zu beschreibende Software verwendet.
  • Wenn es einen Steuerungsblock gibt, dem der Benutzer eine zuzuordnende Steuerung zuweisen möchte, gibt der Benutzer den Steuerungsblock in dem Steuerungsmodell mit Hilfe der Eingabe-Spezifikationseinheit 5 an. Dieser Vorgabeprozess kann bei einem Steuerungsmodell durchgeführt werden, das in die Steuerungs-Verteilungseinheit 3 eingegeben werden soll. Dieser Vorgang kann durch manuelles Umordnen eines Steuerungsmodells in eine Steuerung auf der Basis des Ergebnisses der Ausgabe aus dem Steuerungsverteilungseinheit 3 durchgeführt werden. Weiterhin kann das manuell neu zugeordnete Steuerungsmodell wieder in den Steuerungsverteilungseinheit 3 eingespeist werden.
  • Zusammenfassung der Ausführungsform 5
  • Da das Programmerzeugungsgerät gemäß Ausführungsform 5 die Funktion hat, dem Anwender die Möglichkeit zu geben, manuell eine Steuerung anzugeben, der ein Steuerungsblock zugeordnet werden soll, kann der Anwender eine Detailkonstruktion durchführen.
  • Andere Alternativen
  • Die jeweiligen Funktionen der Steuerungsmodell-Eingabeeinheit 1, der Einstellinformations-Eingabeeinheit 2, der Steuerungs-Verteilungseinheit 3 und der Kommunikationsfunktions-Zusatzeinheit 4 in den oben beschriebenen Programmerzeugungsgeräten können durch eine Verarbeitungsschaltung realisiert werden. Mit anderen Worten, das Gerät zur Programmgenerierung enthält eine Verarbeitungsschaltung für folgende Funktionen:
    Empfangen eines Steuerungsmodells, dargestellt durch Verbinden einer Vielzahl von Steuerungsblöcken an einem Steuerungs-Zielgerät, wobei das Steuerungsmodell in ein Programm übersetzbar ist; Empfangen von Einstellinformationen einer Vielzahl von Steuerungen und Verbindungsinformationen zwischen den Steuerungen und zwischen den Steuerungen und zwischen den Steuerungen und Eingabe-/Ausgabegeräten; Zuordnen der jeweiligen Steuerungsblöcke des Steuerungsmodells zu den Steuerungen auf der Grundlage des Steuerungsmodells, der Einstellinformationen und der erhaltenen Verbindungsinformationen; und Hinzufügen, wenn erste und zweite der Steuerungsblöcke miteinander verbunden sind, eines Kommunikations-Steuerungsblocks zu einem verbundenen Teil zwischen dem ersten und zweiten Steuerungsblock, wobei die ersten und zweiten Steuerungsblöcke verschiedenen Steuerungen im zugeordneten Steuerungsmodell zugeordnet sind.
  • Die Verarbeitungsschaltung ist ein Prozessor 91, der ein Programm ausführt, das in einem Speicher abgelegt ist, wie in 12 dargestellt. Dieser Prozessor 91 besteht aus einer Zentraleinheit (CPU), einem Zentralprozessor, einer Verarbeitungseinheit, einer Recheneinheit, einem Mikroprozessor, einem Mikrocomputer, einem Prozessor und einem DSP.
  • Die Funktionen der Steuerungsmodell-Eingabeeinheit 1, der Einstellinformations-Eingabeeinheit 2, des Steuerungs-Verteilungseinheit 3 und der Kommunikationsfunktions-Zusatzeinheit 4 werden durch Software, Firmware oder eine Kombination aus Software und Firmware realisiert. Die Software und die Firmware werden als Programme bezeichnet und in einem Speicher 92 gespeichert, wie in 12 dargestellt.
  • Die Verarbeitungsschaltung führt die Funktionen in jeder der Einheiten aus, indem sie die im Speicher abgelegten Programme liest und ausführt. Mit anderen Worten, das Programmerzeugungsgerät enthält einen Speicher, in dem ein Programm gespeichert wird, wenn es von der Verarbeitungsschaltung ausgeführt wird, um die folgenden Schritte nacheinander auszuführen:
    • – Empfangen eines Steuerungsmodells, dargestellt durch Verbinden einer Vielzahl von Steuerungsblöcken auf dem Steuerungs-Zielgerät, wobei das Steuerungsmodell in ein Programm übersetzbar ist;
    • – Empfangen von Einstellinformationen der Vielzahl von Steuerungen und Verbindungsinformationen zwischen den Steuerungen und zwischen den Steuerungen und zwischen den Steuerungen und den Eingabe-/Ausgabegeräten;
    • – Zuordnen der jeweiligen Steuerungsblöcke des Steuerungsmodells zu den Steuerungen auf der Grundlage des Steuerungsmodells, der Einstellinformationen und der erhaltenen Verbindungsinformationen; und
    Hinzufügen, wenn erste und zweite der Steuerungsblöcke miteinander verbunden sind, eines Kommunikations-Steuerungsblocks zu einem verbundenen Teil zwischen dem ersten und zweiten Steuerungsblock, wobei die ersten und zweiten Steuerungsblöcke verschiedenen Steuerungen im zugeordneten Steuerungsmodell zugeordnet sind.
  • Mit anderen Worten, diese Programme veranlassen einen Computer, Prozeduren oder Methoden der Steuerungsmodell-Eingabeeinheit 1, der Einstellinformations-Eingabeeinheit 2, der Steuerungs-Verteilungseinheit 3 und der Kommunikationsfunktions-Zusatzeinheit 4 auszuführen. Beispiele für den Speicher sind ein nichtflüchtiger oder flüchtiger Halbleiterspeicher, wie z.B. ein RAM, ein ROM, ein Flash-Speicher, ein EPROM oder ein EEPROM, eine Magnetplatte, eine flexible Platte, eine optische Platte, eine Compact-Disk, eine Mini-Disk und eine DVD. Die bei der Ausführungsform 5 beschriebene Eingabe-Spezifikationseinheit 5 hat die gleiche Struktur, wie z.B. die Steuerungsmodell-Eingabeeinheit 1.
  • Die Ausführungsformen der vorliegenden Erfindung können frei miteinander kombiniert und im Rahmen der vorliegenden Erfindung entsprechend modifiziert oder dabei Merkmale weggelassen werden.
  • Obwohl diese Erfindung ausführlich beschrieben worden ist, ist die Beschreibung in jeder Hinsicht nur beispielhaft zu sehen und schränkt die Erfindung nicht ein. Daher können zahlreiche, bisher noch nicht im Einzelnen angegebene Modifikationen verwendet werden, ohne den Anwendungsbereich dieser Erfindung zu verlassen.
  • Bezugszeichenliste
  • 1
    Steuerungsmodell-Eingabeeinheit,
    2
    Einstellinformations-Eingabeeinheit,
    3
    Steuerungsverteilungseinheit,
    4
    Kommunikationsfunktions-Zusatzeinheit,
    5
    Eingabe-Spezifikationseinheit.

Claims (6)

  1. Programmerzeugungsvorrichtung, die ein Programm zur Steuerung eines Steuerungs-Zielgerätes erzeugt, das eine Vielzahl von Steuerungen und Eingabe-/Ausgabegeräten aufweist, die mit den jeweiligen Steuerungen verbunden sind, wobei die Programmerzeugungsvorrichtung Folgendes aufweist: – eine Steuerungsmodell-Eingabeeinheit, die ein Steuerungsmodell empfängt, das durch Verbinden einer Vielzahl von Steuerungsblöcken auf dem Steuerungs-Zielgerät dargestellt wird, wobei das Steuerungsmodell in das Programm übersetzbar ist; – eine Einstellungsinformations-Eingabeeinheit, die Einstellungsinformationen von der Vielzahl von Steuerungen empfängt, und Verbindungsinformationen zwischen den Steuerungen sowie zwischen den Steuerungen und den Eingabe-/Ausgabegeräten empfängt; – eine Steuerungs-Verteilungseinheit, die die jeweiligen Steuerungsblöcke des Steuerungsmodells den Steuerungen zuordnet, basierend auf dem Steuerungsmodell, das von der Steuerungsmodell-Eingabeeinheit empfangen wird, und den Einstellinformationen und den Verbindungsinformationen, die von der Einstellinformations-Eingabeeinheit empfangen werden; und – eine Kommunikationsfunktions-Zusatzeinheit, die dann, wenn erste und zweite der Steuerungsblöcke miteinander verbunden sind, einen Kommunikations-Steuerungsblock zu einem verbundenen Teil zwischen den ersten und zweiten Steuerungsblöcken hinzufügt, wobei die ersten und zweiten Steuerungsblöcke verschiedenen Steuerungen von den Steuerungen in dem zugeordneten Steuerungsmodell zugeordnet sind.
  2. Programmerzeugungsgerät nach Anspruch 1, wobei die Einstellungsinformation eine Einschränkung enthält, die durch die genannte Vielzahl von Steuerungen zu erfüllen ist, und wobei die Steuerungs-Verteilungseinheit die Zuweisung der Steuerungsblöcke in dem zugeordneten Steuerungsmodell ändert, wenn das Steuerungsmodell die in der Einstellinformation enthaltene Einschränkung, die von der Einstellinformations-Eingabeeinheit empfangen wird, nicht erfüllt.
  3. Programmerzeugungsgerät nach Anspruch 1 oder 2, wobei der Kommunikations-Steuerungsblock eine Funktion besitzt, eine Datenverarbeitung von den Kommunikationsdaten durchzuführen, die von einem von dem ersten und dem zweiten Steuerungsblock ausgegeben werden, und die Kommunikationsdaten in den anderen von dem ersten und dem zweiten Steuerungsblock einzugeben, wobei die Datenverarbeitung für eine Steuerungsperiode relevant ist, und wobei die Kommunikationsfunktions-Zusatzeinheit bestimmt, dass die Datenverarbeitung von dem Kommunikations-Steuerungsblock durchzuführen ist, und zwar basierend auf dem Steuerungsmodell, das von der Steuerungsmodell-Eingabeeinheit empfangen wird, und den Einstellinformationen, die von der Einstellungsinformations-Eingabeeinheit empfangen werden.
  4. Programmerzeugungsgerät nach Anspruch 1 oder 2, wobei das Steuerungsmodell Folgendes aufweist: – einen dritten der Steuerungsblöcke; und – einen vierten der Steuerungsblöcke, der dazu ausgebildet ist, Daten zu und von dem dritten Steuerungsblock unter Verwendung einer globalen Variablen zu übertragen und zu empfangen, wobei der vierte Steuerungsblock nicht mit dem dritten Steuerungsblock verbunden ist, und, wenn unter den Steuerungen in dem zugeordneten Steuerungsmodell Steuerungen, denen die dritten und vierten Steuerungsblöcke zugeordnet sind, voneinander verschieden sind, die Kommunikationsfunktions-Zusatzeinheit (4) eine zwischen den Steuerungen durchzuführende Datenkommunikationsverarbeitung hinzufügt, denen die dritten und vierten Steuerungsblöcke zugeordnet sind.
  5. Programmerzeugungsgerät nach Anspruch 1 oder 2, das eine Eingabe-Spezifikationseinheit aufweist, die in der Lage ist, durch einen externen Eingang eine Steuerung festzulegen, der einer der genannten Steuerungsblöcke des genannten Steuerungsmodells zuzuordnen ist.
  6. Programmerzeugungsverfahren zum Erzeugen eines Programms zum Steuern eines Steuerungs-Zielgerätes mit einer Vielzahl von Steuerungen und mit den jeweiligen Steuerungen verbundenen Eingabe-/Ausgabegeräten, wobei das Programmerzeugungsverfahren Folgendes umfasst: – Empfangen eines Steuerungsmodells, das durch Verbinden einer Vielzahl von Steuerungsblöcken mit dem Steuerungs-Zielgerät erhalten wird, wobei das Steuerungsmodell in das Programm übersetzbar ist; – Empfangen von Einstellinformationen von der Vielzahl von Steuerungen und Verbindungsinformationen zwischen den Steuerungen sowie zwischen den Steuerungen und den Eingabe-/Ausgabegeräten; – Zuordnen der jeweiligen Steuerungsblöcke des Steuerungsmodells zu den Steuerungen auf der Grundlage des Steuerungsmodells, der Einstellinformationen und der empfangenen Verbindungsinformationen; und, wenn erste und zweite Steuerungsblöcke der Steuerungsblöcke miteinander verbunden sind, Hinzufügen eines Kommunikations-Steuerungsblocks zu einem verbundenen Teil zwischen dem ersten und dem zweiten Steuerungsblock, und Bestimmen der Datenverarbeitung, die von dem Kommunikations-Steuerungsblock durchzuführen ist, basierend auf dem empfangenen Steuerungsmodell und den empfangenen Einstellinformationen, wobei die ersten und zweiten Steuerungsblöcke verschiedenen Steuerungen in dem zugeordneten Steuerungsmodell zugeordnet werden, wobei der Kommunikations-Steuerungsblock eine Funktion aufweist, die darin besteht, die Datenverarbeitung der Kommunikationsdaten, die von einem von dem ersten und dem zweiten Steuerungsblock ausgegeben worden sind, durchzuführen und die Kommunikationsdaten in den anderen von dem ersten und dem zweiten Steuerungsblock einzugeben, wobei die Datenverarbeitung für eine Steuerungsperiode relevant ist.
DE112015006682.9T 2015-07-10 2015-07-10 Vorrichtung und verfahren zur erzeugung von programmen Granted DE112015006682T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/069878 WO2017009895A1 (ja) 2015-07-10 2015-07-10 プログラム生成装置及びその方法

Publications (1)

Publication Number Publication Date
DE112015006682T5 true DE112015006682T5 (de) 2018-03-29

Family

ID=55808239

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112015006682.9T Granted DE112015006682T5 (de) 2015-07-10 2015-07-10 Vorrichtung und verfahren zur erzeugung von programmen

Country Status (6)

Country Link
US (1) US10126726B2 (de)
JP (1) JP5911044B1 (de)
KR (1) KR101981421B1 (de)
CN (1) CN107850881B (de)
DE (1) DE112015006682T5 (de)
WO (1) WO2017009895A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7183545B2 (ja) * 2018-02-27 2022-12-06 オムロン株式会社 制御システムおよび機能ユニット
CN109814480B (zh) * 2019-01-18 2021-10-08 广州宁基智能系统有限公司 Plc与线控程序之间的可视化交互方法及系统
KR20200121090A (ko) * 2019-04-15 2020-10-23 엘에스일렉트릭(주) Plc 시스템 및 이의 입출력 리프레시 주기 제어방법
JP7385536B2 (ja) 2020-06-30 2023-11-22 日立Astemo株式会社 ソフトウェア開発支援装置及びソフトウェア開発支援方法
US20230094187A1 (en) * 2021-09-24 2023-03-30 Rockwell Automation Technologies, Inc. Variable relationship discovery and recommendations for industrial automation environments

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3372301B2 (ja) * 1993-06-25 2003-02-04 オークマ株式会社 プログラマブルコントローラ
KR100234982B1 (ko) * 1997-11-20 1999-12-15 윤종용 임의 작성된 기능 블록도의 실행 순서 결정방법
JP3737650B2 (ja) 1999-07-09 2006-01-18 株式会社東芝 統合コントローラ及び制御システム
JP2001209407A (ja) 2000-01-25 2001-08-03 Omron Corp Plc用プログラムの実行シミュレーション装置
JP2001224010A (ja) * 2000-02-08 2001-08-17 Mitsubishi Electric Corp 監視カメラ装置
DE60142136D1 (de) * 2000-02-21 2010-07-01 Panasonic Corp Linken von Java class files für eingebettete Geräte
JP2004213183A (ja) 2002-12-27 2004-07-29 Mazda Motor Corp 制御用プログラムの作成支援プログラム、作成支援方法及び作成支援装置
US7725877B2 (en) * 2004-01-09 2010-05-25 National Instruments Corporation Graphical program which includes an I/O node for hardware abstraction
JP4301976B2 (ja) * 2004-03-08 2009-07-22 三菱電機株式会社 プログラミングツール
JP2006048284A (ja) * 2004-08-03 2006-02-16 Yaskawa Electric Corp プログラマブルコントローラ装置およびオプションモジュールとの同期方法
JP2007122373A (ja) 2005-10-27 2007-05-17 Yaskawa Electric Corp 分散型モーションコントロールシステムおよびそのシステム設定方法
US9726392B2 (en) * 2006-06-29 2017-08-08 Honeywell International Inc. Generic user interface system
US8108784B2 (en) * 2006-08-04 2012-01-31 National Instruments Corporation Configuring icons to represent data transfer functionality
US7996782B2 (en) * 2007-06-08 2011-08-09 National Instruments Corporation Data transfer indicator icon in a diagram
EP2221697B1 (de) * 2009-02-20 2020-01-15 dSPACE digital signal processing and control engineering GmbH Verfahren zum Test eines Steuergeräts und Testvorrichtung
JP5101660B2 (ja) * 2010-05-26 2012-12-19 三菱電機株式会社 プログラマブルコントローラ
US8983632B2 (en) * 2011-03-29 2015-03-17 Honeywell International Inc. Function block execution framework
KR20140049669A (ko) * 2012-10-18 2014-04-28 현대중공업 주식회사 로봇 제어 장치
JP6201574B2 (ja) * 2013-08-08 2017-09-27 株式会社ジェイテクト Plc用のプログラミングツール
JP5659355B1 (ja) * 2013-11-26 2015-01-28 東屋株式会社 食品製品及び食品製品の提供方法
US9658741B2 (en) * 2014-04-25 2017-05-23 Rohde & Schwarz Gmbh & Co. Kg Measuring device and measuring method with interactive operation

Also Published As

Publication number Publication date
CN107850881B (zh) 2020-07-24
CN107850881A (zh) 2018-03-27
JP5911044B1 (ja) 2016-04-27
KR101981421B1 (ko) 2019-08-28
WO2017009895A1 (ja) 2017-01-19
KR20180009344A (ko) 2018-01-26
US10126726B2 (en) 2018-11-13
JPWO2017009895A1 (ja) 2017-07-13
US20180074470A1 (en) 2018-03-15

Similar Documents

Publication Publication Date Title
DE102008055660B4 (de) Verfahren und Vorrichtung zum Zugreifen auf ein Funktionsmodul eines Automatisierungssystems
DE10048360B4 (de) Integrierte, fortschrittliche Steuerblöcke in Prozeßsteuersystemen
DE102015004932B4 (de) Simulationsvorrichtung für mehrere Roboter
DE112015006682T5 (de) Vorrichtung und verfahren zur erzeugung von programmen
DE102010005648A1 (de) Zielbezogenes Rapid Control Prototyping
WO2002065223A2 (de) Steuerungs- und überwachungsanlage von maschinen und/oder anlagen mit aktionskomponenten unterschiedlicher aktionsgruppen
DE102015111875A1 (de) Prozesssteuerungssystem unter Verwendung typischer bzw. Adapterkomponenten
DE102018124263A1 (de) Integrator-funktionsblock
WO2002101596A2 (de) Verfahren und system zur unterstützung der projektierung von fertigungsanlagen
WO2018091741A1 (de) Steuerung für eine industrielle automatisierungsanlage und verfahren zum programmieren und betreiben einer derartigen steuerung
DE112016007339T5 (de) Simulationsvorrichtung
DE102016013824A1 (de) Nockenprofildatenerzeugungsvorrichtung und Synchronisationssteuervorrichtung
WO2021185909A1 (de) Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage
DE112005002185B4 (de) Verfahren zum Betrieb einer Automatisierungseinrichtung bzw. Vorrichtung zur Durchführung des Verfahrens
DE102021111244A1 (de) Ferneinsatz und -inbetriebnahme von arbeitsstationen innerhalb eines verteilten steuersystems
EP3420426B1 (de) Vorrichtung und verfahren zur anpassung einer numerischen steuerung an eine zu steuernde maschine
DE102018008226A1 (de) Numerische Steuerung
DE102019001970B4 (de) Integriertes Simulationssystem mit verbesserter Bedienbarkeit
DE102017220653A1 (de) Leiterprogramm-Verwaltungsvorrichtung
DE102020116210A1 (de) Parameterverwaltungsvorrichtung und Parameterverwaltungssystem
EP3658996B1 (de) Verfahren zum betrieb einer numerisch gesteuerten produktionsanlage sowie produktionsanlage dazu
WO2008113305A1 (de) Vorrichtung zur erstellung von bearbeitungsprogrammen für eine bearbeitungsmaschine
DE102013010783A1 (de) Verfahren und Steuergerät zum Testen einer Automatisierungslösung basierend auf einer PLC-Steuerung
DE102019215488A1 (de) Steuersystem für eine Werkzeugmaschine
DE112017003607T5 (de) Programmverifikationssystem, Steuervorrichtung und Programmverifikationsverfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence
R016 Response to examination communication
R018 Grant decision by examination section/examining division