DE102011117758A1 - Verfahren zur automatischen Erzeugung von Anwenderprogmmcode für eine speicherprogrammierbare Steuerung zur Steuerung einer Maschine - Google Patents

Verfahren zur automatischen Erzeugung von Anwenderprogmmcode für eine speicherprogrammierbare Steuerung zur Steuerung einer Maschine Download PDF

Info

Publication number
DE102011117758A1
DE102011117758A1 DE201110117758 DE102011117758A DE102011117758A1 DE 102011117758 A1 DE102011117758 A1 DE 102011117758A1 DE 201110117758 DE201110117758 DE 201110117758 DE 102011117758 A DE102011117758 A DE 102011117758A DE 102011117758 A1 DE102011117758 A1 DE 102011117758A1
Authority
DE
Germany
Prior art keywords
program code
programming
user
plc
programmable logic
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.)
Withdrawn
Application number
DE201110117758
Other languages
English (en)
Inventor
Stephan Schultze
Alexander Koehl
Klaus Goldbach
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE201110117758 priority Critical patent/DE102011117758A1/de
Publication of DE102011117758A1 publication Critical patent/DE102011117758A1/de
Withdrawn 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13144GUI graphical user interface, icon, function bloc editor, OI operator interface
    • 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/23Pc programming
    • G05B2219/23008Computer aided software engineering, program generation, case tools, CASE
    • 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/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zur automatischen Erzeugung von Anwenderprogrammcode für eine speicherprogrammierbare Steuerung (400) zur Steuerung einer Maschine, wobei auf einem Programmiergerät (100) eine Programmierumgebung beinhaltend einen Programmierrahmen bereitgestellt wird, die dazu eingerichtet ist, Eingaben von einem Anwender entgegenzunehmen, um wenigstens einen Programmcodeteil (210, 220, 230) für die speicherprogrammierbare Steuerung (400) zu erstellen und abzuspeichern, einem Anwender den wenigstens einen abgespeicherten Programmcodeteil (210, 220, 230) als Programmierrahmenerweiterung als Auswahlmöglichkeit anzuzeigen, Eingaben von einem Anwender hinsichtlich der Auswahl wenigstens einer Programmierrahmenerweiterung (210, 220, 230) entgegenzunehmen und automatisch Anwenderprogrammcode für die speicherprogrammierbare Steuerung (400) unter Verwendung des Programmcodeteils (210, 220, 230) der wenigstens einen ausgewählten Programmierrahmenerweiterung zu erzeugen.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur automatischen Erzeugung von Anwenderprogrammcode für eine speicherprogrammierbare Steuerung zur Steuerung einer Maschine sowie ein SPS-Programmiergerät und ein Computerprogramm zu dessen Durchführung.
  • Stand der Technik
  • Eine Speicherprogrammierbare Steuerung (SPS), englisch Programmable Logic Controller (PLC), ist ein Gerät, das zur Steuerung oder Regelung einer Maschine oder Anlage eingesetzt wird und auf digitaler Basis programmiert wird.
  • Eine SPS hat im einfachsten Fall Eingänge, Ausgänge, ein Betriebssystem (Firmware) und eine Schnittstelle, über die das Anwenderprogramm geladen werden kann. Das Anwenderprogramm legt fest, wie die Ausgänge in Abhängigkeit von den Eingängen geschaltet werden sollen. Das Betriebssystem (Firmware) stellt sicher, dass dem Anwenderprogramm immer der aktuelle Zustand der Eingänge zur Verfügung steht. Anhand dieser Informationen kann das Anwenderprogramm die Ausgänge so schalten, dass die Maschine oder die Anlage in der gewünschten Weise funktioniert.
  • Die Anbindung der SPS an die Maschine bzw. Anlage erfolgt mit Sensoren und Aktoren. Die Sensoren sind an die Eingänge der SPS geschaltet und vermitteln der SPS das Geschehen in der Maschine oder Anlage. Beispiele für Sensoren sind z. B. Lichtschranken, Inkrementalgeber, Endschalter oder auch Temperaturfühler, Füllstandssensoren, etc. Die Aktoren sind an den Ausgängen der SPS angeschlossen und bieten die Möglichkeit, die Maschine oder Anlage zu steuern. Beispiele für Aktoren sind Schütze zum Einschalten von Elektromotoren, elektrische Ventile für Hydraulik oder Druckluft, Schalter usw.
  • Zunehmend erfolgt die Verbindung der Sensoren und Aktoren mit der SPS über einen Feldbus und nicht mehr diskret. Hierdurch verringert sich der Verdrahtungsaufwand. Seit einiger Zeit werden auch nicht nur Sensoren und Aktoren, sondern Teile der SPS wie Eingangs- und Ausgangsbaugruppen über einen Bus und (Bus-)Interfacemodule an eine Zentralstation angebunden (dezentrale Peripherie). Die Bussysteme werden in modernen Anlagen von Netzwerken (z. B. SERCOS III, Profi-Net) abgelöst oder durch diese ergänzt. Gegenüber Bussystemen sind Netzwerke (Ethernet) flexibler und schneller.
  • Bei der Automatisierung von Maschinen und Anlagen gewinnt neben den Funktionalitäten, die eine Automatisierungslösung bietet, der Aspekt des effektiven Engineerings eine zunehmende Bedeutung. Hierbei geht es vor allem darum, in kurzer Zeit eine Applikation mit effizientem Programmcode übersichtlich abzubilden. Insbesondere bei der Automatisierung von Motion-Applikationen (Antriebssteuerungen, sog. ”Motion Control”), bei denen ein wesentlicher Teil darin besteht, sog. ”Achsen” koordiniert zu bewegen, gibt es Besonderheiten. Von den Maschinenherstellern sind daher Programmierwerkzeuge entwickelt worden, um die Erzeugung von Anwenderprogrammcode für SPS zu vereinfachen. Die Programmierung geschieht üblicherweise mittels einer entsprechenden Software (”Programmierumgebung”) auf einem Programmiergerät (z. B. eine Anwendung unter Microsoft Windows oder Linux auf einem PC oder ein zugeschnittenes System).
  • Herkömmliche Programmierwerkzeuge enthalten teilweise bereits Programmierrahmen (sog. ”Framework”) mit vordefiniertem Programmcode, um grundlegende Maschinenabläufe, wie beispielsweise Fehlererkennung und -reaktion, oder typische Maschinenbetriebsarten wie ”Initialisierung”, ”Automatik” für den Produktionsbetrieb und ”Manuell” zum manuellen Bewegen der Antriebe einfach umzusetzen. Vor diesem Hintergrund wird bspw. von der Anmelderin als Programmierrahmen das sog. das Generic Application Template (GAT) bereitgestellt, welches die einfache und schnelle Entwicklung übersichtlicher Applikationen ermöglicht. Ausgehend von einem Programmrahmen entsprechend IEC61131-3 ermöglicht es zusammen mit einem dialogbasierten Wizard die einfache und schnelle Entwicklung von Applikationen. Es unterstützt auch die Besonderheiten von Motion-Applikationen, wie zum Beispiel die Handhabung von Achsen. Programmierrahmen stellen bspw. vordefinierte Zustandsautomaten und Schnittstellen zur Anpassung der Zustandsautomaten zur Verfügung, welche vom Anwender mittels einer dafür vorgesehenen Benutzeroberfläche (von der Anmelderin der sog. GAT-Wizard) hinzugefügt, entfernt und konfiguriert werden können.
  • Der GAT-Wizard dient dazu, dialoggeführt und ohne Programmieraufwand den Programmierrahmen zu konfigurieren. Mittels der Dialoge werden beispielsweise Betriebsarten und Zustände, Maschinenmodule, Achsen und Visualisierungen verwaltet. Dabei wird im Hintergrund der Zustandsautomat als SPS-Anwenderprogramm aufgebaut (automatisch generiert). Der Anwender muss dann nur noch die Funktion der Maschine in den verschiedenen Zuständen ausprogrammieren. Mittels des Wizards kann er relativ einfach die entsprechende Stelle im SPS-Programmiersystem anspringen, um dort SPS-Anwenderprogrammcode einzufügen. Durch die Darstellung der Struktur im GAT-Wizard behält der Anwender jederzeit den Überblick. Dies vereinfacht für ihn die sog. Top-Down-Programmentwicklung.
  • Diese automatische Programmerzeugung soll im Hinblick auf Erweiterbarkeit verbessert werden. Herkömmliche Programmierumgebungen bieten insbesondere nicht die Möglichkeit, beliebigen Programmcode auf einfache Weise verfügbar zu machen, so dass hier Verbesserungsbedarf besteht.
  • Offenbarung der Erfindung
  • Erfindungsgemäß wird ein Verfahren zur automatischen Erzeugung von Anwenderprogrammcode für eine speicherprogrammierbare Steuerung zur Steuerung einer Maschine gemäß Anspruch 1 vorgeschlagen. Eine erfindungsgemäße Recheneinheit, z. B. ein Programmiergerät für eine SPS (ein sog. SPS-Anwenderprogrammiergerät), ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
  • Die Erfindung schafft eine Möglichkeit, SPS-Anwenderprogramme auf Basis eines Programmierrahmens auf einfache Weise mit eigenem Programmcode zu erweitern. Dafür wird die Möglichkeit geschaffen, innerhalb des Programmierrahmens Anwenderprogrammcodeteile als Programmierrahmenerweiterung abzuspeichern und in anderen Anwenderprogrammen ohne zusätzlichen Programmieraufwand leicht wiederzuverwenden. Dies erleichtert, wiederholt bestimmte Anwenderprogrammfunktionalitäten in ein Anwenderprogramm einzubauen. Die Erfindung ermöglicht dabei eine einfache und intuitive Handhabung, indem die abgespeicherten Anwenderprogrammcodeteile dem Programmierrahmen automatisch als Programmierrahmenerweiterung hinzugefügt werden. Diese werden dann dem Anwender automatisch bei der Verwendung des Programmierrahmens zur einfachen Auswahl, bspw. durch Setzen von Häkchen mit der Maus, präsentiert. Die Erfindung beinhaltet somit sowohl die erstmalige Schaffung der Möglichkeit zur Definition von wiederverwendbaren Anwenderprogrammcodeteilen bei der SPS-Programmierrung als auch die gleichzeitig einfache und intuitive Bedienbarkeit und entfaltet durch diese Kombination besondere Vorteile, da sie auch Anwendern mit weniger Softwarekenntnissen die Programmierung einer SPS ermöglicht.
  • Eine Programmierrahmenerweiterung wird im Rahmen dieser Erfindung auch als ”Plugin” bezeichnet und beinhaltet zumindest vordefinierte SPS-Objekte (wie z. B. SPS-Anwenderprogrammcode, Funktionsbausteine, Funktionen, Visualisierungen, Datenstrukturen usw.), um die erwünschte Funktionalität durchführen zu können. Vorzugsweise umfasst eine Programmierrahmenerweiterung auch Eingabemittel, bspw. in Form von Dialogeingaben in der Programmierumgebung (”Wizard”), damit der Anwender – wie beim Programmierrahmen selbst – dialoggeführt die Programmierrahmenerweiterung konfigurieren kann. Mittels Dialogen werden beispielsweise Betriebsarten und Zustände, Maschinenmodule, Achsen und Visualisierungen verwaltet. Weiter vorzugsweise umfasst eine Programmierrahmenerweiterung Dokumentation in beliebigen Formaten, auch Hyperlinks, um den Anwender über die Programmierrahmenerweiterung zu informieren. Vorzugsweise umfasst eine Programmierrahmenerweiterung auch eine Konfigurationsdatei, welche insbesondere die Aufrufstelle und Verschaltung des vordefinierten SPS-Anwenderprogrammcodes (insbesondere Programme, Funktionsbausteine, Funktionen) innerhalb des bestehenden Programmierrahmens in Abhängigkeit von z. B. Programmierrahmen-Typ, Dokumentationsdatei und Benutzerführung beschreibt.
  • Für Programmierrahmenerweiterungen eignen sich besonders nicht ständig (jedoch mit einer gewissen Häufigkeit) genutzte Funktionalitäten der Maschine, wie zusätzliche Diagnosen (wie z. B. erweiterte Feldbusdiagnosen); das Speichern und Wiederherstellen (Backup/Restore) von Antriebsparametern, um einen Maschinenantrieb auf einfache Weise austauschen zu können; Energie-Management-Funktionalitäten (z. B. Standby Mode bei längerem Stillstand aktivieren); Abspeichern von Daten und Ereignissen in ein Logbuch; Ausführen einer präventiven Diagnose (die präventive Diagnose hat zum Inhalt, die Maschine mittels Zustandsgrößen zu beobachten, um einen bevorstehenden Ausfall bzw. eine bevorstehende Störung zu erkennen. Beispielsweise kann eine erhöhte Motortemperatur auf einen defekten Motorlüfter hindeuten. Anhand von Frequenzmessungen von Maschinenteilen können z. B. sich bildende Lagerschäden detektiert werden usw.).
  • Einmal erstellte Programmierrahmenerweiterungen werden zweckmäßigerweise abgespeichert, insbesondere in einem SPS-Programmiergerät und/oder auf einem Server in einem Netzwerk (lokal oder Internet), und stehen für zukünftigen Bedarf zur Verfügung. Mehrmals benötigte Funktionen können so als Programmierrahmenerweiterung bereitgestellt werden und müssen nicht jedes Mal neu programmiert oder aufwändig von einem früheren Programmierprojekt in ein neues Programmierprojekt übertragen werden. Die Erfindung unterstützt den Anwender bei der SPS-Programmierung, indem Programmcodeteile für Maschinenfunktionalitäten vordefiniert und als Programmierrahmenerweiterungen (z. B. im GAT-Wizard) angeboten werden.
  • Programmierrahmenerweiterungen können vom Anwender erstellt und abgespeichert werden. Jedoch steht diese Möglichkeit vorteilhaft auch dem Hersteller der Programmierumgebung oder der SPS offen, um so bspw. häufig genutzte Funktionalitäten in einem Programmierrahmen bereitzustellen und weniger häufig genutzte Funktionalitäten davon als Programmierrahmenerweiterung zu trennen. Die von dem Programmierrahmen bereitgestellte Basisfunktionalität kann dadurch auf das Wesentliche reduziert werden. Der Anwender kann dann die erwünschten Zusatzfunktionalitäten als Programmierrahmenerweiterung ohne Programmieraufwand zu dem SPS-Anwenderprogramm hinzufügen (sog. ”just enough Ansatz”).
  • Der SPS-Anwenderprogrammcode bleibt somit klein und übersichtlich, da nur die benötigten Funktionalitäten enthalten sind. Beispielsweise kann ein Programmierrahmen durch eine Programmierrahmenerweiterung um zusätzliche Diagnosemöglichkeiten erweitert werden.
  • Die Erfindung schafft eine Möglichkeit, SPS-Anwenderprogramme besser zu strukturieren. Bei der Erstellung von Anwenderprogrammen werden bei erhöhtem Benutzerkomfort der Zeitaufwand und die Fehlerhäufigkeit reduziert. Es entstehen übersichtlichere Anwenderprogramme, die nur die notwendigen Anteile beinhalten, was Speicherressourcen und Ausführungszeit verringert und gleichzeitig die Wartbarkeit durch weniger Code erhöht.
  • Ein weiterer Aspekt der Erfindung zielt auf ein einfaches Handhaben von Programmierrahmenerweiterungen, wie z. B. das Erstellen von Programmierrahmenerweiterungen, das Hinzufügen von Programmierrahmenerweiterungen zu Programmierrahmen und das Entfernen der Programmierrahmenerweiterungen von Programmierrahmen. Die SPS-Programmierumgebung ist eine programmtechnische Lösung zur Bereitstellung dieser Funktionalitäten.
  • Für die Handhabung stehen vorzugsweise Eingabemittel, bspw. in Form einer Benutzeroberfläche (Benutzerführung mit Dialogeingaben) in der Programmierumgebung, auf dem SPS-Programmiergerät zur Verfügung. Die Benutzeroberfläche bietet vorzugsweise zumindest Handhabungsmöglichkeiten, um eine Programmierrahmenerweiterung neu zu erstellen und abzuspeichern, eine existierende Programmierrahmenerweiterung einem Programmierrahmen hinzuzufügen und eine hinzugefügte Programmierrahmenerweiterung von einem Programmierrahmen zu entfernen.
  • Wird eine Programmierrahmenerweiterung vom Anwender hinzugefügt, werden die zugehörigen Anteile automatisch in das Anwenderprogramm an der richtigen Stelle hinzugefügt, aufgerufen und verschaltet. Beim Hinzufügen besteht für den Anwender auch die Möglichkeit, sich – soweit vorhanden – Informationen der Programmierrahmenerweiterung anzeigen zu lassen, bspw. über einen entsprechenden Link bzw. ein Icon in der Benutzerführung. Programmierrahmenerweiterung können aus einem lokalen Speicher oder aus einem entfernten Speicher (Netzwerk, Internet) hinzugefügt werden. Eine Programmierrahmenerweiterung kann auch mehrfach instanziiert werden. Hierbei wird jede Programmierrahmenerweiterung-Instanz individuell konfiguriert.
  • Wird eine Programmierrahmenerweiterung vom Anwender aus dem Programmierrahmen gelöscht, werden automatisch alle zugehörigen Anteile der Programmierrahmenerweiterung und Aufrufstellen gelöscht.
  • Möchte ein Anwender eine Programmierrahmenerweiterung neu erstellen, bietet sich folgender, menü- oder dialoggeführter Weg an. Zunächst werden erwünschte SPS-Objekte im Projektbaum selektiert, dann wird eine zugehörige Dokumentationsdatei selektiert. Anschließend wird eine Konfigurationsdatei erzeugt, indem die Aufrufstelle im SPS-Code und auch die Verschaltung selektiert werden. Die Verknüpfung der Benutzerführungsdialoge mit den SPS-Datenobjekten wird festgelegt.
  • Die Erfindung wird vorzugsweise in Form von Software implementiert. Dies führt zu besonders geringen Kosten, insbesondere wenn eine ausführende Recheneinheit noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung der Software sind insbesondere Disketten, Festplatten, Flash-Speicher, EEPROMs, CD-ROMs, DVDs u. a. m. Auch ein Download der Software über Computernetze (Internet, Intranet usw.) ist möglich. Insbesondere wird Schutz begehrt für jedes Erzeugnis, das geeignet ist, ein erfindungsgemäßes Verfahren auszuführen, und insbesondere für eine programmierte Umsetzung der Erfindung in all ihren Erscheinungsformen, sei es als Computerprogramm, das über ein Computernetz angeboten ist und in diesem Moment auf einem Serverspeicher gespeichert ist, sei es als auf einem computerlesbaren Medium gespeicherte programmierte Verfahrensanweisung.
  • Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
  • Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
  • Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
  • Figurenbeschreibung
  • 1 zeigt grob schematisch eine bevorzugte Ausführungsform eines erfindungsgemäßen SPS-Programmiergeräts.
  • In 1 ist eine bevorzugte Ausführungsform eines SPS-Programmiergeräts 100 grob schematisch dargestellt, welches programmtechnisch zur Durchführung eines erfindungsgemäßen Verfahrens eingerichtet ist. Bei dem SPS-Programmiergerät 100 kann es sich beispielsweise um einen herkömmlichen Computer handeln, auf dem eine SPS-Programmiersoftware ausgeführt wird und der eine Programmierumgebung bereitstellt.
  • Die Erfindung betrifft den Programmiervorgang einer SPS 400 durch einen Anwender unter Verwendung des SPS-Programmiergeräts 100.
  • Das SPS-Programmiergerät 100 ist über eine entsprechende Verbindung 300, beispielsweise eine Ethernet-Verbindung oder eine serielle Verbindung, mit der zu programmierenden SPS 400 verbunden. Die SPS 400 verfügt zumindest über eine Speichereinrichtung 401 zum Aufnehmen des erzeugten SPS-Anwenderprogramms sowie über eine CPU 402 zum Ausführen des gespeicherten SPS-Anwenderprogramms. Die SPS 400 ist weiterhin mit Sensoren 410 sowie Aktoren 420 verbunden, beispielsweise mittels einer Feldbus-Verbindung, insbesondere einer Ethernet-Feldbusverbindung wie z. B. SERCOS III, um gemäß dem SPS-Anwenderprogramm eine Maschine (nicht gezeigt) anzusteuern. Ein Sensor ist bspw. ein Temperatur-, Druck-, Drehzahl-, Lagesensor usw., jedoch auch ein Schalter, Drehknopf usw., und ist zur Erfassung von Eingangsgrößen (z. B. Temperatur, Druck, Drehzahl, Position, Stellung eines Schalters oder eines Drehknopfes) vorgesehen. Von dem SPS-Anwenderprogramm werden daraus Ausgangsgrößen (z. B. Temperatur, Druck, Drehzahl, Stromstärke, Spannung, Einspritzmenge, Position usw.) berechnet und mittels der Aktoren (z. B. elektronischer Schalter, Relais, Ventil usw.) eingestellt. Die Sensoren und Aktoren sind üblicherweise Bestandteil der Maschine.
  • Die von einem Anwender auf dem Programmiergerät ausgeführten Schritte lassen sich in zwei Gruppen unterteilen. Eine erste Gruppe umfasst die Schritte zur Erstellung eines Programmcodeteils, eine zweite Gruppe umfasst die Schritte zum Hinzufügen eines erstellten Programmcodeteils zu einem neuen SPS-Programm.
  • Nachfolgend werden zunächst die Schritte der ersten Gruppe erläutert.
  • Die Programmierumgebung ist eine programmtechnische Lösung, die dem Anwender eine Benutzeroberfläche für die Erstellung der Programmierrahmenerweiterungen enthaltend Programmcodeteile bereitstellt. Dabei definiert der Anwender die Programmierrahmenerweiterung bspw. durch Hinzufügen von Programmcode, SPS-Objekten, Dokumentationsdaten und Konfigurationsdaten. Ein Programmcodeteil der Programmierrahmenerweiterung kann bspw. dafür vorgesehen sein, eine bestimmte Diagnosefunktionalität, bspw. eine Feldbusdiagnose, durchzuführen. Dokumentationsdaten der Programmierrahmenerweiterung können dafür vorgesehen sein, dem Anwender Informationen betreffend die Funktionalität, Einstellung usw. der Programmierrahmenerweiterung bereitzustellen. Es können Standard-Konfigurationsdaten der Programmierrahmenerweiterung vordefiniert sein.
  • Nachdem der Anwender die Programmierrahmenerweiterung inkl. zumindest Programmcodeteil fertiggestellt hat, speichert er diese bspw. in dem Programmiergerät 100 (oder an anderer Stelle) ab. Bspw. kann die Abspeicherung in einer Art Bibliothek erfolgen, auf die mehrere Anwender Zugriff haben.
  • Wann immer nun ein Anwender eine Feldbusdiagnose in einem SPS-Anwenderprogramm vorsehen will, kann er sich des abgespeicherten Programmcodeteils bedienen. Zu diesem Zweck werden bei der Programmierung auf einem Bildschirm 101 des Programmiergeräts 100, bspw. unter einem Menüpunkt ”Plugins”, die abgespeicherten Programmierrahmenerweiterungen als Auswahlmöglichkeit angezeigt. Dem Anwender wird dazu ein SPS-Programmierrahmen 200 auf einem Bildschirm 101 des Programmiergeräts 100 angezeigt. Im Rahmen der Erfindung werden als Programmierrahmenerweiterung 210, 220, 230 Programmcodeteile angeboten, die jeweils zur Aktivierung wenigstens einer Funktionalität der Maschine eingerichtet sind. Die Programmierrahmenerweiterungen 210 bis 230 sind vom Anwender auswählbar, beispielsweise über Markieren von Auswahlfeldern 240 mit einem Eingabegerät, wie bspw. einer Maus.
  • Im gezeigten Beispiel dient der Programmcodeteil der Programmierrahmenerweiterung 210 dazu, eine Feldbusdiagnose in das SPS-Programm einzubauen, der Programmcodeteil der Programmierrahmenerweiterung 220 dazu, eine Speicher/Lade-Funktionalität für Antriebsdaten in das SPS-Programm einzubauen und der Programmcodeteil der Programmierrahmenerweiterung 230 dazu, die Maschine in einen Energiesparmodus ”Standby” zu versetzen.
  • Beispielsweise ist der Programmcodeteil der Programmierrahmenerweiterung 210 so vordefiniert, dass er eine Feldbusdiagnose durchführt, und dazu beispielsweise bestimmte Daten überträgt und/oder Laufzeiten misst. Der Anwender (Bediener des SPS-Programmiergeräts) muss hier keine Kenntnisse über die Feldbusschnittstelle oder über die zu übertragenden Daten usw. besitzen. Diese Entscheidungen werden bereits bei der Erstellung des Plugins, bspw. von einem anderen Anwender oder vom Hersteller der SPS 400 getroffen, der die entsprechenden Programmierrahmenerweiterungen inkl. Programmcodeteile im Voraus zu einem ersten, früheren Zeitpunkt erstellt hat.
  • Zum Ende des Programmiervorgangs zu einem zweiten, späteren Zeitpunkt wird der SPS-Programmcode aus Programmcodeteilen der von dem Anwender ausgewählten Programmierrahmenerweiterungen zusammengesetzt und anschließend über die Verbindung 300 an die SPS 400 übertragen. Während des Ausführens des SPS-Anwenderprogramms auf der SPS 400 werden die vom Anwender ausgewählten Funktionalitäten entsprechend dem SPS-Anwenderprogramm durchgeführt.
  • Die erfindungsgemäße Lösung ermöglicht das einfache und wiederholte Einbinden von eigenem Programmcode in SPS-Anwenderprogrammcode, ohne dass jeder Anwender selbst Kenntnisse hinsichtlich der speziellen Funktionalitäten und deren Verdrahtung und Aufruf innerhalb des Programmierrahmens haben muss.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • IEC61131-3 [0007]

Claims (11)

  1. Verfahren zur automatischen Erzeugung von Anwenderprogrammcode für eine speicherprogrammierbare Steuerung (400) zur Steuerung einer Maschine, wobei auf einem Programmiergerät (100) eine Programmierumgebung beinhaltend einen Programmierrahmen bereitgestellt wird, die dazu eingerichtet ist, Eingaben von einem Anwender entgegenzunehmen, um wenigstens einen Programmcodeteil für die speicherprogrammierbare Steuerung (400) zu erstellen und als Programmierrahmenerweiterung (210, 220, 230) abzuspeichern, einem Anwender die wenigstens eine abgespeicherte Programmierrahmenerweiterung (210, 220, 230) als Auswahlmöglichkeit anzuzeigen, Eingaben von einem Anwender hinsichtlich der Auswahl wenigstens einer Programmierrahmenerweiterung (210, 220, 230) entgegenzunehmen und automatisch Anwenderprogrammcode für die speicherprogrammierbare Steuerung (400) unter Verwendung des Programmcodeteils (210, 220, 230) der wenigstens einen ausgewählten Programmierrahmenerweiterung zu erzeugen.
  2. Verfahren nach Anspruch 1, wobei der wenigstens eine abgespeicherte Programmcodeteil (210, 220, 230) eine Diagnosefunktionalität, das Speichern und Wiederherstellen von Antriebsparametern, eine Energie-Management-Funktionalität, das Abspeichern von Daten und Ereignissen in einem Logbuch und/oder das Ausführen einer präventiven Diagnose umfasst.
  3. Verfahren nach Anspruch 1 oder 2 wobei die Programmierumgebung dazu eingerichtet ist, zusätzlich zu dem Programmcodeteil (210, 220, 230) Benutzerführungsdialoge, Dokumentationsdaten und/oder Konfigurationsdaten in der Programmierrahmenerweiterung abzuspeichern.
  4. Verfahren nach einem der vorstehenden Ansprüche, wobei die Programmierumgebung dazu eingerichtet ist, zusätzlich zu dem Programmcodeteil (210, 220, 230) in der Programmierrahmenerweiterung abgespeicherte Benutzerführungsdialoge und/oder Dokumentationsdaten dem Anwender anzuzeigen.
  5. Verfahren nach einem der vorstehenden Ansprüche, wobei die Programmierumgebung dazu eingerichtet ist, auf einem Server in einem Netzwerk und/oder auf dem Programmiergerät (100) abgespeicherte Programmcodeteile (210, 220, 230) als Auswahlmöglichkeit anzuzeigen.
  6. Verfahren nach einem der vorstehenden Ansprüche, wobei die Programmierumgebung dazu eingerichtet ist, dem Anwender vor dem Schritt des Entgegennehmens von Eingaben, um wenigstens einen Programmcodeteil (210, 220, 230) für die speicherprogrammierbare Steuerung (400) zu erstellen und abzuspeichern, auswählbare SPS-Objekte anzuzeigen, wobei die Eingaben eine Auswahl wenigstens eines der SPS-Objekte beinhalten.
  7. Verfahren nach einem der vorstehenden Ansprüche, wobei das Erstellen des Programmcodeteils (210, 220, 230) für die speicherprogrammierbare Steuerung (400) umfasst, eine Konfigurationsdatei zu erstellen, welche die Aufrufstelle und Verschaltung der ausgewählten SPS-Objekte beschreibt.
  8. SPS-Programmiergerät (100), das dazu eingerichtet ist, ein Verfahren nach einem der vorstehenden Ansprüche durchzuführen.
  9. Computerprogramm mit Programmcodemitteln, welche, wenn sie auf einem Programmiergerät (100) für eine speicherprogrammierbare Steuerung ausgeführt werden, dieses dazu veranlassen: eine von einem Anwender bedienbare Programmierumgebung aufweisend einen Programmierrahmen auf einem Bildschirm (101) des Programmiergeräts (100) darzustellen, wobei die Programmierumgebung wenigstens eine auswählbare Programmierrahmenerweiterung (210, 220, 230) mit einem Programmcodeteil für die speicherprogrammierbare Steuerung (400) aufweist, Eingaben vom Anwender zur Auswahl und zur Neuerstellung wenigstens einer Programmierrahmenerweiterungen (210, 220, 230) entgegenzunehmen und automatisch Anwenderprogrammcode für die speicherprogrammierbare Steuerung (400) unter Verwendung der Programmcodeteile der vom Anwender ausgewählten Programmierrahmenerweiterungen (210, 220, 230) zu erzeugen.
  10. Computerprogramm mit Programmcodemitteln, welche, wenn sie auf einem Programmiergerät (100) für eine speicherprogrammierbare Steuerung (400) ausgeführt werden, dieses dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 6 durchzuführen.
  11. Computerprogrammprodukt mit auf einem computerlesbaren Datenträger gespeicherten Programmcodemitteln, die ein Programmiergerät (100) für eine speicherprogrammierbare Steuerung (400) veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 6 durchzuführen, wenn sie auf dem Programmiergerät für eine speicherprogrammierbare Steuerung ausgeführt werden.
DE201110117758 2011-11-05 2011-11-05 Verfahren zur automatischen Erzeugung von Anwenderprogmmcode für eine speicherprogrammierbare Steuerung zur Steuerung einer Maschine Withdrawn DE102011117758A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201110117758 DE102011117758A1 (de) 2011-11-05 2011-11-05 Verfahren zur automatischen Erzeugung von Anwenderprogmmcode für eine speicherprogrammierbare Steuerung zur Steuerung einer Maschine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201110117758 DE102011117758A1 (de) 2011-11-05 2011-11-05 Verfahren zur automatischen Erzeugung von Anwenderprogmmcode für eine speicherprogrammierbare Steuerung zur Steuerung einer Maschine

Publications (1)

Publication Number Publication Date
DE102011117758A1 true DE102011117758A1 (de) 2013-05-08

Family

ID=48128932

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201110117758 Withdrawn DE102011117758A1 (de) 2011-11-05 2011-11-05 Verfahren zur automatischen Erzeugung von Anwenderprogmmcode für eine speicherprogrammierbare Steuerung zur Steuerung einer Maschine

Country Status (1)

Country Link
DE (1) DE102011117758A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104728214A (zh) * 2015-02-13 2015-06-24 哈尔滨工业大学 一种基于plc控制的集成式液压站
CN105511388A (zh) * 2015-12-01 2016-04-20 天津普达软件技术有限公司 一种plc各点功能可以随意设定的方法
US11307554B2 (en) 2019-11-20 2022-04-19 Younes Faraj System and method for keyword-based PLC programming

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10116809A1 (de) * 2000-09-22 2002-05-16 Mitsubishi Electric Corp Programmierbare Steuereinrichtung und Vorrichtung zur Unterstützung einer Steuerprogrammentwicklung
US7257620B2 (en) * 2001-09-24 2007-08-14 Siemens Energy & Automation, Inc. Method for providing engineering tool services
US7324856B1 (en) * 2003-09-25 2008-01-29 Rockwell Automation Technologies, Inc. Autogeneration of code via human-machine interfaces (HMI) and self-building HMI

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10116809A1 (de) * 2000-09-22 2002-05-16 Mitsubishi Electric Corp Programmierbare Steuereinrichtung und Vorrichtung zur Unterstützung einer Steuerprogrammentwicklung
US7257620B2 (en) * 2001-09-24 2007-08-14 Siemens Energy & Automation, Inc. Method for providing engineering tool services
US7324856B1 (en) * 2003-09-25 2008-01-29 Rockwell Automation Technologies, Inc. Autogeneration of code via human-machine interfaces (HMI) and self-building HMI

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IEC61131-3
Welcome to B&R Automation Software; B&R Industrie-Elektronik GmbH; 2009, S. 1 - 96. URL: http://br-automation.com/downloads_br_productcatalogue/BRP44400000000000000032574/Welcome_in_AS.pdf, Archiviert in http://www.archive.org am 25.01.09 [abgerufen am 16.02.2012] *
Welcome to B&R Automation Software; B&R Industrie-Elektronik GmbH; 2009, S. 1 – 96. URL: http://br-automation.com/downloads_br_productcatalogue/BRP44400000000000000032574/Welcome_in_AS.pdf, Archiviert in http://www.archive.org am 25.01.09 [abgerufen am 16.02.2012]

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104728214A (zh) * 2015-02-13 2015-06-24 哈尔滨工业大学 一种基于plc控制的集成式液压站
CN105511388A (zh) * 2015-12-01 2016-04-20 天津普达软件技术有限公司 一种plc各点功能可以随意设定的方法
US11307554B2 (en) 2019-11-20 2022-04-19 Younes Faraj System and method for keyword-based PLC programming

Similar Documents

Publication Publication Date Title
EP2012201B1 (de) Verfahren zum Programmieren einer Sicherheitssteuerung
EP2453326B1 (de) Verfahren und System zur Bedienung einer Maschine aus der Automatisierungstechnik
DE102007026678A1 (de) Verfahren zum Austausch eines defekten Feldgerätes gegen ein neues Feldgerät in einem über digitalen Feldbus kommunizierenden System, insbesondere Automatisierungssystem
DE102008060003A1 (de) Verfahren und Vorrichtung zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
EP1221638A2 (de) Automatisierungssystem
EP2098926A1 (de) Verfahren und Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
EP2551734A1 (de) Verfahren zur automatischen Erzeugung von Anwenderprogrammcode für eine speicherprogrammierbare Steuerung zur Steuerung einer Maschine
DE102017102014B4 (de) Bearbeitungsrobotersystem, in dem eine Bearbeitungsvorrichtung für die Bearbeitung mit einem Roboter verbunden ist
DE102016011020A1 (de) Kontaktplan-Überwachungsvorrichtung mit der Fähigkeit, zusätzlich eine Betriebssituation einer CNC in einem Kommentar anzuzeigen
DE102017215508A1 (de) Automatisierungssystem mit mindestens einem Feldgerät und mindestens einer Steuereinheit
DE102014001462B4 (de) Feldbusmodul, Maschinensteuerung und Verfahren zur Parametrierung eines, insbesondere sicherheitsgerichteten, Feldbusmoduls
EP2407842B1 (de) Verfahren zur Inbetriebnahme von Maschinen oder Maschinen einer Maschinenserie und Projektierungssystem
WO2007025833A1 (de) Verfahren und vorrichtung zur überwachung einer technischen einrichtung
EP0553621A1 (de) Programmierbare Computersteuerung für eine Werkzeugmaschine
DE102016215742A1 (de) Gateway und Verfahren zur Anbindung eines Datenquellensystems an ein IT-System
WO2005031480A2 (de) Gerätetreiber für feldgeräte der prozessautomatisierungstechnik
DE102011117758A1 (de) Verfahren zur automatischen Erzeugung von Anwenderprogmmcode für eine speicherprogrammierbare Steuerung zur Steuerung einer Maschine
DE202008017893U1 (de) Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
EP1548527A1 (de) Steuerungs- oder Regelungseinrichtung einer Werkzeug- oder Produktionsmaschine
DE102008035176A1 (de) Verfahren zum anwendungsspezifischen Hinzufügen von Funktionsbausteinen zu einem Automatisierungssystem
AT512963A2 (de) Programmiervorlage für verteilte Anwendungsprogramme
DE102008007102A1 (de) Verfahren zum Programmieren einer Steuerungseinrichtung
EP1998240B1 (de) Zyklisch arbeitende Steuerung sowie Verfahren zum Einketten von Software-Bausteinen in den Funktionsablauf einer Steuerung
LU500646B1 (de) Technik zur Bereitstellung einer Diagnosefunktionalität für eine auf einer speicherprogrammierbaren Steuerung basierenden Anwendung
DE102013002085A1 (de) SPS-Funktionsbausteine für Energieverwaltungsfunktionalitäten

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee