-
Gebiet
-
Diese Erfindung betrifft eine (speicher-)programmierbare Steuerung, deren Peripheriegerät und ein Programm für den Zugriff auf Tabellendaten, das mit einer programmierbaren Steuerung verwendet wird.
-
Hintergrund
-
Eine programmierbare Steuerung führt das Lesen oder Schreiben von Gerätedaten, die in der programmierbaren Steuerung enthalten sind, entsprechend einem vom Nutzer erstellten Ablaufprogramm aus. Als Reaktion darauf wird z. B. ein Zustand eines mit der programmierbaren Steuerung verbundenen Eingabegeräts, wie z. B. eines Relais, eines Schalters und eines Sensors, erfasst, oder ein Ausgabegerät, wie z. B. ein Stellantrieb und ein Ventil, gesteuert. Zum Beispiel werden auch Rezepturdaten, wie die Größe und Farbe eines hergestellten Produkts, und Ergebnisdaten, wie die Fertigungsnummer und die Anzahl fehlerhafter Produkte pro hergestelltem Produkt, als Gerätedaten gespeichert. Wenn somit ein Bediener ein Ablaufprogramm erstellt und die zur Ansteuerung eines Eingabe-/Ausgabegeräts erforderlichen Daten aus den Rezepturdaten erfasst, können Produkte flexibel verändert werden. Wenn weiterhin ein Ablaufprogramm zur Speicherung der Kontrollergebnisse als Ergebnisdaten erstellt wird, ist die Lagerverwaltung der für die Produktion erforderlichen Elemente einfach durchzuführen.
-
Daten wie Rezepturdaten und Ergebnisdaten werden im Allgemeinen in einer programmierbaren Steuerung in einem zweidimensionalen Datentabellen(nachstehend bezeichnet als „Tabellen”)-Format wie CSV (durch Komma getrennte Werte) gespeichert, um von einem übergeordneten Computersystem einfach verarbeitet werden zu können. Wenn die programmierbare Steuerung auf die Daten zugreift, muss die programmierbare Steuerung die Daten in einen Gerätespeicher einlesen. Um ausschließlich Tabellendaten (wie die Rezepturdaten und die Ergebnisdaten) zu erkennen, die die Funktion von Tabellenelementen haben, können eine Spaltennummer und eine Zeilennummer der Tabelle angegeben werden. Der Gerätespeicher weist jedoch keine Spalten und Zeilen auf, die Tabellendaten werden ihm nur sukzessive zur Verfügung gestellt, und wenn die programmierbare Steuerung somit auf die Gerätedaten im Gerätespeicher zugreift, ist die Berechnung einer Geräteadresse erforderlich.
-
Konventionell wird eine Technik angeboten, mit der eindimensionale Daten als zweidimensionale Tabellendaten auch in einer programmierbaren Steuerung verarbeitet werden können (z. B. Patentliteratur 1). Bei dieser Technik wird zunächst für jede Tabelle ein Tabellendefinitionsbefehl einschließlich einer Tabellenidentifikationsnummer, der Anzahl der Tabellenspalten, der Anzahl der Tabellenzeilen und einer Kopf-Geräteadresse einer Tabelle definiert. Anschließend wird durch einen Tabellenelement-Lesebefehl ein Element aus den eindimensionalen Daten extrahiert, um ein Lese-Zielelement unter Verwendung einer Spalten- und einer Zeilennummer in der zweidimensionalen Tabelle als Parameter zu bestimmen. Die Geräteadresse des Lese-Zielelements auf einem Gerätespeicher wird unter Verwendung der Kopf-Geräteadresse und der Anzahl der Tabellenzeilen des Tabellendefinitionsbefehls und einer Spaltennummer und einer Zeilennummer des Tabellenelement-Lesebefehls berechnet.
-
Literaturhinweise
-
Patentliteratur
-
- Patentliteratur 1: Japanische Patentanmeldung Offenlegung Nr. 2010-198132
-
Kurzdarstellung
-
Technisches Problem
-
Wenn jedoch bei der in Patentliteratur 1 beschriebenen programmierbaren Steuerung ein Lese-Zielelement der Tabellendaten gelesen wird, müssen zwei Schritte ausgeführt werden, nämlich ein Schritt „Einlesen von Tabellendaten in einen Gerätespeicher” und ein Schritt „Suchen eines Lese-Zielelements im Gerätespeicher”. Deshalb besteht bisher das Problem, dass die Suche des Lese-Zielelements zeitaufwändig ist. Des Weiteren muss der Gerätespeicher über ausreichend Speicherkapazität verfügen, um die Tabellendaten zu lesen, was die Herstellungskosten einer programmierbaren Steuerung erhöht.
-
Die vorliegende Erfindung wurde im Hinblick auf die vorstehend beschriebenen Probleme entwickelt, und ein Zweck der vorliegenden Erfindung besteht darin, Folgendes bereitzustellen: eine programmierbare Steuerung, die beim Lesen von Daten aus einer Datenbank die Anzahl der Schritte zum Auslesen aus der Datenbank im Vergleich zum Stand der Technik reduzieren kann, ein Programm für den Zugriff auf Tabellendaten einer derartigen programmierbaren Steuerung, und ein Peripheriegerät, das ein Programm, das mit einer derartigen programmierbaren Steuerung verwendet wird, programmieren kann.
-
Problemlösung
-
Zur Verwirklichung des oben genannten Ziels bezieht sich die vorliegende Erfindung auf eine programmierbare Steuerung, die Folgendes enthält: eine Befehlsausführungseinheit, die mehrere Befehle in einem Anwendungsprogramm der Reihe nach ausführt; eine Datenbankspeichereinheit, in der eine Datenbank gespeichert ist, die Daten enthält, die in einem durch die Befehlsausführungseinheit in einem Tabellenformat ausgeführten Prozess verwendet werden; eine Einheit zum Generieren von Datenbankabfragebefehlen, die, wenn die Befehle einen Datenbankzugriffsbefehl enthalten, den Zugriffsbefehl in einen in einer Datenbankabfragesprache beschriebenen Datenbankabfragebefehl umwandeln; und eine Datenbankverwaltungseinheit, die auf die Datenbank in der Datenbankspeichereinheit zugreift und durch den Datenbankabfragebefehl vorgegebene Daten erfasst.
-
Vorteilhafte Auswirkungen der Erfindung
-
Nach der vorliegenden Erfindung wandelt eine Einheit zum Generieren von Datenbankabfragebefehlen einen Datenbankzugriffsbefehl in einen in einer Datenbankabfragesprache beschriebenen Datenbankabfragebefehl um; eine Datenbankverwaltungseinheit greift auf eine Datenbank einer Datenbankspeichereinheit zu, um durch den Datenbankabfragebefehl vorgegebene Daten zu erfassen; und eine END-Befehlsverarbeitungseinheit schreibt die erfassten Daten in eine durch einen Zugriffsbefehl einer Benutzerdaten-Speichereinheit festgelegte Adresse. Wenn somit Daten aus einer Datenbank in eine programmierbare Steuerung eingelesen werden, ist es möglich, die Anzahl der Schritte zum Auslesen aus der Datenbank im Vergleich zu konventionellen Techniken zu reduzieren.
-
Kurzbeschreibung der Zeichnungen
-
1 stellt ein Blockdiagramm dar, das die funktionale Konfiguration einer programmierbaren Steuerung nach einer ersten Ausführungsform schematisch veranschaulicht.
-
2 stellt ein Diagramm dar, das eine Konfiguration einer Programmspeichereinheit schematisch veranschaulicht.
-
3 stellt ein Diagramm dar, das ein Beispiel einer Datenbank veranschaulicht.
-
4 stellen Diagramme dar, die ein Beispiel des Inhalts eines DB_OPEN-Befehls veranschaulichen.
-
5 stellen Diagramme dar, die ein Beispiel des Inhalts eines DB_SELECT-Befehls veranschaulichen.
-
6 stellen Diagramme dar, die ein Beispiel des Inhalts eines DB_CLOSE-Befehls veranschaulichen.
-
7 stellt ein Diagramm dar, das ein Beispiel einer Anweisung zum Lesen einer Datenbank in einem Kontaktplanprogramm veranschaulicht.
-
8 stellt einen Ablaufplan dar, der ein Beispiel für einen Ablauf des gesamten Prozesses der programmierbaren Steuerung veranschaulicht.
-
9 stellt einen Ablaufplan dar, der ein Beispiel für einen Prozessablauf zur Ausführung eines Datenbankzugriffsbefehls veranschaulicht.
-
10 stellt ein Diagramm dar, das einen Prozess eines Datenbankzugriffsbefehls schematisch veranschaulicht.
-
11 stellen Diagramme dar, die ein Beispiel für einen Prozess zum Generieren eines Datenbankabfragebefehls aus einem Datenbankzugriffsbefehl veranschaulichen.
-
12 stellt einen Ablaufplan dar, der ein Beispiel für einen Prozessablauf zur Vollständigkeitsprüfung während eines END-Prozesses veranschaulicht.
-
13 stellt ein Blockdiagramm dar, das die funktionale Konfiguration einer programmierbaren Steuerung nach einer zweiten Ausführungsform veranschaulicht.
-
14 stellt ein Diagramm dar, das ein Beispiel für den Inhalt von Datenbankzugriff-Einstellungsinformationen nach der zweiten Ausführungsform veranschaulicht.
-
15 stellt ein Diagramm dar, das ein Beispiel für ein Anwendungsprogramm einer Datenbankleseanweisung nach der zweiten Ausführungsform veranschaulicht.
-
16 stellt ein Diagramm dar, das ein Beispiel für Befehlsumwandlungsinformationen beim Generieren eines Datenbankabfragebefehls aus den Datenbankzugriff-Einstellungsinformationen veranschaulicht.
-
17 stellt Diagramme dar, die einen Fall für das Lesen von Daten aus anderen mit einem Netzwerk verbundenen programmierbaren Steuerungen schematisch veranschaulichen.
-
18 stellt ein Blockdiagramm dar, das ein Beispiel für eine funktionale Konfiguration eines Engineering-Tools schematisch veranschaulicht.
-
Beschreibung der Ausführungsformen
-
Ausführungsbeispiele einer (speicher-)programmierbaren Steuerung, eines zugehörigen Peripheriegeräts und eines Programms für den Zugriff auf Tabellendaten, das mit einer programmierbaren Steuerung nach der vorliegenden Erfindung verwendet wird, werden nachstehend im Detail unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Die vorliegende Erfindung ist nicht auf die Ausführungsformen beschränkt.
-
Erste Ausführungsform
-
1 stellt ein Blockdiagramm dar, das die funktionale Konfiguration einer programmierbaren Steuerung nach einer ersten Ausführungsform schematisch veranschaulicht. Eine programmierbare Steuerung 10 enthält eine Anwendungsprogramm-Speichereinheit 11, eine Nutzerdaten-Speichereinheit 12, die als Nutzerdaten-Speichereinheit fungiert, eine Datenbankspeichereinheit 13, die als Datenbankspeichereinheit fungiert, eine Systemprogramm-Speichereinheit 14, eine Recheneinheit 15 und eine Systemdaten-Speichereinheit 16, die als Systemdaten-Speichereinheit fungiert.
-
In der Anwendungsprogramm-Speichereinheit 11 ist ein Anwendungsprogramm, z. B. ein durch die programmierbare Steuerung 10 ausgeführtes Kontaktplanprogramm, gespeichert. 2 stellt ein Diagramm dar, das eine Konfiguration einer Programmspeichereinheit schematisch veranschaulicht. Bei einem Anwendungsprogramm 111 handelt es sich um eine Reihe aus mehreren Befehlen 111-1, 111-2, ..., 111-E. Es wird angenommen, dass ein Datenbankzugriffsbefehl zum Zugriff auf eine Datenbank in diesen Befehlen 111-1, 111-2, ..., 111-E enthalten ist. Die Befehle enthalten normale Befehle 111-1, 111-2, ... zum Ausführen eines Programmausführungsprozesses und einen END-Befehl 111-E, der am Ende des Anwendungsprogramms 111 ausgeführt wird. Der Datenbankzugriffsbefehl wird zu einem späteren Zeitpunkt beschrieben. Die Anwendungsprogramm-Speichereinheit 11 besteht aus einem nicht-flüchtigen Speichergerät wie einem ROM (Nurlesespeicher) oder einem EEPROM (elektrisch löschbarem Nurlesespeicher).
-
Bei der Nutzerdaten-Speichereinheit 12 handelt es sich um einen Gerätespeicher, in dem die während der Ausführung eines Anwendungsprogramms verwendeten Daten gespeichert sind. Die Nutzerdaten-Speichereinheit 12 umfasst einen Speicherbereich 121 für Suchbedingungen, in dem eine während der Ausführung eines Datenbankzugriffsbefehls erforderliche Suchbedingung und dergleichen gespeichert ist, und einen Sicherungsbereich 122, in dem Daten während der Ausführung eines Anwendungsprogramms temporär gespeichert werden. Im Speicherbereich 121 für Suchbedingungen ist ein Speicherort einer Datenbank einschließlich zu erfassender Daten und eine Suchbedingung für die zu erfassenden Daten gespeichert. Die Suchbedingung wird im Vorfeld von einem Nutzer mittels eines nicht dargestellten Engineering-Tools festgelegt. Der Speicherort und die Suchbedingung stellen Parameter eines Datenbankzugriffsbefehls dar, der zu einem späteren Zeitpunkt beschrieben wird. Im Sicherungsbereich 122 wird das Ergebnis der Ausführung eines Datenbankabfragebefehls gespeichert. Ein DRAM (dynamischer Direktzugriffsspeicher), ein SRAM (statischer Direktzugriffsspeicher) und dergleichen können als die Nutzerdaten-Speichereinheit 12 verwendet werden.
-
In der Datenbankspeichereinheit 13 sind zum Beispiel Datenbanken von Rezepturdaten, wie der Größe und Farbe eines hergestellten Produkts, und von Ergebnisdaten, wie der Anzahl der hergestellten Produkte und der Anzahl der fehlerhaften Produkte pro hergestelltem Produkt, gespeichert. Eine Datenbank besteht aus zweidimensionalen Tabellendaten. 3 stellt ein Diagramm dar, das ein Beispiel einer Datenbank veranschaulicht. 3 stellt beispielhaft eine Produktgrößentabelle dar, in der die Größe für jeden Produkttyp aufgeführt ist. In Zeile 0 ist eine Produktnummer zur Kennzeichnung eines Produkts gespeichert, und in den Zeilen 1 bis 3 sind die Länge, die Breite bzw. die Höhe eines Produkts gespeichert. In den Spalten 0 bis 4 sind Aufzeichnungen zu den jeweiligen Produkten gespeichert. Bei der Datenbankspeichereinheit 13 handelt es sich um ein Sekundärspeichergerät, das aus einem nicht-flüchtigen Speichergerät wie einem Flash-Speicher und einer Festplatte besteht.
-
In der Systemprogramm-Speichereinheit 14 ist ein Systemprogramm gespeichert, das von der Recheneinheit 15, bei der es sich um so genannte Firmware handelt, ausgeführt wird. Beispiele für das Systemprogramm umfassen ein Befehlsausführungsprogramm, das einen normalen Befehl eines Anwendungsprogramms ausführt; ein Programm zum Generieren von Datenbankabfragebefehlen, das einen Datenbankzugriffsbefehl aus einem Anwendungsprogramm in einen Datenbankabfragebefehl in einem Format umwandelt, das es der Recheneinheit 15 ermöglicht, auf Daten in der Datenbankspeichereinheit 13 zuzugreifen; ein Datenbankverwaltungsprogramm, das gemäß einem Datenbankabfragebefehl auf die Datenbankspeichereinheit 13 zugreift; ein END-Befehlsverarbeitungsprogramm, das einen END-Befehl eines Anwendungsprogramms ausführt, und dergleichen. Die Systemprogramm-Speichereinheit 14 besteht aus einem nicht-flüchtigen Speichergerät wie einem ROM und einem EEPROM.
-
Bei dem Befehlsausführungsprogramm handelt es sich um ein Programm, das die Recheneinheit 15 dazu veranlasst, nacheinander das in der Anwendungsprogramm-Speichereinheit 11 gespeicherte Anwendungsprogramm 111 zu interpretieren und auszuführen. Genauer gesagt werden Befehle der Reihe nach, beginnend beim im Anwendungsprogramm 111 enthaltenen ersten Befehl 111-1 bis zu einem Befehl unmittelbar vor dem letzten END-Befehl 111-E, ausgeführt. Wenn ein Datenbankzugriffsbefehl im Anwendungsprogramm 111 enthalten ist, wird dieser Prozess an ein Programm zum Generieren von Datenbankabfragebefehlen gesendet.
-
Bei dem Programm zum Generieren von Datenbankabfragebefehlen handelt es sich um ein Programm, das, wenn ein Datenbankabfragebefehl im Anwendungsprogramm 111 der Anwendungsprogramm-Speichereinheit 11 enthalten ist, die Recheneinheit 15 dazu veranlasst, aus einem in einem Anwendungsprogramm(z. B. einem Kontaktplanprogramm)-Format beschriebenen Datenbankzugriffsbefehl einen in einer Datenbankabfragesprache beschriebenen Datenbankabfragebefehl zu generieren. Bei der Datenbankabfragesprache handelt es sich zum Beispiel um SQL. Der Datenbankabfragebefehl ist ein Befehl, mit dem in der Praxis während der Ausführung eines Datenbankverwaltungsprogramms auf eine Datenbank zugegriffen werden kann, und genauer gesagt handelt es sich dabei um einen SQL-Befehl. Der generierte Datenbankabfragebefehl wird in der Systemdaten-Speichereinheit 16 gespeichert.
-
Bei dem Datenbankverwaltungsprogramm handelt es sich um ein Programm, das die Recheneinheit 15 dazu veranlasst, einen in einem Speicherbereich 161 für Datenbankabfragebefehle der Systemdaten-Speichereinheit 16 gespeicherten Datenbankabfragebefehl auszuführen. Genauer gesagt liest das Datenbankverwaltungsprogramm einen Datenbankabfragebefehl und extrahiert direkt Zieldaten (ein Element) aus einer Datenbank in der Datenbankspeichereinheit 13.
-
Bei dem END-Befehlsverarbeitungsprogramm handelt es sich um ein Programm, das die Recheneinheit 15 dazu veranlasst, den letzten END-Befehl 111-E eines in der Systemprogramm-Speichereinheit gespeicherten Anwendungsprogramms auszuführen. Der END-Befehl 111-E führt einen Prozess aus, der sich von der Ausführung eines normalen Befehls unterscheidet, der einen Prozess zur Kommunikation mit einem PC oder einem externen Gerät sowie einen Prozess zum Erfassen des Ergebnisses der Ausführung eines Datenbankabfragebefehls durch ein Datenbankverwaltungsprogramm umfasst. Im Prozess zum Erfassen des Ergebnisses der Ausführung eines Datenbankabfragebefehls werden Daten, die von einem Datenbankverwaltungsprogramm extrahiert wurden, an einen Speicherort geschrieben, der durch den Datenbankzugriffsbefehl im Sicherungsbereich 122 der Nutzerdaten-Speichereinheit 12 vorgegeben ist.
-
Die Recheneinheit 15 führt ein in der Systemprogramm-Speichereinheit 14 gespeichertes Systemprogramm (Firmware) aus. Eine Befehlsausführungseinheit entspricht der Recheneinheit 15, die ein Befehlsausführungsprogramm ausführt, eine Einheit zum Generieren von Datenbankabfragebefehlen entspricht der Recheneinheit 15, die ein Programm zum Generieren von Datenbankabfragebefehlen ausführt, eine Datenbankverwaltungseinheit entspricht der Recheneinheit 15, die ein Datenbankverwaltungsprogramm ausführt, und eine END-Befehlsverarbeitungseinheit entspricht der Recheneinheit 15, die ein END-Befehlsverarbeitungsprogramm ausführt.
-
Bei der Systemdaten-Speichereinheit 16 handelt es sich um einen Arbeitsspeicher, in den Daten von der Firmware temporär abgelegt werden. Ein von der Recheneinheit 15 generierter Datenbankabfragebefehl wird darin temporär gespeichert. Ein DRAM, ein SRAM und dergleichen können als Systemdaten-Speichereinheit 16 verwendet werden.
-
Eine derart konfigurierte programmierbare Steuerung umfasst eine CPU (Zentraleinheit), ein ROM, ein Hauptspeichergerät, ein Sekundärspeichergerät und eine Netzwerkeinheit. Da eine durch die Recheneinheit 15 beschriebene Funktion in einem Programm beschrieben und das Programm in der Systemprogramm-Speichereinheit 14 gespeichert und durch eine CPU ausgeführt wird, kann eine programmierbare Steuerung mit der vorstehend beschriebenen Konfiguration erfasst werden.
-
In der ersten Ausführungsform greift die programmierbare Steuerung 10 direkt auf Zieldaten in einer Datenbank in der Datenbankspeichereinheit 13 zu, erfasst die Zieldaten und speichert das Ergebnis im Sicherungsbereich 122 der Nutzerdaten-Speichereinheit 12. Ein Datenbankzugriffsbefehl, der einen derartigen Prozess bewirkt, ist durch ein Kontaktplanprogramm (ein Anwendungsprogramm) definiert.
-
In diesem Fall werden drei Befehle, nämlich ein DB_OPEN-Befehl, ein DB_SELECT-Befehl und ein DB CLOSE-Befehl definiert.
-
(1) DB_OPEN-Befehl
-
Die 4 stellen Diagramme dar, die ein Beispiel des Inhalts eines DB_OPEN-Befehls veranschaulichen, wobei 4(a) ein Diagramm darstellt, das ein Beispiel für eine Konfiguration des DB-OPEN-Befehls veranschaulicht, 4(b) ein Diagramm darstellt, das ein Beispiel für den DB-OPEN-Befehl veranschaulicht, und 4(c) ein Diagramm darstellt, das die Beziehung zwischen einem Gerätespeicher und einem Parameter des DB OPEN-Befehls schematisch veranschaulicht. Bei dem DB OPEN-Befehl handelt es sich um einen Befehl zum Öffnen einer Operations-Zieldatenbank in der Datenbankspeichereinheit 13. Wie in 4(a) veranschaulicht, umfasst der DB_OPEN-Befehl drei Parameter A1 bis A3. Der Parameter A1 spezifiziert eine Operations-Zieldatenbank (Zieldatenbank zu öffnen). Der Parameter A2 spezifiziert eine Datenbankkennung zur Kennzeichnung einer offenen Zieldatenbank. Der Parameter A3 spezifiziert ein Gerät zur Anzeige, dass ein offener Prozess abgeschlossen ist.
-
Wie in 4(b) veranschaulicht, kann ein Gerät (eine Adresse) der Nutzerdaten-Speichereinheit 12 mithilfe der Parameter A1 und A2 spezifiziert werden. Zum Beispiel wird ein Gerät (eine Adresse) der Nutzerdaten-Speichereinheit 12 in die Parameter A1 und A2 eingegeben, und es werden Informationen aus einer offenen Zieldatenbank im Gerät gespeichert. In Bezug auf 4(c) werden zum Beispiel Werte einer IP(Internetprotokoll)-Adresse „127.0.0.1” eines Geräts (einer programmierbaren Steuerung), das die Datenbankspeichereinheit 13 umfasst, in die Geräte D1000 bis D1003 eingegeben und es wird ein Name „MyDB” einer offenen Zieldatenbank in der Datenbankspeichereinheit 13 in die Geräte D1004 bis D1006 eingegeben. Ein Abschlussgerät M0, das eingeschaltet wird, wenn ein offener Prozess einer offenen Zieldatenbank abgeschlossen ist, wird im Parameter A3 eingestellt.
-
(2) DB_SELECT-Befehl
-
Die 5 stellen Diagramme dar, die ein Beispiel des Inhalts eines DB_SELECT-Befehls veranschaulichen, wobei 5(a) ein Diagramm darstellt, das ein Beispiel für eine Konfiguration des DB_SELECT-Befehls veranschaulicht, 5(b) ein Diagramm darstellt, das ein Beispiel für den DB_SELECT-Befehl veranschaulicht, und 5(c) ein Diagramm darstellt, das die Beziehung zwischen einem Gerätespeicher und einem Parameter des DB SELECT-Befehls schematisch veranschaulicht. Bei dem DB_SELECT-Befehl handelt es sich um einen Befehl, um gewünschte Daten aus einer Datenbank zu holen, die durch einen DB_OPEN-Befehl geöffnet wird. Wie in 5(a) veranschaulicht, umfasst der DB_SELECT-Befehl fünf Parameter B1 bis B5. Der Parameter B1 spezifiziert eine Datenbankkennung zur Spezifizierung einer Operations-Zieldatenbank. Der Parameter B2 spezifiziert eine Bedingung, die eine Aufzeichnung kennzeichnet, die aus einer Operations-Zieltabelle einer Operations-Zieldatenbank gelesen wird. Der Parameter B3 spezifiziert ein Feld, das aus der durch Parameter B2 spezifizierten Aufzeichnung gelesen wird. Der Parameter B4 spezifiziert einen Speicherort der durch die Parameter B2 und B3 gelesenen Daten. Der Parameter B5 spezifiziert ein Gerät, das anzeigt, dass ein Leseprozess abgeschlossen ist.
-
Wie in 5(b) veranschaulicht, kann ein Gerät (eine Adresse) der Nutzerdaten-Speichereinheit 12 mithilfe der Parameter B1 bis B4 spezifiziert werden. Der Parameter B1 entspricht der Datenbankkennung, die durch den Parameter A2 eines DB_OPEN-Befehls spezifiziert ist. Der Parameter B2 spezifiziert ein Gerät der Nutzerdaten-Speichereinheit 12, in dem die Spezifizierungsinformationen für die Lesezielaufzeichnung gespeichert werden, die eine Lesezieltabelle und eine Lesezielaufzeichnung einer Operations-Zieldatenbank umfassen. In diesem Beispiel umfassen, wie in 5(c) veranschaulicht, die Spezifizierungsinformationen für die Lesezielaufzeichnung die „Produktgröße”, die einen Namen einer in „D1200” bis „D1205” in der Nutzerdaten-Speichereinheit 12 gespeicherten Operations-Zieltabelle darstellt, die „Produktnummer”, die einen Namen eines in „D1206” bis D1210” gespeicherten Bedingungsfelds darstellt, „=”, das eine in „D1211 und D1212” gespeicherte Bedingung darstellt, und „3”, die den Wert einer in „D1213” gespeicherten Bedingung darstellt. Das heißt, es wird eine Bedingung gespeichert, die eine Aufzeichnung mit einer Produktnummer „3” aus einer Produktgrößentabelle extrahiert.
-
Der Parameter B3 spezifiziert ein Gerät in der Nutzerdaten-Speichereinheit 12, in dem Lesefeld-Spezifizierungsinformationen gespeichert sind, die die Anzahl der Felder und einen Feldnamen, der aus der durch den Parameter B2 spezifizierten Aufzeichnung erfasst wird, umfassen. In diesem Beispiel umfassen, wie in 5(c) veranschaulicht, die Lesefeld-Spezifizierungsinformationen folgende Angaben: „2”, d. h. die Anzahl der Felder, die in „D0” in der Nutzerdaten-Speichereinheit 12 gespeichert sind; „Länge”, d. h. einen Feldnamen 1, der in „D1 bis D3” gespeichert ist; und „Höhe”, d. h. einen Feldnamen 2, der in „D4 bis D6” gespeichert ist. Das heißt, es wird eine Bedingung gespeichert, die Daten extrahiert, die zwei Feldnamen „Länge” und „Höhe” aus der Aufzeichnung einer Produktgrößentabelle mit einer Produktnummer „3” entsprechen.
-
Der Parameter B4 wird durch die Parameter B2 und B3 spezifiziert, und spezifiziert einen Speicherort in der Nutzerdaten-Speichereinheit 12, an dem Lesedaten gespeichert werden. In diesem Beispiel, wie in 5(c) veranschaulicht, ist „1”, das die Anzahl der Leseaufzeichnungen angibt, „D100” in der Nutzerdaten-Speichereinheit 12 spezifiziert; der Lesewert 1 „9000”, der dem durch den Parameter B3 spezifizierten Feldnamen 1 entspricht, ist in „D101” gespeichert und der Lesewert 2 „700”, der dem durch den Parameter B3 spezifizierten Feldnamen 2 entspricht, ist in „D102” gespeichert. Ein Abschlussgerät M1, das eingeschaltet wird, wenn ein Leseprozess aus einer Operations-Zieldatenbank abgeschlossen ist, wird im Parameter B5 eingestellt.
-
(3) DB_CLOSE-Befehl
-
Die 6 stellen Diagramme dar, die ein Beispiel des Inhalts eines DB_CLOSE-Befehls veranschaulichen, wobei 6(a) ein Diagramm darstellt, das ein Beispiel für eine Konfiguration des DB-CLOSE-Befehls veranschaulicht und 6(b) ein Diagramm darstellt, das ein Beispiel für den DB_CLOSE-Befehl veranschaulicht. Bei dem DB_CLOSE-Befehl handelt es sich um einen Befehl zum Schließen einer Operations-Zieldatenbank in der Datenbankspeichereinheit 13. Wie in 6(a) veranschaulicht, umfasst der DB_CLOSE-Befehl einen Parameter C1. Der Parameter C1 spezifiziert eine Datenbankkennung zur Vorgabe einer CLOSE-Zieldatenbank. Die Datenbankkennung entspricht der durch den Parameter A2 des DB_OPEN-Befehls oder durch den Parameter B1 des DB_SELECT-Befehls spezifizierten Datenbankkennung. Wie in 6(b) veranschaulicht, kann ein Gerät (eine Adresse) der Nutzerdaten-Speichereinheit 12 als Parameter C1 spezifiziert werden.
-
Mit diesen drei Datenbankzugriffsbefehlen wird ein Befehl zum Zugriff auf die Datenbankspeichereinheit 13 in ein Kontaktplanprogramm geschrieben. 7 stellt ein Diagramm dar, das ein Beispiel einer Anweisung zum Lesen einer Datenbank in einem Kontaktplanprogramm veranschaulicht. Eine Übersicht eines derartigen Ablaufs eines Kontaktplanprogramms wird hier beschrieben.
-
Als Erstes wird bei Ausgabe einer Anweisung zum Lesen einer Datenbank (Schritt S11) ein DB_OPEN-Befehl ausgeführt (Schritt S12). Wie in 4 veranschaulicht, wird eine Datenbank „MyDB” eines Geräts mit einer IP-Adresse „127.0.0.1” aus den entsprechenden Geräten der Nutzerdaten-Speichereinheit 12 geöffnet. Wenn ein Öffnungsprozess einer Operations-Zieldatenbank abgeschlossen ist, wird ein Gerät „M0” eingeschaltet.
-
Wenn das Gerät „M0” eingeschaltet ist, wird ein DB_SELECT-Befehl ausgeführt (Schritt S13). Im DB_SELECT-Befehl ein Prozess zum Lesen von Daten entsprechend der „Länge” und „Höhe” aus einer Aufzeichnung der „Produktgrößentabelle” mit „Produktnummer” „3” aus den entsprechenden Geräten der Nutzerdaten-Speichereinheit 12. Wenn der Leseprozess abgeschlossen ist, wird ein Gerät „M1” eingeschaltet.
-
Wenn die Geräte „M0” und „M1” eingeschaltet sind, wird ein DB_CLOSE-Befehl ausgeführt (Schritt S14). Im DB_CLOSE-Befehl wird die Datenbank „MyDB”, die als Operations-Zieldatenbank fungiert, geschlossen. Auf diese Weise endet ein Prozess des Zugriffs auf eine Datenbank.
-
Als Nächstes wird ein Prozessablauf der programmierbaren Steuerung 10 beschrieben. 8 stellt einen Ablaufplan dar, der ein Beispiel für einen Ablauf des gesamten Prozesses der programmierbaren Steuerung veranschaulicht. Die Recheneinheit 15 der programmierbaren Steuerung 10 führt zuerst einen Programmausführungsprozess aus, der in der Ausführung eines normalen Befehls des in der Anwendungsprogramm-Speichereinheit 11 gespeicherten Anwendungsprogramms 111 besteht (Schritt S31). In diesem Fall werden Befehle vom Befehl 111-1 bis zu einem Befehl vor dem END-Befehl 111-E im Anwendungsprogramm 111, veranschaulicht in 2, in der vorstehend beschriebenen Reihenfolge ausgeführt.
-
Nachdem die Recheneinheit 15 normale Befehle vor dem END-Befehl 111-E des Anwendungsprogramms 111 ausgeführt hat, führt die Recheneinheit 15 einen END-Prozess mit dem END-Befehl 111-E nach einem END-Befehl-Verarbeitungsprogramm aus (Schritt S32). Im END-Prozess findet Kommunikation mit einem PC oder einem externen Gerät, der/das über eine Kommunikationsleitung mit der programmierbaren Steuerung 10 verbunden ist, statt, und es wird ebenfalls ein weiterer Prozess neben der Ausführung der normalen Befehle ausgeführt.
-
Wenn der END-Prozess endet, kehrt der Prozess zu Schritt S31 zurück, und die Recheneinheit 15 verarbeitet der Reihe nach Befehle des Anwendungsprogramms 111, angefangen vom Befehl 111-1. Auf die gleiche Weise werden in der programmierbaren Steuerung 10 die Befehle 111-1 bis 111-E des Anwendungsprogramms 111 wiederholt in der vorstehend beschriebenen Reihenfolge ausgeführt.
-
Wenn ein Datenbankzugriffsbefehl im Programmausführungsprozess bei Schritt S31 erkannt wird, wird der Prozess zur Ausführung des Datenbankzugriffsbefehls ausgeführt. 9 stellt einen Ablaufplan dar, der ein Beispiel für einen Prozessablauf zur Ausführung eines Datenbankzugriffsbefehls veranschaulicht; 10 stellt ein Diagramm dar, das einen Prozess eines Datenbankzugriffsbefehls schematisch veranschaulicht; und die 11 stellen Diagramme dar, die ein Beispiel für einen Prozess zum Generieren eines Datenbankabfragebefehls aus einem Datenbankzugriffsbefehl veranschaulichen.
-
Wenn die Recheneinheit 15 beim Programmausführungsprozess bei Schritt S31 in 8 einen Datenbankzugriffsbefehl erkennt und den erkannten Datenbankzugriffsbefehl an ein Programm zum Generieren eines Datenbankabfragebefehls sendet, wird der Prozess zur Ausführung des Datenbankzugriffsbefehls, der in 9 veranschaulicht ist, durchgeführt. Die Recheneinheit 15 führt einen offenen Prozess einer Zieldatenbank basierend auf dem Programm zum Generieren von Datenbankabfragebefehlen durch und erfasst Informationen, die zum Generieren von SQL aus Parametern des erfassten Datenbankzugriffsbefehls (ein DB_SELECT-Befehl) erforderlich sind (Schritt S51).
-
In diesem Beispiel wird auf die Parameter B2 und B3 des DB_SELECT-Befehls Bezug genommen und es wird eine Operations-Zieltabelle aus einer Operations-Zieldatenbank extrahiert; es wird eine Aufzeichnung aus der Operations-Zieltabelle extrahiert; und es wird ein Feld aus der Operations-Zielaufzeichnung extrahiert. Wie in 5 beispielhaft veranschaulicht, werden diese Bedingungen in durch die Parameter B2 und B3 der Nutzerdaten-Speichereinheit 12 spezifizierten Adressen gespeichert.
-
Als Nächstes generiert die Recheneinheit 15 einen Datenbankabfragebefehl (einen SQL-Satz) aus den erfassten Informationen (Schritt S52). 11(a) veranschaulicht einen SQL-Satz, der aus einem Datenbankzugriffsbefehl des in 5(b) veranschaulichten Kontaktplanprogramms generiert wird. Der SQL-Satz umfasst einen SELECT-Ausdruck, einen FROM-Ausdruck und einen WHERE-Ausdruck, und es wird für jeden der Ausdrücke ein Parameter festgelegt. Der SQL-Satz wird aus dem Datenbankzugriffsbefehl nach den Befehlsumwandlungsinformationen generiert, in denen ein Parameter eines Datenbankzugriffsbefehls einem Parameter eines SQL-Satzes entspricht. 11(b) veranschaulicht ein Beispiel für die Befehlsumwandlungsinformationen. In den Befehlsumwandlungsinformationen ist ein Parameter eines SQL-Satzes durch Verwendung eines Geräts der Nutzerdaten-Speichereinheit 12 definiert. Dementsprechend ist es möglich, einen SQL-Satz (einen Datenbankabfragebefehl) aus einem in 5(b) veranschaulichten Datenbankzugriffsbefehl zu generieren. Die vorstehend beschriebenen Befehlsumwandlungsinformationen sind nur ein Beispiel, und es können Befehlsumwandlungsinformationen je nach Typ eines SQL-Satzes erstellt werden.
-
Als Nächstes speichert die Recheneinheit 15 den generierten SQL-Satz im Speicherbereich 161 für Datenbankabfragebefehle der Systemdaten-Speichereinheit 16 (Schritt S53).
-
Die Recheneinheit 15 gibt den generierten SQL-Satz an eine Datenbank aus, die durch den Parameter B1 des DB_SELECT-Befehls, der als Datenbankzugriffsbefehl basierend auf einem Datenbankverwaltungsprogramm fungiert, spezifiziert ist (Schritt S54). Dementsprechend greift die Recheneinheit 15 direkt auf eine in der Datenbankspeichereinheit 13 gemäß dem SQL-Satz spezifizierte Datenbank zu und erfasst Zieldaten. Der Prozess zur Ausführung des Datenbankzugriffsbefehls endet dann und der Prozess kehrt zu Schritt S31 in 8 zurück.
-
Im Allgemeinen läuft ein Prozess einer Datenbank langsamer ab als ein Prozess der Durchführung der programmierbaren Steuerung 10, und somit wird der Prozess zur Ausführung des Datenbankzugriffsbefehls nach Ausgabe des SQL abgeschlossen, ohne das Verarbeitungsergebnis einer Datenbank abzuwarten. Die Vollständigkeitsprüfung des Ergebnisses der Verarbeitung einer Datenbank wird in einem END-Prozess durchgeführt.
-
Es wird ein Prozess der Vollständigkeitsprüfung, wenn SQL im END-Prozess bei Schritt S32 in 8 ausgegeben wird, beschrieben. 12 stellt einen Ablaufplan dar, der ein Beispiel für einen Prozessablauf zur Vollständigkeitsprüfung während eines END-Prozesses veranschaulicht.
-
Als Erstes stellt die Recheneinheit 15 fest, ob SQL ausgegeben wurde (Schritt S71). Falls SQL nicht ausgegeben wurde (NEIN bei Schritt S71), bedeutet dies, dass die Recheneinheit 15 SQL nicht ausgibt und eine Vollständigkeitsprüfung daher nicht notwendig ist, sodass der Prozess endet.
-
Falls SQL ausgegeben wurde (JA bei Schritt S71), wird festgestellt, ob ein Prozess des ausgegebenen SQL abgeschlossen ist (Schritt S72). Falls der Prozess des ausgegebenen SQL nicht abgeschlossen ist (NEIN bei Schritt S72), wird kein Prozess durchgeführt und der Prozess zur Vollständigkeitsprüfung endet. In diesem Fall wird die Prüfung beim nächsten END-Prozess erneut durchgeführt.
-
Wenn der Prozess des ausgegebenen SQL inzwischen abgeschlossen ist (JA bei Schritt S72), speichert die Recheneinheit 15 das Ergebnis des erfassten SQL an einem durch den Parameter B4 eines DB_SELECT-Befehls spezifizierten Speicherplatz der Nutzerdaten-Speichereinheit 12 (Schritt S73). Die Recheneinheit 15 schaltet anschließend ein durch den Parameter B5 des DB_SELECT-Befehls spezifiziertes Abschlussgerät ein (Schritt S74) und es wird ein Prozess zum Schließen einer Zieldatenbank ausgeführt. Auf diese Weise endet der Prozess der Vollständigkeitsprüfung während des END-Prozesses.
-
Im vorstehenden Beispiel wurde zwar ein Datenbankzugriffsbefehl zum Auslesen von Daten aus einer Datenbank beschrieben, die vorliegende Erfindung ist jedoch nicht darauf beschränkt. Zum Beispiel ist es möglich, einen Datenschreibbefehl zu definieren, um Daten einer Datenbank hinzuzufügen, Daten zu verändern oder Daten aus einer Datenbank zu löschen. Ein derartiger Datenbankschreibbefehl umfasst als Parameter mindestens eine Datenbankkennung (Datenbankspezifizierungsinformation) zur Spezifizierung einer Operations-Zieldatenbank, einen Namen einer Tabelle, der Daten in einer Operations-Zieldatenbank hinzugefügt werden, einen Namen eines Felds, in das Daten einer Operations-Zieltabelle geschrieben werden, sowie den Inhalt der zu schreibenden Daten. Wie vorstehend beschrieben, handelt es sich beim Datenbankzugriffsbefehl um einen Befehl zum Zugriff auf eine Datenbank, wie einen Befehl zum Lesen oder Schreiben von in der Datenbank gespeicherten Daten.
-
In der ersten Ausführungsform wird ein in einem Kontaktplanprogramm verwendeter Datenbankzugriffsbefehl definiert, ein durch den Datenbankzugriffsbefehl spezifizierter Parameter entspricht einem Parameter eines SQL-Satzes, und wenn der Datenbankzugriffsbefehl in einem Anwendungsprogramm vorhanden ist, wird ein SQL-Satz aus einem Datenbankzugriffsbefehl gemäß der Übereinstimmung generiert und SQL ausgegeben. Dementsprechend ist es in der programmierbaren Steuerung 10 möglich, direkt auf eine Datenbank zuzugreifen und die gewünschten Daten zu erfassen, ohne eine zweidimensionale Datenbank in die Datenbankspeichereinheit 13 zu laden, die wie bei herkömmlichen Techniken als Sekundärspeichergerät in der eindimensionalen Nutzerdaten-Speichereinheit 12 fungiert. Somit ist es möglich, Daten aus einer Datenbank in einem einzigen Schritt zu erfassen, und es können Daten schneller erfasst werden als bei herkömmlichen Techniken.
-
Es ist nicht erforderlich, eine Datenbank in die Nutzerdaten-Speichereinheit 12 zu laden, und es ist demnach auch nicht erforderlich, die Kapazität der Nutzerdaten-Speichereinheit 12 im Hinblick auf die Größe einer Datenbank festzulegen. Dies bedeutet, dass die Datenmenge, die aus der Datenbankspeichereinheit 13 in die Nutzerdaten-Speichereinheit 12 eingelesen wird, auf das für einen Prozess erforderliche Minimum reduziert wird. Dementsprechend kann die Kapazität (die Verwendung) der Nutzerdaten-Speichereinheit 12 im Vergleich zu herkömmlichen Techniken reduziert werden.
-
Weiterhin ist, da beim Erfassen von für die programmierbare Steuerung 10 erforderlichen Daten eine Datenbank verwendet wird, die Berechnung eines Daten-Speicherplatzes (einer Adresse) beim Laden einer zweidimensionalen Datenbank in eine eindimensionale Nutzerdaten-Speichereinheit 12 in einem Kontaktplanprogramm nicht erforderlich. Somit wird das Programmieren vereinfacht. Weiterhin ist es selbst bei einer Änderung der Datenstruktur einer Datenbank, falls Daten desselben Felds erfasst werden, nicht erforderlich, den durch ein Anwendungsprogramm generierten Datenbankzugriffsbefehl zu verändern.
-
Weiterhin wird ein Befehl nur für ein Anwendungsprogramm definiert und es ist daher möglich, von der programmierbaren Steuerung 10 aus auf eine Datenbank zuzugreifen, und es kann selbst ein Nutzer der programmierbaren Steuerung 10, der mit einer datenbankspezifischen Sprache wie SQL nicht vertraut ist, ein Programm unter Verwendung von Daten in einer Datenbank erstellen.
-
Zweite Ausführungsform
-
Die erste Ausführungsform beschreibt einen Fall, in dem ein Datenbankzugriffsbefehl definiert wird, wobei der Datenbankzugriffsbefehl in ein Anwendungsprogramm (ein Kontaktplanprogramm) integriert wird, und der Datenbankzugriffsbefehl verwendet wird. Eine zweite Ausführungsform beschreibt einen Fall, in dem Einstellungsinformationen für den Datenbankbetrieb anstelle eines Datenbankzugriffsbefehls definiert werden, und es werden, wenn eine Datenbankleseanweisung ausgeführt wird, die Einstellungsinformationen für den Datenbankbetrieb gelesen und Prozesse analog zu denen der ersten Ausführungsform ausgeführt.
-
13 stellt ein Blockdiagramm dar, das die funktionale Konfiguration einer programmierbaren Steuerung nach der zweiten Ausführungsform veranschaulicht. Die programmierbare Steuerung 10 nach der zweiten Ausführungsform unterscheidet sich von der nach der ersten Ausführungsform insofern, als dass kein Datenbankzugriffsbefehl in einem Anwendungsprogramm der Anwendungsprogramm-Speichereinheit 11 enthalten ist; und die Systemdaten-Speichereinheit 16 umfasst zusätzlich zum Speicherbereich 161 für Datenbankabfragebefehle einen Speicherbereich 162 für Datenbankzugriff-Einstellungsinformationen, in dem Datenbankzugriff-Einstellungsinformationen gespeichert sind. Wenn eine Datenbankleseanweisung eines Anwendungsprogramms (eines Kontaktplanprogramms) eingeschaltet wird, generiert die Recheneinheit 15 einen Datenbankabfragebefehl entsprechend den Datenbankzugriff-Einstellungsinformationen 162A.
-
14 stellt ein Diagramm dar, das ein Beispiel für den Inhalt von Datenbankzugriff-Einstellungsinformationen nach der zweiten Ausführungsform veranschaulicht. Die Datenbankzugriff-Einstellungsinformationen 162A umfassen als Einstellelemente eine Zieldatenbank, eine Zieltabelle, eine Beziehung zwischen einem Feldnamen und einem Gerät, eine Lesebedingung und einen Ausführungsauslöser.
-
Die Zieldatenbank spezifiziert eine Operations-Zieldatenbank. Zum Beispiel spezifiziert die Zieldatenbank eine Adresse (eine IP-Adresse) eines Geräts (einer programmierbaren Steuerung), in der eine Operations-Zieldatenbank gespeichert ist, und einen Datenbanknamen eines durch die IP-Adresse spezifizierten Geräts. Die Zieltabelle spezifiziert eine Operations-Zieltabelle einer Zieldatenbank.
-
Die Beziehung zwischen einem Feldnamen und einem Gerät spezifiziert einen Feldnamen von aus einer Zieltabelle zu erfassenden Daten und einen Speicherplatz der erfassten Daten in der Nutzerdaten-Speichereinheit 12. Die Lesebedingung spezifiziert eine aus einer Zieltabelle auszulesenden Zielspalte (eine Zielaufzeichnung). Der Ausführungsauslöser spezifiziert eine Zeitvorgabe für das Speichern von Lesedaten in der Nutzerdaten-Speichereinheit 12.
-
Das heißt, es wird eine Operations-Zieldatenbank durch eine IP-Adresse und einen Datenbanknamen des Elements „Zieldatenbank” ermittelt und eine Operations-Zieltabelle der Operations-Zieldatenbank durch einen Tabellennamen des Elements „Zieltabelle” spezifiziert. Basierend auf einer durch einen Feldnamen des Elements „Lesebedingung” ermittelten Aufzeichnung werden Daten, die durch einen Feldnamen des Elements „Beziehung zwischen Feldnamen und Gerät” ermittelt wurden, als Lesedaten eingestellt, und diese Daten werden in einem Gerät eines Gerätespeichers gespeichert, der durch die Beziehung zwischen einem Feldnamen und einem Gerät spezifiziert ist. Die Daten werden gelesen, wenn ein Auslösegerät des Elements „Ausführungsauslöser” eingeschaltet wird.
-
15 stellt ein Diagramm dar, das ein Beispiel für ein Anwendungsprogramm einer Datenbankleseanweisung nach der zweiten Ausführungsform veranschaulicht. Im Anwendungsprogramm werden, wenn eine Datenbankleseanweisung eingeschaltet wird (Schritt S91), ein Prozess zum Speichern von „K3”, das einen Produktnamen aus einer Produkttabelle in „D1212” der Nutzerdaten-Speichereinheit 12 kennzeichnet (Schritt S92), und ein Prozess zum Aktivieren von Bits eines Geräts „M0” (Schritt S93) ausgeführt.
-
Die Recheneinheit 15 generiert somit einen Datenbankabfragebefehl nach einer in den Datenbankzugriff-Einstellungsinformationen 162A eingestellten Bedingung und speichert diese Datenbankzugriff-Einstellungsinformationen 162A in der Systemdaten-Speichereinheit 16. 16 stellt ein Diagramm dar, das ein Beispiel für Befehlsumwandlungsinformationen beim Generieren eines Datenbankabfragebefehls aus den Datenbankzugriff-Einstellungsinformationen veranschaulicht. Wie in 16 veranschaulicht, ist in den Befehlsumwandlungsinformationen ein Parameter eines SQL-Satzes durch Verwendung des Inhalt der Datenbankzugriff-Einstellungsinformationen 162A definiert. Die Recheneinheit 15 generiert somit den in 11(a) veranschaulichten SQL-Satz.
-
Dabei stellt das Beispiel der Datenbankzugriff-Einstellungsinformationen 162A, das in 14 veranschaulicht ist, einen Fall dar, in dem das Element „Zieldatenbank” die programmierbare Steuerung 10 selbst spezifiziert. Die programmierbare Steuerung 10 ist jedoch gewöhnlich über ein Netzwerk angeschlossen und Daten können somit auch aus Datenbanken in den Datenbankspeichereinheiten 13 anderer programmierbarer Steuerungen 10 (oder anderer Geräte) erfasst werden.
-
Die 17 stellen Diagramme dar, die einen Fall für das Lesen von Daten aus anderen mit einem Netzwerk verbundenen programmierbaren Steuerungen schematisch veranschaulichen. 17(a) veranschaulicht schematisch eine Systemkonfiguration, in der programmierbare Steuerungen 10A und 10B mit einem Netzwerk 30 verbunden sind. In diesem Fall ist eine Datenbankspeichereinheit 13A vorgesehen, und die programmierbare Steuerung 10A mit einer IP-Adresse „192.168.1.1” und die programmierbare Steuerung 10B mit einer IP-Adresse „192.168.1.2” sind miteinander über das Netzwerk 30 verbunden. Wie in 17(b) veranschaulicht, werden in der programmierbaren Steuerung 10B die IP-Adresse und der Datenbankname der programmierbaren Steuerung 10A in einem Element „Zieldatenbank” der Datenbankzugriff-Einstellungsinformationen 152B eingestellt. Wenn somit ein Anwendungsprogramm, das in 17(c) dargestellt ist, gelesen wird, ist es möglich, auf eine Datenbank in der Datenbankspeichereinheit 13A der programmierbaren Steuerung zuzugreifen und Daten zu erfassen.
-
In der zweiten Ausführungsform wird eine Bedingung für den Datenbankzugriff in den Datenbankzugriff-Einstellungsinformationen eingestellt, und wenn eine Datenbankleseanweisung während der Ausführung eines Anwendungsprogramms eingeschaltet wird, generiert die Recheneinheit 15 einen Datenbankabfragebefehl nach den Datenbankzugriff-Einstellungsinformationen. Die Recheneinheit 15 greift anschließend nach dem generierten Datenbankabfragebefehl auf eine Datenbank zu. Auf diese Weise ist, anders als bei der ersten Ausführungsform, ein Datenbankzugriffsbefehl nicht in einem Kontaktplanprogramm definiert, und es ist somit zusätzlich zu den Effekten der ersten Ausführungsform für einen Benutzer der programmierbaren Steuerung 10 einfach, die Einstellungen für den Datenbankzugriff vorzunehmen.
-
Eine Bedingung für zu erfassende Daten kann in den Datenbankzugriff-Einstellungsinformationen spezifiziert werden, und es ist somit, anders als bei der ersten Ausführungsform, nicht notwendig, eine Bedingung zum Erfassen von Zieldaten in der Nutzerdaten-Speichereinheit 12 zu speichern. Folglich ist es im Vergleich zur ersten Ausführungsform möglich, die Kapazität der Nutzerdaten-Speichereinheit 12 noch weiter zu reduzieren.
-
Während in der zweiten Ausführungsform ein Fall des Lesens von Daten aus einer Datenbank beispielhaft beschrieben wurde, auch in einem Fall des Schreibens von Daten wie dem Hinzufügen von Daten zu einer Datenbank, dem Verändern von Daten in einer Datenbank und dem Löschen von Daten aus einer Datenbank, kann – wenn in den Datenbankzugriff-Einstellungsinformationen eine Schreibbedingung eingestellt ist – ein Datenbankabfragebefehl basierend auf den Datenbankzugriff-Einstellungsinformationen generiert werden.
-
Dritte Ausführungsform.
-
Eine dritte Ausführungsform beschreibt ein Engineering-Tool zum Einstellen eines Anwendungsprogramms in der ersten Ausführungsform oder von Datenbankzugriff-Einstellungsinformationen in der zweiten Ausführungsform.
-
18 stellt ein Blockdiagramm dar, das ein Beispiel für eine funktionale Konfiguration eines Engineering-Tools schematisch veranschaulicht. Ein Engineering-Tool 50 umfasst eine Kommunikationseinheit 51, eine Eingabeeinheit 52, eine Anzeigeeinheit 53, einen Displayprozessor 54 für den Programmerstellungsbildschirm, einen Displayprozessor 55 für den Gerätespeicher-Einstellungsbildschirm, einen Displayprozessor 56 für den Einstellungsbildschirm für Einstellungsinformationen, eine Einstelleinheit 57 und eine Steuereinheit 58, die diese Prozessoren steuert.
-
Die Kommunikationseinheit 51 kommuniziert mit der programmierbaren Steuerung 10. Bei der Eingabeeinheit 52 handelt es sich um eine Eingabeschnittstelle mit einem Benutzer, wie eine Tastatur und ein Zeigegerät. So empfängt z. B. die Eingabeeinheit 52 Eingaben eines Datenbankzugriffsbefehls oder Datenbankzugriff-Einstellungsinformationen, die in der programmierbaren Steuerung 10 eingestellt sind. Bei der Anzeigeeinheit 53 handelt es sich um ein Gerät, das einem Benutzer Informationen anzeigt, zum Beispiel ein Flüssigkristallanzeigegerät.
-
Der Displayprozessor 54 für den Programmerstellungsbildschirm verfügt über eine Funktion zum Anzeigen eines Anwendungsprogramm-Erstellungsbildschirms auf der Anzeigeeinheit 53. Wenn ein Kontaktplanprogramm als Anwendungsprogramm verwendet wird, stellt der Displayprozessor 54 für den Programmerstellungsbildschirm dem Nutzer die Umgebung zum Erstellen eines Kontaktplanprogramms bereit. Wenn ein in der ersten Ausführungsform beschriebener Datenbankzugriffsbefehl als Anwendungsprogramm verwendet wird, verarbeitet der Displayprozessor 54 für den Programmerstellungsbildschirm einen Datenbankzugriffsbefehl so, dass dieser auf einem Programmerstellungsbildschirm verwendbar ist.
-
Der Displayprozessor 55 für den Gerätespeicher-Einstellungsbildschirm verfügt über eine Funktion zum Anzeigen eines Geräte-Einstellungsbildschirms auf der Anzeigeeinheit 53. Wie vorstehend beschrieben, werden ein Speicherplatz für die zu lesende Datenbank, eine Bedingung für aus der Datenbank auszulesende Daten, aus der Datenbank ausgelesene Daten und dergleichen in der Nutzerdaten-Speichereinheit 12 gespeichert. Bei dem Gerätespeicher-Einstellungsbildschirm handelt es sich um einen Bildschirm zur Vornahme der Einstellungen, wobei festgelegt wird, an welcher Adresse jede dieser Informationen gespeichert wird.
-
Der Displayprozessor 56 für den Gerätespeicher-Einstellungsbildschirm verfügt über eine Funktion zum Anzeigen eines Einstellungsbildschirms für Datenbankzugriff-Einstellungsinformationen auf der Anzeigeeinheit 53. In einem Fall, bei dem zum Beispiel unter Verwendung der in der zweiten Ausführungsform beschriebenen Datenbankzugriff-Einstellungsinformationen auf eine Datenbank zugegriffen wird, wird ein Einstellungsbildschirm für die Datenbankzugriff-Einstellungsinformationen, die in 14 veranschaulicht sind, auf der Anzeigeeinheit 53 angezeigt.
-
Die Einstelleinheit 57 stellt die Inhalte ein, die durch einen Benutzer über die Eingabeeinheit 52 eingestellt (eingegeben) und im Displayprozessor 54 für den Programmerstellungsbildschirm, dem Displayprozessor 55 für den Gerätespeicher-Einstellungsbildschirm oder dem Displayprozessor 56 für den Einstellungsbildschirm für Einstellungsinformationen in der programmierbaren Steuerung 10 über die Kommunikationseinheit 51 festgelegt werden.
-
Gemäß der dritten Ausführungsform werden im Displayprozessor 54 für den Programmerstellungsbildschirm, im Displayprozessor 55 für den Gerätespeicher-Einstellungsbildschirm und im Displayprozessor 56 für den Einstellungsbildschirm für Einstellungsinformationen einem Nutzer Bildschirme zum Einstellen eines Anwendungsprogramms, eines Gerätespeichers und Datenbankzugriff-Einstellungsinformationen angezeigt; und die Einstelleinheit 57 stellt die auf den jeweiligen Bildschirmen der programmierbaren Steuerung 10 eingestellten Inhalte ein. Deshalb ist es möglich, einen Datenbankzugriffsbefehl oder Datenbankzugriff-Einstellungsinformationen zu generieren, die es der programmierbaren Steuerung 10 ermöglichen, direkt auf eine Datenbank in der Datenbankspeichereinheit 13 zuzugreifen und gewünschte Daten zu erfassen und den generierten Befehl bzw. die generierten Informationen in der programmierbaren Steuerung 10 einzustellen.
-
Das Verfahren zum Auslesen von Daten aus einer Datenbank in einem Anwendungsprogramm einschließlich eines Datenbankzugriffsbefehls, oder ein Verfahren zum Auslesen von Daten aus einer Datenbank nach den Datenbankzugriff-Einstellungen in der programmierbaren Steuerung 10, die vorstehend beschrieben wurden, können als ein Programm konfiguriert werden, in dem ein Prozessablauf gespeichert ist. Das Programm kann so umgesetzt werden, dass es in der programmierbaren Steuerung 10 ausgeführt wird. Das Programm wird auf einem computerlesbaren Aufzeichnungsmedium wie einer Festplatte, einem SSD (Solid State Drive – Festkörperlaufwerk), einer Floppy® Disk, einer CD(Compact Disc)-ROM, einer MO (magnetooptischen Diskette) und einer DVD (Digital Versatile Disc oder Digital Video Disc) aufgezeichnet. In diesem Fall kann das Programm von einem Aufzeichnungsmedium durch die programmierbare Steuerung 10 gelesen werden oder kann von einem Aufzeichnungsmedium durch ein Informationsverarbeitungs-Endgerät wie dem mit der programmierbaren Steuerung 10 verbundenen Engineering-Tool 50 gelesen werden, in die programmierbare Steuerung 10 über ein Netzwerk installiert werden und von der programmierbaren Steuerung 10 gelesen werden. Darüber hinaus kann das Programm über ein Netzwerk (eine Kommunikationsleitung) wie das Internet verteilt werden.
-
Industrielle Anwendbarkeit
-
Wie vorstehend beschrieben ist die programmierbare Steuerung nach der vorliegenden Erfindung geeignet als programmierbare Steuerung, die Daten aus einer in einem Sekundärspeichergerät gespeicherten Datenbank ausliest und Prozesse an den gelesenen Daten ausführt.
-
Bezugszeichenliste
-
- 10, 10A, 10B
- programmierbare Steuerung,
- 11
- Anwendungsprogramm-Speichereinheit,
- 12
- Nutzerdaten-Speichereinheit,
- 13, 13A
- Datenbankspeichereinheit,
- 14
- Systemprogramm-Speichereinheit,
- 15
- Recheneinheit,
- 16
- Systemdaten-Speichereinheit,
- 30
- Netzwerk,
- 50
- Engineering-Tool,
- 51
- Kommunikationseinheit,
- 52
- Eingabeeinheit,
- 53
- Anzeigeeinheit,
- 54
- Displayprozessor für den Programmerstellungsbildschirm,
- 55
- Displayprozessor für den Gerätespeicher-Einstellungsbildschirm,
- 56
- Displayprozessor für den Einstellungsbildschirm für Einstellungsinformationen,
- 57
- Einstelleinheit,
- 58
- Steuereinheit,
- 121
- Speicherbereich für Suchbedingungen,
- 122
- Sicherungsbereich,
- 152B
- Datenbankzugriff-Einstellungsinformationen,
- 161
- Speicherbereich für Datenbankabfragebefehle,
- 162
- Speicherbereich für Datenbankzugriff-Einstellungsinformationen.