DE112018007978T5 - Programmierbare Logiksteuerung, externes Gerät, Verfahren und Programm - Google Patents

Programmierbare Logiksteuerung, externes Gerät, Verfahren und Programm Download PDF

Info

Publication number
DE112018007978T5
DE112018007978T5 DE112018007978.3T DE112018007978T DE112018007978T5 DE 112018007978 T5 DE112018007978 T5 DE 112018007978T5 DE 112018007978 T DE112018007978 T DE 112018007978T DE 112018007978 T5 DE112018007978 T5 DE 112018007978T5
Authority
DE
Germany
Prior art keywords
value
storage means
read
program
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.)
Pending
Application number
DE112018007978.3T
Other languages
English (en)
Inventor
Yoshihiro Nagatomo
Keiichi Adachi
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 DE112018007978T5 publication Critical patent/DE112018007978T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

Eine programmierbare Logiksteuerung führt die Ausführung eines Programms in jeder voreingestellten Periode aus und wiederholt die Ausführung des Programms. Der erste Gerätvorrat (101) speichert einen Gerätwert, der ein Eingabewert und ein Ausgabewert des Programms ist. Der zweite Gerätvorrat speichert den Gerätwert, der in einer früheren Periode in dem ersten Gerätspeicher gespeichert wurde. In einem Fall, in welchem ein Leseziel, das für ein Gerät, welches in einer Überwachungsanfrage, die von einem Ingenieurswerkzeug (500) empfangen wurde, benannt wurde, voreingestellt wurde, der erste Gerätvorrat (101) ist, liest der Befehlsverarbeiter (105) den Gerätwert, der in dem ersten Gerätvorrat (101) gespeichert ist, nachdem die Ausführung des Programms in der gegenwärtigen Periode vollständig ist, und in einem Fall, in welchem ein Leseziel der zweite Gerätvorrat (102) ist, liest der Befehlsverarbeiter (105) sofort den Gerätwert, der im zweiten Gerätvorrat (102) gespeichert ist. Das Befehls-Sende/Empfangselement (104) sendet den Gerätwert an das Ingenieurswerkzeug (500).

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft eine programmierbare Logiksteuerung, ein externes Gerät, ein Verfahren und ein Programm.
  • Stand der Technik
  • Eine zentrale Verarbeitungseinheit (CPU) einer programmierbaren Logiksteuerung führt, um das Steuerzielgerät zu steuern, jeden Befehl eines Programms zu jeder Abtastzeit aus, führt eine Verarbeitung unter Verwendung eines Eingabesignals, das von einem Detektor bereitgestellt wird, aus, und liefert an ein Steuerzielgerät ein Ausgabesignal, welches ein Ergebnis der Verarbeitung ist. Ein Eingeber der programmierbaren Logiksteuerung gibt in die CPU der programmierbaren Logiksteuerung das Eingabesignal, das von dem Detektor geliefert wird, der mit dem Eingeber verbunden ist, ein. Ein Ausgeber der programmierbaren Logiksteuerung liefert an das Steuerzielgerät, das mit dem Ausgeber verbunden ist, das Ausgabesignal, welches von der CPU ausgegeben wird. In der CPU der programmierbaren Logiksteuerung werden das Eingabesignal, das von dem Detektor geliefert wird, und das Ausgabesignal, welches das Resultat der Verarbeitung ist, in einem Speichergebiet der CPU gespeichert, welches ein Gerätspeicher genannt wird.
  • Ein Benutzer überwacht Daten in dem Gerätspeicher mittels eines externen Geräts, zum Beispiel eines programmierbaren Geräts oder eines Programmentwicklungswerkzeugs, um zu bestätigen, ob der Betrieb eines Programms der programmierbaren Logiksteuerung normal ist. Patentliteratur 1 offenbart ein programmierbares Gerät, welches (I) zu jeder Abtastzeit einen Gerätwert von einem Gerätspeicher liest, d. h., zu einem Zeitpunkt einer Eingabe/Ausgabe (I/O)-Aktualisierung, und (II) den gelesenen Gerätwert auf einem Display darstellt.
  • Unter dem Begriff „I/O-Aktualisierung“ versteht man hier den Austausch von Daten des Gerätspeichers insgesamt zwischen der speicherprogrammierbaren Steuerung, dem Eingeber und dem Ausgeber am Ende jeder Abtastzeit. Insbesondere wird Datenaustausch in dem Gerätspeicher zwischen der CPU und dem Eingeber, und zwischen der CPU und dem Ausgeber ausgeführt. Da die Daten, die in dem Gerätspeicher gespeichert sind, Daten umfassen, die während der Ausführung des Programms bei Bedarf überschrieben werden, wird die I/O-Aktualisierung am Ende jeder Abtastzeit ausgeführt, d. h., nachdem alle Befehle ausgeführt sind.
  • Patentliteratur 2 offenbart auch Ausführung der I/O-Aktualisierung nicht nur am Ende der Abtastzeit, sondern auch, nachdem die Ausführung des Programm während der Ausführung des Programms unterbrochen wurde.
  • Zitatliste
  • Patentliteratur
    • Patentliteratur 1: nicht geprüfte japanische Patentanmeldung Publikationsnummer 2003-84811
    • Patentliteratur 2: nicht geprüfte japanische Patentanmeldung Publikationsnummer 2016-110458
  • Überblick über die Erfindung
  • Technisches Problem
  • Wie in Patentliteratur 1 offenbart, sendet eine konventionelle programmierbare Logiksteuerung nach Empfang einer Leseanfrage von einem programmierbaren Display, einem Entwicklungswerkzeug oder Ähnlichem, den Gerätspeicher zu lesen, an das programmierbare Display, das Entwicklungswerkzeug oder Ähnliches zum Zeitpunkt der I/O-Aktualisierung einen Wert des Gerätspeichers, der von der Leseanfrage benannt wurde, als Antwort auf die Leseanfrage.
  • Die Länge der Abtastzeit variiert abhängig von der programmierbaren Logiksteuerung. Wenn das programmierbare Display, das Entwicklungswerkzeug oder Ähnliches eine Leseanfrage an die programmierbare Logiksteuerung sendet, für welche die Abtastzeit lang eingestellt ist, sendet die programmierbare Logiksteuerung keine Antwort bis zum Ende der Abtastzeit. Das programmierbare Display, das Entwicklungswerkzeug oder Ähnliches ist für eine lange Zeit auf Standby, bis eine Antwort empfangen wird. Aus diesem Grund kann der Benutzer das programmierbare Display, das Entwicklungswerkzeug oder Ähnliches, welches auf Standby ist, nicht bedienen, was zu einer merklichen Reduzierung der Bedienbarkeit eines externen Geräts, wie dem programmierbaren Display oder dem Entwicklungswerkzeug führt.
  • In der Konfiguration, die in Patentliteratur 2 beschrieben ist, wird die Ausführung des Programms unterbrochen und dann wird die I/O-Aktualisierung ausgeführt. Demzufolge kann die CPU auch eine Antwort auf die Leseanfrage an das programmierbare Display, das Entwicklungswerkzeug oder Ähnliches zu einem Zeitpunkt senden, an dem die Ausführung des Programms unterbrochen ist, und dann wird die I/O-Aktualisierung ausgeführt. In diesem Fall ist es unnötig, dass das programmierbare Display, das Entwicklungswerkzeug oder Ähnliches wartet, bis alle Befehle des Programms ausgeführt sind. Jedoch ist der Wert, der von dem Gerätspeicher gelesen wird, in diesem Fall nicht ein Wert von einem Zeitpunkt, nachdem die Befehle des Programms vollständig ausgeführt sind. D. h., der Wert, der von dem Gerätspeicher gelesen wurde, ist kein Datenpunkt, der durch vollständige Ausführung des Programms bestimmt wurde. Demzufolge kann auch in der Konfiguration, die in Patentliteratur 2 offenbart ist, der bestimmte Gerätwert nicht sofort zurückgegeben werden.
  • In Anbetracht der oben erwähnten Umstände ist es ein Ziel der vorliegenden Offenbarung, (I) es einem externen Gerät zur Überwachung eines Gerätspeichers zu ermöglichen, den ermittelten Gerätwert zu lesen, ohne von der Abtastzeit der programmierbaren Logiksteuerung abhängig zu sein, und (II) die Betreibbarkeit des externen Geräts zu verbessern.
  • Lösung des Problems
  • Um das oben beschriebene Ziel zu erreichen führt eine programmierbare Logiksteuerung die Ausführung eines Programms in jeder voreingestellten Periode aus und wiederholt die Ausführung des Programms. Gerätspeichermittel speichern einen Gerätwert, welcher ein Eingabewert und ein Ausgabewert des Programms ist. Vorratsdatenspeichermittel speichern den Gerätwert, welcher in einer früheren Periode in dem Gerätspeichermittel gespeichert wurde. Nach Empfang einer Leseanfrage von einem externen Gerät, den Gerätwert zu lesen, liest das Befehlsverarbeitungsmittel, in einem Fall, in dem ein Leseziel, welches für ein Gerät, das in der Leseanfrage benannt wurde, voreingestellt ist, das Gerätspeichermittel ist, den Gerätwert, der in dem Gerätspeichermittel gespeichert wird, nachdem die Ausführung des Programms in einer gegenwärtigen Periode vollständig ist, und liest das Befehlsverarbeitungsmittel sofort, in einem Fall, in dem das Leseziel, welches für das benannte Gerät voreingestellt ist, das Vorratsdatenspeichermittel ist, den Gerätwert, der in dem Vorratsdatenspeichermittel gespeichert ist. Das Übermittlungsmittel sendet den Gerätwert, der von dem Befehlsverarbeitungsmittel gelesen wurde, an das externe Gerät.
  • Vorteilhafte Wirkungen der Erfindung
  • In der programmierbaren Logiksteuerung der vorliegenden Offenbarung speichert das Vorratsdatenspeichermittel den Gerätwert, der in der früheren Periode in dem Gerätspeichermittel gespeichert wurde. In dem Fall, in dem das Leseziel, das für das Gerät, welches in der Leseanfrage, die von dem externen Gerät empfangen wurde, voreingestellt ist, das Gerätspeichermittel ist, (I) liest die programmierbare Logiksteuerung den Gerätwert, der in dem Gerätspeichermittel gespeichert wurde, nachdem die Ausführung des Programms in der gegenwärtigen Periode vollständig ist, und (II) sendet den Gerätwert an das externe Gerät. In dem Fall, in dem das Leseziel, das für das benannte Gerät voreingestellt wurde, das Vorratsdatenspeichermittel ist, (I) liest die programmierbare Logiksteuerung sofort den Gerätwert, der in dem Vorratsdatenspeichermittel gespeichert ist, und (II) sendet die programmierbare Logiksteuerung den Gerätwert an das externe Gerät. Eine solche Konfiguration ermöglicht es dem Gerätspeicher, unabhängig von der Abtastzeit der programmierbaren Logiksteuerung gelesen zu werden, und die Betreibbarkeit des externen Geräts kann verbessert werden.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das eine Hardwarekonfiguration für eine programmierbare Logiksteuerung und ein Ingenieurswerkzeug gemäß einer Ausführungsform zeigt;
    • 2 ist ein Blockdiagramm, welches Funktionen einer CPU der programmierbaren Logiksteuerung und des Ingenieurswerkzeugs gemäß der Ausführungsform zeigt;
    • 3 ist ein Diagramm, welches ein Beispiel von Daten darstellt, die in einer Lesezielbenennungstabelle gemäß der Ausführungsform eingepflegt sind;
    • 4 ist ein Diagramm, welches ein Beispiel für ein Benennungsfenster zum Lesen des Ingenieurswerkzeugs gemäß der Ausführungsform zeigt;
    • 5A ist ein Diagramm, das ein Beispiel für ein Eingabefenster eines Gerätüberwachers des Ingenieurswerkzeugs gemäß der Ausführungsform darstellt;
    • 5B ist ein Diagramm, das ein Beispiel für ein Ausführungsergebnisfenster des Gerätüberwachers des Ingenieurswerkzeugs gemäß der Ausführungsform darstellt;
    • 6 ist ein Ablaufdiagramm, das die von der CPU gemäß der Ausführungsform durchgeführte Verarbeitung der Überwachungsantwort zeigt;
    • 7 ist ein Diagramm, das ein Beispiel für ein Eingabefenster eines Gerätüberwachers eines Ingenieurswerkzeugs gemäß einem modifizierten Beispiel 1 zeigt; und
    • 8 ist ein Diagramm, das eine Konfiguration von Hardware für eine programmierbare Logiksteuerung nach einem modifizierten Beispiel 2 darstell t.
  • Beschreibung von Ausführungsformen
  • Eine programmierbare Logiksteuerung 1 nach einer Ausführungsform der vorliegenden Offenbarung wird unten mit Verweis auf die Zeichnungen im Detail beschrieben.
  • Ausführungsform
  • Die programmierbare Logiksteuerung 1, die in 1 dargestellt ist, steuert einen Detektor 901 und ein gesteuertes Gerät 902, die in einem Produktionssystem, einem Steuersystem oder Ähnlichem betrieben werden. Die programmierbare Logiksteuerung 1 umfasst (I) eine zentrale Steuereinheit (CPU) 100, die die gesamte programmierbare Logiksteuerung 1 steuert, (II) einen Eingeber 200, der an die CPU 100 ein Eingabesignal liefert, das von dem Detektor 901 empfangen wird, (III) einen Ausgeber 300, der an das gesteuerte Gerät 902 ein Ausgabesignal ausgibt, das ein Verarbeitungsresultat der CPU 100 anzeigt, und (IV) einen Sockel 400, um die CPU, den Eingeber und den Ausgeber zu tragen.
  • Die CPU 100 (I) führt einen Befehl eines Programms in Übereinstimmung mit einem AN/AUS-Zustand eines Eingabesignals, das von dem Eingeber 200 geliefert wird, aus, und gibt (II) an den Ausgeber 300 das Verarbeitungsresultat, welches von dem AN/AUS-Zustand repräsentiert wird, als ein Ausgabesignal aus. Die CPU 100 beginnt die Ausführung des Programms zu einer voreingestellten Periode, führt einen ENDE-Befehl aus, der der letzte Befehl des Programms ist, und beendet dann die Ausführung des Programms. Die CPU 100 beginnt die Ausführung des Programms erneut in einer nächsten Periode. Diese voreingestellte Periode wird eine Abtastzeit genannt.
  • Der Detektor 901, welcher einen Sensor, einen Schalter und Ähnliches umfasst, ist mit dem Eingeber 200 verbunden. Der Eingeber 200 (I) verwandelt das Eingabesignal, das AN/AUS kennzeichnet und das von dem Detektor 901 bereitgestellt wird, in einen vorbestimmten Signalwert und (II) liefert den verwandelten Signalwert an die CPU 100. Das gesteuerte Gerät 902, welches einen Aktuator, ein Magnetventil, eine Kontrollleuchte und Ähnliches umfasst, ist mit dem Ausgeber 300 verbunden. Der Ausgeber 300 (I) verwandelt das Ausgabesignal, das AN/AUS anzeigt, und das von der CPU bereitgestellt wird, in einen voreingestellten Signalwert, und (II) liefert das verwandelte Ausgabesignal an das gesteuerte Gerät 902.
  • Die CPU 100, der Eingeber 200 und der Ausgeber 300 sind auf dem Sockel 400 aufgebaut. Die CPU 100, der Eingeber 200, und der Ausgeber 300 (I) sind verbunden mit einer nicht dargestellten Stromversorgung über den Sockel 400 und (II) werden betrieben durch Strom, der von der Stromversorgung bereitgestellt wird. Außerdem sind die CPU 100, der Eingeber 200 und der Ausgeber 300 miteinander verbunden über den geteilten Bus 410 und kommunizieren miteinander über den geteilten Bus 410.
  • Des Weiteren kann ein Ingenieurswerkzeug 500, welches ein Entwicklungswerkzeug ist, mit der CPU 100 der programmierbaren Logiksteuerung 1 verbunden sein. Die Konfiguration des Ingenieurswerkzeugs 500 ist später beschrieben.
  • In den nachfolgenden Beschreibungen wird vor allem die CPU 100, die in der Ausführungsform eine charakteristische Konfiguration hat, beschrieben.
  • Die CPU 100 umfasst, als Hardwarekonfiguration, (I) einen Speicher 110, der verschiedene Typen von Programmen und Daten speichert, (II) eine Eingabe-/Ausgabeschnittstelle 120, die mit dem Eingeber 200 und dem Ausgeber 300 kommuniziert, (III) eine Werkzeugschnittstelle 130, die mit dem Ingenieurswerkzeug 500, welches später beschrieben ist, kommuniziert, und (IV) ein Verarbeitungsgerät 140, das die gesamte CPU 100 steuert. Der Speicher 110, die Eingabe-/Ausgabeschnittstelle 120, und die Werkzeugschnittstelle 130 sind mit dem Verarbeitungsgerät 140 über einen Bus 190 verbunden und kommunizieren mit dem Verarbeitungsgerät 140.
  • Der Speicher 110 (I) umfasst einen flüchtigen Speicher 111 und einen nicht flüchtigen Speicher 112 und (II) speichert verschiedene Typen von Programmen und Daten. Der flüchtige Speicher 111 wird als Arbeitsspeicher des Verarbeitungsgeräts 140 benutzt. Der nichtflüchtige Speicher 112 speichert (I) eine Geräteinstellung 1121, welche Daten über die Zuordnung von Daten, die in dem Gerätspeicher gespeichert sind, speichert, (II) ein Benutzerprogramm 1122, das zu jeder Abtastzeit ausgeführt wird, und (III) ein Antwortüberwachungsprogramm 1123, um auf eine Überwachungsanfrage, die von einem Ingenieurswerkzeug 500 empfangen wurde, welches später beschrieben ist, zu antworten. Eine Zugriffsgeschwindigkeit des flüchtigen Speichers 111 ist höher als eine Zugriffsgeschwindigkeit des nichtflüchtigen Speichers 112. Das Benutzerprogramm 1122 ist ein Beispiel für das Programm der hier vorliegenden Offenbarung.
  • Des Weiteren erfüllt der Speicher 110 die Funktionen des Gerätspeichers. Der Gerätspeicher ist ein Speichergebiet, das (I) den Eingabewert der Verarbeitung durch das Benutzerprogramm 1122, welcher ein Wert ist, der ein von dem Detektor 901 an die CPU 100 geliefertes Eingabesignal anzeigt, und (II) den Ausgabewert, der als das Verarbeitungsergebnis des Benutzerprogramms 1122 ausgegeben wird, speichert. Der Ausgabewert, der von dem Verarbeitungsgerät 140, das das Benutzerprogramm 112 ausführt, ausgegeben wird, ist ein Wert, der ein Ausgabesignal anzeigt, das zu dem gesteuerten Gerät 902 geliefert wird. Ein Wert, der das Eingabesignal, das in dem Gerätspeicher gespeichert ist, anzeigt, und ein Wert, der das Ausgabesignal, das in dem Gerätspeicher gespeichert ist, anzeigt, werden Gerätwerte genannt. Der Gerätspeicher kann einfach als ein Gerät bezeichnet werden. In dieser Ausführungsform umfasst die CPU 100 (I) einen Master-Gerätspeicher, der den Gerätwert zur gegenwärtigen Abtastzeit speichert, und (II) einen Gerätspeicher zum Vorrat, der den Gerätwert der zu der früheren Abtastzeit auftritt, speichert. Der flüchtige Speicher 111 fungiert als der Master-Gerätspeicher. Der nichtflüchtige Speicher 112 fungiert als der Gerätspeicher zum Vorrat.
  • Der Gerätwert umfasst, zum Beispiel, Zeitreihendaten, die von dem gleichen Sensor gesammelt wurden, oder Daten, die von mehreren Sensoren zur gleichen Zeit gesammelt wurden.
  • Bei der Geräteinstellung 1121 handelt es sich um Daten, die ein Gebiet zum Speichern des Eingabesignals, ein Gebiet zum Speichern des Ausgabesignals und ähnliches definieren. Der Gerätwert und die Daten des Eingabesignals und des Ausgabesignals werden in dem Gebiet gespeichert, das einer Sorte Daten zugeordnet ist. In der Geräteinstellung 1121 ist das Gebiet, in dem der Wert des Eingabesignals gespeichert ist, als „X“ definiert, das Gebiet in dem der Wert des Ausgabesignals gespeichert wird, ist als „Y“ definiert, und das Gebiet, in dem andere Werte gespeichert sind, ist als „D“ definiert. Des Weiteren umfasst die Geräteinstellung 1121 eine Startnummer und eine Endnummer, um die Größe von jedem der Gebiete „X“, „Y“, und „D“ zu identifizieren. Diese Nummern sind analog zu einer sogenannten Speicheradresse. Mehrere Gerätwerte sind in jeder der Gebiete „X“, „Y“ und „D“ gespeichert, und jedem Gerätwert ist eine Nummer zugeordnet, welche die Reihenfolge von Daten in diesem Gebiet anzeigt. Wenn zum Beispiel die Startnummer des Gebiets „X“ 1 ist, dann sind Daten, die in „X100“ gespeichert sind, die einhundertsten Daten in dem Gebiet „X“. Die Startnummer ist eine Zahl, die dem ersten Gerätwert in dem Gebiet zugewiesen wird, und die Endnummer ist eine Zahl, die dem letzten Gerätwert in dem Gebiet zugeordnet wird.
  • Das Benutzerprogramm 1122 ist ein Programm, das von einem Benutzer geschaffen wird, und das durch das Verarbeitungsgerät 140 ausgeführt wird. Das Verarbeitungsgerät 140 führt das Benutzerprogramm 1122 aus, um eine Verarbeitung unter Benutzung des Wertes auszuführen, der das Eingabesignal, welches von dem Detektor 901 bereitgestellt wird, anzeigt.
  • Das Überwachungsantwortprogramm 1123 ist ein Programm für die CPU 100, um die Funktion zu erfüllen, an das Ingenieurswerkzeug 500 eine Überwachungsantwort zu senden, welche einen benannten Gerätwert als eine Antwort auf die Überwachungsanfrage, die von dem Ingenieurswerkzeug 500 empfangen wurde, umfasst. Das Überwachungsantwortprogramm 1123 wird von dem Verarbeitungsgerät 140 ausgeführt. Die Überwachungsanfrage bezeichnet hier einen Befehl, der von dem Ingenieurswerkzeug 500 an die CPU 100 gesendet wurde, um das Lesen des Gerätwerts anzufragen. Außerdem bezeichnet die Überwachungsantwort eine Antwort, die die CPU 100 an das Ingenieurswerkzeug 500 als Antwort auf die Überwachungsanfrage sendet.
  • Die Eingabe-/Ausgabeschnittstelle 120 ist eine Kommunikationsschnittstelle für die CPU 100, um mit dem Eingeber 200 und dem Ausgeber 300 zu kommunizieren. Die Eingabe-/Ausgabeschnittstelle 120 (I) wandelt die Daten, die von dem Verarbeitungsgerät 140 bereitgestellt wurden, in ein elektrisches Signal und (II) sendet das verwandelte Signal an den Ausgeber 300 über den geteilten Bus 410. Außerdem (I) verwandelt die Eingabe-/Ausgabeschnittstelle 120 das elektrische Signal, das von dem Eingeber 200 empfangen wurde, zurück, und (II) gibt die Eingabe-/Ausgabeschnittstelle die Daten an das Verarbeitungsgerät 140 aus.
  • Die Werkzeugschnittstelle 130 ist eine Kommunikationsschnittstelle für die CPU 100, um mit einem Ingenieurswerkzeug 500, das später beschrieben ist, zu kommunizieren. Die Werkzeugschnittstelle 130 (I) verwandelt die Daten, die von dem Verarbeitungsgerät 140 bereitgestellt wurden, in ein elektrisches Signal, und (II) sendet das verwandelte Signal an das Ingenieurswerkzeug 500 über ein Kommunikationskabel 509. Außerdem (I) verwandelt die Werkzeugschnittstelle 130 das elektrische Signal, das von dem Ingenieurswerkzeug 500 empfangen wurde, zurück, und (II) gibt die Werkzeugschnittstelle die Daten an das Verarbeitungsgerät 140 aus.
  • Das Verarbeitungsgerät 140 (I) umfasst Mikroprozessoren (MPUs) 150 und 160 und (II) führt verschiedene Arten von Programmen aus, die in dem Speicher 110 gespeichert sind, um verschiedene Arten von Funktionalitäten der CPU 100 zu erfüllen. Wie später im Detail beschrieben, hat die MPU 150 eine Funktion, die Überwachungsanfrage von dem Ingenieurswerkzeug 500 zu empfangen und die Überwachungsantwort an das Ingenieurswerkzeug 500 zu senden. Die MPU 160 hat eine Funktion, das Benutzerprogramm 1122 zu jeder Abtastzeit auszuführen.
  • Das Ingenieurswerkzeug 500 ist (I) ein Gerät, in dem eine spezielle Anwendung in einem PC installiert ist, und ist (II) ein Entwicklungswerkzeug, das eine Programmerschaffungsfunktion hat. In der Ausführungsform hat das Ingenieurswerkzeug 500 eine Funktion, den Gerätspeicher der CPU 100 zu überwachen. Demzufolge kann der Benutzer den Gerätspeicher der CPU 100 durch Benutzung des Ingenieurswerkzeugs 500 überwachen. Das Ingenieurswerkzeug 500 ist ein Beispiel für das externe Gerät in der hier vorliegenden Offenbarung.
  • Das Ingenieurswerkzeug 500 umfasst (I) einen Speicher 510, der Programme und Daten speichert, (II) ein Eingabegerät 520, das Eingabebedienung durch den Benutzer erkennt, (III) ein Ausgabegerät 530, das ein Bild ausgibt, (IV) eine Kommunikationsschnittstelle 540, die mit der CPU 100 kommuniziert und (V) ein Verarbeitungsgerät 550, dass das gesamte Ingenieurswerkzeug 500 steuert. Die Komponenten des Ingenieurswerkzeugs 500 sind miteinander über einen Bus 590 verbunden.
  • Der Speicher 510 (I) umfasst einen flüchtigen Speicher und einen nichtflüchtigen Speicher und (II) speichert verschiedene Arten von Programmen und Daten, die benutzt werden, wenn die Programme ausgeführt werden. In der Ausführungsform speichert der Speicher 510 (I) ein Einstellungsprogramm 511, um ein Ziel zum Lesen des Gerätwerts durch die CPU 100 einzustellen und (II) ein Überwachungsprogramm 512 für die Überwachung des Gerätwerts durch die CPU 100.
  • Das Eingabegerät 520 umfasst ein Eingabegerät wie eine Tastatur oder eine Maus, erkennt Eingabebedienung durch den Benutzer, und liefert an das Verarbeitungsgerät 550 ein Signal, das die erkannte Eingabebedienung des Benutzers anzeigt. Das Ausgabegerät 530 umfasst ein Display und zeigt auf dem Display ein Bild, das auf dem Signal, welches von dem Verarbeitungsgerät 550 geliefert wurde, basiert. Die Kommunikationsschnittstelle 540 ist eine Kommunikationsschnittstelle, um mit der CPU 100 über das Kommunikationskabel 509 zu kommunizieren. Die Kommunikationsschnittstelle 540 (I) verwandelt die Daten, die von dem Verarbeitungsgerät 550 geliefert wurden, in ein elektrisches Signal, und (II) sendet das verwandelte Signal an die CPU 100 über das Kommunikationskabel 509. Außerdem (I) verwandelt die Kommunikationsschnittstelle 540 das elektrische Signal, das von der CPU 100 empfangen wurde, zurück in Daten und (II) gibt die Kommunikationsschnittstelle die Daten an das Verarbeitungsgerät 550 aus.
  • Das Verarbeitungsgerät 550 umfasst eine CPU und führt verschiedene Arten von Programmen aus, die in dem Speicher 110 gespeichert sind, um verschiedene Arten von Funktionalitäten des Ingenieurswerkzeugs 500 zu erfüllen. In dieser Ausführungsform führt das Verarbeitungsgerät 550 das Überwachungsprogramm 512 aus, sendet an die CPU 100 eine Überwachungsanfrage des Gerätspeichers, und zeigt auf dem Display des Ausgabegeräts 530 den Inhalt der Überwachungsantwort, die von der CPU 100 empfangen wurde, an. Außerdem (I) führt das Verarbeitungsgerät 550 das Einstellungsprogramm 511 aus und (II) setzt das Verarbeitungsgerät als Antwort auf die Überwachungsanfrage für die CPU 100 ein Ziel zum Lesen des Gerätwerts durch die CPU 100.
  • Als Nächstes wird die funktionale Konfiguration der CPU 100 mit Verweis auf 2 beschrieben. Die CPU 100 umfasst als funktionale Komponenten (I) einen ersten Gerätvorrat 101, der einen Gerätwert speichert, (II) einen zweiten Gerätvorrat 102, der Vorratsdaten des ersten Gerätvorrats 101 speichert, (III) eine Lesezielbenennungstabelle 103, die ein Leseziel benennt, für welches der Gerätwert gelesen werden soll, (IV) ein Befehls-Sende/Empfangselement 104, das einen Befehl an das Ingenieurswerkzeug 500 sendet und von diesem empfängt, (V) einen Befehlsverarbeiter 105, der den Gerätwert von dem Leseziel liest, der in der Lesezielbenennungstabelle 103 benannt ist, (VI) einen Schreibsteuerer 106, der den Gerätwert des ersten Gerätvorrats 101 im zweiten Gerätvorrat 102 speichert und (VII) einen Ausführer 107, der das Benutzerprogramm 1122 ausführt. Der erste Gerätvorrat 101 ist ein Beispiel für das Gerätspeichermittel der vorliegenden Offenbarung. Der zweite Gerätvorrat 102 ist ein Beispiel für das Vorratsdatenspeichermittel in der vorliegenden Offenbarung. Die Lesezielbenennungstabelle 103 ist ein Beispiel für Einstellungsinformationenspeichermittel der vorliegenden Offenbarung. Das Befehls-Sende/Empfangselement 104 ist ein Beispiel für das Sendemittel der vorliegenden Offenbarung. Der Befehlsverarbeiter 105 ist ein Beispiel für Befehlsverarbeitungsmittel der vorliegenden Offenbarung. Der Schreibsteuerer 106 ist ein Beispiel für Schreibsteuermittel der vorliegenden Offenbarung.
  • Der erste Gerätvorrat 101 speichert den Eingabewert und den Ausgabewert des Benutzerprogramms 1122, d. h., Gerätwerte zur gegenwärtigen Abtastzeit. Der erste Gerätvorrat 101 ist ein Master-Gerätspeicher der CPU 100. Der Eingabewert des Benutzerprogramms 1122 wird durch die I/O-Aktualisierung in den ersten Gerätvorrat 101 geschrieben. Des Weiteren wird durch Ausführung des Benutzerprogramms 1122 der Ausgabewert, der durch Ausführung des Benutzerprogramms 1122 ausgegeben wird, in den ersten Gerätvorrat 101 geschrieben. Die Funktionalitäten des ersten Gerätvorrats 101 werden durch den flüchtigen Speicher 111 des Speichers 110 erfüllt, wie in 1 dargestellt. Der Grund dafür ist, dass die Zugriffsgeschwindigkeit des flüchtigen Speichers 111 höher ist als die des nichtflüchtigen Speichers 112.
  • Der zweite Gerätvorrat 102, der in 2 dargestellt ist, verwahrt die Daten, die von dem ersten Gerätvorrat 101 gespeichert wurden. Insbesondere speichert der zweite Gerätvorrat 102 die Gerätwerte, die in dem ersten Gerätvorrat 101 in der früheren Abtastzeit gespeichert wurden, d. h., den Eingabewert und den Ausgabewert in der früheren Abtastzeit. Der zweite Gerätvorrat 102 ist ein Gerätspeicher zum Vorrat. Der Schreibsteuerer 106 schreibt die Gerätwerte des ersten Gerätvorrats 101 in den zweiten Gerätvorrat 102. Die Funktionalitäten des zweiten Gerätvorrats 102 werden durch den nichtflüchtigen Speicher 112 des Speichers 110 erfüllt, wie in 1 dargestellt.
  • Die Lesezielbenennungstabelle 103 speichert Daten, die benennen, von welchem unter dem ersten Gerätvorrat 101 und dem zweiten Gerätvorrat 102 der Gerätwert, der von der Überwachungsanfrage benannt wurde, entnommen wird. Wie in 3 dargestellt, wird in der Lesezielbenennungstabelle 103 eine Benennung vorgenommen, ob für einen Gerätwert eines Bereichs, der durch Gerätgebietsname, Startnummer und Endnummer gekennzeichnet ist, das Leseziel der erste Gerätvorrat 101 oder der zweite Gerätvorrat 102 ist.
  • In dem dargestellten Beispiel zeigen die Startnummer und die Endnummer einen Startpunkt und einen Endpunkt des eingestellten Bereichs des Geräts an. Das Leseziel zeigt an, ob das Leseziel, das den Gerätwert in dem eingestellten Bereich hat, als der erste Gerätvorrat 101 oder der zweite Gerätvorrat 102 eingestellt ist. Zum Beispiel sind die Gerätwerte von „X1“ bis „X250“ benannt, um von dem zweiten Gerätvorrat 102 gelesen zu werden. Auch sind hier die Gerätwerte von „Y200“ bis „Y400“ benannt, um von dem ersten Gerätvorrat 101 gelesen zu werden. In der Lesezielbenennungstabelle 103 kann ein Leseziel für jeden benannten Bereich angegeben werden. In der Ausführungsform ist angenommen, dass der erste Gerätvorrat 101 ein Standardleseziel ist. Demzufolge werden Gerätwerte in einem Bereich, der in der Lesezielbenennungstabelle 103 nicht gesetzt ist, aus dem ersten Gerätvorrat 101 gelesen. Die Funktionalitäten der Lesezielbenennungstabelle 103 werden erfüllt durch den nichtflüchtigen Speicher 112 des Speichers 110, wie in 1 dargestellt.
  • Das Befehls-Sende/Empfangselement 104, das in 2 dargestellt ist, empfängt eine Überwachungsanfrage von dem Ingenieurswerkzeug 500 und gibt die empfangene Überwachungsanfrage an den Befehlsverarbeiter 105 aus. Außerdem sendet das Befehlssende-/Empfangselement 104 an das Ingenieurswerkzeug 500 die Überwachungsantwort, die von dem Befehlsverarbeiter 105 geliefert wird. Die Funktionalitäten des Befehlssende-/Empfangselements 104 werden erfüllt durch die Werkzeugschnittstelle 130 und den MPU 150 in 1.
  • Der Befehlsverarbeiter 105, der in 2 dargestellt ist, (I) liest aus dem Leseziel, das in der Lesezielbenennungstabelle 103 benannt ist, den Gerätwert, der in der Überwachungsanfrage benannt ist, und (II) gibt an das BefehlsSende/Empfangselement 104 die Überwachungsantwort welche den gelesenen Gerätwert umfasst, aus. Die Überwachungsanfrage die von dem Ingenieurswerkzeug 500 gesendet wurde, umfasst (I) einen Wert, der ein Gebiet des Geräts kennzeichnet, und (II) die Startnummer und die Endnummer, die einen Bereich eines Überwachungsziels kennzeichnen. Außerdem umfasst die Überwachungsantwort die Gerätwerte, die in einer Reihenfolge gelesen wurden, die von der Überwachungsanfrage benannt wurde. Zum Beispiel wird angenommen, dass Gerätwerte von der Startnummer „100“ bis zur Endnummer „150“ eines Gerät „X“ und Gerätwerte von der Startnummer „50“ bis zur Endnummer „100“ eines Gerät „D“ durch die Überwachungsanfrage angefragt werden. In diesem Fall speichert die Überwachungsantwort die Gerätwerte von „X100“ bis „X250“ und die Gerätwerte von „D50“ bis „D100“, sodass diese Gerätwerte in einer solchen Reihenfolge angeordnet sind.
  • Es wird angenommen, dass das Ingenieurswerkzeug 500 die CPU 100 durch eine Überwachungsanfrage anfragt, den 100sten bis 150sten Gerätwert des Geräts „X“ zu lesen. In diesem Fall bestimmt der Befehlsverarbeiter 105 aus der Lesezielbenennungstabelle 103 aus 3, dass das Leseziel, dass die Gerätwerte von „X100“ bis „X150“ hat, der zweite Gerätvorrat 102 ist. Außerdem wird angenommen, dass das Lesen des 1001sten bis 1200sten Gerätwerts eines Geräts „Y“ durch die Überwachungsanfrage angefragt wird. In diesem Fall bestimmt der Befehlsverarbeiter 105 aus der Lesezielbenennungstabelle 103, dass das Leseziel, dass die Gerätwerte „Y1001“ bis „Y1200“ hat, der erste Gerätvorrat 101 ist. Auf eine Anfrage, einen Gerätwert zu lesen, für den kein Leseziel in der Lesezielbenennungstabelle 103 gesetzt ist, bestimmt der Befehlsverarbeiter 105, dass das Leseziel, das einen solchen Gerätwert hat, der erste Gerätvorrat 101 ist, der das Standardleseziel ist.
  • Wenn der erste Gerätvorrat 101 als das Leseziel des Gerätwerts, der in der Überwachungsanfrage benannt wurde, in der Lesezielbenennungstabelle 103 benannt ist, führt der Befehlsverarbeiter 105 das Lesen der Gerätwerte wie folgt aus. Der Befehlsverarbeiter 105 (I) liest aus dem ersten Gerätvorrat 101 den Gerätwert, der in der Überwachungsanfrage benannt wurde, nachdem der Ausführer 107 den ENDE-Befehl des Benutzerprogramms 1122 ausführt, und (II) gibt den gelesenen Gerätwert an das Befehls-Sende/Empfangselement 104 aus.
  • Wenn der zweite Gerätvorrat 102 als das Leseziel für den Gerätwert der von der Überwachungsanfrage benannt wurde, in der Lesezielbenennungstabelle 103 benannt ist, führt der Befehlsverarbeiter 105 das Lesen der Gerätwerte wie folgt aus. Der Befehlsverarbeiter 105 (I) liest sofort, von dem zweiten Gerätvorrat 102, den Gerätwert, der in der Überwachungsanfrage benannt wurde, und (II) gibt den gelesenen Gerätwert an das Befehls-Sende/Empfangselement 104 aus. In dieser Ausführung liest der MPU 160 den Gerätwert von dem ersten Gerätvorrat 101, und der MPU 150 liest den Gerätwert aus dem zweiten Gerätvorrat 102. Die Funktionalitäten des Befehlsverarbeiters 105 werden erfüllt durch den MPU 150 und den MPU 160 in 1.
  • Des Weiteren pflegt der Befehlsverarbeiter 105, auf Empfang eines Befehls von dem Ingenieurswerkzeug 500 mit Anweisungen, die Lesezielbenennungstabelle 103 zu aktualisieren, Daten in die Lesezielbenennungstabelle 103 ein, basierend auf (I) dem Wert, um das Gebiet des Geräts zu identifizieren, (II) der Startnummer und der Endnummer, die einen Bereich eines Überwachungsziels des Gebiets kennzeichnen und (III) den Wert um das benannte Leseziel zu identifizieren, die in dem Befehl beinhaltet sind. Wenn er zum Beispiel vom Ingenieurswerkzeug 500 einen Befehl empfängt mit der Anweisung, die Leseziele von Nummer 100 bis Nummer 250 von „X“ als Vorrat zu setzen, notiert der Befehlsverarbeiter 105 in der Lesezielbenennungstabelle 103 die in 3 dargestellt ist, Daten „Gerät: X, Startnummer: 1, Endnummer: 250, Leseziel: zweiter Gerätvorrat“.
  • Wenn der Schreibsteuerer 106, der in 2 dargestellt ist, von dem Ausführer 107 eine Mitteilung empfängt, dass der ENDE-Befehl des Benutzerprogramms 112 ausgeführt ist, wird der Gerätwert des ersten Gerätvorrats 101 in den zweiten Gerätvorrat 102 kopiert. Obwohl der Gerätwert des ersten Gerätvorrats 101 durch Ausführung des Benutzerprogramms 1122 bei der nächsten Abtastzeit überschrieben wird, speichert der zweite Gerätvorrat 102 den Gerätwert, der in der früheren Abtastzeit auftritt. In anderen Worten wird der Gerätwert des ersten Gerätvorrats 101 in dem zweiten Gerätvorrat 102 gespeichert. Die Funktionalitäten der Schreibsteuerung 106 werden durch den MPU 160 in 1 erfüllt.
  • Der Ausführer 107, der in 2 dargestellt ist, führt das Benutzerprogramm 1122 zu jeder Abtastzeit aus. Insbesondere führt der Ausführer 107 (I) jeden Befehl des Benutzerprogramms 1122 in Übereinstimmung mit dem Eingabesignal, das in dem ersten Gerätvorrat 101 gespeichert ist, aus, und (II) speichert der Ausführer 107 ein Verarbeitungsergebnis in dem ersten Gerätvorrat 101. Nach Ausführung des ENDE-Befehls, der der letzte Befehl des Benutzerprogramms 1122 ist, benachrichtigt der Ausführer 107 die Schreibsteuerung 106, dass eine Abtastzeit abgeschlossen ist. Als Antwort auf diese Nachricht kopiert die Schreibsteuerung 106 den Gerätwert des ersten Gerätvorrats 101 in den zweiten Gerätvorrat 102. Danach führt der Ausführer 107 die I/O-Aktualisierung aus, um alle Gerätwerte des ersten Gerätvorrats 101 auf einmal mit denen des Eingebers 200 und des Ausgebers 300 auszutauschen. Die Funktionalitäten des Ausführers 107 werden durch den MPU 160 in 1 erfüllt.
  • Wie in 2 dargestellt, umfasst das Ingenieurswerkzeug 500 als funktionale Komponenten (I) einen Empfänger 501, der Anweisungen bezüglich Lesens eines Gerätwerts empfängt, (II) einen Übernahmeverarbeiter 502, der den Gerätwert von der CPU 100 übernimmt, und (III) ein Befehls-Sende/Empfangselement 503, welches den Befehl zu und von der CPU 100 sendet und empfängt. Der Empfänger 501 ist ein Beispiel für Empfangsmittel der vorliegenden Offenbarung. Der Übernahmeverarbeiter 502 ist ein Beispiel für Übernahmeverarbeitungsmittel der hier vorliegenden Offenbarung.
  • Der Empfänger 501 empfängt von einem Benutzer die Anweisung bezüglich des Lesens eines Gerätwerts. Insbesondere empfängt der Empfänger 501 von dem Benutzer Anweisungen darüber, ob das Leseziel des Gerätwerts als das Master- oder das Vorratsziel benannt ist. Zum Beispiel (I) zeigt der Empfänger 501 auf dem Ausgabegerät 530 ein Fenster wie in 4 dargestellt, und (II) empfängt der Empfänger 501 von dem Benutzer Anweisungen bezüglich Benennung des Leseziels. In diesem Fall empfängt der Empfänger 501 von dem Benutzer Benennungen des Gebiets der Geräts, Benennungen eines Bereichs in dem Gebiet, und Benennung des Leseziels. Der Übernahmeverarbeiter 502, welcher später beschrieben ist, sendet an die CPU 100 über das Befehls-Sende/Empfangselement 503 einen Befehl, der Anweisungen umfasst, die Lesezielbenennungstabelle 103 zu aktualisieren, in Übereinstimmung mit dem Inhalt, der vom Benutzer in dem Fenster eingegeben wurde, das in 4 dargestellt ist.
  • Des Weiteren empfängt der Empfänger 501 von dem Benutzer Anweisungen, den benannten Gerätwert zu lesen. Zum Beispiel (I) zeigt der Empfänger 501 auf dem Ausgabegerät 530 ein Fenster wie dargestellt in 5A und (II) empfängt der Empfänger 501 von dem Benutzer Anweisungen bezüglich des Lesens des Gerätwerts. In diesem Fall empfängt der Empfänger 501 von dem Benutzer die Benennung des Gebiets des Geräts und die Benennung des Bereichs in dem Gebiet. Der Übernahmeverarbeiter 502, der später beschrieben ist, sendet die Überwachungsanfrage an die CPU 100 über das Befehls-Sende/Empfangselement 503 in Übereinstimmung mit dem Inhalt, der von dem Benutzer in dem Fenster eingegeben wurde, das in 5A dargestellt ist.
  • Der Übernahmeverarbeiter 502, der in 2 dargestellt ist, sendet an die CPU 100 einen Befehl, welcher von den Anweisungen des Benutzers abhängt, die von dem Empfänger 501 empfangen wurden. Insbesondere sendet der Übernahmeverarbeiter 502 an die CPU 100 über das BefehlsSende/Empfangselement 503 einen Befehl, der Anweisungen beinhaltet, die Lesezielbenennungstabelle 103 in Übereinstimmung mit den Anweisungen die der Empfänger 501 von dem Benutzer für die Benennung des Leseziels empfangen hat, zu aktualisieren. Der Befehl umfasst einen Wert, der ein Gebiet des Geräts kennzeichnet, die Startnummer und die Endnummer, die den Bereich des Überwachungsziels in dem Gebiet kennzeichnen, und einen Wert, der das spezifizierte Leseziel kennzeichnet.
  • Des Weiteren (I) erzeugt der Übernahmeverarbeiter 502 eine Überwachungsanfrage, um das Lesen des benannten Gerätwerts in Übereinstimmung mit der Anweisung, das Gerät zu lesen, anzufragen, wobei die Anweisung durch den Empfänger 501 vom Benutzer empfangen wird, und (II) gibt der Übernahmeverarbeiter 502 die Überwachungsanfrage an das BefehlsSende/Empfangselement 503 aus. Die Überwachungsanfrage umfasst (I) den Wert, der ein Gebiet auf dem Gerät kennzeichnet und (II) die Startnummer und die Endnummer, die den Bereich des Überwachungsziels in dem Gebiet kennzeichnen.
  • Außerdem (I) übernimmt der Übernahmeverarbeiter 502 den Gerätwert, der in der Überwachungsantwort, die von der CPU 100 durch das BefehlsSende/Empfangselement 503 empfangen wurde, umfasst ist, und (II) speichert der Übernahmeverarbeiter 502 den Gerätwert in dem Speicher 510, der in 1 gezeigt ist. Wie oben beschrieben umfasst die Überwachungsantwort die Gerätwerte, die in der Reihenfolge gelesen werden, die in der Überwachungsanfrage benannt ist. Des Weiteren kann der Übernahmeverarbeiter 502 auf dem Ausgabegerät 530 ein Fenster anzeigen, welches die Gerätwerte, die in der Überwachungsanfrage beinhaltet sind, anzeigt, wie in 5B dargestellt. Die oben beschriebenen Funktionalitäten des Übernahmeverarbeiters 502 werden erfüllt durch das Verarbeitungsgerät 550 in 1, welcher das Überwachungsprogramm 512 und das Einstellungsprogramm 511 ausführt.
  • Das Befehls-Sende/Empfangselement 503, das in 2 dargestellt ist, übermittelt an die CPU 100 einen Befehl, der von dem Übernahmeverarbeiter 502 ausgegeben wird, und der Anweisungen liefert, die Lesezielbenennungstabelle 103 zu aktualisieren. Des Weiteren sendet das Befehls-Sende/Empfangselement 503 an die CPU 100 die Überwachungsanfrage, die von dem Übernahmeverarbeiter 502 ausgegeben wurde. Außerdem gibt das Befehls-Sende/Empfangselement 503 an den Übernahmeverarbeiter 502 die Überwachungsantwort aus, die von der CPU 100 empfangen wurde. Die Funktionalitäten des Befehls-Sende/Empfangselement 503 werden erfüllt durch die Kommunikationsschnittstelle 540 und das Verarbeitungsgerät 550 in 1.
  • Wie oben beschrieben ist das Leseziel, dessen Gerätwert in der Überwachungsanfrage benannt wurde, in der Lesezielbenennungstabelle 103 benannt. Demzufolge müssen vor der Überwachung des Geräts Daten, die ein Leseziel benennen, das den Gerätwert hat, in der Lesezielbenennungstabelle 103 eingepflegt werden.
  • Im Folgenden wird ein Verfahren beschrieben, in dem der Benutzer das Ingenieurswerkzeug 500 benutzt, um Daten zur Benennung eines Leseziels in der Lesezielbenennungstabelle 103 der CPU 100 einzupflegen. Wie in 1 gezeigt, betreibt der Benutzer das Eingabegerät 520, wie zum Beispiel eine Tastatur oder eine Maus, in einem Zustand, in dem das Ingenieurswerkzeug 500 und die CPU 100 miteinander verbunden sind über das Kommunikationskabel 509, um das Einstellungsprogramm 511 hochzufahren. Das Verarbeitungsgerät 550 führt das Einstellungsprogramm 511 als Antwort auf den Betrieb des Benutzers aus und erfüllt die folgenden Funktionalitäten.
  • Das Verarbeitungsgerät 550 fragt an, dass die CPU 100 die Daten der Geräteinstellung 1121 bereitstellt. Es wird erwartet, dass die CPU 100 als Antwort auf diese Anfrage die Daten der Geräteinstellung 1120 an das Ingenieurswerkzeug 500 sendet. Es wird angenommen, dass der Gerätname „X“, der ein Gebiet kennzeichnet, in dem der Wert des Eingabesignals gespeichert wird, der Gerätname „Y“, der ein Gebiet kennzeichnet, in dem der Wert des Ausgabesignals gespeichert wird, der Gerätname „D“, der ein Gebiet kennzeichnet, in dem andere Werte gespeichert werden, und die Startnummer und die Endnummer, die die Größe jedes Gebiets kennzeichnen, als die Daten der Geräteinstellung 1121 gesendet werden.
  • Das Verarbeitungsgerät 550 zeigt ein Benennungsfenster für das Leseziel, wie in 4 dargestellt, auf dem Ausgabegerät 530, basierend auf Daten der Geräteinstellung 1121, die von der CPU 100 bereitgestellt wurden, an. Der Benutzer kann das Eingabegerät 520 wie zum Beispiel eine Tastatur oder eine Maus, über das Fenster, das in der Zeichnung dargestellt ist, betreiben, um frei ein Gerät aus „X“, „Y“ und „D“ zu wählen. Außerdem kann der Benutzer eine Startnummer und eine Endnummer eingeben, um den Bereich in jedem Gerät zu benennen. Der Benutzer kann „Master“ oder „Vorrat“ als das Leseziel auswählen. Der Ausdruck „Master“ bezeichnet den ersten Gerätvorrat 101, und der Ausdruck „Vorrat“ bezeichnet den zweiten Gerätvorrat 102.
  • Es wird angenommen, dass der Benutzer den Eingabebetrieb beendet und den „Einpflegen“-Knopf drückt. Demzufolge sendet das Verarbeitungsgerät 550 an die CPU 100 den Befehl, der Anweisungen bereitstellt, die Lesezielbenennungstabelle 103 zu aktualisieren. Der Befehl beinhaltet Daten, die den Inhalt einer Eingabeaktualisierung durch den Nutzer anzeigen. Als Antwort auf diesen Befehl aktualisiert die CPU 100 die Lesezielbenennungstabelle 103 basierend auf den empfangenen Daten. Der Benutzer kann das Ingenieurswerkzeug 500 benutzen um die Daten in der Lesezielbenennungstabelle 103 nach Bedarf zu aktualisieren. Nach dem Aktualisieren der Daten der Lesezielbenennungstabelle 103 liest die CPU 100 den Gerätwert von dem Leseziel, der durch die aktualisierte Lesezielbenennungstabelle 103 benannt wurde.
  • Als Nächstes wird ein Verfahren beschrieben, das von dem Benutzer benutzt wird, um den Gerätwert der CPU 100 mittels des Ingenieurswerkzeugs 500 zu überwachen. Wie in 1 dargestellt, betreibt der Benutzer das Eingabegerät 520, wie zum Beispiel eine Tastatur oder eine Maus, in einem Zustand, in dem das Ingenieurswerkzeug 500 und die CPU 100 miteinander verbunden sind über das Kommunikationskabel 509, um das Überwachungsprogramm 512 hochzufahren. Das Verarbeitungsgerät 550 führt das Überwachungsprogramm 512 als Antwort auf den Betrieb des Benutzers aus und erfüllt die folgenden Funktionalitäten.
  • Das Verarbeitungsgerät 550 zeigt auf dem Ausgabegerät 530 das Eingabefenster des Gerätüberwachers an, wie in 5A dargestellt. Es wird angenommen, dass der Benutzer (I) das Eingabegerät 520 wie zum Beispiel eine Tastatur oder eine Maus auf dem in der Zeichnung dargestellten Fenster, betreibt, um ein Gerät, das überwacht werden soll, sowie die Startnummer und die Endnummer, die den Bereich anzeigen, einzugeben, und (II) dass der Benutzer den Senden-Knopf betätigt. Demzufolge sendet das Verarbeitungsgerät 550 an die CPU 100 eine Überwachungsanfrage, die das benannte Gerät und die Startnummer und die Endnummer umfasst. Als Antwort auf diese Anfrage liest die CPU 100 den Gerätwert, der in der Überwachungsanfrage benannt wurde, und sendet an das Ingenieurswerkzeug 500 eine Überwachungsantwort, die den gelesenen Gerätwert beinhaltet.
  • Nach dem Empfang der Überwachungsantwort von der CPU 100 zeigt das Verarbeitungsgerät 550 auf dem Ausgabegerät 530 ein Ausgabefenster auf dem Gerätüberwacher, wie in 5B dargestellt. In dem dargestellten Beispiel zeigt das Verarbeitungsgerät 550 auch eine Zahl an, die angibt, welchen Daten jeder Gerätwert zugehörig ist. Zum Beispiel (I) liest die CPU 100 die Gerätwerte von „X100“ bis „X150“ in einer benannten Reihenfolge und (II) sendet die CPU 100 die gelesenen Gerätwerte an das Ingenieurswerkzeug 500. Das Verarbeitungsgerät 550 zeigt nicht nur den Gerätwert, der von der CPU 100 empfangen wurde, sondern auch eine Gerätzahl, die, basierend auf der Startnummer und der Endnummer, die von dem Benutzer eingegeben wurden, anzeigt, zu welcher Reihenfolgennummerierung von Daten jeder Gerätwert in dem Gebiet „X“ zugehörig ist.
  • Als Nächstes wird Verarbeitung (Überwachungsantwortverarbeitung) beschrieben, in welcher die CPU 100 eine Überwachungsantwort an das Ingenieurswerkzeug 500 zurückgibt, wenn sie die Überwachungsanfrage von dem Ingenieurswerkzeug 500 empfängt. Die folgende Verarbeitung wird erfüllt durch den MPU 150, der das Überwachungsantwortprogramm 112, das in 1 dargestellt ist, ausführt. Nebenher wird angenommen, dass der MPU 160 das Benutzerprogramm 1122 zu jeder Abtastzeit ausführt.
  • Wie in 6 dargestellt, bestimmt der MPU 150, ob eine Überwachungsanfrage von dem Ingenieurswerkzeug 500 empfangen wurde (Schritt S11). Wenn er bestimmt, dass die Überwachungsanfrage empfangen wurde (Ja in Schritt S11), bestimmt der MPU 150, basierend auf der Lesezielbenennungstabelle 103, ein Leseziel des Gerätwerts, der in der Überwachungsanfrage benannt wurde (Schritt S12). Wenn andererseits die Überwachungsanfrage von dem Ingenieurswerkzeug 500 nicht empfangen wurde (Nein in Schritt S11), führt der MPU 150 die Verarbeitung von Schritt S 11 erneut aus, nachdem der MPU für eine bestimmte Dauer gewartet hat.
  • Wenn er bestimmt, dass die Leseziele den ersten Gerätvorrat 101 beinhalten (Ja in Schritt S13), nachdem der MPU 160 den ENDE-Befehl des Benutzerprogramms 1122 ausgeführt hat (Ja in Schritt S14) arbeiten die MPU 150 und MPU 160 zusammen, um den benannten Gerätwert zu lesen (Schritt S15).
  • Insbesondere fragt in Schritt S13 der MPU 150 den MPU 160 an, den Gerätwert zu lesen, für welchen der erste Gerätvorrat 101 als das Leseziel in der Lesezielbenennungstabelle 103 benannt ist. Nach der Ausführung des ENDE-Befehls bestimmt der MPU 160, ob eine Leseanfrage von dem MPU 160 empfangen wurde. Wenn er bestimmt, dass nach der Ausführung des ENDE-Befehls in Schritt S14 die Leseanfrage von der MPU 150 empfangen wurde, liest der MPU 160 den benannten Gerätwert von dem ersten Gerätvorrat 101 in Schritt S15. Der MPU 160 sendet an den MPU 150 den Gerätwert, der von dem ersten Gerätvorrat 101 gelesen wurde.
  • Des Weiteren liest der MPU 150 von dem zweiten Gerätvorrat 102 einen Gerätwert, für welchen der zweite Gerätvorrat 102 als das Leseziel in der Lesezielbenennungstabelle 103 benannt wurde. Wenn das Leseziel nur der erste Gerätvorrat 101 ist, muss der MPU 150 nicht den Gerätwert von dem zweiten Gerätvorrat 102 lesen.
  • Der MPU 150 sendet den Gerätwert an das Ingenieurswerkzeug 500 (Schritt S16). Wenn sowohl der erste Gerätvorrat 101 als auch der zweite Gerätvorrat 102 das Leseziel sind, sendet der MPU 150 an das Ingenieurswerkzeug 500 den Gerätwert des ersten Gerätvorrats 101, der von dem MPU 160 empfangen wurde, und den Gerätwert des zweiten Gerätvorrats 102, der von dem MPU 150 gelesen wurde. Wenn nur der erste Gerätvorrat 101 das Leseziel ist, sendet der MPU 150 an das Ingenieurswerkzeug 500 den Gerätwert des ersten Gerätvorrats 101, der von dem MPU 160 empfangen wurde.
  • Wenn andererseits in Schritt S13 bestimmt wurde, dass das Leseziel nicht den ersten Gerätvorrat 101 beinhaltet (Nein in Schritt S13), d. h., wenn nur der zweite Gerätvorrat 102 das Leseziel ist, (I) liest der MPU 150 einen Gerätwert, der von dem zweiten Gerätvorrat 102 (Schritt S17) benannt wurde, und (II) sendet der MPU 150 den gelesenen Gerätwert an das Ingenieurswerkzeug 500 (Schritt S18). Insbesondere sendet der MPU 150 an das Ingenieurswerkzeug 500 einen Antwortbefehl, der den gelesenen Gerätwert beinhaltet.
  • Wie oben beschrieben gibt in dieser Ausführungsform die CPU 100 sofort, wenn der Gerätwert, der von dem Ingenieurswerkzeug 500 angefragt wurde, benannt ist, um von dem zweiten Gerätvorrat 102 in der Lesezielbenennungstabelle 103 gelesen zu werden, an das Ingenieurswerkzeug 500 den Gerätwert zurück, der in dem zweiten Gerätvorrat 102 gespeichert ist. Demzufolge kann der Gerätwert, für welchen der Benutzer den zweiten Gerätvorrat 102 als ein Leseziel benennt, ohne Abhängigkeit von der Abtastzeit der CPU 100 ausgelesen werden. Es gibt keinen Fall in welchem das Ingenieurswerkzeug 500 gezwungen ist, eine lange Zeit auf den Empfang der Überwachungsantwort zu warten. Im Ergebnis ist die Betreibbarkeit des Ingenieurswerkzeugs 500 verbessert.
  • Wenn andererseits der Gerätwert, der von dem Ingenieurswerkzeug 500 angefragt wurde, in der Lesezielbenennungstabelle 103 benannt ist, um von dem ersten Gerätvorrat 101 gelesen zu werden, gibt die CPU 100 den Gerätwert, der in dem ersten Gerätvorrat 101 gespeichert ist, zu jeder Abtastzeit an das Ingenieurswerkzeug 500 zurück wie im herkömmlichen Fall.
  • Was den Gerätwert betrifft, der sich während der Ausführung des Benutzerprogramms nicht ändert, so wird durch die Benennung des zweiten Gerätvorrats 102 als Leseziel vermieden, dass der Benutzer lange warten muss, um den Gerätwert zu überwachen. In so einem Fall ist die Konfiguration nach dieser Ausführungsform besonders effektiv.
  • Alternativ kann wenn mehrere CPUs 100 überwacht werden, der zweite Gerätvorrat 102 als ein Leseziel bezüglich der CPU 100, welche eine lange Abtastzeit hat, eingesetzt werden, und der erste Gerätvorrat 101 kann als ein Leseziel bezüglich der CPU 100, welche eine kurze Abtastzeit hat, eingesetzt werden.
  • Wenn in Schritt S13 von 6 sowohl der erste Gerätvorrat 101 als auch der zweite Gerätvorrat 102 das Leseziel sind, werden die Gerätwerte zu jeder Abtastzeit an das Ingenieurswerkzeug 500 zurückgegeben. Demzufolge wird auch die Antwort des Gerätwerts vom zweiten Gerätvorrat 102 langsam. Das Auftreten einer solchen Situation kann zum Beispiel durch die folgende Methode verhindert werden. Der Speicher 510 des Ingenieurswerkzeugs 500 speichert im Voraus Daten, welche den gleichen Inhalt haben wie der Inhalt, der in der Lesezielbenennungstabelle 103 der CPU 100 eingepflegt ist. Wenn zum Beispiel sowohl der erste Gerätvorrat 101 als auch der zweite Gerätvorrat 102 in Lesezielen von den Gerätwerten, die von dem Benutzer in dem Eingabefenster des Gerätüberwachers, der in 5A dargestellt ist, beinhaltet sind, kann das Überwachungsgerät 550 konfiguriert sein, auf dem Bildschirm eine Nachricht anzuzeigen, die eine Warnung beinhaltet, dass die Antwort langsam wird.
  • Modifiziertes Beispiel 1
  • In der oben beschriebenen Ausführungsform wird zwar das Beispiel beschrieben, in dem ein Leseziel mit einem Gerätwert in der Lesezielbenennungstabelle 103 der CPU 100 voreingestellt ist, aber das Bestimmungsverfahren des Leseziels ist nicht auf eine solche Konfiguration beschränkt.
  • Das Ingenieurswerkzeug 500 kann an die CPU 100 eine Überwachungsanfrage senden, welche Informationen beinhaltet, die das Leseziel benennen. Der Empfänger 501 empfängt, von dem Benutzer, die Benennung eines Gebiets eines Geräts, das gelesen werden soll, die Benennung eines Bereichs in dem Gebiet, und Benennung des Leseziels. Zum Beispiel kann der Empfänger 501 konfiguriert sein, um das Leseziel auf dem Eingabefenster des Gerätüberwachers benennen zu können wie in 7 dargestellt.
  • In diesem Fall (I) erzeugt der Übernahmeverarbeiter 502, der in 2 dargestellt ist, eine Überwachungsanfrage, die abhängig ist von den Anweisungen eines Benutzers, die von dem Empfänger 501 empfangen wurden, und (II) sendet der Übernahmeverarbeiter 502 die erzeugte Überwachungsanfrage an die CPU 100 über das Befehls-Sende/Empfangselement 503. Die Überwachungsanfrage umfasst (I) einen Wert, der ein Gebiet einer Geräts kennzeichnet, (II) eine Startnummer und eine Endnummer, die einen Bereich eines Überwachungsziels in dem Gebiet kennzeichnen, und (III) einen Wert, der ein benanntes Leseziel kennzeichnet. Die CPU 100 (I) liest den benannten Gerätwert von dem Leseziel, das in der Überwachungsanfrage benannt ist, und (II) sendet an das Ingenieurswerkzeug 500 eine Überwachungsantwort, welche den gelesenen Gerätwert beinhaltet. In dem Fall der oben beschriebenen Konfiguration ist es nicht nötig, das Leseziel in der Lesezielbenennungstabelle 103 einzupflegen.
  • Des Weiteren wird in der Konfiguration nach dem modifizierten Beispiel 1 wie in der Ausführungsform der Gerätwert, für welchen der Benutzer den zweiten Gerätvorrat 102 als das Leseziel benennt, sofort von der CPU 100 an das Ingenieurswerkzeug 500 zurückgegeben wodurch die Betreibbarkeit eines externen Geräts verbessert wird.
  • Modifiziertes Beispiel 2
  • In der Ausführungsform umfasst die CPU 100 zwei MPUs 150 und 160 wobei der MPU 150 die Verarbeitung bezüglich der Überwachungsantwort ausführt und der MPU 160 das Benutzerprogramm 1122 ausführt. In diesem Fall kann die Verarbeitungslast auf jeder MPU gesenkt werden, da die Verarbeitung in diesem Fall verteilt erfolgt. Die CPU 100 kann jedoch auch nicht zwei MPUs umfassen.
  • Wie in 8 dargestellt, kann die CPU 100 nur einen MPU 150 umfassen. Da die CPU 100 nur einen MPU umfasst, können im Vergleich zu dem Fall, in welchem die CPU 100 zwei MPUs umfasst, Kosten reduziert werden. In diesem Fall erfüllt die MPU 150 die Funktionalitäten von sowohl dem Befehlsverarbeiter 105 als auch dem Schreibsteuerer 106, die in 2 dargestellt sind.
  • Modifiziertes Beispiel 3
  • In der Ausführungsform wie dargestellt in 1, ist das Beispiel beschrieben, in welchem der erste Gerätvorrat 102 durch den flüchtigen Speicher 111 erfüllt wird und der zweite Gerätvorrat 102 durch den nichtflüchtigen Speicher 112 erfüllt wird. In diesem Fall hat, wenn zum Beispiel die Stromzufuhr zur CPU 100 durch einen Blackout unterbrochen ist, die Ausführungsform den folgenden Vorteil.
  • Wenn die Stromzufuhr zu der CPU 100 durch einen Blackout unterbrochen ist, sind die Daten, die in dem ersten Gerätvorrat 102 gespeichert sind, nicht gespeichert. Die Daten, die jedoch in dem zweiten Gerätvorrat 102 gespeichert sind, sind gespeichert. In diesem Fall muss der Ausführer 107, der in 2 dargestellt ist, Programm 1122 unter Benutzung des Gerätwerts, der in dem zweiten Gerätvorrat 102 gespeichert ist, ausführen. Da der zweite Gerätvorrat 102 den Gerätwert von der Abtastzeit, die abgeschlossen wurde, bevor der Blackout aufgetreten ist, speichert, ist eine solche Konfiguration vorteilhaft dahingehend, dass das gesteuerte Gerät 902 aus der Zwischenverarbeitung wiederhergestellt werden kann.
  • Alternativ kann, in dem Fall einer langsamen Zugriffsgeschwindigkeit des zweiten Gerätvorrats 102 der Schreibsteuerer 106 den Gerätwert, der in dem zweiten Gerätvorrat 102 gespeichert ist, kopieren. Da die Daten zwischen zwei Speichern in der gleichen CPU 100 kopiert werden, benötigt eine solche Datenübertragung nicht viel Zeit. Danach führt der Ausführer 107 das Benutzerprogramm 112 aus unter Benutzung des Gerätwerts, der in dem ersten Gerätvorrat 101 gespeichert ist, und erfüllt dabei ein gewünschtes Ergebnis. Da der Gerätwert zur Abtastzeit, die vor dem Auftreten des Blackouts abgeschlossen wurde, zum ersten Gerätvorrat 101 kopiert wird, ist dieser Fall vorteilhaft dahingehend, dass das gesteuerte Gerät 902 aus der Zwischenverarbeitung wiederhergestellt werden kann.
  • In den Ausführungsformen liest der Befehlsverarbeiter 105 von dem Standardleseziel, wenn das Leseziel in der Lesezielbenennungstabelle 103 nicht benannt ist. Die Bereitstellung einer solchen Konfiguration ist aus folgenden Gründen vorteilhaft. Wenn zum Beispiel der erste Gerätvorrat 102 der Standardgerätvorrat ist, ist das nicht nötig, in die Lesezielbenennungstabelle 103 einen Gerätwert einzupflegen, für welchen das Leseziel der erste Gerätvorrat 101 ist. Der Benutzer muss nur in der Lesezielbenennungstabelle 103 (I) ein Gerät, welches den zweiten Gerätvorrat 102 als das Leseziel spezifiziert und (II) den Bereich eines solchen benennen.
  • In dieser Ausführungsform ist das Beispiel beschrieben in welchem alle Gerätwerte des ersten Gerätvorrats 101 ohne eine bestimmte Begrenzung in den zweiten Gerätvorrat 102 kopiert werden. Unter den Gerätwerten des ersten Gerätvorrats 101 kann eine Konfiguration genutzt werden, in welcher nur ein Gerätwert in einem benannten Bereich in den zweiten Gerätvorrat 102 kopiert wird.
  • In der Ausführungsform ist das Beispiel beschrieben in welchem der zweite Gerätvorrat 102 durch einen nichtflüchtigen Speicher 112 erfüllt wird. Jedoch kann der zweite Gerätvorrat 102 durch einen flüchtigen Speicher erfüllt werden. Auch in diesem Fall gibt die CPU 100 sofort an das Ingenieurswerkzeug 500 einen benannten Gerätwert zurück, für welchen das Leseziel der zweite Gerätvorrat 102 ist. Demzufolge kann die Betreibbarkeit des externen Geräts verbessert werden. Der erste Gerätvorrat 101 kann auch erfüllt werden durch einen nichtflüchtigen Speicher anstelle eines flüchtigen Speichers, falls eine ausreichende Zugriffsgeschwindigkeit für der erste Gerätvorrat 101 garantiert ist. In diesem Fall ist der Gerätwert des ersten Gerätvorrats 101 auch dann gespeichert, wenn die Stromzufuhr zu der CPU 100 unterbrochen ist.
  • In der Ausführungsform ist das Ingenieurswerkzeug 500 als ein Beispiel für ein externes Gerät beschrieben, um den Gerätspeicher zu überwachen. Das externe Gerät kann jedoch ein programmierbares Display oder ein anderes Informationsverarbeitungsgerät, das fähig zur Kommunikation mit der CPU 100 ist, sein.
  • Für das Aufnahmemedium, in welchem das Programm aufgenommen wird, kann ein computerlesbares Aufnahmemedium wie zum Beispiel eine magnetische Scheibe, eine optische Scheibe, eine magnetooptische Scheibe, ein Flash-Speicher, ein Halbleiterspeicher oder ein Magnetband verwendet werden.
  • Das Vorige beschreibt einige Beispielausführungsformen zum Zweck der Erklärung. Obwohl die vorige Diskussion spezifische Ausführungsformen präsentiert hat, erkennt der Fachmann, dass Änderungen in Form und Detail gemacht werden können, ohne von dem breiteren Geist und Umfang der Erfindung abzuweichen. Demzufolge sollen die Spezifikationen und Zeichnungen als illustrativ anstelle von restriktiv angesehen werden. Diese detaillierte Beschreibung soll demnach nicht in einem begrenzten Sinn verstanden werden und der Umfang der Erfindung ist nur durch die beigefügten Ansprüche definiert zusammen mit der ganzen Breite von Äquivalenten, auf welche sich solche Ansprüche erstrecken.
  • Bezugszeichenliste
  • 1
    programmierbare Logiksteuerung
    100
    CPU
    101
    erster Gerätvorrat
    102
    zweiter Gerätvorrat
    103
    Lesezielbenennungstabelle
    104, 503
    Befehls-Sende/Empfangselement
    105
    Befehlsverarbeiter
    106
    Schreibsteuerer
    107
    Ausführer
    110, 510
    Speicher
    111
    flüchtiger Speicher
    112
    nichtflüchtiger Speicher
    120
    Eingabe-/Ausgabeschnittstelle
    130
    Werkzeugschnittstelle
    140,550
    Verarbeitungsgerät
    150, 160
    MPU
    190, 590
    Bus
    200
    Eingeber
    300
    Ausgeber
    400
    Sockel
    410
    geteilter Bus
    500
    Ingenieurswerkzeug
    501
    Empfänger
    502
    Übernahmeverarbeiter
    509
    Kommunikationskabel
    511
    Einstellungsprogramm
    512
    Überwachungsprogramm
    520
    Eingabegerät
    530
    Ausgabegerät
    540
    Kommunikationsschnittstelle
    901
    Detektor
    902
    gesteuertes Gerät
    1121
    Geräteinstellung
    1122
    Benutzerprogramm
    1123
    Überwachungsantwortprogramm
  • 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 Patentliteratur
    • JP 200384811 [0005]

Claims (11)

  1. Programmierbare Logiksteuerung zur Ausführung eines Programms innerhalb jeder voreingestellten Periode und zur Wiederholung der Ausführung des Programms, wobei die programmierbare Logiksteuerung umfasst: Gerätspeichermittel, um einen Gerätwert zu speichern, welcher ein Eingabewert und ein Ausgabewert des Programms ist, Vorratsdatenspeichermittel, um den Gerätwert, der in einer früheren Periode im Gerätspeichermittel gespeichert wurde, zu speichern, Befehlsverarbeitungsmittel, um, nach Empfang einer Leseanfrage von einem externen Geräts, den Gerätwert zu lesen, wobei im Fall, dass ein Leseziel, das für ein Gerät, welche in der Leseanfrage benannt ist, voreingestellt ist, das Gerätspeichermittel ist, der Gerätwert gelesen wird, der im Gerätspeichermittel gespeichert ist, nachdem die Ausführung des Programms in der gegenwärtigen Periode vollständig ist, wobei im Fall, dass das Leseziel, das für das benannte Gerät voreingestellt ist, das Vorratsdatenspeichermittel ist, sofort der Gerätwert gelesen wird, der im Vorratsdatenspeichermittel gespeichert ist, und Übermittlungsmittel, um an das externe Gerät den Gerätwert zu übermitteln, der durch das Befehlsverarbeitungsmittel gelesen wurde.
  2. Programmierbare Logiksteuerung nach Anspruch 1, weiter umfassend: Schreibsteuerungsmittel, um in das Vorratsdatenspeichermittel den Gerätwert zu schreiben, welcher in dem Gerätspeichermittel gespeichert ist.
  3. Programmierbare Logiksteuerung nach Anspruch 2, wobei, wenn die Ausführung des Programms in der früheren Periode vollständig ist, das Schreibsteuerungsmittel den ermittelten Gerätwert, der im Gerätspeichermittel gespeichert ist, in das Vorratsdatenspeichermittel schreibt.
  4. Programmierbare Logiksteuerung nach Anspruch 3, wobei, wenn die programmierbare Logiksteuerung einen letzten Befehl des Programms ausführt, die Ausführung des Programms in der gegenwärtigen Periode vollständig ist, und der ermittelte Gerätwert, der im Gerätspeichermittel gespeichert ist, wenn die Ausführung des Programms in der früheren Periode vollständig ist, der Gerätwert ist, der im Gerätspeichermittel gespeichert ist, nachdem die programmierbare Logiksteuerung den letzten Befehl des Programms in der früheren Periode ausführt.
  5. Programmierbare Logiksteuerung nach einem der Ansprüche 1 bis 4, wobei die Leseanfrage Informationen beinhaltet, welche unter dem Gerätspeichermittel und dem Vorratsdatenspeichermittel ein Speichermittel benennen, das das Leseziel ist, und das Befehlsverarbeitungsmittel das Speichermittel, welches von der Leseanfrage benannt wurde, als Leseziel bestimmt.
  6. Programmierbare Logiksteuerung nach einem der Ansprüche 1 bis 4, weiter umfassend: ein Einstellungsinformationenspeichermittel, um das Gerätspeichermittel oder das Vorratsdatenspeichermittel als das voreingestellte Leseziel für den Gerätwert zu benennen, wobei das Befehlsverarbeitungsmittel für den Gerätwert, der von der Leseanfrage als Leseziel benannt wurde, Speichermittel bestimmt, welche von dem Einstellungsinformationenspeichermittel benannt wurden.
  7. Programmierbare Logiksteuerung nach Anspruch 6, wobei das Einstellungsinformationenspeichermittel für jeden benannten Bereich das Leseziel des Gerätwerts benennt.
  8. Programmierbare Logiksteuerung nach einem der Ansprüche 1 bis 7, wobei das Vorratsdatenspeichermittel einen nichtflüchtigen Speicher umfasst.
  9. Externes Gerät, um sich mit der programmierbaren Logiksteuerung nach Anspruch 1 bis 5 zu verbinden und um den Gerätwert zu lesen, umfassend: Empfangsmittel, um Anweisungen bezüglich Lesens eines benannten Gerätwerts zu empfangen, und Übernahmeverarbeitungsmittel, um an die programmierbare Logiksteuerung einen Befehl in Übereinstimmung mit Anweisungen, die durch das Empfangsmittel empfangen wurden, zu senden, wobei das Übernahmeverarbeitungsmittel, wenn das Empfangsmittel eine Anweisung empfängt, das Gerätspeichermittel, bezüglich des benannten Gerätwerts, als Leseziel zu benennen, an die programmierbare Logiksteuerung einen Befehl sendet, welcher die Anweisung aufzeigt, bezüglich des benannten Geräts, das Gerätspeichermittel als das Leseziel zu benennen, wenn das Empfangsmittel eine Anweisung empfängt, das Vorratsdatenspeichermittel bezüglich des benannten Gerätwerts als Leseziel zu benennen, an die programmierbare Logiksteuerung einen Befehl sendet, welcher die Anweisung aufzeigt, das Vorratsdatenspeichermittel als das Leseziel zu benennen, und den Gerätwert als Antwort auf die Leseanfrage von der programmierbare Logiksteuerung empfängt.
  10. Verfahren, das von einer programmierbaren Logiksteuerung ausgeführt wird, welche in jeder voreingestellten Periode ein Programm ausführt und die Ausführung des Programms wiederholt, wobei das Verfahren umfasst: in einem Fall, in dem ein Gerätwert einer gegenwärtigen Periode als ein Leseziel, bezüglich eines Speicherbereichs, der in einer Leseanfrage zum Lesen des von einem externen Gerät empfangenen Gerätwerts benannt ist, gesetzt ist, nach der Ausführung des Programms in der gegenwärtigen Periode den Gerätwert an das externe Gerät zu senden, und in einem Fall, in dem ein Gerätwert einer früheren Periode als ein Leseziel, bezüglich des benannten Speicherbereichs gesetzt ist, sofort den Gerätwert einer früheren Periode an das externe Gerät zu senden.
  11. Programm für eine programmierbare Logiksteuerung, um eine Ausführung des Programms zu jeder Periode auszuführen und die Ausführung zu wiederholen, wobei das Programm die programmierbare Logiksteuerung veranlasst: in dem Gerätspeichermittel einen Gerätwert zu speichern, welcher ein Eingabewert und ein Ausgabewert des Programms ist, in dem Vorratsdatenspeichermittel den Gerätwert zu speichern, der in dem Gerätspeichermittel in einer früheren Periode gespeichert wurde, für ein Gerät, das von einer Leseanfrage, den von einem externen Gerät empfangenen Gerätwert zu lesen, benannt wurde, den Gerätwert von einem Leseziel zu lesen, welches unter dem Gerätspeichermittel und dem Vorratsdatenspeichermittel voreingestellt wurde, und an das externe Gerät den Gerätwert zu senden.
DE112018007978.3T 2018-10-15 2018-10-15 Programmierbare Logiksteuerung, externes Gerät, Verfahren und Programm Pending DE112018007978T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/038262 WO2020079720A1 (ja) 2018-10-15 2018-10-15 プログラマブルロジックコントローラ、外部機器、方法、及びプログラム

Publications (1)

Publication Number Publication Date
DE112018007978T5 true DE112018007978T5 (de) 2021-05-20

Family

ID=67692147

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018007978.3T Pending DE112018007978T5 (de) 2018-10-15 2018-10-15 Programmierbare Logiksteuerung, externes Gerät, Verfahren und Programm

Country Status (6)

Country Link
US (1) US11467990B2 (de)
JP (1) JP6563155B1 (de)
CN (1) CN112840278B (de)
DE (1) DE112018007978T5 (de)
TW (1) TWI684079B (de)
WO (1) WO2020079720A1 (de)

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2077750C (en) 1990-03-22 1997-10-21 David J. Sackmann Apparatus for networking programmable logic controllers to host computers
JP3666349B2 (ja) * 2000-03-30 2005-06-29 豊田工機株式会社 プログラマブルコントローラ
JP4043742B2 (ja) 2001-09-10 2008-02-06 株式会社デジタル ラダーモニタ装置、並びに、そのプログラムおよび記録媒体
JP2004199670A (ja) 2002-12-04 2004-07-15 Omron Corp データ収集装置及びデータ収集システム
JP2004272629A (ja) 2003-03-10 2004-09-30 Omron Corp プログラマブルコントローラ用機器並びにプログラマブルコントローラ用機器におけるプログラム更新方法並びにプログラム起動方法
JP4737441B2 (ja) 2006-03-15 2011-08-03 オムロン株式会社 Plcシステム
JP5224923B2 (ja) 2008-06-13 2013-07-03 三菱電機株式会社 制御装置
US8839199B2 (en) 2010-01-20 2014-09-16 Mitsubishi Electric Corporation Programmable controller system and development system
JP2012108901A (ja) 2010-10-29 2012-06-07 Sanin Seigyo Corp 混注作業支援装置
WO2012098676A1 (ja) 2011-01-21 2012-07-26 三菱電機株式会社 アナログ入力ユニットおよびプログラマブルコントローラ
JP4894961B1 (ja) 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
US8504176B2 (en) * 2011-03-15 2013-08-06 Omron Corporation CPU unit of PLC, system program for PLC, and recording medium storing system program for PLC
TWI481979B (zh) 2011-11-08 2015-04-21 Inst Information Industry Programmable logic controller drive system, method and recording media
US10223327B2 (en) 2013-03-14 2019-03-05 Fisher-Rosemount Systems, Inc. Collecting and delivering data to a big data machine in a process control system
KR102097637B1 (ko) * 2013-10-21 2020-04-06 엘지전자 주식회사 이동 단말기의 제어 장치 및 그 방법
JP2015141648A (ja) 2014-01-30 2015-08-03 三菱電機株式会社 プログラマブルコントローラ
WO2015140910A1 (ja) * 2014-03-17 2015-09-24 三菱電機株式会社 プログラマブルロジックコントローラ
WO2015145932A1 (ja) * 2014-03-28 2015-10-01 パナソニックIpマネジメント株式会社 不揮発性メモリ装置
JP6535459B2 (ja) 2014-12-08 2019-06-26 株式会社キーエンス プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
JP6626315B2 (ja) 2015-10-21 2019-12-25 株式会社キーエンス プログラマブル・ロジック・コントローラのモニタ装置及びプログラマブル・ロジック・コントローラ・システム
JP6870234B2 (ja) * 2016-08-02 2021-05-12 富士電機株式会社 制御装置、制御システム及び制御方法
US20180071515A1 (en) * 2016-09-10 2018-03-15 Boston Scientific Neuromodulation Corporation Pulse Definition Circuitry for Creating Stimulation Waveforms in an Implantable Pulse Generator
JP2018120327A (ja) 2017-01-24 2018-08-02 オムロン株式会社 制御装置、制御プログラムおよび制御システム
JP6601433B2 (ja) 2017-02-08 2019-11-06 横河電機株式会社 イベント解析装置、イベント解析システム、イベント解析方法、イベント解析プログラム及び記録媒体
US10901394B2 (en) 2017-02-28 2021-01-26 Sap Se Manufacturing process data collection and analytics
CN110278716B (zh) * 2018-01-18 2020-10-27 三菱电机株式会社 Plc、网络单元、cpu单元、以及数据传送方法

Also Published As

Publication number Publication date
CN112840278B (zh) 2022-05-10
TWI684079B (zh) 2020-02-01
CN112840278A (zh) 2021-05-25
TW202016664A (zh) 2020-05-01
JPWO2020079720A1 (ja) 2021-02-15
WO2020079720A1 (ja) 2020-04-23
JP6563155B1 (ja) 2019-08-21
US11467990B2 (en) 2022-10-11
US20210303487A1 (en) 2021-09-30

Similar Documents

Publication Publication Date Title
DE69636330T2 (de) Verfahren für On-line- und Echzeit-Datenmigration
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE112011100534B4 (de) Mehrstufiger Sicherungsprozess
DE69937768T2 (de) Externe Speichervorrichtung und Verfahren zur Datensicherung
DE102012208141B4 (de) Ausgleich nachlassender Funktionsfähigkeit
DE4210126C2 (de) Verfahren zur dynamischen Dateierweiterung in einem Online-Datenbanksystem und Vorrichtung zur Durchführung des Verfahrens
DE69836604T2 (de) Unterbrechungssteuerungsgerät und -system, Unterbrechungsverarbeitungsverfahren und Speichermedium zur Speicherung eines Unterbrechungsverarbeitungsprogramms
DE602004002674T2 (de) Speichersystem und Verfahren zur Erfassung und Verwendung von Schnappschüssen
DE102009019271A1 (de) Übertragen von Sequenzzahlen für das Wiederherstellen nach Stromausfall bei einem nichtflüchtigen Speicher
DE102004056216A1 (de) Fernkopiersystem und Speichersystem
DE112006002908T5 (de) Technik für die Kommunikation und Synchronisation von Threads
DE102012201154A1 (de) Transaktionsspeicher
DE112011105895T5 (de) Projektdatenerzeugungsvorrichtung und programmierbare Anzeigevorrichtung
DE2747633A1 (de) Dv-system mit einer unterbrechungseinrichtung
DE2101949A1 (de) Verfahren zum Schutz von Datengruppen in einer Multiprocessing-Datenverarbeitungsanlage
DE112010004264B4 (de) Selektiver Schreibschutz für das Austesten der Wiederherstellung nach einem Absturz
DE60318337T2 (de) Speicherkontrollervorichtung versehen mit einem Trennungsbefehl von Volumenpaaren und Verfahren dazu
DE102016006202B4 (de) Numerische Steuervorrichtung zum Verwalten von Bearbeitungsdaten und Bearbeitungsergebnissen
DE69936674T2 (de) Speicherteilsystem und Verfahren zur Reorganisierung von multiplexierten Daten
DE112018007978T5 (de) Programmierbare Logiksteuerung, externes Gerät, Verfahren und Programm
DE10218816A1 (de) Programmierbares Steuerungssystem
EP3809260A1 (de) System und verfahren zur administration von bildgebenden geräten
DE60210118T2 (de) Sicherheitseinrichtung für eine massenspeicherung
DE10152530A1 (de) Arbeitsablauffreundliche Firmware-Aktualisierungen für Netzwerkvorrichtungen
DE102016202684B4 (de) Datenmanagementvorrichtung und datenmanagementprogramm

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: DIEHL & PARTNER PATENT- UND RECHTSANWALTSKANZL, DE

R016 Response to examination communication