-
Technisches Gebiet
-
Die vorliegende Offenbarung betrifft eine programmierbare Logiksteuerung und ein Verfahren zum Betreiben der programmierbaren Logiksteuerung.
-
Hintergrund
-
In Fabriken werden Vorrichtungen zur Automatisierung von Herstellungsprozessen verwendet. Solche Vorrichtungen werden durch programmierbare Logiksteuerungen (PLC) gesteuert. Eine PLC sammelt Daten von einer Zielvorrichtung über ein Netzwerk, analysiert die gesammelten Daten und stellt das Analyseergebnis der Zielvorrichtung als Feedback bereit, um die Zielvorrichtung zu steuern.
-
Die Analyse umfasst komplexe Berechnungen und wird demnach häufig unter Verwendung einer Anwendungssoftware durchgeführt, die auf einem Allzweckbetriebssystem (Allzweck-OS) arbeitet. Die PLC ohne Allzweck-OS überträgt die Daten über ein Netzwerk an andere Analysemittel. Die Analysemittel, die die Daten empfangen, führen eine Analyse durch.
-
Patentliteratur 1 beschreibt ein System, das eine PLC umfasst, die Daten sammelt, und eine netzwerkverbundene Steuervorrichtung dazu veranlasst, eine Analyse durchzuführen.
-
Zitierungsliste
-
Patentliteratur
-
Patentliteratur 1: Offenlegung der ungeprüften japanischen Patentanmeldung Nr.
2019-062467
-
Überblick über die Erfindung
-
Technisches Problem
-
Die in dem in Patentliteratur 1 beschriebenen System umfasste Steuerung führt eine Kommunikation unter Verwendung einer Kommunikationsbandbreite durch, die in einen Abschnitt für Steuerungsdaten zur Steuerung und einen Abschnitt für Informationsdaten geteilt ist, die von den Steuerungsdaten verschieden sind. Mit dieser Technik kann eine vorbestimmte Menge von Steuerungsdaten unabhängig von der übertragenen Menge von Informationsdaten übertragen werden und demnach Vorrichtungen gesteuert werden, wobei der Steuerungsprozess weniger durch die Übertragung von Informationsdaten beeinflusst wird.
-
Das in der Patentliteratur 1 beschriebene System überträgt jedoch die gesamten Analysezieldaten von der Steuerung zu Analysemitteln. Das System benötigt demnach eine Zeit für die Datenübertragung und kann demnach keine kurze, hochfrequente Datenanalyse und Feedback durchführen.
-
Als Reaktion auf das obige Problem ist es ein Ziel der vorliegenden Offenbarung, eine programmierbare Logiksteuerung, die eine effiziente Analyse durchführen kann, und ein Verfahren zum Betreiben der programmierbaren Logiksteuerung bereitzustellen.
-
Lösung des Problems
-
Um das obige Ziel zu erreichen umfasst eine programmierbare Logiksteuerung gemäß einem Aspekt der vorliegenden Offenbarung ein mit einer externen Vorrichtung verbindbares erstes Modul und ein zweites Modul. Das zweite Modul ist mit dem ersten Modul über ein Netzwerk verbunden. Das zweite Modul umfasst einen ersten Prozessor, der durch ein Echtzeitbetriebssystem betreibbar ist und so konfiguriert ist, dass, wenn von dem ersten Modul über das Netzwerk gesammelte Zieldaten eine Größe aufweisen, die kleiner oder gleich einem Größenschwellwert ist, der erste Prozessor eine Berechnung mit den Zieldaten durchführt, um Steuerungsdaten zum Steuern der externen Vorrichtung zu erzeugen, und einen zweiten Prozessor, der mit dem ersten Prozessor verbunden ist und so konfiguriert ist, dass, wenn der erste Prozessor keine Berechnung mit den gesammelten Zieldaten durchführt, der zweite Prozessor die von dem ersten Prozessor gesammelten Zieldaten von dem ersten Prozessor bezieht und eine Berechnung mit den bezogenen Zieldaten durchführt, um die Steuerungsdaten zu erzeugen. Das erste Modul bezieht die von dem ersten Prozessor oder dem zweiten Prozessor erzeugten Steuerungsdaten, um die externe Vorrichtung zu steuern.
-
Vorteilhafte Wirkungen der Erfindung
-
Die programmierbare Logiksteuerung und ein Verfahren zum Betreiben der programmierbaren Logiksteuerung gemäß den Aspekten der vorliegenden Offenbarung ermöglichen ein Sammeln von Daten und ein Analysieren eines geringen Volumens von Daten, die für die Übertragung hinzugefügte Informationen umfassen und ein größeres Größenverhältnis der zusätzlichen Informationen zu den ursprünglichen Daten aufweisen, durch den ersten Prozessor, der durch ein Echtzeitbetriebssystem betreibbar ist, für eine effiziente Analyse ohne solche Daten zu übertragen.
-
Kurze Beschreibung der Zeichnungen
-
- 1 ist ein Blockdiagramm eines PLC-Systems gemäß Ausführungsform 1 der vorliegenden Offenbarung;
- 2 ist ein Blockdiagramm eines Moduls, das in dem in 1 gezeigten PLC-Systems umfasst ist;
- 3 ist eine Tabelle von bestimmten Beispieldaten, die bei dem in 1 gezeigten PLC-System eingestellt sind;
- 4 ist ein Flussdiagramm eines Bestimmungsprozesses eines Analyseziels unter Verwendung des in 1 gezeigten PLC-Systems;
- 5 ist eine Tabelle von anderen bestimmten Beispieldaten, die bei dem in 1 gezeigten PLC-System eingestellt sind;
- 6 ist ein Diagramm des Sendens und Empfangens von Daten in dem in 1 gezeigten PLC-System;
- 7 ist ein Flussdiagramm eines Feedback-Prozesses unter Verwendung des in 1 gezeigten PLC-Systems;
- 8 ist eine Tabelle von anderen bestimmten Beispieldaten, die bei dem in 1 gezeigten PLC-System eingestellt sind;
- 9 ist ein Diagramm des in 1 gezeigten PLC-Systems, das eine bestimmte beispielhafte Hardwarestruktur zeigt;
- 10 ist ein Blockdiagramm eines Moduls, das in einem PLC-System gemäß Ausführungsform 2 der vorliegenden Offenbarung umfasst ist;
- 11 ist ein Diagramm des in 10 gezeigten Moduls und zeigt eine bestimmte beispielhafte Hardwarestruktur;
- 12 ist ein Blockdiagramm eines PLC-Systems gemäß einer Modifikation;
- 13 ist ein Flussdiagramm eines Lernprozesses unter Verwendung des in 12 gezeigten PLC-Systems;
- 14 ist ein Blockdiagramm einer Lernvorrichtung in dem in 12 gezeigten PLC-System; und
- 15 ist ein Flussdiagramm eines Bestimmungsprozesses unter Verwendung des in 12 gezeigten PLC-Systems.
-
Beschreibung von Ausführungsformen
-
Ausführungsform 1
-
Im Folgenden wird ein PLC-System 10 gemäß Ausführungsform 1 mit Bezug auf die Zeichnungen beschrieben.
-
Überblick über das PLC-System 10
-
Das in 1 gezeigte PLC-System 10 bezieht Daten von einer externen Vorrichtung 19 und analysiert die bezogenen Daten, um die externe Vorrichtung 19 zu steuern. Das PLC-System 10 umfasst funktionelle Einheiten, die individuelle Funktionen aufweisen, oder mit anderen Worten Module.
-
Insbesondere umfasst das PLC-System 10 ein Leistungsmodul 11, das in dem PLC-System 10 umfasste Module mit Strom versorgt, ein CPU-Modul 12 (CPU: zentrale Verarbeitungseinheit), das das PLC-System 10 zentral steuert, ein Daten-Sammel-und-Analyse-Modul 13, das Daten von beispielsweise dem CPU-Modul 12 und einem PLC-Modul 14 (später beschrieben) sammelt und die gesammelten Daten analysiert, und das PLC-Modul 14, das Signale beispielsweise von angebrachten Schaltern und Sensoren bezieht.
-
Das Leistungsmodul 11, das CPU-Modul 12, das Daten-Sammel-und-Analyse-Modul 13 und das PLC-Modul 14 sind mit einer Basiseinheit 18 verbunden, die einen Systemanschluss umfasst, der beispielsweise Stromleitungen 15 und Signalleitungen 16 aufweist.
-
Das Leistungsmodul 11 ist elektrisch mit der Stromleitung 15 in der Basiseinheit 18 verbunden. Das Leistungsmodul 11 versorgt beispielsweise das CPU-Modul 12, das Daten-Sammel-und-Analyse-Modul 13 und das PLC-Modul 14 über die Stromleitungen 15 mit Strom.
-
Das CPU-Modul 12 sendet und empfängt Daten zu und von dem Daten-Sammel-und-Analyse-Modul 13 und dem PLC-Modul 14 über die Signalleitungen 16, um das PLC-System 10 zentral zu steuern.
-
Das Daten-Sammel-und-Analyse-Modul 13 sammelt Daten von Modulen, wie beispielsweise dem CPU-Modul 12 und dem PLC-Modul 14, und analysiert die gesammelten Daten unter Verwendung einer ersten CPU 20 und einer zweiten CPU 30 (später beschrieben). Daten, die ein Sammel- und Analyseziel sind, werden im Nachfolgenden als Zieldaten bezeichnet.
-
Das Daten-Sammel-und-Analyse-Modul 13 betreibt ein Echtzeitbetriebssystem (Echtzeit-OS) zur Durchführung einer Planung, die zeitliche Anforderungen erfüllt, und ein Allzweck-OS.
Das Echtzeit-OS wird von der ersten CPU 20 ausgeführt. Das Allzweck-OS wird durch die zweite CPU 30 ausgeführt.
Die erste CPU 20 kommuniziert mit dem CPU-Modul 12 und dem PLC-Modul 14 über die Signalleitungen 16.
-
Das PLC-Modul 14 ist beispielsweise ein Eingabe-Ausgabe-Modul zum Eingeben und Ausgeben von Daten. Das Daten-Sammel-und-Analyse-Modul 13 sendet Steuerungsdaten zum Steuern der externen Vorrichtung 19 an das PLC-Modul 14. Das PLC-Modul 14 empfängt die Steuerungsdaten, die von dem Daten-Sammel-und-Analyse-Modul 13 gesendet werden, und steuert die externe Vorrichtung 19.
-
Das PLC-Modul 14 ist ein Beispiel für ein erstes Modul. Das Daten-Sammel-und-Analyse-Modul 13 ist ein Beispiel für ein zweites Modul.
-
Bei dem nachfolgend beschriebenen Beispiel wird hauptsächlich das Daten-Sammel-und-Analyse-Modul 13 beschrieben, das charakteristisch für die vorliegende Ausführungsform ist.
-
Das in 2 gezeigte Daten-Sammel-und-Analyse-Modul 13 umfasst einen Echtzeitprozessor 21, der primär Zieldaten analysiert, die von dem in 1 gezeigten PLC-Modul 14 gesammelt werden, einen Allzweckprozessor 31, der Zieldaten von dem Echtzeitprozessor 21 bezieht, die nicht von dem Echtzeitprozessor 21 analysiert werden, und der sekundär die Daten analysiert, und einen Zwischen-OS-Kommunikator 41, der als eine Kommunikationsschnittstelle zwischen dem Echtzeitprozessor 21 und dem Allzweckprozessor 31 dient.
-
Der Echtzeitprozessor 21 weist die durch die in 1 gezeigte erste CPU 20 umgesetzte Berechnungsfähigkeit auf. Der Allzweckprozessor 31 weist die durch die in 1 gezeigte CPU 30 umgesetzte Berechnungsfähigkeit auf.
-
Der Echtzeitprozessor 21 umfasst Datensammelmittel 211, die Zieldaten von dem PLC-Modul 14 sammeln, Datentyp-Bestimmungsmittel 212, die einen des Echtzeitprozessors 21 und des Allzweckprozessors 31 bestimmen, der die Zieldaten zu analysieren hat, Datenanalysemittel 213, die die Zieldaten analysieren, einen temporären Speicher 214, der die gesammelten Zieldaten temporär speichert, Sammeldateneinstellmittel 215 und einen Zwischenmodul-Datenaustauschbereich 216, der die analysierten Daten mit anderen Modulen austauscht.
Die Datensammelmittel 211 sammeln Zieldaten von anderen Modulen über die Signalleitungen 16 und speichern die gesammelten Daten in dem temporären Speicher 214.
Der temporäre Speicher 214 ist ein flüchtiger Bereich in einem Speicherbereich, der durch den Echtzeitprozessor 21 gesteuert wird, und ist sowohl für den Echtzeitprozessor 21, als auch für den Allzweckprozessor 31 zugänglich.
-
Der Allzweckprozessor 31 umfasst Datenanalysemittel 311, die Zieldaten analysieren, die über den Zwischen-OS-Kommunikator 41 bezogen werden, und einen temporären Speicher 312, der die über den Zwischen-OS-Kommunikator 41 bezogenen Zieldaten temporär speichert.
-
Der Echtzeitprozessor 21 ist ein Beispiel für einen ersten Prozessor. Der Allzweckprozessor 31 ist ein Beispiel für einen zweiten Prozessor.
-
Der Zwischen-OS-Kommunikator 41 ist eine Kommunikationsschnittstelle, wie beispielsweise ein PCI-Express (eingetragene Marke) mit einer Geschwindigkeit, die größer ist als die Geschwindigkeiten, die durch die Standards des typischen lokalen Netzwerks (LAN) gegeben sind. Der Echtzeitprozessor 21 und der Allzweckprozessor 31 sind nicht über die Signalleitungen 16 miteinander verbunden und können Daten direkt zwischen einander austauschen.
-
Die Datensammelmittel 211 sammeln Zieldaten basierend auf Informationen, die mit den Sammeldateneinstellmitteln 215 eingestellt werden, und speichert die Zieldaten in dem temporären Speicher 214.
Wie in 3 gezeigt, stellen die Sammeldateneinstellmittel 215 insbesondere für jede Einstellnummer, die eine einzigartige Identifikationsnummer ist, das PLC-Modul 14 als ein Sammelziel, wobei der Vorrichtungsname den Namen einer mit dem CPU-Modul 12 oder dem PLC-Modul 14 verbundenen externen Vorrichtung angibt, die Bewertung als die Größe der zu sammelnden Zieldaten, wobei die Anfangszahl die Startposition in den zu sammelnden Zieldaten angibt, bei der das Sammeln startet, die Endzahl die Endposition in den zu sammelnden Zieldaten angibt, bei der das Sammeln endet, und die Sammelfrequenz der Daten ein.
-
Beispielsweise gibt die Einstellnummer 1 an, dass die Datensammelmittel 211 Zieldaten mit einer Größe von 5 ab einer Anfangszahl 10 bis zu einer Endzahl 14 mit Intervallen von 10 Millisekunden als die Sammelfrequenz von einer internen Weiterleitung als die in einem CPU-Modul 12 Nr. 1 umfassten externen Vorrichtung sammeln.
-
4 zeigt einen Beispielprozess, der von den Datentyp-Bestimmungsmitteln 212 nach der Aktivierung des PLC-Systems 10 durchgeführt wird.
-
Die Datentyp-Bestimmungsmittel 212 beziehen zunächst die 1, die die erste Einstellnummer ist, die mit den Sammeldateneinstellmitteln 215, wie in 3 gezeigt, eingestellt wurde (S110).
Die Datentyp-Bestimmungsmittel 212 beziehen dann die Größe 5 und die Sammelfrequenz 10 der Zieldaten mit der Einstellnummer 1 von den Sammeldateneinstellmitteln 215 (S111).
-
Die Datentyp-Bestimmungsmittel 212 bestimmen dann basierend auf der Größe der zu sammelnden Zieldaten pro Zeiteinheit einen des Echtzeitprozessors 21 und des Allzweckprozessors 31 zum Durchführen von Berechnungen mit den Zieldaten. Insbesondere bestimmen die Datentyp-Bestimmungsmittel 212, dass der Echtzeitprozessor 21 die Berechnungen mit den Zieldaten durchführt (S 114), wenn die zu sammelnden Zieldaten eine Datengröße aufweisen, die kleiner oder gleich einem Größenschwellwert ist, wie beispielsweise 5 Bytes (Ja in S 112), und die Sammelfrequenz einen Frequenzschwellwert überschreitet, wie beispielsweise 8 Millisekunden (Ja in S113).
Die Datensammlungseinstellnummer 1 weist die Datengröße von 5 Bytes und die Sammelfrequenz von 10 Millisekunden auf. Die Datentyp-Bestimmungsmittel 212 bestimmen demnach, dass der Echtzeitprozessor 21 die Berechnungen mit den Zieldaten durchführt (S 114).
-
Die Datentyp-Bestimmungsmittel 212 speichern dann den Prozessor in die Sammeldateneinstellmittel 215, der die Daten mit der Datensammlungseinstellnummer 1 analysiert (S116). Bei dem in 3 gezeigten Beispiel speichern die Datentyp-Bestimmungsmittel 212 Informationen, die angeben, dass der Echtzeitprozessor 21 die Berechnungen mit den Daten mit der Datensammlungseinstellnummer 1 durchführt, in die Sammeldateneinstellmittel 215 (S116).
-
Wenn die Tabelle eine nachfolgende Einstellnummer aufweist (Ja in S117), inkrementieren die Datentyp-Bestimmungsmittel 212 die Einstellnummer um 1 (S118) und führen die Prozessierung ab S 111 durch. Wenn die Tabelle keine nachfolgende Einstellnummer aufweist (Nein in S1 17), schicken die Datentyp-Bestimmungsmittel 212 die Prozessierung zurück.
Wenn beispielsweise die aktuelle Einstellnummer 8 ist und die nächste Einstellnummer 9 ist, schicken die Datentyp-Bestimmungsmittel 212 die Prozessierung zu S111 zurück und setzen die Prozessierung ab S111 mit den Daten mit der Einstellnummer 9 fort.
-
Die Datentyp-Bestimmungsmittel 212 beziehen die Datengröße 2 und die Sammelfrequenz 2 mit der Einstellnummer 9 von den Sammeldateneinstellmitteln 215 (S111).
-
Die Datentyp-Bestimmungsmittel 212 bestimmen erneut einen des Echtzeitprozessors 21 und des Allzweckprozessors 31, um die Berechnungen mit den Zieldaten durchzuführen (S 112 bis S115).
Bei dem in 3 gezeigten Beispiel weisen die Zieldaten mit der Datensammlungseinstellnummer 9 eine Größe von 2 auf, die kleiner ist als 5 Bytes (Ja in S112), aber weisen eine Sammelfrequenz von 2 Millisekunden auf, die 8 Millisekunden nicht überschreitet (Nein in S113). Die Datentyp-Bestimmungsmittel 212 bestimmen demnach, dass die Daten von dem Allzweckprozessor 31 zu analysieren sind (S 115).
-
Die Datentyp-Bestimmungsmittel 212 speichern Informationen, die angeben, dass der Allzweckprozessor 31 die Berechnungen mit den Zieldaten mit der Datensammlungseinstellnummer 9 durchführt, in die Sammeldateneinstellmittel 215 (S116).
-
Die aktuelle Einstellnummer ist 9 und die Tabelle weist keine nachfolgende Einstellnummer auf (Nein in S117). Die Datentyp-Bestimmungsmittel 212 schicken die Prozessierung demnach zurück.
-
5 ist eine Tabelle exemplarischer Ergebnisse, die von den Datentyp-Bestimmungsmitteln 212 bezogen wurden, die durch den obigen Prozess das OS bestimmen, das die Datenanalyse durchführt.
-
Zu sammelnde Daten mit der Datensammlungseinstellnummer 2 weisen eine Datengröße von 150 Bytes auf, was nicht kleiner oder gleich 5 Bytes ist. Die Datentyp-Bestimmungsmittel 212 bestimmen demnach, dass der Allzweckprozessor 31 die Berechnungen mit den Daten durchführt. Daten, die basierend auf der Bestimmung der Datentyp-Bestimmungsmittel 212 erzeugt werden und in den Sammeldateneinstellmitteln 215 gespeichert werden, sind ein Beispiel für Prozessoridentifikationsdaten in den Ansprüchen.
-
Der oben beschriebene Größenschwellwert und der oben beschriebene Frequenzschwellwert für die Zieldaten sind Beispiele. Diese Schwellwerte können auf andere Werte eingestellt werden, die anhand von vorhergesagten Daten berechnet werden.
-
Die Zieldaten können von dem Daten-Sammel-und-Analyse-Modul 13 mit einer zufälligen Kombination eines Größenschwellwerts und eines Frequenzschwellwerts für die Zieldaten analysiert werden. Die Zeit zum Beziehen von Ergebnissen kann wiederholt gemessen werden, um eine Kombination der Schwellwerte zu bestimmen, die die Analyseergebnisse mit den kürzesten Zeiten bereitstellt.
-
Kombinationen solcher Datengrößenschwellwerte und Sammelfrequenzschwellwerte können mit einem von dem CPU-Modul 12 oder dem Daten-Sammel-und-Analyse-Modul 13 ausgeführten Programm automatisch erzeugt, analysiert und gemessen werden.
-
Details der Analyse
-
Im Folgenden wird nun ein Verfahren zum Analysieren von Zieldaten, die von dem Echtzeitprozessor 21 oder dem Allzweckprozessor 31 gesammelt werden, mit Bezug auf die 2 und 6 beschrieben.
-
Die Datenanalysemittel 213 beziehen Daten mit einer Einstellnummer von dem temporären Speicher 214 und analysieren die bezogenen Daten. Die Datenanalysemittel 213 bestimmen beispielsweise den Mittelwert, die Dispersion, die Änderungsrate und Merkmale der bezogenen Daten, um die Daten zu analysieren. Die Datenanalysemittel 213 speichern basierend auf den Analyseergebnissen Vorrichtungsdaten in den Zwischenmodul-Datenaustauschbereich 216.
Der Zwischenmodul-Datenaustauschbereich 216 ist ein Beispiel für einen geteilten Bereich.
-
Die Datenanalysemittel 311 beziehen die gesammelten Daten, die den Datenanalysemitteln 311 zugewiesen sind, über den Zwischen-OS-Kommunikator 41 von dem temporären Speicher 214 und speichern die Daten in dem temporären Speicher 312.
-
6 ist ein Diagramm eines bestimmten Beispiels des Sendens und Empfangens von durch die Datensammelmittel 211 gesammelten Zieldaten zwischen dem temporären Speicher 214 und dem temporären Speicher 312. Bei dem nachfolgenden Beispiel bestimmen die Datentyp-Bestimmungsmittel 212, dass der Echtzeitprozessor 21 die Berechnungen mit den Zieldatenteilen durchführt, die durch 0x3913, 0x9172, und 0x3250 angegeben sind, und der Allzweckprozessor 31 die Berechnungen mit den anderen Datenteilen durchführt.
-
Die Datensammelmittel 211 speichern alle gesammelten Zieldatenteile in den temporären Speicher 214 unabhängig davon, ob der Echtzeitprozessor 21 oder der Allzweckprozessor 31 die Berechnungen mit den jeweiligen Zieldatenteilen durchführt. Der temporäre Speicher 214 speichert demnach alle Zieldatenteile unabhängig davon, ob der Echtzeitprozessor 21 oder der Allzweckprozessor 31 die Berechnungen mit den jeweiligen Zieldatenteilen durchführt. Im Gegensatz dazu speichert der temporäre Speicher 312 beispielsweise alleine die Zieldatenteile 0x1234 und 0x5436, zu denen bestimmt wurde, dass diese für Berechnungen verwendet werden, die von dem Allzweckprozessor 31 durchgeführt werden.
-
Die Datenanalysemittel 311 führen dann Berechnungen durch, um die Zieldatenteile zu analysieren, die in dem temporären Speicher 312 gespeichert sind. Die Datenanalysemittel 311 führen Berechnungen durch, um beispielsweise den Mittelwert, die Dispersion, die Änderungsrate, die Korrelation zwischen den gesammelten Datenteilen und Merkmalen zu erhalten, um die bezogenen Zieldatenteile zu analysieren.
Die Datenanalysemittel 311 speichern von der Analyse erzeugte Steuerungsdaten zum Steuern der externen Vorrichtung in den Zwischenmodul-Datenaustauschbereich 216.
-
Die Datenanalysemittel 311 greifen über den Zwischen-OS-Kommunikator 41 als ein Anschluss, der nicht über die Signalleitungen 16 verläuft, auf den temporären Speicher 214 zu. Die Zieldaten können demnach ohne Kopf- und Fußzeilen gesendet oder empfangen werden. Das PLC-System 10 kann demnach die Effizienz der Datenanalyse verbessern, wenn Daten mit geringer Größe bei einer hohen Frequenz analysiert werden.
-
Details des Feedbacks
-
Das Daten-Sammel-und-Analyse-Modul 13 stellt Steuerungsdaten, die in dem Zwischenmodul-Datenaustauschbereich 216 gespeichert sind, beispielsweise dem CPU-Modul 12 oder dem PLC-Modul 14, von denen die Daten gesammelt wurden, als Feedback bereit. Insbesondere speichert das Daten-Sammel-und-Analyse-Modul 13 Steuerungsdaten für jedes Modul in dem Zwischenmodul-Datenaustauschbereich 216 und veranlasst beispielsweise das CPU-Modul 12 oder das PLC-Modul 14 dazu, die entsprechenden Steuerungsdaten in relativ kurzen Zyklen von beispielsweise 50 Mikrosekunden zu beziehen.
-
Der Prozess des Bereitstellens von Daten als Feedback von dem Daten-Sammel-und-Analyse-Modul 13 an das CPU-Modul 12 wird im Nachfolgenden mit Bezug auf das in 7 gezeigte Flussdiagramm und die in 8 gezeigte Tabelle von Beispieldatenteilen beschrieben.
-
Bei dem in 8 gezeigten Beispiel speichert der Zwischenmodul-Datenaustauschbereich 216 Anweisungsdatenteile mit Anweisungsnummern 1 bis 6. Der Zwischenmodul-Datenaustauschbereich 216 speichert für jede Anweisungsnummer als eine einzigartige Identifikationsnummer das Anweisungsziel-PLC-Modul, den Namen der Vorrichtung, die Identifikationsnummer der Vorrichtung und den Anweisungsdatenwert.
-
Bezüglich der 7 und 8 weist das CPU-Modul 12 eine Anweisungsnummer 1 auf (Schritt S201).
-
Das CPU-Modul 12 bezieht einen Anweisungsdatenteil mit der Anweisungsnummer 1 aus den in 8 gezeigten Anweisungsdatenteilen von dem Zwischenmodul-Datenaustauschbereich 216 über die Signalleitungen 16 (S202).
-
Das CPU-Modul 12 bestimmt, ob sich das bezogene Anweisungsdatenstück auf das CPU-Modul 12 bezieht (S203).
Das PLC-Modul, das durch die Anweisungsnummer 1 angegeben ist, ist ein CPU-Modul Nr. 1. Das CPU-Modul 12 bestimmt demnach, dass das Anweisungsdatenstück Vorrichtungsdaten sind, die zu dem CPU-Modul 12 gehören (Ja in S203). Wenn bestimmt wird, dass die Vorrichtung nicht zu dem CPU-Modul 12 gehört (Nein in S203), inkrementiert das CPU-Modul 12 die Anweisungsnummer um 1 (S207) und kehrt zu S202 zurück.
Dies wird durch Vergleichen der Identifikationsnummern bestimmt, die den CPU-Modulen 12 Nr. 1 und Nr. 2 zugewiesen sind, mit der Identifikationsnummer des CPU-Moduls 12.
-
Das CPU-Modul 12 stellt einen Wert 8 an einer externen Vorrichtung mit einer Identifikationsnummer 4096 aus externen Vorrichtungen ein, die jeweils den Vorrichtungsnamen eines Datenregisters aufweisen (S204). Dies vervollständigt das Feedback für die Anweisungsdaten mit der Anweisungsnummer 1.
-
Wenn eine beliebige andere externe Vorrichtung erfasst wird, an die das CPU-Modul 12 Daten als Feedback bereitstellt (Ja in S205), inkrementiert das CPU-Modul 12 die Anweisungsnummer um 1 (S207) und kehrt zu S202 zurück.
-
Wenn keine externe Vorrichtung erfasst wird, an die das CPU-Modul 12 Daten als Feedback bereitstellt (Nein in S205), wartet das CPU-Modul 12 auf einen nächsten Zyklus (Nein in S206). Beim Beginn des nächsten Zyklus kehrt das CPU-Modul 12 zu S201 zurück (Ja in S206).
-
Das PLC-Modul 14 führt auch den in 7 gezeigten Prozess durch, um Daten als Feedback an Vorrichtungen bereitzustellen, die zu dem PLC-Modul 14 gehören.
-
Durch diesen Prozess werden die Ergebnisse der von den Datenanalysemitteln 213 und von den Datenanalysemitteln 311 durchgeführten Analysen als Feedback an die jeweiligen PLC-Module bereitgestellt.
-
Im Folgenden wird rückbeziehend auf 2 das Verfahren zum Teilen der Vorrichtungsdaten über die externen Vorrichtungen zwischen dem Daten-Sammel-und-Analyse-Modul 13 und anderen Modulen im Detail beschrieben.
Die in den Zwischenmodul-Datenaustauschbereich geschriebenen Vorrichtungsdaten werden zwischen dem Daten-Sammel-und-Analyse-Modul 13 und den anderen Modulen in relativ kurzen Intervallen geteilt, wie beispielsweise in konstanten Zyklen in der Größenordnung von Mikrosekunden.
Beispielsweise greift das in 1 gezeigte PLC-Modul 14 auf den in 2 gezeigten Zwischenmodul-Datenaustauschbereich 216 zu, um die von dem Daten-Sammel-und-Analyse-Modul 13 gespeicherten Vorrichtungsdaten zu beziehen. Das Daten-Sammel-und-Analyse-Modul 13 greift auf den Zwischenmodul-Datenaustauschbereich 216 zu, um die von dem PLC-Modul 14 gespeicherten Vorrichtungsdaten zu beziehen.
-
Beispielsweise reservieren die Datensammelmittel 211 in dem temporären Speicher 214 einen temporären Bereich mit einer Größe, die den von den Sammeldateneinstellmitteln 215 eingestellten Daten entspricht, wenn das Daten-Sammel-und-Analyse-Modul 13 aktiviert wird. Nachdem der temporäre Bereich in dem temporären Speicher 214 reserviert ist, sammeln die Datensammelmittel 211 Daten von den anderen Modulen, wie beispielsweise das CPU-Modul 12 und das PLC-Modul 14, die an der in 1 gezeigten Basiseinheit 18 befestigt sind, über die Signalleitungen 16 und speichern die gesammelten Daten in dem temporären Bereich, der in dem temporären Speicher 214 reserviert ist, anstatt die gesammelten Daten als eine Datei zu speichern.
-
Vorteilhafte Wirkungen des PLC-Systems 10
-
Der oben beschriebene Echtzeitprozessor 21 wird durch das Echtzeit-OS betrieben und sammelt Daten über die Signalleitungen 16.
Das PLC-System 10 analysiert jedwede Daten mit hohen Übertragungskosten, oder insbesondere, jedwede Daten, die zusätzliche Daten umfassen, die für die Datenübertragung über die Signalleitungen 16 hinzugefügt sind, und die ein größeres Größenverhältnis der zusätzlichen Daten zu den ursprünglichen Daten aufweisen, ohne solche Daten zu übertragen. Das PLC-System 10 kann demnach eine effiziente Analyse durchführen.
-
Bei dem PLC-System 10 führen der Echtzeitprozessor 21 und der Allzweckprozessor 31 die Analyse zusammen durch. Der Echtzeitprozessor 21 wird demnach weniger durch komplexe Analysen beeinflusst und es ist weniger wahrscheinlich, dass die zeitliche Genauigkeit der Steuerung verringert wird.
-
Zusätzlich können der Echtzeitprozessor 21 und der Allzweckprozessor 31 über das Netzwerk miteinander kommunizieren. Das PLC-System 10 kann demnach eine Verringerung der Genauigkeit der Steuerung aufgrund von Netzwerkverzögerungen verhindern. Das PLC-System 10 verringert auch die Wahrscheinlichkeit, dass Kommunikationen über die Zielvorrichtungen in dem Netzwerk abgegriffen oder verfälscht werden.
-
Bei der vorliegenden Ausführungsform sind der Echtzeitprozessor 21 und der Allzweckprozessor 31 nicht über das Netzwerk miteinander verbunden. Bei manchen Ausführungsformen können der Echtzeitprozessor 21 und der Allzweckprozessor 31 über das Netzwerk miteinander verbunden sein.
-
Hardwarestruktur des Daten-Sammel-und-Analyse-Moduls 13 9 ist ein Blockdiagramm einer Informationsberechnungsvorrichtung 100, die eine beispielhafte Hardwarestruktur zeigt, mit der das Daten-Sammel-und-Analyse-Modul 13 umgesetzt sein kann.
Die Informationsberechnungsvorrichtung 100 umfasst Prozessoren 101-1 und 101-2, die verschiedene später beschriebene Berechnungen durchführen, eine Netzwerkschnittstelle (IF) 102, die mit anderen Vorrichtungen kommuniziert, die eine Eingabevorrichtung 120 und eine Ausgabevorrichtung 130 umfassen, einen Hauptspeicher 103, der temporär Informationen speichert, wie beispielsweise ein dynamischer Direktzugriffsspeicher (DRAM), oder ein statischer Direktzugriffsspeicher (SRAM), einen Hilfsspeicher 104, der Informationen dauerhaft speichert, wie beispielsweise eine Festplatte (HDD), oder ein Solide State Drive (SSD), und einen Anschluss 105 als einen Pfad für Informationen, die zwischen den Prozessoren 101, der Netzwerkschnittstelle 102, dem Hauptspeicher 103 und dem Hilfsspeicher 104 ausgetauscht werden.
-
Der Prozessor 101-1 ist ein Beispiel für Hardware, die die in 1 gezeigte erste CPU 20 umsetzt. Der Prozessor 101-2 ist ein Beispiel für Hardware, die die in 1 gezeigte zweite CPU 30 umsetzt. Die Netzwerkschnittstelle 102 ist ein Beispiel für Hardware, die die in 1 gezeigten Signalleitungen 16 umsetzt. Der Anschluss 105 ist ein Beispiel für Hardware, die den in 1 gezeigten Zwischen-OS-Kommunikator 41 umsetzt.
-
Die Eingabevorrichtung 120 empfängt Eingaben von externen Daten. Die Eingabevorrichtung 120 umfasst beispielsweise eine Menschenschnittstellenvorrichtung wie beispielsweise eine Maus, eine Tastatur, einen Touchscreen und ein Mikrofon. Die Eingabevorrichtung 120 umfasst eine Eingabeeinheit 129, die beispielsweise den Zustand von Knöpfen oder Tasten zur Eingabe von Informationen erfasst.
Die Eingabevorrichtung 120 kann eine Empfangsschnittstelle sein, die von anderen Vorrichtungen übertragene Signale erfasst, wie beispielsweise ein paralleler oder ein Serienbus.
-
Die Ausgabevorrichtung 130 ist eine Informationsausgabevorrichtung, die einem Nutzer verschiedene einzelne Informationen anzeigt, und umfasst beispielsweise eine Flüssigkristallanzeige, eine Bildröhrenanzeige (CRT-Anzeige), oder eine organische Elektrolumineszensanzeige (EL-Anzeige). Die Ausgabevorrichtung 130 umfasst beispielsweise ein Zeichengerät oder einen Drucker, die Informationen in der Form von beispielsweise Text oder einem Bild drucken. Die Ausgabevorrichtung 130 umfasst eine Ausgabeeinheit 139, die Informationen von beispielsweise der Anzeige oder dem Drucker ausgibt.
-
Die Informationsberechnungsvorrichtung 100 kann beispielsweise auch das Leistungsmodul 11, das CPU-Modul 12 und das PLC-Modul 14 umsetzen.
-
Ausführungsform 2
-
Obwohl das Daten-Sammel-und-Analyse-Modul 13 in dem PLC-System 10 die zwei CPUs, oder insbesondere die erste CPU 20 und die zweite CPU 30 umfasst, kann das Daten-Sammel-und-Analyse-Modul 13 eine einzelne CPU umfassen.
Ein in 10 gezeigtes PLC-System 210 gemäß Ausführungsform 2 umfasst ein Daten-Sammel-und-Analyse-Modul 263, das eine einzelne CPU 220 umfasst.
Im Folgenden werden hauptsächlich die Komponenten beschrieben, die von den Komponenten in dem PLC-System 10 verschieden sind.
-
Das Daten-Sammel-und-Analyse-Modul 263 umfasst einen Echtzeitprozessor 221, einen Allzweckprozessor 231, einen Zwischen-OS-Kommunikator 241 und Ressourceneinstellmittel 251, die das Verhältnis einstellen, mit dem die Ressourcen des CPU 220 dem Echtzeitprozessor 221 und dem Allzweckprozessor 231 zugewiesen werden.
-
Die CPU 220 führt einen Hypervisor aus. Die CPU 220 betreibt ein Echtzeit-OS und ein Allzweck-OS. Die CPU 220 betreibt das Echtzeit-OS und das Allzweck-OS auf dem Hypervisor, um die Funktionen des Echtzeitprozessors 221 und des Allzweckprozessors 231 umzusetzen
-
Beispielsweise teilt das Daten-Sammel-und-Analyse-Modul 263 eine verfügbare Zeit in der CPU in eine Zeit zum Betreiben des Echtzeitprozessors 221 und eine Zeit zum Betreiben des Allzweckprozessors 231 entsprechend des von den Ressourceneinstellmitteln eingestellten Verhältnisses.
-
Der Hypervisor setzt auch die Funktion des Zwischen-OS-Kommunikators 241 durch eine Kommunikation, wie beispielsweise eine Zwischenprozesskommunikation, zwischen dem Echtzeit-OS und dem Allzweck-OS um.
-
Hardwarestruktur des Daten-Sammel-und-Analyse-Moduls 263 11 ist ein Blockdiagramm einer Informationsberechnungsvorrichtung 800, das eine beispielhafte Hardwarestruktur zeigt, mit der das Daten-Sammel-und-Analyse-Modul 263 umgesetzt ist.
Anders als die Informationsberechnungsvorrichtung 100, die die zwei Prozessoren 101-1 und 101-2 umfasst, umfasst die Informationsberechnungsvorrichtung 800 einen einzelnen Prozessor 101.
-
Der Prozessor 101 ist ein Beispiel für Hardware, die den Echtzeitprozessor 221, den Allzweckprozessor 231, den Zwischen-OS-Kommunikator 241 und die Ressourceneinstellmittel 251 umsetzt, die in 10 gezeigt sind.
-
Das PLC-System 210 kann eine effiziente Analyse unter Verwendung des Daten-Sammel-und-Analyse-Moduls 263 durchführen, das die einzelne CPU umfasst.
-
Modifikationen
-
Bei dem PLC-System 10 stellt ein Benutzer des PLC-Systems 10 einen Größenschwellwert und einen Frequenzschwellwert mit den Datentyp-Bestimmungsmitteln 212 für Zieldaten als Vergleichswerte zum Bestimmen ein, welcher des Echtzeitprozessors 21 und des Allzweckprozessors 31 die Zieldaten zu analysieren hat. Der Größenschwellwert und der Frequenzschwellwert für die Zieldaten können in anderer Weise mit den Datentyp-Bestimmungsmitteln 212 eingestellt werden. Der Größenschwellwert und der Frequenzschwellwert für die zu sammelnden Zieldaten kann durch maschinelles Lernen eingestellt werden. Im Nachfolgenden wird ein PLC-System 310 gemäß einer Modifikation der vorliegenden Offenbarung beschrieben
-
Wie in 12 gezeigt, umfasst das PLC-System 310 eine Lernvorrichtung 330 und einen Speicher 340 für trainierte Modelle.
Im Folgenden werden eine Lernphase und eine Verwendungsphase getrennt voneinander beschrieben.
-
Lernphase
-
Das PLC-System 310 führt ein maschinelles Lernen bezüglich Größenschwellwerten durch. Die Lernvorrichtung 330, die in dem PLC-System 310 umfasst ist, weist Datenbezugsmittel 331 und Modellerzeugungsmittel 332 auf.
-
Die Datenbezugsmittel beziehen Lerndaten, die von dem Echtzeitprozessor 21 zu analysierende Zieldatenteile, von dem Allzweckprozessor 31 zu analysierende Zieldatenteile, die Größen der Zieldatenteile und die Sammelfrequenzen der Zieldatenteile umfassen, als Eingabedaten. Von den gesammelten Datenteilen werden die von dem Echtzeitprozessor 21 zu analysierenden Zieldatenteile und die von dem Allzweckprozessor 31 zu analysierenden Zieldatenteile während des Lernens zufällig geändert. Beispielsweise können die in 3 gezeigten Informationen als die Lerndaten mit den Größen der Zieldatenteile und den Sammelfrequenzen der Zieldatenteile verwendet werden.
-
Die Modellerzeugungsmittel 332 lernen einen Größenschwellwert basierend auf den Lerndaten. Insbesondere erzeugen die Modellerzeugungsmittel 332 ein trainiertes Modell, das den Größenschwellwert basierend auf den von dem Echtzeitprozessor 21 zu analysierenden Zieldatenteilen, den von dem Allzweckprozessor 31 zu analysierenden Zieldatenteilen, den Größen der Zieldatenteile und den Sammelfrequenzen der Zieldatenteile inferiert.
-
Die Modellerzeugungsmittel 332 können einen bekannten Lernalgorithmus verwenden, wie beispielsweise ein überwachtes Lernen, ein unüberwachtes Lernen, oder ein bestärkendes Lernen. Bei dem nachfolgend beschriebenen Beispiel wird ein bestärkendes Lernen verwendet. Beim bestärkenden Lernen beobachtet ein Agent (der Aktionen durchführt) in einer Umgebung einen momentanen Zustand (Parameter in der Umgebung) und bestimmt eine durchzuführende Aktion. Die Aktion des Agents ändert dynamisch die Umgebung und der Agent erhält eine Belohnung basierend auf den Änderungen in der Umgebung. Der Agent wiederholt den Prozess und lernt eine Aktionsstrategie, die die über die Reihe der Aktionen erhaltenen Belohnungen maximiert. Ein Q-Lernen und ein Zeitdifferenz-Lernen (TD-Lernen) sind als typische Verfahren des bestärkenden Lernens bekannt. Beim Q-Lernen ist beispielsweise eine allgemeine Aktualisierungsformel für eine Aktionswertefunktion Q(s,a) durch die Formel 1 angegeben.
Formel
-
In Formel 1 ist st der Zustand der Umgebung zum Zeitpunkt t und at ist die Aktion zum Zeitpunkt t. Die Aktion at ändert den Zustand zu st+1. Eine von einer Änderung des Zustands erhaltene Belohnung ist rt+1, γ ist ein Diskontierungsfaktor mit einem Bereich von 0 < γ ≤ 1 und α ist ein Lernkoeffizient mit einem Bereich von 0 < α ≤ 1. Der Zustand st umfasst die von dem Echtzeitprozessor 21 zu analysierenden Zieldatenteile, die von dem Allzweckprozessor 31 zu analysierenden Zieldatenteile, die Größen der Zieldatenteile und die Sammelfrequenzen der Zieldatenteile. Es wird die beste Aktion zum Zeitpunkt t und dem Zustand st gelernt.
-
Die mit der Formel 1 angegebene Aktualisierungsformel ergibt einen größeren Aktionswert Q, wenn ein Aktionswert Q eine Aktion a, die den größten Q-Wert zum Zeitpunkt t+1 aufweist, größer ist als ein Aktionswert Q der Aktion a, die zum Zeitpunkt t durchgeführt wird, und ergibt einen geringeren Aktionswert Q, wenn der Aktionswert Q zum Zeitpunkt t+1 geringer ist als der Aktionswert Q, der zum Zeitpunkt t durchgeführt wird. Mit anderen Worten wird die Aktionswertefunktion Q(s, a) so aktualisiert, dass diese den Aktionswert Q der Aktion a zum Zeitpunkt t zu dem optimalen Aktionswert zum Zeitpunkt t+1 approximiert. Demnach beeinflusst ein optimaler Aktionswert in einer Umgebung einen Aktionswert in einem früheren Zustand der Umgebung in einer sequenziellen Weise.
-
Um wie oben beschrieben ein trainiertes Modell durch bestärkendes Lernen zu erzeugen, umfassen die Modellerzeugungsmittel 332 einen Belohnungsrechner 333 und Funktionsaktualisierungsmittel 334.
-
Der Belohnungsrechner 333 berechnet eine Belohnung basierend auf den von dem Echtzeitprozessor 21 zu analysierenden Zieldatenteilen, den von dem Allzweckprozessor 21 zu analysierenden Zieldatenteilen, den Größen der Zieldatenteile und den Sammelfrequenzen der Zieldatenteile. Der Belohnungsrechner 333 berechnet beispielsweise eine Belohnung r basierend auf einer Analysezeit, die für Berechnungen mit den während einer vorbestimmten Zeit gesammelten Zieldatenteilen, um die Analyse abzuschließen. Wenn eine momentane Aktion eine kürzere Analysezeit als die Analysezeit bei einer vorherigen Aktion aufweist, wird die Belohnung r beispielsweise erhöht (zum Beispiel um eine Belohnung von 1). Im Gegensatz dazu wird, wenn die momentane Aktion eine längere Analysezeit als die Analysezeit bei der vorherigen Aktion aufweist, die Belohnung r verringert (zum Beispiel um eine Belohnung von -1).
-
Die Funktionsaktualisierungsmittel 334 aktualisieren eine Funktion zum Bestimmen eines Größenschwellwerts basierend auf der von dem Belohnungsrechner 333 berechneten Belohnung und geben die Funktion an den Speicher 340 für trainierte Modelle aus. Beim Q-Lernen wird beispielsweise die durch Formel 1 angegebene Aktionswertefunktion Q(st, at) als eine Funktion verwendet, um einen Größenschwellwert zu berechnen.
-
Der oben beschriebene Lernprozess wird wiederholt durchgeführt. Der Speicher 340 für trainierte Modelle speichert die von den Funktionsaktualisierungsmitteln 334 aktualisierte Aktionswertefunktion Q(st, at), oder speichert insbesondere ein trainiertes Modell.
-
Im Folgenden wird ein Lernprozess mit Bezug auf 13 beschrieben, der von der Lernvorrichtung 330 durchgeführt wird.
-
Die Datenbezugsmittel 331 beziehen Datenteile, die von den zu sammelnden Daten durch den Echtzeitprozessor 21 zu analysieren sind, die Größen der Datenteile und die Sammelfrequenzen der Datenteile als Lerndaten (S301).
-
Die Modellerzeugungsmittel 332 berechnen die Belohnung basierend auf den von dem Echtzeitprozessor 21 zu analysierenden Zieldatenteile, den von dem Allzweckprozessor 31 zu analysierenden Zieldatenteilen, den Größen der Zieldatenteile und den Sammelfrequenzen der Zieldatenteile. Insbesondere bezieht der Belohnungsrechner 333 die von dem Echtzeitprozessor 21 zu analysierenden Zieldatenteile, die von dem Allzweckprozessor 31 zu analysierenden Zieldatenteile, die Größen der Zieldatenteile und die Sammelfrequenzen der Zieldatenteile, und bestimmt basierend auf einem Vergleich mit der vorherigen Analysezeit, ob die Belohnung erhöht oder verringert wird (S302).
-
Wenn bestimmt wird, dass die Belohnung erhöht wird (Ja in S302), erhöht der Belohnungsrechner 333 die Belohnung (S303). Wenn bestimmt wird, dass die Belohnung verringert wird (Nein in S302), verringert der Belohnungsrechner 333 die Belohnung (S304).
-
Die Funktionsaktualisierungsmittel 334 aktualisieren die durch Formel 1 angegebene und in dem Speicher 340 für trainierte Modelle gespeicherte Aktionswertefunktion Q(st, at) basierend auf der von dem Belohnungsrechner 333 berechneten Belohnung (S305).
-
Die Lernvorrichtung 330 wiederholt den Prozess der oben beschriebenen Schritte S301 bis S305 und speichert die erzeugte Aktionswertefunktion Q(st, at) als ein trainiertes Modell.
-
Obwohl die Lernvorrichtung 330 das trainierte Modell in den Speicher 340 für trainierte Modelle speichert, der außerhalb der Lernvorrichtung ist, kann der Speicher 340 für trainierte Modelle in der Lernvorrichtung 330 umfasst sein.
-
Verwendungsphase
-
14 ist ein Blockdiagramm einer Inferenzvorrichtung 350 die den Datentyp-Bestimmungsmitteln 212 entspricht. Das PLC-System 310 umfasst die Inferenzvorrichtung 350 zusätzlich zu dem Speicher 340 für trainierte Modelle. Die Inferenzvorrichtung 350 umfasst Datenbezugsmittel 351 und Inferiermittel 352.
-
Die Datenbezugsmittel 351 beziehen Zieldaten.
Die Inferiermittel 352 verwenden das trainierte Modell, um eine C-Ausgabe zu inferieren. Insbesondere geben die Inferiermittel 352 die von dem Bezugsmittel 351 bezogenen Zieldaten in dieses trainierte Modell ein und können einen Größenschwellwert für die Zieldaten als einen Vergleichswert zum Bestimmen inferieren, welcher des Echtzeitprozessors 21 und des Allzweckprozessors 31 die Zieldaten zu analysieren hat.
-
Bei der vorliegenden Modifikationen wird der Größenschwellwert unter Verwendung des trainierten Modells ausgegeben, das durch die Modellerzeugungsmittel 332 in dem Daten-Sammel-und-Analyse-Modul 13 gelernt wurde. Bei manchen Ausführungsformen kann der Größenschwellwert für die Zieldaten basierend auf einem trainierten Modell ausgegeben werden, das von einem anderen Daten-Sammel-und-Analyse-Modul 13 bezogen wurde.
-
Im Nachfolgenden wird ein Prozess des Beziehens eines Größenschwellwerts für Zieldaten mit der Lernvorrichtung 330 mit Bezug auf 15 beschrieben.
-
Die Datenbezugsmittel 351 beziehen Zieldaten (S401).
-
Die Inferiermittel 352 geben die Zieldaten in ein trainiertes Modell ein, das in dem Speicher 340 für trainierte Modelle gespeichert ist, und beziehen einen Größenschwellwert für die Zieldaten (S402). Die Inferiermittel 352 geben den bezogenen Größenschwellwert für die Zieldaten an die Datentyp-Bestimmungsmittel 212 aus (S403).
-
Die Datentyp-Bestimmungsmittel 212 verwenden den Größenschwellwert für die Zieldaten, um zu bestimmen, welcher des Echtzeitprozessors 21 und des Allzweckprozessors 31 die Berechnungen mit den Zieldaten durchzuführen hat (S404). In dieser Weise kann die Analysezeit verkürzt werden.
-
Bei der vorliegenden Modifikation lernt die Lernvorrichtung 330 den Größenschwellwert für die Zieldaten und die Inferenzvorrichtung 350 inferiert den Größenschwellwert für die Zieldaten, aber die Struktur ist nicht auf dieses Beispiel beschränkt. Beispielsweise kann die Lernvorrichtung 330 den Sammelfrequenzschwellwert für die Zieldaten lernen und die Inferenzvorrichtung 350 kann den Sammelfrequenzschwellwert für die Zieldaten inferieren.
-
Obwohl der von den Inferiermitteln 352 verwendete Lernalgorithmus bei der vorliegenden Modifikation ein bestärkendes Lernen ist, können die Inferiermittel 352 andere Algorithmen verwenden. Vom bestärkenden Lernen verschiedene Lernalgorithmen können überwachtes Lernen, unüberwachtes Lernen und teilüberwachtes Lernen umfassen.
-
Die Modellerzeugungsmittel 352 können tiefes Lernen zum Lernen einer Gewinnung von Merkmalen als einen Lernalgorithmus verwenden, oder können ein maschinelles Lernen unter Verwendung anderer bekannter Verfahren durchführen, wie beispielsweise ein neuronales Netzwerk, genetische Programmierung, funktionelle logische Programmierung und eine Supportvektormaschine.
-
Die Lernvorrichtung 330 und die Inferenzvorrichtung 350 können beispielsweise über ein Netzwerk mit dem Daten-Sammel-und-Analyse-Modul 13 verbunden sein und können von dem Daten-Sammel-und-Analyse-Modul 13 getrennt sein. Die Lernvorrichtung 330 und die Inferenzvorrichtung 350 können in dem Daten-Sammel-und-Analyse-Modul 13 umfasst sein. Die Lernvorrichtung 330 und die Inferenzvorrichtung 350 können in einem Cloud-Server angeordnet sein.
-
Die Modellerzeugungsmittel 332 können ein Lernen unter Verwendung von Lerndaten durchführen, die von mehreren Daten-Sammel-und-Analyse-Modulen 13 bezogen wurden. Die Modellerzeugungsmittel 332 können Lerndaten von mehreren Daten-Sammel-und-Analyse-Modulen 13 beziehen, die in demselben Bereich verwendet werden, oder können Lerndaten verwenden, die von mehreren Daten-Sammel-und-Analyse-Modulen 13 gesammelt wurden, die unabhängig voneinander in verschiedenen Bereichen betrieben werden, um eine C-Ausgabe zu lernen. Ein Daten-Sammel-und-Analyse-Modul 13 zum Sammeln der Lerndaten kann während des Prozesses hinzugefügt oder entfernt werden. Die Lernvorrichtung 330, die die Schwellwerte für Zieldaten für ein Daten-Sammel-und-Analyse-Modul 13 gelernt hat, kann für ein anderes Daten-Sammel-und-Analyse-Modul 13 verwendet werden, um erneut Schwellwerte für die Zieldaten für das andere Daten-Sammel-und-Analyse-Modul 13 zum Aktualisieren zu lernen.
-
Die in den obigen Ausführungsformen beschriebenen Verfahren können in ein nichtflüchtiges Aufnahmemedium geschrieben werden, wie beispielsweise ein magnetischer Speicher, ein optischer Speicher, ein magnetooptischer Speicher und einen Halbleiterspeicher, um als durch einen Computer ausführbares Programm in verschiedenen Vorrichtungen verwendet zu werden. Ein Computer, der eine oder mehrere Ausführungsformen der vorliegenden Offenbarung umsetzt, liest ein in dem nichtflüchtigen Aufnahmemedium gespeichertes Programm und wird unter Steuerung des Programms betrieben, um die obigen Prozesse durchzuführen. Die vorliegende Offenbarung ist nicht auf die Beispiele der oben beschriebenen Aspekte beschränkt und kann in angemessener Weise modifiziert werden, um in anderen Aspekten verwendet zu werden.
-
Das Vorstehende beschreibt einige beispielhafte Ausführungsformen zu erläuternden Zwecken. Obwohl die vorstehende Diskussion bestimmte Ausführungsformen vorgestellt hat, wird der Fachmann erkennen, dass Änderungen in Form und Detail angestellt werden können, ohne von dem breiteren Gedanken und dem Umfang der Erfindung abzuweichen. Dementsprechend sind die Beschreibung und Zeichnungen in einem illustrativen anstelle eines einschränkenden Sinnes zu verstehen. Diese detaillierte Beschreibung ist demnach nicht in einem beschränkenden Sinne zu verstehen und der Umfang der Erfindung ist nur durch die beigefügten Ansprüche definiert, zusammen mit der gesamten Breite von Äquivalenten, die in diesen Ansprüchen umfasst sind.
-
Bezugszeichenliste
-
- 11 10, 310
- PLC-System Leistungsmodul
- 12
- CPU-Modul
- 13
- Daten-Sammel-und-Analyse-Modul
- 14
- PLC-Modul
- 15
- Stromleitung
- 16
- Signalleitung
- 18
- Basiseinheit
- 19
- externe Vorrichtung
- 20
- erste CPU
- 21, 221
- Echtzeitprozessor
- 30
- zweite CPU
- 31, 231
- Allzweckprozessor
- 41
- Zwischen-OS-Kommunikator
- 212
- Datentyp-Bestimmungsmittel
- 211
- Datensammelmittel
- 213
- Datenanalysemittel
- 214
- temporärer Speicher
- 215
- Sammeldateneinstellmittel
- 216
- Zwischenmodul-Datenaustauschbereich
- 311
- Datenanalysemittel
- 312
- temporärer Speicher
- 220
- CPU
- 241
- Zwischen-OS-Kommunikator
- 251
- Ressourceneinstellmittel
- 263
- Daten-Sammel-und-Analyse-Modul
- 800
- Informationsberechnungsvorrichtung
- 101
- Prozessor
- 102
- Netzwerkschnittstelle
- 103
- Hauptspeicher
- 104
- Hilfsspeicher
- 105
- Anschluss
- 120
- Eingabevorrichtung
- 129
- Eingabeeinheit
- 130
- Ausgabevorrichtung
- 139
- Ausgabeeinheit
- 330
- Lernvorrichtung
- 331
- Datenbezugsmittel
- 332
- Modellerzeugungsmittel
- 333
- Belohnungsrechner
- 334
- Funktionsaktualisierungsmittel
- 340
- Speicher für trainierte Modelle
- 350
- Inferenzvorrichtung
- 351
- Datenbezugsmittel
- 352
- Inferiermittel
-
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
-