DE112011105402T5 - Symboltabellen-Erzeugungsverfahren; Kommunikationsverfahren mit peripherer Ausrüstung und programmierbare Logiksteuerung - Google Patents

Symboltabellen-Erzeugungsverfahren; Kommunikationsverfahren mit peripherer Ausrüstung und programmierbare Logiksteuerung Download PDF

Info

Publication number
DE112011105402T5
DE112011105402T5 DE112011105402.5T DE112011105402T DE112011105402T5 DE 112011105402 T5 DE112011105402 T5 DE 112011105402T5 DE 112011105402 T DE112011105402 T DE 112011105402T DE 112011105402 T5 DE112011105402 T5 DE 112011105402T5
Authority
DE
Germany
Prior art keywords
programmable logic
logic controller
symbol table
physical address
level language
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.)
Pending
Application number
DE112011105402.5T
Other languages
English (en)
Inventor
Noriyasu Fukatsu
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 DE112011105402T5 publication Critical patent/DE112011105402T5/de
Pending 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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/23334Use of table with addresses for different modules, write new table if modified
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Programmable Controllers (AREA)

Abstract

Um einer programmierbaren logischen Steuerung, die High-Level-Sprachprogramme ausführt, zu ermöglichen, leicht mit existierenden peripheren Ausrüstungen zu kommunizieren, enthält das Symboltabellen-Erzeugungsverfahren einen Schritt (S501) zum Lesen eines High-Level-Sprachprogramms und einer Assoziationstabelle, die Beziehungen zwischen Vorrichtungen, gesteuert durch die programmierbare logische Steuerung, und Variablennamen in dem High-Level-Sprachprogramm spezifiziert, einen Schritt zum Kompilieren und Verknüpfen des High-Level-Sprachprogramms und der Assoziationstabelle zum Bestimmen einer physikalischen Adresse für jeden der Variablennamen und der entsprechenden Vorrichtungen, einen Schritt (S502) zum Erzeugen der Symboltabelle, die die bestimmte physikalische Adresse für jede der Vorrichtungen definiert, durch Kompilieren und Verknüpfen, und einen Schritt (S503) zum Speichern der Symboltabelle in dem Speicher der programmierbaren logischen Steuerung.

Description

  • Erfindungsgebiet
  • Die vorliegende Erfindung betrifft ein Symboltabellen-Erzeugungsverfahren bezüglich eines Programms, das in einer programmierbaren Logiksteuerung in einer industriellen Automatisierungsumgebung ausgeführt wird, ein Kommunikationsverfahren mit einer peripheren Ausrüstung durch eine programmierbare Logiksteuerung, und eine programmierbare Logiksteuerung.
  • HINTERGRUND
  • In modernen Manufaktureinrichtungen werden automatisierte Prozesse oft durch eine Low-Level-Automatisierung und eine Prozesssteuerung und eine Überwachung von Systemen gesteuert. Low-Level-Automatisierungssysteme können dedizierte Robotervorrichtungen oder andere automatisierte Systeme enthalten, die durch programmierbare Logiksteuerungen (PLC: Programmable Logic Controller) gesteuert oder überwacht werden. Verschiedene Erfassungsvorrichtungen und Instrumente können verwendet werden, um derartige Prozesse zu überwachen, wie z. B. Systeme maschinellen Sehens, Barcode-Leser, Temperatursensoren usw.
  • 1 stellt eine herkömmliche industrielle Automatisierungsumgebung oder Produktionssystem 100 dar. Periphere Ausrüstungen 101 sind mit einer PLC 102 über ein Netzwerk 103 verbunden. Die PLC 102 führt ein Stufenprogramm aus, um verschiedene Vorrichtungen zu steuern. Ein Administrator kann auf einen Zustand der Ausführung oder ein Resultat der verschiedenen Vorrichtungen zugreifen, indem über die peripheren Ausrüstungen 101 die PLC 102 abgefragt wird. Beispiele einer derartigen peripheren Ausrüstung sind z. B. SCADA (engl. Supervisory Control and Data Acquisition) Systeme, Mensch-Maschinen-Schnittstellen (HMI: Human Machine Interface) Systeme, eine Nutzer-Anwendung, die an einem Computer läuft, usw. Die PLC ist mit einem Strommodul und einem Netzwerk-Modul gekoppelt, wodurch die PLC-Information an die periphere Ausrüstung kommuniziert wird.
  • Eine „Vorrichtung”, wie hier verwendet, enthält physikalische Vorrichtungen, die mit der PLC verknüpft sind und durch diese gesteuert werden. Sensoren, Schalter, Relais, usw. sind einige Beispiele der Vorrichtungen, auf die in dieser Offenbarung verwiesen wird. Eine „Vorrichtung” gemäß der vorliegenden Offenbarung, ist jedoch nicht auf eine physikalische Vorrichtung begrenzt. Eine Vorrichtung kann ebenfalls auf interne Elemente verweisen, wie z. B. Register, interne Relais, usw., denen eine Speicheradresse in dem PLC zugewiesen ist. Eine Vorrichtung kann ebenfalls auf Software-Elemente verweisen, die über einen gemeinsamen zugänglichen Speicher mit der PLC kommunizieren können.
  • Wenn die peripheren Ausrüstungen die PLC abfragen, gibt die Abfrage eine Vorrichtung in der Steuerung an, die die periphere Ausrüstung überwachen möchte. Eine Abfrage kann z. B. wie „Ist die Vorrichtung X an/aus” ausgebildet sein.
  • Zusammenfassung
  • Technisches Problem
  • Es kann sein, dass derartige Abfragen durch eine Steuerung nicht verstanden werden, wenn die Steuerung High-Level-Sprachprogramme ausführt, welche Vorrichtungen nicht erkennt. Eine Steuerung, die High-Level-Sprachprogramme ausführt, z. B. ein Programm, das in C geschrieben ist, erkennt Variablennamen und physikalische Adressen der Variablennamen in dem Speicher der Steuerung anstelle von Vorrichtungsnamen. Wenn eine derartige Steuerung, die High-Level-Sprachprogramme ausführt, in einem existierenden Produktionssystem installiert wird, sind existierende periphere Ausrüstungen nicht in der Lage, mit der Steuerung zu kommunizieren.
  • Kunden, die jedoch neue Steuerungen verwenden möchten, die High-Level-Sprachprogramme ausführen können, da High-Level-Sprachprogramme leichter zu verwenden und aufrechterhalten sind, und Programmierer bevorzugen, High-Level-Sprachprogramme über Stufenprogramme zu verwenden. Eine potenzielle jedoch unzureichende Lösung für das Problem würde in der Verwendung einer teuren Middleware zwischen der Steuerung und der peripheren Ausrüstung bestehen.
  • Folglich besteht ein Bedarf an einem System, das das oben stehende Problem der Kommunikation zwischen älteren peripheren Ausrüstungen und neueren Steuerungen lösen kann.
  • Beispielhafte Ausführungsformen der vorliegenden Erfindung adressieren zumindest die oben stehenden Probleme und/oder Nachteile und andere Nachteile, die nicht oben erläutert wurden. Es ist nicht erforderlich, dass die vorliegende Erfindung die oben erläuterten Nachteile löst, und eine beispielhafte Ausführungsform der vorliegenden Erfindung kann keine der oben aufgelisteten Probleme lösen.
  • Lösung des Problems
  • Es wird ein beispielhaftes Verfahren zum Erzeugen einer Symboltabelle für eine programmierbare logische Steuerung bereitgestellt, die High-Level-Sprachprogramme ausführt. Das Verfahren enthält einen Schritt Lesen des High-Level-Sprachprogramms und einer Assoziationstabelle, die Beziehungen zwischen Vorrichtungen, gesteuert durch die programmierbare logische Steuerung, und Variablennamen in dem High-Level-Sprachprogramm spezifiziert; einen Schritt zum Kompilieren und Verknüpfen des High-Level-Sprachprogramms der Assoziationstabelle zum Bestimmen einer physikalischen Adresse für jeden der Variablennamen und der entsprechenden Vorrichtungen; einen Schritt zum Erzeugen der Symboltabelle, die die physikalische Adresse für jede der Vorrichtungen definiert, durch das Kompilieren und Verknüpfen; und einen Schritt zum Speichern der Symboltabelle in dem Speicher der programmierbaren logischen Steuerung.
  • Eine beispielhafte programmierbare logische Steuerung, die das High-Level-Sprachprogramm ausführt, und die Symboltabelle speichert, ist ebenfalls bereitgestellt.
  • Ein beispielhaftes Verfahren zum Kommunizieren zwischen einer peripheren Ausrüstung und einer programmierbaren logischen Steuerung, die das High-Level-Sprachprogramm ausführt, ist darüber hinaus ebenfalls bereitgestellt. Das Verfahren enthält einen Schritt zum Empfangen einer Anforderung zum Lesen oder Schreiben für eine Vorrichtung, die durch die programmierbare logische Steuerung gesteuert wird, wobei die Anforderung von der peripheren Ausrüstung empfangen wird, einen Schritt zum Lesen einer Symboltabelle zum Bestimmen einer physikalischen Adresse an einen Speicher der programmierbaren logischen Steuerung für die Vorrichtung, und einen Schritt zum Lesen von der bestimmten physikalischen Adresse oder zum Schreiben in die bestimmte physikalische Adresse.
  • Vorteilhafte Effekte der Erfindung
  • Ein Symboltabellen-Erzeugungsverfahren, ein Kommunikationsverfahren mit einer peripheren Ausrüstung, und eine programmierbare logische Steuerung gemäß der vorliegenden Erfindung führen zu einem Effekt, wonach eine programmierbare logische Steuerung, die High-Level-Sprachprogramme ausführen kann, leicht mit existierenden peripheren Ausrüstungen kommunizieren kann.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Diagramm zur Darstellung einer herkömmlichen industriellen Automatisierungsumgebung oder einem Produktionssystem.
  • 2 ist ein Diagramm zur Darstellung der Kompilierung dreier unterschiedlicher Programme und deren Organisation in einem physikalischen Speicher nach der Kompilierung und Verknüpfung gemäß einem herkömmlichen Verfahren.
  • 3 ist ein Diagramm zur Darstellung eines Kompilierens von drei unterschiedlichen Programmen und deren Organisation in einem physikalischen Speicher nach der Kompilierung und Verknüpfung gemäß einer beispielhaften Ausführungsform.
  • 4 ist ein Diagramm zur Darstellung einer Symboltabelle und einer Speicherorganisation der Steuerung gemäß einer beispielhaften Ausführungsform.
  • 5 ist ein Diagramm zur Darstellung eines beispielhaften Verfahrens zum Erzeugen einer Symboltabelle.
  • 6 ist ein Diagramm zur Darstellung eines beispielhaften Verfahrens zur Behandlung einer Datenlese- oder Schreibanforderung an die Steuerung von den peripheren Ausrüstungen.
  • 7 ist ein Diagramm zur Darstellung eines beispielhaften Verfahrens zur Handhabung einer Datenlese- oder Schreibanforderung an die Steuerung von den peripheren Ausrüstungen.
  • 8 ist ein Diagramm zur Darstellung einer beispielhaften Konfiguration für die Steuerung.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORM
  • Eine Ausführungsform eines Symboltabellen-Erzeugungsverfahrens, eines Kommunikationsverfahrens mit einer peripheren Ausrüstung, und eine programmierbare Logiksteuerung gemäß der vorliegenden Erfindung wird im Folgenden in Bezug auf die Zeichnungen detailliert erläutert. Diese Erfindung ist nicht auf diese Ausführungsform beschränkt.
  • Ausführungsform
  • In der folgenden Beschreibung werden gleiche Bezugszeichen in den Zeichnungen für gleiche Elemente verwendet, selbst in unterschiedlichen Zeichnungen. Die in der Beschreibung definierten Gegenstände, wie z. B. eine detaillierte Konstruktion bzw. Ausbildung und Elemente, werden zur Unterstützung eines vollständigen Verständnisses der Erfindung bereitgestellt. Die vorliegende Erfindung kann jedoch ohne diese speziell definierten Gegenstände ausgeführt werden. Wohl bekannte Funktionen und Ausbildungen werden darüber hinaus nicht detailliert beschrieben, da diese die Erfindung mit einem unnötigen Detail belegen würde.
  • Eine beispielhafte Ausführungsform der vorliegenden Offenbarung löst das in dem Hintergrund-Abschnitt erwähnte Problem, in dem eine Assoziationstabelle bereitgestellt wird, die jede der Vorrichtungen mit deren entsprechenden Variablennamen abgebildet. Bevor jedoch eine Beschreibung der beispielhaften Ausführungsform angegeben wird, ist ein Verständnis eines Kompilationsprozesses eines High-Level-Anwendungsprogramms erforderlich.
  • Ein Kompilator kompiliert ein High-Level-Sprachprogramm (auch als ein „High-Level-Programm” bezeichnet) in ein Objektmodul. Das heißt, dass der Kompilator einen High-Level-Programmquellencode in einen Assembler-Code wandelt, der durch die zugrunde liegende Hardware (z. B. ein Pipelined-Prozessor) verstanden wird. Ein Linker allokiert physikalische Adressen für jede der Objektdateien und Variablen, die in dem High-Level-Programm deklariert sind. Der Linker bzw. Verbinder erzeugt ferner eine Symboltabelle, die jede der Variablen zu deren jeweiligen physikalischen Adressen in dem Speicher der Steuerung (ein PLC wird hier als eine Steuerung bezeichnet) abbildet. 2 stellt ein Kompilieren von drei unterschiedlichen Programmen und deren Organisation in einem physikalischen Speicher nach der Kompilierung und dem Verlinken dar. Wie aus 2 ersichtlich, erzeugt der Linker eine Symboltabelle 201 zum Abbilden jeder der Variablen zu deren jeweiligen physikalischen Adresse in dem Steuerspeicher.
  • Gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung wird eine Assoziationstabelle 301 während der Kompilierung bereitgestellt. Die Assoziationstabelle 301 wird durch den Entwickler oder Ingenieur bereitgestellt, der das High-Level-Programm entwickelt. Das Kompilieren- und Verknüpfungsverfahren ist in 3 erläutert, und ein Unterschied zwischen der herkömmlichen Technik und der beispielhaften Ausführungsform ist das Vorhandensein der Assoziationstabelle 301 während der Kompilierung. Eine Symboltabelle 2 wird als Ergebnis des Kompilierungs- und Verknüpfungsverfahrens erzeugt. Wie aus 3 ersichtlich erhält diese Symboltabelle 302 eine Entsprechung zwischen Vorrichtungsnamen, Variablen (deklariert in dem High-Level-Programm), und physikalischen Adressen im Speicher.
  • Die Symboltabelle 302 enthält Spalten 311, 312, 313, 314, 315 und 316. Die Spalte 311 bestimmt den Vorrichtungsnahmen (Vorrichtungsspeichername), die Spalte 312 bestimmt die Vorrichtungsnummer (Vorrichtungs#), die Spalte 313 bestimmt den Datentyp oder die Dateneinheit, die Spalte 314 bestimmt Informationsmenge für den Datentyp gemäß Spalte 313, und die Spalte 315 bestimmt die mit den Vorrichtungen assoziierten Variablennamen. Wie aus der Symboltabelle 302 ersichtlich, wird die Vorrichtung D200 (bestimmt eine Temperatur, gemessen durch einen Temperatursensor der Steuerung) in dem High-Level-Programm durch eine Variable „Temperature_in_system” bezeichnet. Der Variable „Temperature_in_system” wurde ferner eine bestimmte physikalische Adresse (#Adresse 3) in dem Steuerspeicher zugewiesen, wie in Spalte 316 ersichtlich, in der physikalischen Adressen in der neuen Steuerung geschrieben werden.
  • 4 stellt eine Speicherorganisation der Steuerung nach der Kompilierung und Verknüpfung dar. Wie aus 4 ersichtlich, ist die Symboltabelle 302 in dem Speicher der Steuerung gespeichert.
  • 5 stellt ein Verfahren zum Erzeugen einer Symboltabelle dar, die eine Entsprechung zwischen Vorrichtungsnamen, Variablennamen und physikalischen Adressen speichert. Im Schritt S501 werden ein High-Level-Programm(e) und eine Assoziationstabelle (wie z. B. 301) durch den Kompilator gelesen. Der Kompilator erzeugt Assemblersprachendateien für jedes der High-Level-Programm(e) und die Assoziationstabelle. Im Schritt S502 heißt der Linker physikalische Adressen jeder der Variablen zu, die in dem (den) High-Level-Programm(en) deklariert sind, und erzeugt die Symboltabelle 302 durch ein Auslesen der Assoziationstabelle und des kompilierten High-Level-Programms. Im Schritt 503 speichert der Kompilator die erzeugte Symboltabelle 302 in dem Speicher der Steuerung.
  • Es ist möglich, ein High-Level-Sprachverarbeitungswerkzeug (ein Programmierwerkzeug 400) außerhalb der Steuerung 102 bereitzustellen, die High-Level-Sprachprogramme kompiliert und verknüpft und die Objektdateien und Symboldateien erzeugt. Das heißt, dass das Programmierwerkzeug 400 die in 5 dargestellten Prozesse ausführt. Das Programmierwerkzeug 400 kann als Eingabe die Assoziationstabelle 301 und die High-Level-Programme empfangen, und die Symboltabelle 302 ausgeben, die dann an die Steuerung heruntergeladen wird. Das Programmierwerkzeug kompiliert und verknüpft Source-Programme, kompiliert und verknüpft bzw. verbindet die Assoziationstabelle für Vorrichtungen und Variablennamen, und erzeugt die Symboltabelle. Das heißt, dass das Programmierwerkzeug 400 eine Ausführungsdatei mit der Symboltabelle 302 präpariert, und die ausführbare Datei an die PLC herunterlädt.
  • Eine detaillierte Beschreibung des Verknüpfungsprozesses, der durch das Programmierwerkzeug 400 durchgeführt wird, wird nun mit Bezug auf 3 bereitgestellt. Das Programmierwerkzeug 400 enthält einen High-Level-Sprachprogrammkompilator 401, der ein High-Level-Sprachsourceprogramm 21 kompiliert, das in das Programmierwerkzeug 400 eingegeben wird. Das High-Level-Sprachsourceprogramm 21 ist ein Programm, das in einer High-Level-Programmiersprache geschrieben ist. Der High-Level-Sprachprogrammkompilierer 201 gibt ein Objektmodul 24 aus (Objektdatei 24). Die Objektdatei 24 entspricht dem High-Level-Sprachsourceprogramm 21. Die Objektdatei 24 enthält Maschinenanweisungscodes, die von Quellcodes des High-Level-Sprachsourceprogramm 21 und einer symbolischen Information kompiliert werden, die Variablen wiedergibt, die in dem High-Level-Sprachsourceprogramm 21 verwendet werden.
  • Das Programmierwerkzeug 400 enthält ferner eine Bibliothek 402, die die Objektdatei 24 und andere Objektdateien integriert, um eine Nutzerbibliothek 26 zu erzeugen. Ein Linker 403, der in dem Programmierwerkzeug 400 enthalten ist, verlinkt bzw. verknüpft die Objektdatei 24, die Nutzerbibliothek 26 und eine High-Level-Sprachprogramm-Standardbibliothek 27 und erzeugt ein Lastmodul 29 und die Symboltabelle 302. Die High-Level-Sprachprogramm-Standardbibliothek 27 enthält Maschinenanweisungscodes für oft verwendete Unterroutinen. Die High-Level-Sprachprogramm-Standardbibliothek 27 wird durch den Provider des High-Level-Sprachprogrammkompilators 401 bereitgestellt. Ein Nutzer kann jedoch ebenfalls seine eigenen Standardbibliotheken präparieren. Die Symboltabelle 302 enthält Arrays oder Listen von Definitionen von Beziehungen unter Vorrichtungen, Variablen und physikalischen Adressen.
  • Im Folgenden wird ein Verfahren beschrieben, wie eine Daten-Leseanforderung an die Steuerung 102 von den peripheren Ausrüstungen 101 verhandelt wird. Im Schritt 601 empfängt eine Steuerung eine Anforderung für eine Information an einer Vorrichtung, die in der Steuerung enthalten ist, oder durch die Steuerung gesteuert wird. Die Anforderung kann einer Anforderung zum Lesen bzw. Auslesen des Status einer bestimmten Vorrichtung sein. Im Schritt S602 liest die Steuerung die Symboltabelle 302 vom Speicher. Im Schritt S603 bestimmt die Steuerung physikalische Adressen für die Vorrichtung von der Symboltabelle 302. Im Schritt S604 liest die Steuerung die Daten, die an den physikalischen Adressen im Speicher gespeichert sind, und sendet die ausgelesene Information im Schritt S605 an die anfordernde periphere Ausrüstung.
  • Ein separates Programm kann in der Steuerung gespeichert werden, die die Symboltabelle ausliest und dann die physikalischen Adressen von dem Speicher der Steuerung ausliest.
  • Im Folgenden wird ein Verfahren zum Behandeln einer Datenschreibanforderung an die Steuerung 102 von den peripheren Ausrüstungen 101 beschrieben. Im Schritt S701 empfängt eine Steuerung eine Anforderung zum Schreiben von Daten an eine Vorrichtung, die in der Steuerung enthalten ist oder durch die Steuerung gesteuert wird. Im Schritt S702 liest die Steuerung die Symboltabelle 302 vom Speicher. Im Schritt S703 bestimmt die Steuerung physikalische Adressen für die Vorrichtung von Symboltabelle 302. Im Schritt S704 schreibt die Steuerung die Daten an den ausgelesenen physikalischen Ort im Speicher.
  • 8 stellt eine beispielhafte Konfiguration einer Steuerung 800 (Steuerung 102) dar, die den Prozess gemäß 6 und 7 ausführt. Die Steuerung 800 enthält eine Anforderungsempfangseinheit 801, die eine Anforderung von einer peripheren Ausrüstung empfängt und den Inhalt der Anforderung bestimmt. Eine Symboltabellen-Leseeinheit 802 liest die Symboltabelle 302, die in dem Speicher der Steuerung gespeichert ist. Eine physikalische Adressenlese-/Schreibeinheit 803 liest/schreibt Daten in eine Speicherposition der Steuerung auf Grundlage der Symboltabelle 302 und der empfangenen Anforderungen.
  • Der Speicher der Steuerung kann aus einer nicht beschränkenden Liste von Speichermedien ausgebildet sein, dass das Folgende enthält: eine elektrische Verbindung, die einen oder mehrere Drähte aufweist, eine tragbare Computerdiskette, wie z. B. eine Floppy-Disk, Magnetband oder jedes andere magnetische Medium, eine Festplatte, ein RAM (eng. Random Access Memory), ein ROM (engl. Read-only Memory), ein EPPEROM (engl. Erasable Programmable Read-only Memory oder Flash-Memory), eine Speicherkarte, jeder andere Speicherchip oder Speichermodul, eine optische Faser, eine tragbare CD-Rom (engl. Compact Disc Read-only Memory), jedes andere optische Medium, Lochkarten, Lochstreifen, jedes andere physikalische Medium mit einem Lochmuster, oder jedes andere Medium, aus dem ein Computer/Steuerung eine geeignete Kombination des oben Stehenden auslesen kann.
  • Ferner kann jede der Anforderungsempfangseinheit 801, Symboltabellen-Leseeinheit 802 und physikalische Adressenlese-/Schreibeinheit 803 unter Verwendung eines Prozessors implementiert sein.
  • Die oben erläuterten beispielhaften Ausführungsformen stellen eine neue Steuerung bereit, die High-Level-Programme ausführt und ebenfalls Anforderungen zum Lesen oder Schreiben in Vorrichtungen von peripheren Ausrüstungen verarbeiten kann, die einen Vorrichtungsnamen in deren Anforderung bereitstellen. Die neue Steuerung liest die Symboltabelle aus und wandelt einen Vorrichtungsnahmen in eine physikalische Adresse, von der gelesen werden kann oder in die geschrieben werden kann. Die neue Steuerung kann somit Anforderungen eines Datenzugriffs von einer peripheren Ausrüstung behandelt, ohne dass es einer Middleware oder der Aktualisierung der peripheren Ausrüstungen der peripheren Ausrüstungen bedarf. Die Symboltabelle kann extern durch ein Programmierwerkzeug präpariert werden, und durch das Programmierwerkzeug in die Steuerung heruntergeladen werden.
  • Das Programmierwerkzeug 400 kann einen Prozessor enthalten, wie z. B. eine anwendungs-spezifische integrierte Schaltung, einen digitalen Signalprozessor, usw., der die Aufgaben des High-Level-Sprachprogrammkompilators 401, der Bibliothek 402 und des Linkers bzw. Verbinders 403 durchführt. Das Programmierwerkzeug 400 kann ferner eine geeignete Einheit zum Kommunizieren mit der PLC enthalten. Das Programmierwerkzeug 400 kann z. B. über einen USB (engl. Universal Serial Bus) mit der PLC kommunizieren.
  • Jeder der in den 57 beschriebenen Prozesse kann ferner durch einen Spezialrechner implementiert werden, der gemäß Anweisungen arbeitet, die an einem konkreten Computer-lesbaren Speichermedium gespeichert sind.
  • Die oben stehenden beispielhaften Ausführungsformen sind lediglich beispielhaft und dienen nicht zur Beschränkung der vorliegenden Erfindung. Die vorliegende Lehre kann ohne weiteres für andere Vorrichtungstypen angewendet werden. Die Beschreibung der beispielhaften Ausführungsformen der vorliegenden Erfindung dient ferner lediglich zur Darstellung, und nicht zur Beschränkung des Umfangs der Ansprüche, und viele Alternativen, Modifikationen und Variationen sind dem Fachmann ersichtlich.
  • Bezugszeichenliste
  • 21
    High-Level-Sprachquellenprogramm
    24
    Objektdatei
    26
    Nutzerbibliothek
    27
    High-Level-Sprachprogramm-Standardbibliotheken
    29
    Lastmodul
    100
    Produktionssystem
    101
    Periphere Ausrüstung
    102, 800
    Steuerung
    103
    Netzwerk
    201, 302
    Symboltabelle
    301
    Assoziationstabelle
    311 bis 316
    Spalte
    400
    Programmierwerkzeug
    401
    High-Level-Sprachprogrammkompiler
    402
    Bibliothek
    403
    Linker
    801
    Anforderungsempfangseinheit
    802
    Symboltabellen-Leseeinheit
    803
    physikalische Adressenlese-/Schreibeinheit

Claims (5)

  1. Symboltabellen-Erzeugungsverfahren zum Erzeugen einer Symboltabelle für eine programmierbare logische Steuerung, die ein High-Level-Sprachprogramm ausführt, wobei das Verfahren umfasst: einen Schritt zum Lesen des High-Level-Sprachprogramms und einer Assoziationstabelle, die Beziehungen zwischen Vorrichtungen, gesteuert durch die programmierbare logische Steuerung, und Variablennamen in dem High-Level-Sprachprogramm spezifiziert; einen Schritt zum Kompilieren und Verknüpfen des High-Level-Sprachprogramms der Assoziationstabelle zum Bestimmen einer physikalischen Adresse für jeden der Variablennamen und der entsprechenden Vorrichtungen; einen Schritt zum Erzeugen der Symboltabelle, die die physikalische Adresse für jede der Vorrichtungen definiert, durch das Kompilieren und Verknüpfen; und einen Schritt zum Speichern der Symboltabelle in dem Speicher der programmierbaren logischen Steuerung.
  2. Kommunikationsverfahren mit einer peripheren Ausrüstung durch eine programmierbare logische Steuerung, die ein High-Level-Sprachprogramm ausführt, wobei das Verfahren umfasst: einen Schritt zum Empfangen einer Anforderung zum Lesen oder Schreiben für eine Vorrichtung, gesteuert durch die programmierbare logische Steuerung, der von der peripheren Ausrüstung empfangenen Anforderung; einen Schritt zum Lesen einer Symboltabelle, um eine physikalische Adresse in einem Speicher der programmierbaren logischen Steuerung für die Vorrichtung zu bestimmen; und einen Schritt zum Lesen von oder Schreiben in die bestimmte physikalische Adresse.
  3. Programmierbare logische Steuerung, die ein High-Level-Sprachprogramm zum Steuern von Vorrichtungen ausführt, wobei die programmierbare logische Steuerung umfasst: eine Anforderungsempfangseinheit, die eine Anforderung zum Lesen oder Schreiben für eine Vorrichtung, gesteuert durch die programmierbare logische Steuerung, empfängt, wobei die Anforderung von einer peripheren Ausrüstung empfangen wird; eine Symboltabellen-Leseeinheit, die eine Symboltabelle liest, um eine physikalische Adresse in einem Speicher der programmierbaren logischen Steuerung für die Vorrichtung zu bestimmen; und eine physikalische Adressenlese- oder Schreibeinheit, die von der bestimmten physikalischen Adresse liest oder in die bestimmte physikalische Adresse schreibt.
  4. Kommunikationsverfahren mit einer peripheren Ausrüstung nach Anspruch 2, wobei: die Anforderung einen Namen der Vorrichtung enthält, und die Symboltabelle eine Beziehung zwischen dem Namen der Vorrichtung, einem variablen Namen entsprechend der Vorrichtung und verwendet in dem High-Level-Sprachprogramm, und einer physikalischen Adresse in dem Speicher der programmierbaren logischen Steuerung entsprechend dem Variablennamen definiert.
  5. Programmierbare logische Steuerung nach Anspruch 3, wobei: die Anforderung einen Namen der Vorrichtung enthält, und die Symboltabelle eine Beziehung zwischen dem Namen der Vorrichtung, einem Variablennamen entsprechend der Vorrichtung und verwendet in dem High-Level-Sprachprogramm, und einer physikalischen Adresse in dem Speicher der programmierbaren logischen Steuerung entsprechend dem Variablennamen definiert.
DE112011105402.5T 2011-07-01 2011-11-17 Symboltabellen-Erzeugungsverfahren; Kommunikationsverfahren mit peripherer Ausrüstung und programmierbare Logiksteuerung Pending DE112011105402T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/175,106 US8832670B2 (en) 2011-07-01 2011-07-01 Programmable controller and programming tool for communication with legacy equipment
USUS-13/175,106 2011-07-01
PCT/JP2011/076579 WO2013005350A1 (ja) 2011-07-01 2011-11-17 シンボルテーブル生成方法、周辺機器との通信方法およびプログラマブルロジックコントローラ

Publications (1)

Publication Number Publication Date
DE112011105402T5 true DE112011105402T5 (de) 2014-04-03

Family

ID=47391395

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011105402.5T Pending DE112011105402T5 (de) 2011-07-01 2011-11-17 Symboltabellen-Erzeugungsverfahren; Kommunikationsverfahren mit peripherer Ausrüstung und programmierbare Logiksteuerung

Country Status (3)

Country Link
US (1) US8832670B2 (de)
DE (1) DE112011105402T5 (de)
WO (1) WO2013005350A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160187865A1 (en) * 2014-07-14 2016-06-30 Mitsubishi Electric Corporation Plc system and arithmetic-expression-data-creation supporting apparatus

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6821497B2 (ja) * 2017-04-27 2021-01-27 株式会社日立産機システム 産業用コントローラのプログラム開発システム及び産業用コントローラのプログラム開発システムにおけるデータ共有方法
JP6950665B2 (ja) 2018-11-02 2021-10-13 横河電機株式会社 エンジニアリング装置、エンジニアリング装置の制御方法及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ218742A (en) * 1986-06-03 1990-09-26 Fisher & Paykel Programmed logic controller
US3878514A (en) * 1972-11-20 1975-04-15 Burroughs Corp LSI programmable processor
US3827030A (en) * 1973-01-29 1974-07-30 Gulf & Western Industries Programmable controller using a random access memory
US4443865A (en) * 1981-10-26 1984-04-17 Allen-Bradley Co. Processor module for a programmable controller
JPH0830971B2 (ja) * 1984-03-26 1996-03-27 株式会社日立製作所 プログラマブルコントローラ
US5287511A (en) * 1988-07-11 1994-02-15 Star Semiconductor Corporation Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision making microprocessor interfacing therewith
JP2661316B2 (ja) * 1990-03-24 1997-10-08 トヨタ自動車株式会社 複数のプログラマブルコントローラ間の並列運転による制御装置
JPH05334096A (ja) 1992-06-01 1993-12-17 Fuji Electric Co Ltd 言語翻訳プログラム及びその出力結果を用いるデバッグ装置
US6192282B1 (en) * 1996-10-01 2001-02-20 Intelihome, Inc. Method and apparatus for improved building automation
US6088624A (en) * 1996-12-09 2000-07-11 Rockwell Technologies, Llc Industrial controller with flexible data structures
US5950006A (en) * 1997-11-05 1999-09-07 Control Technology Corporation Object-oriented programmable controller
FR2820222B1 (fr) * 2001-01-26 2003-03-21 Schneider Automation Procede de programmation d'une application d'automatisme
JP4366575B2 (ja) 2003-11-05 2009-11-18 オムロン株式会社 ツール
JP4566703B2 (ja) 2004-11-16 2010-10-20 Hoya株式会社 電子内視鏡装置
JP2009146229A (ja) 2007-12-14 2009-07-02 Fuji Electric Systems Co Ltd プログラマブルコントローラシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160187865A1 (en) * 2014-07-14 2016-06-30 Mitsubishi Electric Corporation Plc system and arithmetic-expression-data-creation supporting apparatus
US10018983B2 (en) 2014-07-14 2018-07-10 Mitsubishi Electric Corporation PLC system and arithmetic-expression-data-creation supporting apparatus

Also Published As

Publication number Publication date
US20130006397A1 (en) 2013-01-03
US8832670B2 (en) 2014-09-09
WO2013005350A1 (ja) 2013-01-10

Similar Documents

Publication Publication Date Title
EP2009525B1 (de) Testvorrichtung zum Testen wenigstens eines elektronischen Steuerungssystems und Verfahren dazu
DE112012006107B4 (de) Sequenzprogramm-Fehlerbehebungs-Hilfsvorrichtung
DE112011103308T5 (de) Verfahren, System und Programm
EP3001313A1 (de) Verfahren zur Simulation eines Anwendungsprogramms eines elektronischen Steuergeräts auf einem Computer
EP3285165A1 (de) Modifizieren und simulieren der betriebssoftware eines technischen systems
EP2881857A1 (de) Verfahren zur Änderung der Software im Speicher eines elektronischen Steuergerätes
DE102016223939A1 (de) Parallelisierungsverfahren, Parallelisierungswerkzeug und fahrzeugeigene Vorrichtung
EP3542232B1 (de) Steuerung für eine industrielle automatisierungsanlage und verfahren zum programmieren und betreiben einer derartigen steuerung
EP2698678A2 (de) Konfigurationstechnik für ein Steuergerät mit miteinander kommunizierenden Anwendungen
DE112011105402T5 (de) Symboltabellen-Erzeugungsverfahren; Kommunikationsverfahren mit peripherer Ausrüstung und programmierbare Logiksteuerung
EP0913750A1 (de) Anordnung zum Fernsteuern und/oder Fernbedienen eines Feldgeräts mittels eines Steuergeräts über einen Feldbus
DE19924702A1 (de) Systeme mit einheitlicher Datenstruktur, Verfahren und Computerprogrammprodukte zur Feststellung von globalen Konflikten
EP3015995A1 (de) Verfahren zum konfigurieren einer schnittstelleneinheit eines computersystems
DE102011076821A1 (de) Simulation von Echtzeitsystemen unter Ausnutzung vonAufrufstellen (Access Points)
EP3021179B1 (de) Verfahren zum anschliessen eines embedded-geräts an eine steuereinheit
EP3629108B1 (de) Projektierung eines automatisierungssystems
EP3401743B1 (de) Verfahren zur aufstellung einer menüstruktur auf einem messumformer und messumformer
EP2793196B1 (de) Tachograph und on-board-einheit für ein nutzkraftfahrzeug
EP2367084A1 (de) Verfahren für die Konfigurierung einer Steuerungseinrichtung einer industriellen Automatisierungsanordnung und Komponente für eine industrielle Automatisierungsanordnung
DE102014108126A1 (de) FDT Host als FDI UIP in generischem FDI Package
EP1299802B1 (de) Elektronisches system zur entwicklung von software und ein verfahren zum zugriff auf interne daten der software
EP2998805A1 (de) Verfahren und Vorrichtung zur Erzeugung eins Überwachungs-Funktionsbausteins für die Überwachung einer Automatisierungsanordnung
EP1646946B1 (de) Zugriff auf eine speicherprogrammierbare steuerung
EP3309698B1 (de) Verfahren zum betreiben eines computersystems
DE102016121788A1 (de) Konfiguration einer Automatisierungsanlage

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: HOFFMANN - EITLE PATENT- UND RECHTSANWAELTE PA, DE

Representative=s name: HOFFMANN - EITLE, DE

R012 Request for examination validly filed

Effective date: 20131209

R084 Declaration of willingness to licence
R016 Response to examination communication