-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft einen AD-Wandler, der an einer programmierbaren Steuervorrichtung (engl. Programmable Controller (PLC)) angebracht ist, und ein programmierbares Steuersystem.
-
Stand der Technik
-
Wenn analoge Datenwerte in eine PLC eingegeben werden, wird eine Analogeingabeeinheit (ein A/D-Wandler) verwendet, die einen eingegebenen analogen Datenwert in einen digitalen Wert wandelt. Im Allgemeinen ist eine Abtastperiode der A/D-Wandlung der Analogeingabeeinheit, die einen eingegebenen analogen Datenwert in einen digitalen Wert wandelt, nicht synchron mit einer Steuerperiode (eine Lesezeit) einer CPU-Einheit, die die gesamte PLC steuert, und die Abtastperiode ist im Allgemeinen schneller. Wenn daher die Analogeingabeeinheit einen A/D-Wandler-Wert aufzeichnet, ist es schwierig, alle A/D-Wandler-Werte in der CPU-Einheit ohne Fehler aufzuzeichnen.
-
Als Verfahren zum Aufzeichnen aller A/D-Wandler-Werte ohne Fehler gibt es ein Verfahren zum Durchführen eines Aufzeichnungsprozesses in einer Analogeingabeeinheit. Um jedoch auf die gesammelten Daten zu verweisen, müssen die Daten in eine CPU-Einheit gelesen werden, nachdem die Aufzeichnung beendet ist. Da dieser Leseprozess herkömmlich einen dedizierten Kommunikationsprozess erfordert, sodass dieser häufig durchgeführt werden kann, ist dieser Prozess aufwendig.
-
Um dieses Problem zu lösen, wurde ein Verfahren vorgeschlagen zum Speichern von A/D-Wandler-Werten in einem gemeinsam verwendeten Speicher (engl. Shared Memory), der als ein Speicherbereich dient, auf die eine CPU-Einheit immer zugreifen kann, ohne dass irgendein dedizierter Kommunikationsprozess erforderlich ist (siehe zum Beispiel Patentdokument 1). Ferner wurde als Verfahren zum Sammeln sukzessiver Daten ein Verfahren vorgeschlagen zum Sammeln von Daten in der Art eines Ring-Puffers (siehe zum Beispiel Patentdokument 2). Ferner wurde ein Verfahren vorgeschlagen zum Sammeln von Daten in einem gemeinsam verwendeten Speicher in der Art eines Ring-Puffers (siehe zum Beispiel Patentdokument 3).
Patentdokument 1:
Japanische veröffentlichte Patentanmeldung H8-69355 Patentdokument 2:
Japanische veröffentlichte Patentanmeldung 2008-20392 Patentdokument 3:
Japanische veröffentlichte Patentanmeldung 2007-233593
-
Offenbarung der Erfindung
-
Durch die Erfindung zu lösendes Problem
-
Gemäß der im Patentdokument 1 beschriebenen Technik werden jedoch vorhergehende Daten jedes Mal dann überschrieben, wenn Daten gespeichert werden, und somit können Daten nicht sukzessiv gesammelt und darauf verwiesen werden.
-
Gemäß der im Patentdokument 2 beschriebenen Technik können die letzten Daten und die ältesten Daten in einem Speicherbereich mit einer Ring-Puffer-Konfiguration nicht voneinander unterschieden werden, und gesammelte Daten können somit nicht in einer Zeitreihe gehandhabt werden.
-
Die im Patentdokument 3 beschriebene Technik ist eine Technik zum Erreichen einer Aufzeichnung, die synchron mit einer Steuerperiode einer CPU-Einheit ist, und ein A/D-Wandler-Wert, der bei einer schnelleren Abtastperiode der A/D-Wandlung aktualisiert wird, kann nicht aufgezeichnet werden.
-
Die vorliegende Erfindung dient zur Lösung der obigen Probleme, und eine Aufgabe der vorliegenden Erfindung besteht in der Bereitstellung eines A/D-Wandlers, der alle A/D-Wandler-Werte ohne Fehler aufzeichnen kann, und der aufgezeichnete Daten leicht lesen kann, so dass diese mit einer Zeitreihe zusammenhängen, ohne dass irgendein bestimmter Kommunikationsprozess erforderlich ist, und in der Bereitstellung eines PLC-Systems.
-
Mittel zum Lösen des Problems
-
Um das obige Ziel zu erreichen, umfasst ein A/D-Wandler, der an einer programmierbaren Steuervorrichtung (PLC) angeschlossen ist und einen von außen eingegebenen analogen Wert in einen digitalen Wert wandelt: einen gemeinsam verwendeten Speicher zum Durchführen eines Lesezugriffs von einer CPU-Einheit, die die gesamte PLC steuert, und einen Aufzeichnungsspeicherbereich umfasst mit einer Ring-Puffer-Konfiguration zum sequentiellen Aufzeichnen des digitalen Werts, und einen Parameterspeicherbereich zum Speichern eines Head-Pointers, der als ein Parameter dient zum Anzeigen einer Position, an der nächste Aufzeichnungsdaten gespeichert werden; und eine Aufzeichnungsausführungseinheit zum Schreiben eines digitalen Werts in einer Adresse, die durch den Head-Pointer angezeigt wird, in dem Aufzeichnungsspeicherbereich als Aufzeichnungsdaten, und den Head-Pointer aktualisiert.
-
Effekt der Erfindung
-
Gemäß der vorliegenden Erfindung ist der Aufzeichnungsspeicherbereich mit einer Ring-Puffer-Konfiguration in dem gemeinsam verwendeten Speicher gewährleistet, und der Parameterspeicherbereich zum Speichern des Head-Pointers, der eine Adresse einer Grenze zwischen den letzten Aufzeichnungsdaten und den ältesten Aufzeichnungsdaten anzeigt, die in dem Aufzeichnungsspeicherbereich gespeichert sind, wird ebenso in dem gemeinsam verwendeten Speicher gewährleistet. Es ist daher möglich, einen A/D-Wandler bereitzustellen, der alle A/D-Wandler-Werte ohne Fehler aufzeichnen kann und aufgezeichnete Daten leicht lesen kann, so dass diese mit einer Zeitreihe zusammenhängen, ohne dass irgendein bestimmter Kommunikationsprozess erforderlich ist.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt eine Konfiguration eines PLC-Systems gemäß einer Ausführungsform der vorliegenden Erfindung.
-
2 ist ein erläuterndes Diagramm von Datenstrukturen von Daten, die in einem Aufzeichnungsspeicherbereich und einem Parameterspeicherbereich gespeichert werden.
-
3 ist ein erläuterndes Diagramm von Datenstrukturen von Daten, die in dem Aufzeichnungsspeicherbereich und dem Parameterspeicherbereich gespeichert werden.
-
4 ist ein Flussdiagramm zum Erläutern eines Betriebs einer Analogeingabeeinheit gemäß der Ausführungsform der vorliegenden Erfindung.
-
5 ist ein Flussdiagramm zur Erläuterung eines Betriebs der Analogeingabeeinheit gemäß der Ausführungsform der vorliegenden Erfindung.
-
6 ist ein erläuterndes Diagramm einer Neuanordnung von Aufzeichnungsdaten.
-
7 ist ein erläuterndes Diagramm eines Zustands eines Aufzeichnungsspeicherbereichs nach der Neuanordnung.
-
Bezugszeichenliste
-
- 100
- Analogeingabeeinheit
- 110
- Analog-Dateneingabe I/F
- 120
- A/D-Wandlereinheit
- 130
- Berechnungseinheit
- 131
- Auslösererfassungseinheit
- 132
- Aufzeichnungsausführungseinheit
- 140
- gemeinsam verwendeter Speicher
- 141
- A/D-Wandler-Wert-Speicherbereich
- 142
- Aufzeichnungsspeicherbereich
- 143
- Parameterspeicherbereich
- 150
- Auslöser-Eingabe I/F
- 160
- Bus I/F
- 210
- Berechnungseinheit
- 220
- interner Speicher
- 230
- Bus I/F
- 240
- Personalcomputer I/F
- 250
- Anzeigevorrichtung I/F
- 300
- Zwischen-Einheiten-Bus
- 1000
- PLC
-
Bester Modus bzw. beste Modi zum Ausführen der Erfindung
-
Beispielhafte Ausführungsformen eines A/D-Wandlers gemäß der vorliegenden Erfindung werden im Folgenden detailliert mit Bezug auf die begleitenden Zeichnungen erläutert. Die vorliegende Erfindung ist nicht auf die Ausführungsformen beschränkt.
-
Ausführungsform
-
1 ist ein Blockdiagramm zum Erläutern einer Konfiguration eines PLC-Systems mit einem A/D-Wandler (eine Analogeingabeeinheit). Wie in 1 gezeigt, ist eine Analogeingabeeinheit 100 mit einer CPU-Einheit 200 über einen Zwischen-Einheiten-Bus 300 verbunden. Die Analogeingabeeinheit 100 und die CPU-Einheit 200 bilden einen Teil einer PLC 1000 aus. Zusätzlich zu der Analogeingabeeinheit 100 und der CPU-Einheit 200 werden, je nach Bedarf, eine Bewegungssteuereinheit, die einen Servoverstärker zum Durchführen einer Mehrachsen-Positionssteuerung steuert, und eine Temperatursteuereinheit, die ein Temperatursteuersignal zum Erhitzen und Abkühlen ausgibt, so dass eine durch die CPU-Einheit 200 angewiesene Temperatur erreicht wird, über den Zwischen-Einheiten-Bus 300 angeschlossen; außer der Analogeingabeeinheit 100 und der CPU-Einheit 200 werden hier jedoch keine Einheiten erläutert.
-
Die Analogeingabeeinheit 100 empfängt eine Eingabe eines analogen Datenwerts von einem Sensor, der verschiedene Beobachtungswerte überwacht, die mit industriellen Apparaturen in Verbindung stehen, um durch die PLC 1000 gesteuert zu werden, wie zum Beispiel eine Flussrate, einen Druck und eine Temperatur, um diese Werte als einen Stromwert und einen Spannungswert auszugeben, wandelt die Eingabe des empfangenen analogen Datenwerts in einen digitalen Wert, und schreibt den digitalen Wert (einen A/D-Wandler-Wert) in einen gemeinsam verwendeten Speicher 140, der in der Analogeingabeeinheit 100 bereitgestellt ist. Die CPU-Einheit 200 wiederholt, in einer vorbestimmten Periode, die Ausführung eines Nutzerprogramms zur Bedienung verschiedener Einheiten, die in der PLC 1000 bereitgestellt sind, um industrielle Apparaturen zu steuern, Ausführungsresultate auszugeben und Eingabewerte zu erfassen, wie zum Beispiel Werte, die durch das Nutzerprogramm verwendet werden. Dieser iterative Betrieb wird als ein „zyklischer Prozess” bezeichnete. Die CPU-Einheit 200 liest einen digitalen Wert (einen A/D-Wandler-Wert) des Beobachtungswerts aus dem gemeinsam verwendeten Speicher 140 aus, als ein Teil einer Eingabewert-Erfassungsoperation, die in dem zyklischen Prozess enthalten ist.
-
Die CPU-Einheit 200 umfasst eine Berechnungseinheit 210, die das Nutzerprogramm ausführt und die gesamte CPU-Einheit 200 steuert, einen internen Speicher 120, der als ein Speicher zum Speichern von Daten dient, die zum Ausführen des Nutzerprogramms erforderlich sind, und von Eingabe/Ausgabe-Werten des Nutzerprogramms, einen Bus I/F 230, der als eine Kommunikationsschnittstelle dient, zum Kommunizieren mit der Analogeingabeeinheit 100 über den Zwischen-Einheiten-Bus 300, und einen Personalcomputer I/F 240, und eine Anzeigevorrichtung I/F 250, die als Schnittstellen dienen zum Verbinden eines Personalcomputers und einer Anzeigevorrichtung als eine periphere Vorrichtung zum Einstellen des Nutzerprogramms und zum Anzeigen eines Zustands von Daten in dem internen Speicher 220. Die Berechnungseinheit 210, der interne Speicher 220 und der Bus I/F 230 werden durch einen internen Bus miteinander verbunden. Ein System einschließlich der PLC 1000 und peripherer Vorrichtungen (der Personalcomputer und/oder die Anzeigevorrichtung), die mit der PLC 1000 verbunden sind, wird als ein „PLC-System” bezeichnet.
-
Der gemeinsam verwendete Speicher 140, der in der Analogeingabeeinheit 100 enthalten ist, wird im Folgenden erläutert. Ein A/D-Wandler-Wert-Speicherbereich 141, der A/D-Wandler-Werte speichert, die durch den zyklischen Prozess gelesen werden, der durch die CPU-Einheit 200 durchgeführt wird, wird in dem gemeinsam verwendeten Speicher 140 gewährleistet. Da, wie oben erwähnt, ein Intervall, in dem ein analoger Datenwert abgetastet wird, um in einen digitalen Wert gewandelt zu werden (ein Abtastintervall), normalerweise schneller als die Periode des zyklischen Prozesses ist, ist es für die CPU-Einheit 200 schwierig, alle A/D-Wandler-Werte zu lesen, die in den A/D-Wandler-Wert-Speicherbereich 141 geschrieben werden, und diese Werte ohne Fehler aufzuzeichnen. Gemäß einer Ausführungsform der vorliegenden Erfindung wird zusätzlich zu dem A/D-Wandler-Wert-Speicherbereich 141, der oben erläutert wurde, ein Aufzeichnungsspeicherbereich 142, der als ein Speicherbereich zum Speichern von A/D-Wandler-Werten als Aufzeichnungsdaten dient, in den gemeinsam verwendeten Speicher 140 gewährleistet, in den die analoge Eingabeeinheit 100 Daten mit einer hohen Geschwindigkeit schreiben kann und auf den die CPU-Einheit 200 einen Lesezugriff durchführen kann, ohne irgendeinen komplizierten Kommunikationsprozess durchzuführen. Die Aufzeichnungsdaten, die in dem Aufzeichnungsspeicherbereich 142 gespeichert werden, werden über den Zwischen-Einheiten-Bus 300 und die CPU-Einheit 200 in eine periphere Vorrichtung gelesen.
-
Der Aufzeichnungsspeicherbereich 142 weist eine Ringpufferkonfiguration auf. D. h., dass Aufzeichnungsdaten in dem Aufzeichnungsspeicherbereich 142 ab einer Head-Adresse in einer Zeitreihe geschrieben werden. Wenn die Schreibadresse der Aufzeichnungsdaten die letzte erreicht, führt der Prozess einen Umgriff durch und die Aufzeichnungsdaten werden von der Head-Adresse überschrieben. Es wird angenommen, dass ein Schreiben von Aufzeichnungsdaten, beginnend wenn die Aufzeichnung gestartet wird bis dahin, wenn der Prozess einen Umgriff durchführt, als Schreiben eines ersten Zyklus dargestellt wird, und ein anschließendes Schreiben als 1 + n-tes Zyklusschreiben dargestellt wird (n bezeichnet die Anzahl von Umgriffen). Der gemeinsam verwendete Speicher 140 umfasst ferner einen Parameterspeicherbereich 143, der die Anzahl gespeicherter Daten speichert, die als ein Parameter zum Bestimmen einer letzten Aufzeichnungsdaten-Schreibposition in dem ersten Zyklus dienen, und einen Head-Pointer, der als ein Pointer dient, der die letzte Aufzeichnungsdaten-Schreibposition in dem zweiten Zyklus und den anschließenden Zyklen anzeigt. Da der Head-Pointer die letzte Aufzeichnungsdaten-Schreibposition in dem zweiten Zyklus und den anschließenden Zyklen anzeigt, zeigt der Head-Pointer eine Grenze zwischen den letzten Aufzeichnungsdaten und den ältesten Aufzeichnungsdaten an.
-
Die 2 und 3 sind erläuternde Diagramme von Datenstrukturen des Aufzeichnungsspeicherbereichs 142 und des Parameterspeicherbereichs 143. 2 zeigt eine Datenstruktur in dem ersten Zyklus und 3 zeigt eine Datenstruktur in dem zweiten Zyklus. Es wird angenommen, dass der Aufzeichnungsspeicherbereich 142 eine Speicherkapazität aufweist, die mit N Wörtern zusammenhängt, und Aufzeichnungsdaten eines Wortes (ein A/D-Wandler-Wert als die Aufzeichnungsdaten) dann jedes Mal geschrieben werden, wenn eine Zeit T abläuft. Da, wie in 2 gezeigt, ein Zeitpunkt, wenn eine Zeit nT (n < N) abgelaufen ist, seitdem die Aufzeichnung in dem ersten Zyklus gestartet wurde, wird der Head-Pointer auf 0 fixiert und die Anzahl gespeicherter Daten ist n + 1. D. h., dass die nächste Position, an der Daten geschrieben werden, die Position ist, die durch die Head-Adresse des Aufzeichnungsspeicherbereichs zu 142 + (n + 1) Wörtern bestimmt ist. Wie in 3 gezeigt, werden in dem zweiten Zyklus die letzten Daten in der Position geschrieben, die von der Head-Adresse um n-N Wörtern verschoben ist, und somit ist der Bead-Pointer gleich n + 1 – N und die Anzahl gespeicherter Daten gleich N (fixiert). Der Head-Pointer-Wert in dem dritten Zyklus und den anschließenden Zyklen ist mod(n, N) + 1.
-
Mit einem Rückverweis auf 1 umfasst die Analogeingabeeinheit 100 zusätzlich zu dem oben erwähnten gemeinsam verwendeten Speicher 140 eine Analogdaten-Eingabeschnittstelle (I/F) 110, die eine Eingabe eines analogen Datenwerts empfängt, eine A/D-Wandlereinheit 120, die den empfangenen analogen Datenwert in einen digitalen Wert wandelt (einen A/D-Wandler-Wert), eine Auslöser-Eingabeschnittstelle (I/F) 150, die einen Auslöser zum Stoppen der Aufzeichnung eines A/D-Wandler-Werts empfängt, eine Berechnungseinheit 130, die die gesamte Analogeingabeeinheit 100 steuert, und einen Bus I/F 160, der als eine Kommunikationsschnittstelle zum Kommunizieren mit der CPU-Einheit 200 über den Zwischen-Einheiten-Bus 300 dient. Die Berechnungseinheit 130, der gemeinsam verwendete Speicher 140 und der Bus I/F 160 werden durch einen internen Bus miteinander verbunden.
-
Die Berechnungseinheit 130 umfasst ferner eine Auslösererfassungseinheit 131, die einen Auslöser erfasst, der durch die Auslösereingabe I/F 150 empfangen wird, und eine Aufzeichnungsausführungseinheit 132, die einen A/D-Wandler-Wert, der durch die A/D-Wandlereinheit 120 ausgegeben wird, sequentiell in den Aufzeichnungsspeicherbereich 142 schreibt, als Aufzeichnungsdaten, auf Grundlage eines Auslösers, der durch die Auslösererfassungseinheit 131 erfasst wird, und eines Parameters, der in dem Parameterspeicherbereich 143 gespeichert wird. Die Aufzeichnungsausführungseinheit 132 schreibt Aufzeichnungsdaten, die zusammenhängen mit der Anzahl von Daten, die vorab eingestellt werden, beginnend mit der Erfassung eines Auslösers durch die Auslösererfassungseinheit 131 (der Anzahl von Daten nach der Auslösung), und stoppt dann die Aufzeichnung. Bezüglich des Auslösers können die folgenden Auslösertypen verwendet werden, zusätzlich zu einem Auslöser, der erzeugt wird durch ein Signal, das von der Auslöser-Eingabe I/F 150 eingegeben wird.
- – Ein Auslöser durch ein internes Signal der PLC 1000.
- – Ein Auslöser, der erzeugt wird, wenn der A/D-Wandler-Wert größer oder geringer als ein eingestellter Wert ist.
- – Ein regulärer Auslöser, der täglich zur gleichen Zeit erzeugt wird, unter Verwendung interner Taktinformationen der PLC 1000.
- – Ein Puffer-Voll-Auslöser, der erzeugt wird, wenn die Kapazität des Aufzeichnungsspeicherbereichs 142 voll wird.
- – Ein Fehlerauslöser und ein Alarmauslöser in Kooperation mit einer Fehlerausgabefunktion und einer Alarmerfassungsfunktion, die in der Analogeingabeeinheit 100 enthalten sind.
- – Ein Verbundauslöser, der erzeugt wird, durch eine Vielzahl von AND-Bedingungen und OR-Bedingungen der Auslöser, die oben erwähnt wurden.
-
Ein Betrieb der Ausführungsform der vorliegenden Erfindung wird mit Bezug auf die 4 und 5 erläutert. Die 4 und 5 sind Flussdiagramme zum Erläutern eines Betriebs der Analogeingabeeinheit 100.
-
Die Aufzeichnungsausführungseinheit 132 erfasst mit Bezug auf 4 eine anfängliche Einstellung, die sich auf eine Aufzeichnung bezieht, die durch einen Nutzer eingestellt wird (Schritt S10). Bei der anfänglichen Einstellung werden eine Aufzeichnungsperiode, ein Auslösungstyp und die Anzahl von Daten nach der Auslösung eingestellt. Die Aufzeichnungsperiode wird eingestellt, so dass diese ein ganzzahliges Vielfaches der Periode eines Abtastintervalls ist.
-
Wenn als nächstes eine A/D-Wandlung durch die A/D-Wandlereinheit 120 gestartet wird, startet die Aufzeichnungsausführungseinheit 132 die Aufzeichnung eines A/D-Wandler-Werts (Schritt S11). Insbesondere verwendet die Aufzeichnungsausführungseinheit 132 einen Taktgeber und einen Zähler, um zu bestimmen, ob eine Aufzeichnungsperioden-Intervallzeit zum Schreiben von Aufzeichnungsdaten in dem Aufzeichnungsspeicherbereich 142 in jeder Aufzeichnungsperiode erreicht ist (Schritt S12).
-
Wenn die abgelaufene Zeit vom Schritt S11 oder das vorhergehende Schreiben die Aufzeichnungsperioden-Intervallzeit nicht erreicht (NEIN im Schritt S12), wird ein Schritt zum Bestimmen fortgesetzt, ob die Aufzeichnungsperioden-Intervallzeit erreicht ist. Wenn die Aufzeichnungsperioden-Intervallzeit erreicht ist (JA im Schritt S12), bestimmt die Aufzeichnungsausführungseinheit 132 ferner, ob die Aufzeichnung in dem ersten Zyklus ist (Schritt S13). Ob die Aufzeichnung in dem ersten Zyklus ist, kann zum Beispiel bestimmt werden, indem bestimmt wird, ob die Speicherkapazität, die durch die Anzahl gespeicherter Daten angezeigt wird, gleich dem Speicherbereich in dem Aufzeichnungsspeicherbereich 142 ist.
-
Wenn die Aufzeichnung in dem ersten Zyklus ist (JA im Schritt S13), erfasst die Aufzeichnungsausführungseinheit 132 die Anzahl der gespeicherten Daten von dem Parameterspeicherbereich 143 (Schritt S14), und schreibt dann einen A/D-Wandler-Wert, der durch die A/D-Wandlereinheit 120 ausgegeben wird, in eine Adresse, die bereitgestellt wird, durch Hinzufügen der Kapazität, die mit der Anzahl gespeicherter Daten zusammenhängt, zur Head-Adresse des Aufzeichnungsspeicherbereichs 142 (Schritt S15). Die Aufzeichnungsausführungseinheit 132 führt dann eine Aktualisierung durch zum Hinzufügen einer eins zur Anzahl gespeicherter Daten (Schritt S16).
-
Wenn die Aufzeichnung in dem zweiten Zyklus und anschließenden Zyklen ist (NEIN im Schritt S13), erfasst die Aufzeichnungsausführungseinheit 132 einen Head-Pointer von dem Parameterspeicherbereich 143 (Schritt S17) und schreibt einen A/D-Wandler-Wert, der durch die A/D-Wandlereinheit 120 ausgegeben wird, in eine Adresse, die angezeigt wird, durch den Head-Pointer des Aufzeichnungsspeicherbereichs 142 (Schritt S18). Die Aufzeichnungsausführungseinheit 132 addiert dann ein Datenelement zu dem Head-Pointer (Schritt S19) und bestimmt, ob der Head-Pointer die letzte Adresse des Aufzeichnungsspeicherbereichs 142 überschreitet (Schritt S20). Wenn der Head-Pointer die letzte Adresse überschreitet (JA im Schritt S20), wird der Head-Pointer auf die Head-Adresse des Aufzeichnungsspeicherbereichs 142 eingestellt (S21).
-
Wenn der Head-Pointer die letzte Adresse des Aufzeichnungsspeicherbereichs 142 im Schritt S16, S21 oder S20 nicht überschreitet (NEIN im Schritt S20), gibt die Aufzeichnungsausführungseinheit 132 die Anzahl gespeicherter Daten an den Parameterspeicherbereich 143 aus (Schritt S22) und den Head-Pointer an den Parameterspeicherbereich 143 (Schritt S23). Der Prozess geht dann zum Schritt S12.
-
Im Folgenden wird ein Betrieb der Analogeingabeeinheit 100 erläutert, wenn ein Auslöser erfasst wird. 5 ist ein erläuterndes Diagramm eines Betriebs der Analogeingabeeinheit 100, wenn ein Auslöser bzw. Trigger erfasst wird.
-
Die Aufzeichnungsausführungseinheit 132 erfasst zuerst eine anfängliche Einstellung und dann die Anzahl von Daten nach der Auslösung (Schritt S30). Die Aufzeichnungsausführungseinheit 132 bestimmt dann, ob die Auslösererfassungseinheit 131 einen Auslöser bzw. Trigger erfasst (Schritt S31). Wenn ein Auslöser nicht erfasst wird (NEIN im Schritt S31), wird die Bestimmung fortgesetzt, bis ein Auslöser erfasst wird. Wenn ein Auslöser erfasst wird (JA im Schritt S31), bestimmt die Aufzeichnungsausführungseinheit 132 ferner, ob Daten, die mit der Anzahl von Daten nach der Auslösung zusammenhängen, seit der Auslösererfassung, in den Aufzeichnungsspeicherbereich 142 geschrieben wurden (Schritt S32). Wenn die Daten, die mit der Anzahl von Daten nach der Auslösung zusammenhängen, nicht in den Aufzeichnungsspeicherbereich 142 geschrieben wurden (NEIN im Schritt S32), wird die Bestimmung fortgesetzt bis die Daten, die mit der Anzahl von Daten nach der Auslösung zusammenhängen, geschrieben werden.
-
Wenn die Daten, die mit der Anzahl von Daten nach der Auslösung zusammenhängen, in den Aufzeichnungsspeicherbereich 142 geschrieben werden (JA im Schritt S32), stoppt die Aufzeichnungsausführungseinheit 132 einen Aufzeichnungsdaten-Speicherprozess (Schritt S33) und führt eine Neuordnung bzw. Reorganisation der Aufzeichnungsdaten durch, die in dem Aufzeichnungsspeicherbereich 142 gespeichert sind, so dass sich diese in einer Zeitreihe vom Anfang des Aufzeichnungsspeicherbereichs 142 befinden (Schritt S34). 6 ist ein erläuterndes Diagramm der Reorganisation im Schritt S34. Da, wie oben erläutert, der Aufzeichnungsspeicherbereich 142 eine Ring-Puffer-Konfiguration aufweist, existiert eine Grenze zwischen den letzten Aufzeichnungsdaten und den ältesten Aufzeichnungsdaten an einem vorbestimmten Zeitpunkt, wie in der linken Tabelle von 6 gezeigt. Die Aufzeichnungsausführungseinheit 132 führt eine Neuorganisation der Daten durch, die wie in der linken Tabelle der 6 gezeigt gespeichert sind, um so zu sein, wie in der rechten Tabelle der 6 gezeigt, so dass die ältesten Aufzeichnungsdaten am Beginn gespeichert sind und die letzten Aufzeichnungsdaten zuletzt gespeichert sind. 7 ist ein erläuterndes Diagramm eines Zustands des Aufzeichnungsspeicherbereichs 142 nach der Neuorganisation. Wie in 7 gezeigt, werden Aufzeichnungsdaten, die mit der Anzahl von Daten nach der Auslösung zusammenhängen, in Adressen nach einer Schreibadresse zum Zeitpunkt der Auslösererfassung gespeichert. Während die Daten in einer Zeitreihe von oben neu angeordnet werden, können die Daten auch in einer Zeitreihe von unten angeordnet werden.
-
Nach dem Schritt S34 schaltet die Aufzeichnungsausführungseinheit 132 ein Aufzeichnungsbeendigungsflag an, das anzeigt, dass die Aufzeichnung beendet wurde (Schritt S35), und beendet den Betrieb. Ein Teil von Bits in dem gemeinsam verwendeten Speicher 140 kann als ein Speicherbereich für das Aufzeichnungsbeendigungsflag eingestellt sein und die Beendigung der Aufzeichnung kann angezeigt werden, wenn das Bit des Speicherbereichs zu 1 wird. Alternativ können andere Speicherbereiche als Aufzeichnungsbeendigungsflag eingestellt werden. Ferner kann die Aufzeichnungsausführungseinheit 132 die CPU-Einheit 200 benachrichtigen, dass die Aufzeichnung beendet wurde, während das Aufzeichnungsbeendigungsflag angeschaltet wird. Wenn die Aufzeichnungsdaten sequentiell von der Head-Adresse des Aufzeichnungsspeicherbereichs 142 in einem Personalcomputer oder in eine Anzeigevorrichtung in einem derartigen Zustand gelesen werden, können die Aufzeichnungsdaten in einer Zeitreihe erfasst werden.
-
Während erläutert wurde, dass die Daten neu angeordnet werden, um in einer Zeitreihe von der Head-Adresse gespeichert zu werden, im Schritt S34, kann durch die anfängliche Einstellung eingestellt werden, ob die Operation im Schritt S34 durchgeführt oder übersprungen wird. In einem Fall, bei dem die Operation übersprungen wird, können die Aufzeichnungsdaten durch die periphere Vorrichtung in einer Zeitreihe neu angeordnet werden, wenn die periphere Vorrichtung den Head-Pointer sowie die Aufzeichnungsdaten liest. Ferner kann die periphere Vorrichtung einen Lesezugriff auf den gemeinsam verwendeten Speicher 140 durchführen, um die Aufzeichnungsdaten zu jeder Zeit zu lesen, sowie auch nur dann, wenn das Aufzeichnungsbeendigungsflag angeschaltet wird. Zu diesem Zeitpunkt wird, wie oben erläutert, bevorzugt, dass der Head-Pointer auch gelesen wird.
-
Während erläutert wurde, dass die Aufzeichnung bei einem Abtastprozessintervall durchgeführt wird, das schneller ist als die Periode des zyklischen Prozesses, kann die Aufzeichnungsperiode langsamer als die Periode des zyklischen Prozesses eingestellt werden, und Aufzeichnungsdaten können über die CPU-Einheit 200 in die periphere Vorrichtung gelesen werden, im Wesentlichen in einer Echtzeit. Wenn ferner die gelesenen Aufzeichnungsdaten in einer Lesereihenfolge angeordnet werden, kann die periphere Vorrichtung einen Echtzeit-Tendenzgraphen erzeugen, der einen zeitlichen Übergang von Aufzeichnungsdaten anzeigt.
-
Wie oben erläutert, ist gemäß der Ausführungsform der vorliegenden Erfindung die Analogeingabeeinheit 100 konfiguriert, um zu gewährleisten, dass der Aufzeichnungsspeicherbereich 142 in dem gemeinsam verwendeten Speicher 140 eine Ring-Puffer-Konfiguration aufweist, und zum Speichern des Head-Pointers, der die Adresse einer Grenze zwischen den letzten Aufzeichnungsdaten und den ältesten Aufzeichnungsdaten unter den Aufzeichnungsdaten anzeigt, die in dem Aufzeichnungsspeicherbereich 142 in dem gemeinsam verwendeten Speicher 140 gespeichert sind. Daher können alle A/D-Wandler-Werte ohne Fehler aufgezeichnet werden und die aufgezeichneten Daten können leicht gelesen werden, so dass diese mit einer Zeitreihe zusammenhängen können, ohne dass irgendein bestimmter Kommunikationsprozess erforderlich ist. Da die Analogeingabeeinheit 100 zur Neuanordnung der Aufzeichnungsdaten, die in dem Aufzeichnungsspeicherbereich 142 mit der Ring-Puffer-Konfiguration gespeichert sind, in einer Zeitreihe konfiguriert ist, können Aufzeichnungsdaten in einer Zeitreihe gelesen werden, ohne irgendwelche bestimmen Operation durchzuführen.
-
Während in der obigen Erläuterung ein A/D-Wandler-Wert, der durch den zyklischen Prozess gelesen bzw. ausgelesen wird, in dem A/D-Wandlerwert-Speicherbereich 141 gespeichert wird, und die Aufzeichnungsdaten des A/D-Wandlerwerts in dem Aufzeichnungsspeicherbereich 142 gespeichert werden, kann der A/D-Wandlerwert-Speicherbereich 141 gelöscht werden und die CPU-Einheit 200 kann einen A/D-Wandlerwert lesen, der als Aufzeichnungsdaten dient, die in dem Aufzeichnungsspeicherbereich 142 in dem zyklischen Prozess gespeichert werden. Zu diesem Zeitpunkt bezieht sich die CPU 200 bevorzugt auf eine Position, an der die letzten Daten auf Grundlage des Head-Pointers oder der Anzahl gespeicherter Daten gespeichert sind. Das heißt, dass in dem Fall des ersten Zyklus die Adresse, welche den letzten A/D-Wandler-Wert speichert, die Adresse ist, die bestimmt wird durch Addieren der Speicherkapazität, die mit der Anzahl gespeicherter Daten zusammenhängt, zu der Head-Adresse. In dem Fall des zweiten Zyklus und der anschließenden Zyklen ist die Adresse, die den letzten A/D-Wandler-Wert speichert, die Adresse, die durch (den Head-Pointer –1) angezeigt wird. Wenn ferner ein Nutzerprogramm einen vergangenen Wert des A/D-Wandler-Werts verwendet, kann die CPU-Einheit 200 den vergangenen Wert des A/D-Wandler-Werts, der in dem Aufzeichnungsspeicherbereich 142 gespeichert ist, als die Aufzeichnungsdaten lesen.
-
Ferner kann der Aufzeichnungsprozess neu gestartet werden, durch Ausgabe der Auslöserbedingung, nachdem die Aufzeichnung aufgrund der Erfassung eines Auslösers bzw. Triggers gestoppt ist. Mit dieser Konfiguration kann das Starten und Stoppen der Aufzeichnung durch an- oder ausschalten der Auslöserbedingung gesteuert werden.
-
Während ferner erläutert wurde, dass die Aufzeichnung gestartet wird, wenn die A/D-Wandlereinheit 120 die A/D-Wandlung startet, kann die Aufzeichnung durch Erfassen eines Auslösers bzw. Triggers gestartet werden, nachdem die A/D-Wandlung gestartet ist.
-
Industrielle Anwendbarkeit
-
Wie oben erläutert, sind der A/D-Wandler und das PLC-System gemäß der vorliegenden Erfindung bevorzugt für Anwendungen für einen A/D-Wandler, der an einer PLC angeschlossen ist, und ein PLC-System dafür.
-
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 8-69355 [0004]
- JP 2008-20392 [0004]
- JP 2007-233593 [0004]