Nothing Special   »   [go: up one dir, main page]

DE112016006175T5 - Programmierbare Steuerung und Synchronisationssteuerungsprogramm - Google Patents

Programmierbare Steuerung und Synchronisationssteuerungsprogramm Download PDF

Info

Publication number
DE112016006175T5
DE112016006175T5 DE112016006175.7T DE112016006175T DE112016006175T5 DE 112016006175 T5 DE112016006175 T5 DE 112016006175T5 DE 112016006175 T DE112016006175 T DE 112016006175T DE 112016006175 T5 DE112016006175 T5 DE 112016006175T5
Authority
DE
Germany
Prior art keywords
external devices
programmable controller
device data
packets
memory
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
DE112016006175.7T
Other languages
English (en)
Inventor
Yuta Kato
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 DE112016006175T5 publication Critical patent/DE112016006175T5/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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1211Exchange control, I-O data to other plc, using separate synchronizing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13093Using functions like arithmetic timers in program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15077Modular structure, memory tables hold data about type of connected apparatus and data format
    • 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]

Landscapes

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

Abstract

Eine erfindungsgemäße programmierbare Steuerung (10) steuert mehrere externe Geräte periodisch. Die programmierbare Steuerung weist einen Kurzzeitspeicher (12), einen Arbeitsspeicher (13) und eine Steuereinheit (14) auf. Die Steuereinheit (14) überträgt Anforderungspakete an jedes der externen Geräte, wobei die Anforderungspakete eine Übertragung von Gerätedaten für die Verwendung bei der Steuerung der externen Geräte anfordern und die externen Geräte Zielobjekte darstellen, die der Synchronisationssteuerung unterzogen werden sollen, bezieht die Gerätedaten aus den Antwortpaketen, die von den externen Geräten veranlasst durch die Anforderungspakete erhalten wurden, speichert die bezogenen Gerätedaten in den Kurzzeitspeicher (12) und schreibt die in dem Kurzzeitspeicher (12) gespeicherten Gerätedaten unter der Bedingung in den Arbeitsspeicher (13), dass die jeweiligen Antwortpakete, die durch die innerhalb eines Steuerungszeitraums übertragenen Anforderungspakete veranlasst wurden, von den externen Geräten empfangen wurden, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt.

Description

  • Gebiet
  • Die vorliegende Anmeldung betrifft eine programmierbare Steuerung, die externe Geräte, bei denen es sich um industrielle Maschinen handelt, steuert, und ein Synchronisationssteuerungsprogramm.
  • Hintergrund
  • Im einschlägigen Stand der Technik weist eine programmierbare Steuerung, die mehrere externe Geräte steuert, bei denen es sich um industrielle Maschinen handelt, die in einer Fabrik eingesetzt werden, Funktionen zur Durchführung einer Synchronisation von Daten auf, die von den externen Geräten empfangen wurden (siehe beispielsweise Patentdokument 1).
  • Liste der Zitate
  • Patentliteratur
  • Patentdokument 1: japanische Offenlegungsschrift Nr. 2005-293569
  • Kurzbeschreibung
  • Technische Problemstellung
  • Bei der dem einschlägigen Stand der Technik entsprechenden Technologie wird zur Korrektur eines Fehlers bei einer Synchronisation von Gerätedaten ein Kontaktplanprogramm benötigt, wenn ein solcher Fehler auftritt.
  • Die vorliegende Erfindung entstand angesichts des oben Dargelegten, wobei eine Aufgabe der Erfindung in der Angabe einer programmierbaren Steuerung und eines Synchronisationssteuerungsprogramms besteht, die einen Fehler beim Synchronisationsprozess in einfacher Weise verhindern können, ohne dass ein Kontaktplanprogramm erforderlich wäre, um den Fehler beim Synchronisationsprozess zu korrigieren.
  • Lösung der Problemstellung
  • Zur Lösung der vorgenannten Probleme und der Aufgabe gibt die vorliegende Erfindung eine Steuerung an, die mehrere externe Geräte periodisch steuert und die einen Kurzzeitspeicher, einen Arbeitsspeicher und eine Steuereinheit aufweist. Die Steuereinheit überträgt Anforderungspakete an jedes der externen Geräte, wobei die Anforderungspakete eine Übertragung von Gerätedaten für die Verwendung bei der Steuerung der externen Geräte anfordern und die externen Geräte Zielobjekte darstellen, die der Synchronisationssteuerung unterzogen werden sollen, bezieht die Gerätedaten aus den Antwortpaketen, die von den externen Geräten veranlasst durch die Anforderungspakete erhalten wurden, speichert die bezogenen Gerätedaten in den Kurzzeitspeicher und schreibt die in dem Kurzzeitspeicher gespeicherten Gerätedaten unter der Bedingung in den Arbeitsspeicher, dass die jeweiligen Antwortpakete, die durch die innerhalb eines Steuerungszeitraums übertragenen Anforderungspakete veranlasst wurden, von den externen Geräten empfangen wurden, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt.
  • Vorteilhafte Wirkungen der Erfindung
  • Die erfindungsgemäße programmierbare Steuerung kann einen Fehler beim Synchronisationsprozess in einfacher Weise verhindern, ohne dass ein Kontaktplanprogramm zur Korrektur des Fehlers beim Synchronisationsprozess erforderlich ist.
  • Figurenliste
    • 1 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für eine funktionelle Konfiguration einer programmierbaren Steuerung gemäß einer ersten Ausführungsform.
    • 2 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für einen an der programmierbaren Steuerung gemäß der ersten Ausführungsform ausgeführten Ablauf.
    • 3 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für einen an einer programmierbaren Steuerung gemäß einer zweiten Ausführungsform ausgeführten Ablauf.
    • 4 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für einen an der programmierbaren Steuerung gemäß der zweiten Ausführungsform ausgeführten Ablauf.
    • 5 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für eine funktionelle Konfiguration einer programmierbaren Steuerung gemäß einer dritten Ausführungsform.
    • 6 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für einen an der programmierbaren Steuerung gemäß der dritten Ausführungsform ausgeführten Ablauf.
    • 7 zeigt ein Flussdiagramm zur Veranschaulichung eines Beispiels für einen an der programmierbaren Steuerung gemäß der dritten Ausführungsform ausgeführten Ablauf.
    • 8 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für eine Hardwarekonfiguration einer programmierbaren Steuerung gemäß einer Ausführungsform.
  • Beschreibung von Ausführungsformen
  • Erste Ausführungsform
  • Nachfolgend werden Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Figuren beschrieben. Es wird darauf hingewiesen, dass die vorliegende Erfindung nicht auf die Ausführungsformen beschränkt ist.
  • Die Darstellung von 1 veranschaulicht ein Beispiel für eine funktionelle Konfiguration einer programmierbaren Steuerung gemäß einer ersten Ausführungsform. Wie aus 1 ersichtlich ist die programmierbare Steuerung 10 gemäß der ersten Ausführungsform über ein Netzwerk 1 mit einem externen Gerät 20 und einem externen Gerät 30 verbunden, sodass die programmierbare Steuerung 10 mit dem externen Gerät 20 und dem externen Gerät 30 eine ein Senden und Empfangen von Daten betreffende Kommunikation vornehmen kann. Das Netzwerk 1 kann ein lokales Netzwerk (LAN) umfassen, beispielsweise das Internet oder Ethernet (eingetragene Marke).
  • Die programmierbare Steuerung 10 weist einen Programmspeicher 11, einen Kurzzeitspeicher 12, einen Arbeitsspeicher 13, eine Steuereinheit 14 und eine Kommunikationssteuerungseinheit 15 auf. In 1 sind lediglich funktionelle Einheiten dargestellt, die zur Beschreibung der programmierbaren Steuerung 10 gemäß der ersten Ausführungsform erforderlich sind.
  • In dem Programmspeicher 11 sind Programme zur Implementierung von verschiedenen Steuerungen in der programmierbaren Steuerung 10 gespeichert. In dem Programmspeicher 11 ist zum Beispiel ein Synchronisationssteuerungsprogramm 11a gespeichert. Das Synchronisationssteuerungsprogramm 11a kann Funktionen zum Synchronisieren von Gerätedaten aufweisen, wobei es sich bei den Gerätedaten um Steuerdaten zum Steuern der externen Geräte handelt, die die der Synchronisationssteuerung unterliegenden Zielobjekte darstellen. Die von dem Synchronisationssteuerungsprogramm 11a zur Verfügung gestellten Funktionen, die einen Prozess zum Abrufen von Gerätedaten von den externen Geräten 20 und 30, die zur Kommunikation mit der mit ihnen verbundenen programmierbaren Steuerung 10 ausgebildet sind, umfassen Funktionen zur Durchführung der unten dargelegten Prozesse in einem periodisch ausgeführten Sequenzdurchlauf (nachfolgend als Durchlauf bezeichnet). Die von dem Synchronisationssteuerungsprogramm 11a zur Verfügung gestellten Funktionen umfassen konkret folgende Funktionen, die innerhalb desselben Durchlaufs ausgeführt werden: eine Funktion, um Anforderungspakete, die Gerätedaten anfordern, an die externen Geräte 20 und 30 zu übertragen, die die der Synchronisationssteuerung unterliegenden Zielobjekte darstellen, eine Funktion, um die Gerätedaten aus den Antwortpaketen zu beziehen, die veranlasst durch die Anforderungspakete von den externen Geräten 20 und 30 erhalten wurden, und um die bezogenen Gerätedaten in den Kurzzeitspeicher 12 zu speichern, und eine Funktion, um die in dem Kurzzeitspeicher 12 vorübergehend gespeicherten Gerätedaten aus dem Kurzzeitspeicher 12 auszulesen und um die ausgelesenen Gerätedaten in den Arbeitsspeicher 13 unter der Bedingung zu schreiben, dass die Antwortpakete, die zu den Anforderungspaketen gehören, die innerhalb desselben Durchlaufs an die externen Geräte 20 und 30 übertragen wurden, bei denen es sich um die Zielobjekte handelt, die der Synchronisationssteuerung zu unterziehen sind, von dem Gerät 20 bzw. 30 empfangen wurden. Aufgrund der von dem Synchronisationssteuerungsprogramm 11a bereitgestellten Funktionen wird der Zeitpunkt, an dem die Gerätedaten von dem externen Gerät 20, das das der Synchronisationssteuerung zu unterziehende Zielobjekt ist, aus dem Kurzzeitspeicher 12 in den Arbeitsspeicher 13 gespiegelt werden, mit dem Zeitpunkt synchronisiert, an dem die Gerätedaten von dem externen Gerät 30, das das Zielobjekt ist, das der Synchronisationssteuerung in ähnlicher Weise zu unterziehen ist, aus dem Kurzzeitspeicher 12 in den Arbeitsspeicher 13 gespiegelt werden.
  • Die Gerätedaten 12a werden im Kurzzeitspeicher 12 vorübergehend gespeichert. Die Gerätedaten 12a, bei denen es sich um die Gerätedaten handelt, die in den von den externen Geräten 20 und 30 erhaltenen Antwortpaketen enthalten sind, werden von der Steuereinheit 14 in dem Kurzzeitspeicher abgelegt. Die Gerätedaten 13a werden in dem Arbeitsspeicher 13 abgelegt. Die Gerätedaten 13a, die den im Kurzzeitspeicher 12 gespeicherten Gerätedaten 12a entsprechen, werden von der Steuereinheit 14 in den Arbeitsspeicher 13 geschrieben. Der Arbeitsspeicher 13 kann auch als Arbeitsbereich verwendet werden, in dem die Ergebnisse der Verarbeitung durch die Steuereinheit 14 vorübergehend gespeichert werden. Der Kurzzeitspeicher 12 und der Arbeitsspeicher 13 können individuell in einen Speicherbereich, in dem die von dem externen Gerät 20 erhaltenen Gerätedaten gespeichert werden, und einen Speicherbereich, in dem die von dem externen Gerät 30 erhaltenen Gerätedaten gespeichert werden, unterteilt werden. Die Unterteilung in Speicherbereiche kann virtuell oder physikalisch sein.
  • Die Steuereinheit 14 führt in der programmierbaren Steuerung 10 verschiedene Steuerungen aus, indem sie verschiedene Programme ausführt, die in dem Programmspeicher 11 gespeichert sind. Konkret führt die Steuereinheit 14 bezüglich der von den jeweiligen Einheiten der programmierbaren Steuerung 10 bezogenen Daten in den Programmen enthaltene Anweisungen aus, wodurch die verschiedenen Steuerungen in der programmierbaren Steuerung 10 ausgeführt werden.
  • Bei der ersten Ausführungsform führt die Steuereinheit 14 das Synchronisationssteuerungsprogramm 11a aus, um hierdurch einen Prozess zum Synchronisieren der Gerätedaten an den externen Geräten zu implementieren, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt. Konkret überträgt die Steuereinheit 14 während einer Ausführung eines Durchlaufs Anforderungspakete, die Gerätedaten anfordern, an die externen Geräte 20 und 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt. Dadurch werden die Anforderungspakete von der Steuereinheit 14 an jedes der externen Geräte 20 und 30 innerhalb desselben Duchlaufs übertragen, wobei es sich bei den Geräten um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt. Bei Empfang des Antwortpakets von dem externen Gerät 20 oder dem externen Gerät 30 bezieht die Steuereinheit 14 die Gerätedaten aus dem erhaltenen Antwortpaket und speichert die erhaltenen Gerätedaten sukzessive in den Kurzzeitspeicher 12. Beim Übergang zu einer ENDE-Prozedur, bei der es sich um eine abschließende Prozedur des Durchlaufs handelt, bestimmt die Steuereinheit 14, ob die Antwortpakete, die zu den Anforderungspaketen gehören, die innerhalb desselben Durchlaufs an die externen Geräte 20 und 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt, übertragen wurden, von dem externen Gerät 20 und dem externen Gerät 30 empfangen wurden. Wenn von zumindest einem der externen Geräte 20 und 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt, kein Antwortpaket empfangen wurde, beendet die Steuereinheit 14 die ENDE-Prozedur, macht mit einem neuen Durchlauf weiter und bestimmt weiterhin, ob das zu dem übertragenen Anforderungspaket gehörende Antwortpaket empfangen wurde, wobei die Wiederholung der Bestimmung solange erfolgt, bis der Empfang der Antwortpakete von den externen Geräten 20 und 30 abgeschlossen ist. Wenn der Empfang der Antwortpakete von beiden externen Geräten 20 und 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt, abgeschlossen ist, liest die Steuereinheit 14 die Gerätedaten der externen Geräte 20 und 30 aus dem Kurzzeitspeicher 12 aus und schreibt die entsprechenden Gerätedaten in den Arbeitsspeicher 13. Durch Ausführen des Synchronisationssteuerungsprogramms 11a implementiert die Steuereinheit 14 wie oben beschrieben den Prozess zum Synchronisieren des Zeitpunkts, an dem die Gerätedaten des externen Geräts 20 von dem Kurzzeitspeicher 12 in den Arbeitsspeicher 13 gespiegelt werden, mit dem Zeitpunkt, an dem die Gerätedaten des externen Geräts 30 von dem Kurzzeitspeicher 12 in den Arbeitsspeicher 13 gespiegelt werden.
  • Die Kommunikationssteuerungseinheit 15 steuert die Übertragung und den Empfang von Daten zwischen dem externen Gerät 20 und dem externen Gerät 30.
  • Das Flussdiagramm von 2 veranschaulicht ein Beispiel für einen Prozessablauf, der von der programmierbaren Steuerung 10 gemäß der ersten Ausführungsform ausgeführt wird. Der in 2 veranschaulichte Prozessablauf wird implementiert, indem die Steuereinheit 14 das in dem Programmspeicher 11 gespeicherte Synchronisationssteuerungsprogramm 11a ausführt.
  • Wie in 2 dargestellt überträgt die programmierbare Steuerung 10 während einer Ausführung eines Durchlaufs Anforderungspakete an die externen Geräte 20 und 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt (Schritt S101).
  • Anschließend speichert die programmierbare Steuerung 10 die Gerätedaten, die in den von den externen Geräten 20 und 30 erhaltenen Antwortpaketen enthalten sind, in den Kurzzeitspeicher 12 (Schritt S102). Die speicherprogrammierbare Steuerung 10 speichert die Gerätedaten beim Empfangen des Antwortpakets sukzessive in den Kurzzeitspeicher 12.
  • Anschließend bestimmt die programmierbare Steuerung 10, ob sich der Durchlauf in der ENDE-Prozedur befindet, bei der es sich um die abschließende Prozedur des Durchlaufs handelt (Schritt S103).
  • Wenn das Ergebnis der Bestimmung anzeigt, dass sich der Durchlauf nicht in der ENDE-Prozedur befindet (Schritt S103, Nein), springt die programmierbare Steuerung 10 zur oben beschriebenen Prozedur von Schritt S102 zurück.
  • Wenn das Ergebnis der Bestimmung anzeigt, dass sich der Durchlauf in der ENDE-Prozedur befindet (Schritt S103, Ja), bestimmt die programmierbare Steuerung 10, ob die Antwortpakete, die zu den in S101 übertragenen Anforderungspaketen gehören, von den externen Geräten 20 und 30 erhalten wurden (Schritt S104).
  • Wenn das Ergebnis der Bestimmung anzeigt, dass die Antwortpakete sowohl von dem externen Gerät 20 als auch von dem externen Gerät 30 empfangen wurden (Schritt S104, Ja), schreibt die programmierbare Steuerung 10 die Gerätedaten, die in dem Kurzzeitspeicher 12 gespeichert sind, in den Arbeitsspeicher 13 (Schritt S105), beendet die ENDE-Prozedur und fährt mit dem nächsten Durchlauf fort (Schritt S106).
  • Anschließend bestimmt die programmierbare Steuerung 10, ob der Synchronisationsprozess an den Gerätedaten fortgesetzt werden soll (Schritt S107). Die programmierbare Steuerung 10 bestimmt, dass der Synchronisationsprozess fortgesetzt werden soll, außer wenn beispielsweise ein anormaler Vorgang aufgetreten ist, oder ein Anwender eine Stopanweisung eingibt.
  • Wenn das Ergebnis der Bestimmung anzeigt, dass der Synchronisationsprozess an den Gerätedaten fortgesetzt werden soll (Schritt S107, Ja), dann springt die programmierbare Steuerung 10 zu der Prozedur des oben beschriebenen Schrittes S101 zurück.
  • Wenn das Ergebnis der Bestimmung anzeigt, dass der Synchronisationsprozess an den Gerätedaten nicht fortgesetzt werden soll (Schritt S107, Nein), dann beendet die programmierbare Steuerung 10 den in 2 dargestellten Ablauf.
  • Wenn das Ergebnis der Bestimmung in dem oben beschriebenen Schritt S104 angibt, dass von dem externen Gerät 20 und/oder dem externen Gerät 30 kein Antwortpaket empfangen wurde (Schritt S104, Nein), beendet die programmierbare Steuerung 10 die ENDE-Prozedur, macht mit dem nächsten Durchlauf weiter (Schritt S108) und springt zu der oben beschriebenen Prozedur von Schritt S102 zurück.
  • Bei der ersten Ausführungsform liest die programmierbare Steuerung 10 die in dem Kurzzeitspeicher 12 vorübergehend gespeicherten Gerätedaten und schreibt die ausgelesenen Gerätedaten unter der Bedingung in den Arbeitsspeicher 13, dass die Antwortpakete, die zu den Anforderungspaketen gehören, die innerhalb desselben Durchlaufs von den externen Geräten 20 und 30, bei denen es sich um die Zielobjekte handelt, die der Synchronisationssteuerung zu unterziehen sind, empfangen wurden. Die programmierbare Steuerung 10 kann dadurch den Zeitpunkt, an dem die Gerätedaten des externen Geräts 20 von dem Kurzzeitspeicher 12 in den Arbeitsspeicher 13 gespiegelt werden, mit dem Zeitpunkt synchronisieren, an dem die Gerätedaten des externen Geräts 30 von dem Kurzzeitspeicher 12 in den Arbeitsspeicher 13 gespiegelt werden. Durch die programmierbare Steuerung 10 wird ein Fehler beim Synchronisationsprozesses somit in einfacherer Weise verhindert, als wenn zur Korrektur eines Fehlers beim Synchronisationsprozess ein Kontaktplanprogramm vorgesehen ist.
  • Zudem synchronisiert die programmierbare Steuerung 10 bei der ersten Ausführungsform die Gerätedaten zuverlässig, da die programmierbare Steuerung 10 die Gerätedaten selbst während der ENDE-Prozedur des Durchlaufs nicht von dem Kurzzeitspeicher 12 in den Arbeitsspeicher 13 spiegelt, außer wenn die Gerätdaten von beiden, dem externen Gerät 20, bei dem es sich um das Zielobjekt handelt, das der Synchronisationssteuerung zu unterziehen ist, und dem externen Gerät 30, bei dem es sich um das Zielobjekt handelt, das der Synchronisationssteuerung zu unterziehen ist, in dem Kurzzeitspeicher 12 gespeichert sind.
  • Auch wenn die erste Ausführungsform anhand eines Beispiels beschrieben wurde, bei dem die programmierbare Steuerung 10 die Synchronisationssteuerung der Gerätedaten vornimmt, die von den beiden externen Geräten, bei denen es sich um die externen Geräte 20 und 30 handelt, erhalten wurden, kann die Synchronisationssteuerung gemäß der ersten Ausführungsform in ähnlicher Weise auch an Gerätedaten vorgenommen werden, die von drei oder mehr externen Geräten erhalten wurden.
  • Zweite Ausführungsform
  • Die erste Ausführungsform stellt ein Beispiel für einen Ablauf dar, bei dem, wenn zum Zeitpunkt der ENDE-Prozedur des Durchlaufs von zumindest einem der externen Geräte 20 oder 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt, kein Antwortpaket erhalten wurde, die programmierbare Steuerung 10 weiterhin bestimmt, ob das zu dem übertragenen Anforderungspaket gehörende Antwortpaket empfangen wurde, wobei die Wiederholung der Bestimmung solange erfolgt, bis der Empfang der Antwortpakete von den externen Geräten 20 und 30 abgeschlossen ist. Der Ablauf ist jedoch nicht auf dieses Beispiel beschränkt. Wenn von dem externen Gerät 20 und/oder dem externen Gerät 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt, zum Zeitpunkt der ENDE-Prozedur des Durchlaufs kein Antwortpaket erhalten wurde, kann die programmierbare Steuerung 10 innerhalb desselben Durchlaufs fortfahren, auf den Empfang des Antwortpakets, das zu dem übertragenen Anforderungspaket gehört, zu warten, ohne den aktuellen Durchlauf zu beenden. Das Synchronisationssteuerungsprogramm 11a kann eine Funktion zum Versetzen der ENDE-Prozedur in einen Kommunikationsbereitschaftszustand aufweisen, um einen Zustand zum Warten auf einen Empfang eines Antwortpakets aufrechtzuerhalten, wobei die Steuereinheit 14 das Synchronisationssteuerungsprogramm 11a ausführen kann, um hierdurch einen Vorgang zu implementieren, der die ENDE-Prozedur in den Kommunikationsbereitschaftszustand versetzt, um den Zustand des Wartens auf einen Empfang eines Antwortpakets aufrechtzuerhalten.
  • Ein Beispiel eines mithilfe einer programmierbaren Steuerung 10 gemäß einer zweiten Ausführungsform vorgenommenen Ablaufs wird anhand der 3 und 4 beschrieben. Die 3 und 4 zeigen Flussdiagramme zur Veranschaulichung eines Beispiels für einen von der programmierbaren Steuerung 10 gemäß einer zweiten Ausführungsform vorgenommenen Ablauf.
  • Wie in 3 dargestellt überträgt die programmierbare Steuerung 10 während der Ausführung eines Durchlaufs Anforderungspakete an die externen Geräte 20 und 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt (Schritt S201).
  • Anschließend speichert die programmierbare Steuerung 10 die in den von den externen Geräten 20 und 30 erhaltenen Antwortpaketen enthaltenen Gerätedaten in den Kurzzeitspeicher 12 (Schritt S202). Bei Erhalt des Antwortpakets speichert die programmierbare Steuerung 10 die Gerätedaten sukzessive in den Kurzzeitspeicher 12.
  • Anschließend bestimmt die programmierbare Steuerung 10, ob sich der Durchlauf in der ENDE-Prozedur befindet, die die abschließende Prozedur des Durchlaufs darstellt (Schritt S203).
  • Wenn das Ergebnis der Bestimmung anzeigt, dass sich der Durchlauf nicht in der ENDE-Prozedur befindet (Schritt S203, Nein), springt die programmierbare Steuerung 10 zur oben beschriebenen Prozedur von Schritt S202 zurück.
  • Wenn das Ergebnis der Bestimmung anzeigt, dass sich der Durchlauf in der ENDE-Prozedur befindet (Schritt S203, Ja), dann bestimmt die programmierbare Steuerung 10, ob die Antwortpakete, die zu den in Schritt S201 übertragenen Anforderungspaketen gehören, von den externen Geräten 20 und 30 empfangen wurden (Schritt S204).
  • Wenn das Ergebnis der Bestimmung anzeigt, dass die Antwortpakete von beiden externen Geräten 20 und 30 empfangen wurden (Schritt S204, Ja), dann bestimmt die programmierbare Steuerung 10, ob bereits auf den Empfang eines Antwortpakets gewartet wird (Schritt S205).
  • Wenn das Ergebnis der Bestimmung anzeigt, dass nicht auf den Empfang des Antwortpakets gewartet wird (Schritt S205, Nein), dann schreibt die programmierbare Steuerung 10 die in dem Kurzzeitspeicher 12 gespeicherten Gerätedaten in den Arbeitsspeicher 13 (Schritt S206), beendet die ENDE-Prozedur und macht mit dem nächsten Durchlauf weiter (Schritt S207).
  • Anschließend bestimmt die programmierbare Steuerung 10, ob der Synchronisationsprozess an den Gerätedaten fortgesetzt werden soll (Schritt S208). Die programmierbare Steuerung 10 bestimmt, dass der Synchronisationsprozess fortgesetzt werden soll, außer wenn beispielsweise ein anormaler Vorgang aufgetreten ist, oder ein Anwender eine Stopanweisung eingibt.
  • Wenn das Ergebnis der Bestimmung anzeigt, dass der Synchronisationsprozess an den Gerätedaten fortgesetzt werden soll (Schritt S208, Ja), dann springt die programmierbare Steuerung 10 zu der oben beschriebenen Prozedur von Schritt S201 zurück.
  • Wenn das Ergebnis der Bestimmung anzeigt, dass der Synchronisationsprozess an den Gerätedaten nicht fortgesetzt werden soll (Schritt S208, Nein), dann beendet die programmierbare Steuerung 10 den in 3 dargestellten Ablauf.
  • Wenn das Ergebnis der in dem oben beschriebenen Schritt S205 vorgenommene Bestimmung anzeigt, dass auf den Empfang des Antwortpakets gewartet wird (Schritt S205, Ja), hebt die programmierbare Steuerung 10 den Zustand des Wartens auf den Empfang des Antwortpakets auf (Schritt S209) und fährt mit der Prozedur des oben beschriebenen Schritts S206 fort.
  • Wenn das Ergebnis der in dem oben beschriebenen Schritt S204 vorgenommene Bestimmung anzeigt, dass von dem externen Gerät 20 und/oder dem externen Gerät 30 kein Antwortpaket empfangen wurde (Schritt S204, Nein), bestimmt die programmierbare Steuerung 10, ob bereits auf den Empfang des Antwortpakets gewartet wird (Schritt S210).
  • Wenn das Ergebnis der Bestimmung anzeigt, dass nicht auf den Empfang des Antwortpakets gewartet wird (Schritt S210, Nein), dann geht die programmierbare Steuerung 10 in den Zustand des Wartens auf den Empfang des Antwortpakets über (Schritt S211) und springt zu der Prozedur des oben beschriebenen Schrittes S202 zurück. Wenn das Ergebnis der Bestimmung dagegen anzeigt, dass auf den Empfang des Antwortpakets gewartet wird (Schritt S210, Ja), dann springt die programmierbare Steuerung 10 direkt zu der oben beschriebenen Prozedur von Schritt S202 zurück.
  • Bei der zweiten Ausführungsform versetzt die programmierbare Steuerung 10 die ENDE-Prozedur, bei der es sich um die abschließende Prozedur des Durchlaufs handelt, solange in den Kommunikationsbereitschaftszustand, bis der Empfang der Antwortpakete von sowohl dem externen Gerät 20 als auch dem externen Gerät 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt, abgeschlossen ist. Da das Versetzen der ENDE-Prozedur in den Kommunikationsbereitschaftszustand es der programmierbaren Steuerung 10 ermöglicht, weiterhin auf den Empfang des zu dem übertragenen Anforderungspaket gehörenden Antwortpaket zu warten, kann die programmierbare Steuerung 10 die Gerätedaten innerhalb desselben Durchlaufs synchronisieren.
  • Dritte Ausführungsform
  • Auch wenn die zweite Ausführungsform anhand eines Beispiels beschrieben wurde, bei dem die programmierbare Steuerung 10 den Zustand des Wartens auf den Empfang des Antwortpakets solange aufrechterhält, bis die Antwortpakete von sowohl dem externen Gerät 20 als auch dem externen Gerät 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt, empfangen wurden, ist der Ablauf nicht auf dieses Beispiel beschränkt. Die programmierbare Steuerung 10 kann den Zustand des Wartens auf den Empfang des Antwortpakets nur dann aufrechterhalten, wenn sich die Zeit, die seit der Übertragung der Anforderungspakete vergangen ist, innerhalb einer zulässigen Zeitspanne befindet.
  • Die Darstellung von 5 veranschaulicht ein Beispiel für eine funktionelle Konfiguration einer programmierbaren Steuerung 10 gemäß einer dritten Ausführungsform. Wie aus 5 ersichtlich weist die programmierbare Steuerung 10 gemäß der dritten Ausführungsform zusätzlich zu den in der programmierbaren Steuerung 10 gemäß der zweiten Ausführungsform enthaltenen funktionellen Einheiten einen Zulässige-Zeitspanne-Speicher 16 und einen Zeitnehmer 17 auf.
  • Der Zulässige-Zeitspanne-Speicher 16 speichert Zulässige-Zeitspanne-Daten 16a. Bei den Zulässige-Zeitspanne-Daten 16a handelt es sich um Daten, die als zulässige Zeitspanne für das Aufrechterhalten des Zustands des Wartens auf den Empfang eines Antwortpakets vorab festgelegt werden. Die den Zulässige-Zeitspanne-Daten 16a entsprechende zulässige Zeitspanne wird so festgelegt, dass sie zumindest etwas länger ist, als die sich vom Start eines Durchlaufs bis zu einer ENDE-Prozedur erstreckende Zeitspanne.
  • Der Zeitnehmer 17 beginnt mit der Messung der Zeitspanne, wenn eine entsprechende Anweisung von der Steuereinheit 14 vorliegt. Der Zeitnehmer 17 misst die Zeit, die seit der Übertragung von Gerätedaten anfordernden Anforderungspaketen vergangen ist. Der Zeitnehmer 17 setzt die gemessene Zeit auf null, wenn eine entsprechende Anweisung von der Steuereinheit 14 vorliegt.
  • Das Synchronisationssteuerungsprogramm 11a kann eine Funktion, die die Zeit ausgelöst durch die Übertragung der Anforderungspakete misst, eine Funktion, die die gemessenen Zeit auf null stellt, bevor mit dem nächsten Durchlauf weitergemacht wird, und eine Funktion aufweisen, die den Zustand des Wartens auf einen Empfang von Antwortpaketen, die zu Anforderungspaketen gehören, die innerhalb desselben Durchlaufs übertragen wurden, aufrechterhält, wenn die seit der Übertragung der Anforderungspakete verstrichene Zeitspanne die zulässige Zeitspanne nicht überschritten hat.
  • Die Steuereinheit 14 führt das Synchronisationssteuerungsprogramm 11a aus, um einen Prozess zu implementieren, der eine durch eine Übertragung von Anforderungspaketen ausgelöste Zeitmessung mithilfe des Zeitnehmers 17 startet. Wenn die Steuereinheit 14 beispielsweise Anforderungspakete überträgt, dann sendet die Steuereinheit 14 an den Zeitnehmer 17 eine Anweisung zur Durchführung einer Zeitmessung. Wenn die Steuereinheit 14 mit dem nächsten Durchlauf fortfährt, sendet die Steuereinheit 14 an den Zeitnehmer 17 eine Anweisung, um die gemessene Zeit auf null zu stellen. Die Steuereinheit 14, die das Synchronisationssteuerungsprogramm 11a ausführt, implementiert eine Prozedur zum Aufrechterhalten des Zustands des Wartens auf den Empfang eines Antwortpakets, wenn sich die seit der Übertragung der Anforderungspakete vergangene Zeit innerhalb der zulässigen Zeitspanne bewegt. Wenn die Antwortpakete nicht von beiden externen Geräten 20 und 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt, empfangen wurden, bestimmt die Steuereinheit 14 beispielsweise, ob sich die von dem Zeitnehmer gemessene Zeit innerhalb der zulässigen Zeitspanne befindet, wobei die Steuereinheit 14, wenn das Ergebnis der Bestimmung anzeigt, dass sich die Zeit innerhalb der zulässigen Zeitspanne bewegt, den Zustand des Wartens auf den Empfang von Antwortpaketen, die zu den innerhalb desselben Durchlaufs übertragenen Anforderungspaketen gehören, aufrechterhält.
  • Ein Beispiel eines von der programmierbaren Steuerung 10 gemäß einer dritten Ausführungsform vorgenommenen Ablaufs wird unter Bezugnahme auf die 6 und 7 beschrieben. Die 6 und 7 zeigen Flussdiagramme, die ein Beispiel für einen von der programmierbaren Steuerung 10 gemäß der dritten Ausführungsform ausgeführten Ablauf veranschaulichen.
  • Wie in 6 dargestellt überträgt die programmierbare Steuerung 10 während einer Vornahme eines Durchlaufs Anforderungspakete an die externen Geräte 20 und 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt (Schritt S301).
  • Anschließend startet die programmierbare Steuerung 10 eine Zeitmessung mithilfe des Zeitnehmers 17 (Schritt S302).
  • Anschließend speichert die programmierbare Steuerung 10 die in den Antwortpaketen enthaltenen Gerätedaten, die von den externen Geräten 20 und 30 erhalten wurden, in den Kurzzeitspeicher 12 (Schritt S303). Die programmierbare Steuerung 10 speichert die Gerätedaten bei Empfang des Antwortpakets in den Kurzzeitspeicher 12.
  • Anschließend bestimmt die programmierbare Steuerung 10, ob sich der Durchlauf in der ENDE-Prozedur, die die letzte Prozedur des Durchlaufs darstellt, befindet (Schritt S304).
  • Wenn das Ergebnis der Bestimmung anzeigt, dass sich der Durchlauf nicht in der ENDE-Prozedur befindet (Schritt S304, Nein), springt die programmierbare Steuerung 10 zu der oben beschriebenen Prozedur von Schritt S303 zurück.
  • Wenn das Ergebnis der Bestimmung anzeigt, dass sich der Durchlauf in der ENDE-Prozedur befindet (Schritt S304, Ja), bestimmt die programmierbare Steuerung 10, ob die Antwortpakete, die zu den in Schritt S301 übertragenen Anforderungspaketen gehören, von den externen Geräten 20 und 30 empfangen wurden (Schritt S305).
  • Wenn das Ergebnis der Bestimmung anzeigt, dass die Antwortpakete von beiden Geräten, dem externen Gerät 20 und dem externen Gerät 30, erhalten wurden (Schritt S305, Ja), dann bestimmt die programmierbare Steuerung 10, ob auf den Empfang eines Antwortpakets gewartet wird (Schritt S306).
  • Wenn das Ergebnis der Bestimmung anzeigt, dass nicht auf den Empfang des Antwortpakets gewartet wird (Schritt S306, Nein), dann schreibt die programmierbare Steuerung 10 die in dem Kurzzeitspeicher 12 gespeicherten Gerätedaten in den Arbeitsspeicher 13 (Schritt S307) und setzt die von dem Zeitnehmer 17 gemessene Zeit auf null (Schritt S308).
  • Anschließend beendet die programmierbare Steuerung 10 die ENDE-Prozedur, macht mit dem nächsten Durchlauf weiter (Schritt S309) und bestimmt, ob der Synchronisationsprozess an den Gerätedaten fortgesetzt werden soll (Schritt S310). Die programmierbare Steuerung 10 bestimmt, dass der Synchronisationsprozess fortgesetzt werden soll, ausgenommen, wenn zum Beispiel ein anormaler Vorgang aufgetreten ist oder wenn ein Anwender eine Stopanweisung eingibt.
  • Wenn das Ergebnis der Bestimmung anzeigt, dass der Synchronisationsprozess an den Gerätedaten fortgesetzt werden soll (Schritt S310, Ja), springt die programmierbare Steuerung 10 zu der Prozedur des oben beschriebenen Schrittes S301 zurück.
  • Wenn das Ergebnis der Bestimmung anzeigt, dass der Synchronisationsprozess an den Gerätedaten nicht fortgesetzt werden soll (Schritt S310, Nein), dann beendet die programmierbare Steuerung 10 den in 6 veranschaulichten Ablauf.
  • Wenn das Ergebnis der Bestimmung in dem oben beschriebenen Schritt S306 anzeigt, dass auf den Empfang des Antwortpakets gewartet wird (Schritt S306, Ja), dann hebt die programmierbare Steuerung 10 den Zustand des Wartens auf den Empfang des Antwortpakets auf (Schritt S311) und fährt mit der oben beschriebenen Prozedur des Schritts S307 fort.
  • Wenn das Ergebnis der Bestimmung in dem oben beschriebenen Schritt S305 anzeigt, dass von dem externen Gerät 20 und/oder dem externen Gerät 30 kein Antwortpaket empfangen wurde (Schritt S305, Nein), dann bestimmt die programmierbare Steuerung 10, ob die von dem Zeitnehmer 17 gemessene verstrichene Zeit die zulässige Zeitspanne übersteigt (Schritt S312).
  • Wenn das Ergebnis der Bestimmung anzeigt, dass die von dem Zeitnehmer 17 gemessene verstrichene Zeit die zulässige Zeitspanne übersteigt (Schritt S312, Ja), dann setzt die programmierbare Steuerung 10 die von dem Zeitnehmer 17 gemessene Zeit auf null (Schritt S313).
  • Anschließend beendet die programmierbare Steuerung 10 die ENDE-Prozedur, macht mit dem nächsten Durchlauf weiter (Schritt S314) und springt zu der oben beschriebenen Prozedur des Schritts S302 zurück. Konkret führt die programmierbare Steuerung 10 den nächsten Durchlauf aus, ohne die Gerätedaten abzurufen, wenn die von dem Zeitnehmer 17 während des aktuellen Durchgangs gemessene verstrichene Zeit die zulässige Zeitspanne übersteigt.
  • Wenn das Ergebnis der Bestimmung in dem oben beschriebenen Schritt S312 anzeigt, dass die von dem Zeitnehmer 17 gemessene verstrichene Zeit die zulässige Zeitspanne nicht übersteigt (Schritt S312, Nein), dann bestimmt die programmierbare Steuerung 10, ob bereits auf den Empfang des Antwortpakets gewartet wird (Schritt S315).
  • Wenn das Ergebnis der Bestimmung anzeigt, dass nicht auf den Empfang des Antwortpakets gewartet wird (Schritt S315, Nein), dann geht die programmierbare Steuerung 10 in den Zustand des Wartens auf den Empfang des erhaltenen Pakets über (Schritt S316) und springt zur Prozedur des oben beschriebenen Schritts S303 zurück. Wenn das Ergebnis der Bestimmung dagegen anzeigt, dass auf den Empfang des Antwortpakets gewartet wird (Schritt S315, Ja), dann springt die programmierbare Steuerung 10 direkt zu der Prozedur des oben beschriebenen Schritts S303 zurück.
  • Wenn bei dem oben beschriebenen Ablauf von 6 die von dem Zeitnehmer 17 gemessene verstrichene Zeit die zulässige Zeitspanne übersteigt und die Gerätedaten von dem externen Gerät 20 oder dem externen Gerät 30 in dem Kurzzeitspeicher 12 gespeichert sind, kann die programmierbare Steuerung 10 nur die in dem Kurzzeitspeicher 12 gespeicherten Gerätedaten in den Arbeitsspeicher 13 speichern und mit dem Ablauf so fortfahren, dass vor Beginn des nächsten Durchlaufs kein Antwortpaket empfangen wird. Bei dem Ablauf von FIG. 6 können dem Anforderungspaket und dem Antwortpaket vorab Blocksequenznummern zugeteilt werden, um die Verknüpfung zwischen dem Anforderungspaket und dem Antwortpaket korrekt zu bestimmen, wobei die programmierbare Steuerung 10 den Ablauf so fortführen kann, dass die programmierbare Steuerung 10 bei Empfang eines Antwortpakets auf die dem Antwortpaket zugeteilte Blocksequenznummer Bezug nimmt, um zu bestimmen, zu welchem Durchlauf das Paket gehört.
  • Bei der dritten Ausführungsform hält die programmierbare Steuerung 10 den Zustand des Wartens auf den Empfang des Antwortpakets aufrecht, ohne mit dem nächsten Durchlauf weiterzumachen, wenn der Empfang der Antwortpakete von den externen Geräten 20 und 30, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt, noch nicht abgeschlossen ist, die seit der Übertragung der Anforderungspakete verstrichene Zeit sich aber noch innerhalb der zulässigen Zeitspanne befindet. Hierdurch kann die programmierbare Steuerung 10 die Gerätedaten weitestgehend innerhalb eines Durchlaufs synchronisieren, wodurch verhindert wird, dass die Durchführung des Durchlaufs ins Stocken gerät.
  • Unter Bezug auf 8 wird ein Beispiel für einen Computer zur Implementierung von Steuervorgängen beschrieben, die den Steuervorgängen der programmierbaren Steuerung 10 ähneln, die bei den oben angegebenen Ausführungsformen beschrieben wurden. Die Darstellung von 8 veranschaulicht ein Beispiel für eine Hardwarekonfiguration der programmierbaren Steuerung 10 gemäß der Ausführungsform.
  • Wie aus 8 ersichtlich umfasst ein als programmierbare Steuerung 10 dienender Computer 100 beispielsweise einen Prozessor 101, einen Direktzugriffsspeicher (RAM) 102, einen Festwertspeicher (ROM) 103, eine Eingabeschnittstelle 104, ein Eingabegerät 105, eine Ausgabeschnittstelle 106, ein Ausgabegerät 107, eine Kommunikationsschnittstelle 108 und einen Bus 109. Der Prozessor 101, das RAM 102, das ROM 103, die Eingabeschnittstelle 104, das Eingabegerät 105, die Ausgabeschnittstelle 106, das Ausgabegerät 107 und die Kommunikationsschnittstelle 108 sind untereinander über den Bus 109 verbunden.
  • Bei dem RAM 102 handelt es sich um eine Speichervorrichtung, aus der Daten gelesen und in die Daten geschrieben werden können, wobei als RAM 102 eine Halbleiterspeichervorrichtung wie beispielsweise ein statisches RAM (SRAM) oder ein dynamisches RAM (DRAM) verwendet wird. Anstatt des RAMs 102 kann ein Flashspeicher verwendet werden. Das RAM 102 wird als Arbeitsbereich eingesetzt, in den die Ergebnisse der Verarbeitung bei den von dem Prozessor 101 vorgenommenen Steuervorgängen vorübergehend gespeichert werden. Das RAM 102 entspricht beispielsweise dem Kurzzeitspeicher 12 und dem Arbeitsspeicher 13. Bei dem ROM 103 handelt es sich um eine Speichervorrichtung, aus der Programme und Daten gelesen werden können und das ein programmierbares ROM (PROM) umfasst. Das ROM 103 wird zum Aufzeichnen von Programmen und Daten zur Implementierung von verschiedenen Steuervorgängen eingesetzt, die von dem Prozessor 101 ausgeführt werden. Das ROM 103 entspricht dem Programmspeicher 11.
  • Die Eingabeschnittstelle 104 wird von einer Schaltung gebildet, die Eingabesignale von dem Eingabegerät 105 an den Prozessor 101 überträgt. Die Ausgabeschnittstelle 106 wird von einer Schaltung gebildet, die dem Ausgabegerät 107 Ausgabesignale zuführt, die zu einer Anweisung des Prozessors 101 gehören. Die Kommunikationsschnittstelle 108 wird von einer Schaltung gebildet, die die über das Netzwerk 1 vorgenommene Kommunikation steuert. Bei der Kommunikationsschnittstelle 108 kann es sich beispielsweise um eine Netzwerkkarte (NIC) handeln. Die Eingabeschnittstelle 104 und die Ausgabeschnittstelle 106 können als intergrierte Einheit ausgebildet sein. Die Kommunikationsschnittstelle 108 entspricht der Kommunikationssteuerungseinheit 15.
  • Der Prozessor 101 liest in dem ROM 103 gespeicherte Programme, expandiert die Programme in das RAM 102 und führt die Anweisungen aus, die in den in das RAM 102 expandierten Programmen enthalten sind. Der Prozessor 101 wird den Ergebnissen der Ausführung der in den Programmen enthaltenen Anweisungen entsprechend betrieben, sodass diverse Steuerungsvorgänge implementiert werden, die den Funktionen entsprechen, die über das in dem Programmspeicher 11 gespeicherte Synchronisationssteuerungsprogramm 11a verfügbar sind. Der Prozessor 101 entspricht beispielsweise der Steuereinheit 14.
  • Die Programme zum Implementieren der Steuervorgänge, die den über das Synchronisationssteuerungsprogramm 11a verfügbaren Funktionen entsprechen, und die Daten, die bei der von den Programmen vorgenommenen Verarbeitung verwendet werden, müssen nicht vorab im ROM 103 gespeichert sein. Beispielsweise können die Programme zur Implementierung der Steuerungsvorgänge und die Daten, die bei der von den Programmen vorgenommenen Verarbeitung verwendet werden, in einem „anderen Computer (oder Server)“ gespeichert sein, der mit dem Computer 100 über ein Netzwerk wie eine öffentliche Leitung, das Internet, ein LAN oder ein Weitverkehrsnetz (WAN) verbunden sein, wobei der Computer 100 die Programme und Daten von dem Computer oder Server herunterladen und ausführen kann.
  • Die Ausführungsformen sind nicht auf das in 8 dargestellte Beispiel beschränkt, bei dem der Prozessor 101 die in dem ROM 103 gespeicherten Programme liest und ausführt, um die Steuerungsvorgänge zu implementieren, die den über das Synchronisationssteuerungsprogramm 11a verfügbaren Funktionen entsprechen. Die Steuerungsvorgänge, die den über das Synchronisationssteuerungsprogramm 11a verfügbaren Funktionen entsprechen, können mittels einer festverdrahteten logischen Schaltung implementiert werden, die mehrere Verarbeitungsschaltungen aufweist, die zur Implementierung der jeweiligen Steuervorgänge, die den über das Synchronisationssteuerungsprogramm 11a verfügbaren Funktionen entsprechen, zusammenwirken. Bei den Verarbeitungsschaltungen, die mit den über das Synchronisationssteuerungsprogramm 11a verfügbaren Funktionen verknüpft sind, können anwendungsspezifische integrierte Schaltungen (ASICs) oder Field Programmable Gate Arrays (FPGAs) eingesetzt werden.
  • Die in den oben angegebenen Ausführungsformen vorgestellten Konfigurationen stellen Beispiele der vorliegenden Erfindung dar und können mit anderen bekannten Technologien kombiniert, oder zum Teil weggelassen, oder modifiziert werden, ohne den Umfang der vorliegenden Erfindung zu verlassen.
  • Bezugszeichenliste
  • 1
    Netzwerk;
    10
    programmierbare Steuerung;
    20, 30
    externes Gerät.
  • 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 2005293569 [0003]

Claims (4)

  1. Programmierbare Steuerung zum periodischen Steuern von mehreren externen Geräten, wobei die programmierbare Steuerung aufweist: einen Kurzzeitspeicher, einen Arbeitsspeicher, und eine Steuereinheit, wobei die Steuereinheit an jedes der externen Geräte Anforderungspakete überträgt, wobei die Anforderungspakete eine Übertragung von Gerätedaten für die Verwendung bei der Steuerung der externen Geräte anfordern und es sich bei den externen Geräten um der Synchronisationssteuerung zu unterziehende Zielobjekte handelt, die Gerätedaten aus den Antwortpaketen bezieht, die von den externen Geräten veranlasst durch die Anforderungspakete erhalten wurden, und die bezogenen Gerätedaten in den Kurzzeitspeicher speichert, und die in dem Kurzzeitspeicher gespeicherten Gerätedaten unter der Bedingung in den Arbeitsspeicher schreibt, dass die jeweiligen Antwortpakete, die durch die innerhalb eines gleichen Steuerungszeitraums übertragenen Anforderungspakete veranlasst wurden, von den externen Geräten empfangen wurden, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt.
  2. Programmierbare Steuerung nach Anspruch 1, wobei die Steuereinheit solange einen Zustand des Wartens auf den Empfang der Antwortpakete aufrechterhält, bis die Antwortpakete, die durch die innerhalb desselben Steuerungszeitraums übertragenen Anforderungspakete veranlasst wurden, von den externen Geräten empfangen wurden, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt.
  3. Programmierbare Steuerung nach Anspruch 1, die ferner aufweist: einen Zeitnehmer zum Messen einer Zeit, die seit einer Übertragung der die Gerätedaten anfordernden Anforderungspakete an die externen Geräte verstrichen ist, wobei die programmierbare Steuerung einen Zustand des Wartens auf einen Empfang der Antwortpakete, die durch die innerhalb desselben Steuerungszeitraums übertragenen Anforderungspakete veranlasst wurden, aufrechterhält, wenn die verstrichene Zeit eine vorgegebene zulässige Zeitspanne nicht überschreitet.
  4. Synchronisationssteuerungsprogramm, das eine programmierbare Steuerung, die mehrere externe Geräte periodisch steuert, veranlasst auszuführen: einen Schritt zum Übertragen von Anforderungspaketen an jedes der externen Geräte, wobei die Anforderungspakete eine Übertragung von Gerätedaten anfordern, die bei einer Steuerung der externen Geräte verwendet werden sollen, und wobei es sich bei den externen Geräten um der Synchronisationssteuerung zu unterziehende Zielobjekte handelt, einen Schritt zum Beziehen der Gerätedaten aus Antwortpaketen, die durch die Anforderungspakete veranlasst von den externen Geräten erhalten wurden, und zum Speichern der bezogenen Gerätedaten in den Kurzzeitspeicher, und einen Schritt, um die in dem Kurzzeitspeicher gespeicherten Gerätedaten in den Arbeitsspeicher unter der Bedingung zu speichern, dass die jeweiligen Antwortpakete, die durch die innerhalb eines gleichen Steuerungszeitraums übertragenen Anforderungspakete veranlasst wurden, von den externen Geräten empfangen wurden, bei denen es sich um die der Synchronisationssteuerung zu unterziehenden Zielobjekte handelt.
DE112016006175.7T 2016-01-07 2016-01-07 Programmierbare Steuerung und Synchronisationssteuerungsprogramm Pending DE112016006175T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/050341 WO2017119100A1 (ja) 2016-01-07 2016-01-07 プログラマブルコントローラ及び同期制御プログラム

Publications (1)

Publication Number Publication Date
DE112016006175T5 true DE112016006175T5 (de) 2018-09-20

Family

ID=59274209

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016006175.7T Pending DE112016006175T5 (de) 2016-01-07 2016-01-07 Programmierbare Steuerung und Synchronisationssteuerungsprogramm

Country Status (6)

Country Link
US (1) US10416644B2 (de)
JP (1) JP6516874B2 (de)
KR (1) KR20180086490A (de)
CN (1) CN108541307B (de)
DE (1) DE112016006175T5 (de)
WO (1) WO2017119100A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6922583B2 (ja) * 2017-09-15 2021-08-18 オムロン株式会社 情報処理装置、情報処理方法、および、情報処理プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293569A (ja) 2004-03-11 2005-10-20 Omron Corp 同期コントローラ

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249017A (ja) * 1995-03-09 1996-09-27 Mitsubishi Electric Corp データ通信システム及びデータ通信方法
US6285966B1 (en) * 1998-06-25 2001-09-04 Fisher Controls International, Inc. Function block apparatus for viewing data in a process control system
US7012883B2 (en) * 2001-11-21 2006-03-14 Qualcomm Incorporated Rate selection for an OFDM system
US20030115226A1 (en) * 2001-12-13 2003-06-19 International Business Machines Corporation Method, apparatus, and program for quick save to remote storage
JP4324866B2 (ja) 2004-03-31 2009-09-02 オムロン株式会社 ツール
JP4497317B2 (ja) * 2005-11-04 2010-07-07 オムロン株式会社 制御装置の時計同期
US8046444B2 (en) * 2009-03-30 2011-10-25 Rockwell Automation Technologies, Inc. Universal network adapter for industrial control networks
JP5549455B2 (ja) * 2010-07-21 2014-07-16 富士電機株式会社 プログラマブルコントローラシステムおよびそのプログラム更新方法
CN102540952B (zh) * 2010-12-09 2015-05-20 通用电气公司 可编程控制器以及操作方法
CN102540954B (zh) * 2010-12-24 2015-03-11 深圳市合信自动化技术有限公司 一种可编程逻辑控制器及其控制方法
JP5801059B2 (ja) * 2011-02-14 2015-10-28 東芝三菱電機産業システム株式会社 通信処理システム
WO2013128603A1 (ja) * 2012-02-29 2013-09-06 富士電機株式会社 プログラマブルコントローラ、プログラマブルコントローラシステム、及びプログラマブルコントローラの提供システム
US20130263053A1 (en) * 2012-03-29 2013-10-03 Charles G. Tritschler Media widget to interface with multiple underlying applications
WO2013186889A1 (ja) * 2012-06-14 2013-12-19 三菱電機株式会社 I/oデバイス、プログラマブルロジックコントローラ及び演算方法
KR102148943B1 (ko) * 2014-02-27 2020-08-27 후지 덴키 가부시키가이샤 프로그래머블 컨트롤러 시스템, 그 컨트롤러
US20170222686A1 (en) * 2016-02-01 2017-08-03 Qualcomm Incorporated Scalable, high-efficiency, high-speed serialized interconnect

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293569A (ja) 2004-03-11 2005-10-20 Omron Corp 同期コントローラ

Also Published As

Publication number Publication date
US10416644B2 (en) 2019-09-17
JPWO2017119100A1 (ja) 2018-05-10
CN108541307A (zh) 2018-09-14
US20180307194A1 (en) 2018-10-25
WO2017119100A1 (ja) 2017-07-13
JP6516874B2 (ja) 2019-05-22
CN108541307B (zh) 2021-04-02
KR20180086490A (ko) 2018-07-31

Similar Documents

Publication Publication Date Title
DE102007054852B4 (de) Signalwandler zum Erfüllen einer Funktion
DE2735397C2 (de) Überwachungseinrichtung für eine programmgesteuerte Maschine
DE102018002309B4 (de) Slave-gerät, system für serielle kommunikation und kommunikationsverfahren für system für serielle kommunikation
DE112015005252T5 (de) Kommunikationssteuereinrichtung und Kommunikationssystem
DE112010005955T5 (de) Steuerungssystem das während des Betriebs rekonfigurierbar ist, und Verfahren dafür
DE102014209752A1 (de) Relaiseinrichtung
EP2513796B1 (de) Verfahren zum betreiben einer recheneinheit
DE4101623A1 (de) Informationsverarbeitungssystem
DE112015005263T5 (de) Kommunikationssystem und Kommunikationsvorrichtung
EP0107026A1 (de) Speicherprogrammierbare Steuerung
DE102004027503A1 (de) Verfahren zur Etablierung einer globalen Zeitbasis in einem zeitgesteuerten Kommunikationssystem und Kommunikationssystem
DE102018111851A1 (de) Verfahren zur ereignisbasierten Simulation eines Systems
DE102020119543A1 (de) Intelligente netzvorrichtungen
DE10145218A1 (de) Verfahren und Vorrichtung zur Zeitbestimmung in einem Bussystem und Bussystem
DE102020112530A1 (de) Technologien zur Sicherstellung der funktionalen Sicherheit einer elektronischen Vorrichtung
EP1220104A2 (de) Verfahren und Kommunikationssystem zum Austausch von Daten zwischen mindestens zwei Teilnehmern über ein Bussystem
DE112013007469T5 (de) Kommunikationssystem, Standby-Vorrichtung, Kommunikationsverfahren, und Standby-Programm
DE102007052226A1 (de) Zufallszahlenerzeugungsvorrichtung und Verfahren zum Testen
DE112016006175T5 (de) Programmierbare Steuerung und Synchronisationssteuerungsprogramm
DE69031361T2 (de) Taktsignalgeneratorsystem
EP1428340B1 (de) Verfahren und vorrichtung zur erzeugung von programmunterbrechungen bei teilnehmern eines bussystems und bussystem
DE112014003067T5 (de) Speicherprogrammierbare Steuerung
EP4246335A2 (de) Kryptografiemodul und betriebsverfahren hierfür
EP0978039B1 (de) Aufdatverfahren
DE102016011493A1 (de) Numerisches Steuersystem mit synchroner Steuerfunktion zwischen Einheiten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence
R016 Response to examination communication