DE112014003085T5 - SPS-System und Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke - Google Patents

SPS-System und Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke Download PDF

Info

Publication number
DE112014003085T5
DE112014003085T5 DE112014003085.6T DE112014003085T DE112014003085T5 DE 112014003085 T5 DE112014003085 T5 DE 112014003085T5 DE 112014003085 T DE112014003085 T DE 112014003085T DE 112014003085 T5 DE112014003085 T5 DE 112014003085T5
Authority
DE
Germany
Prior art keywords
arithmetic
expression
data
unit
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE112014003085.6T
Other languages
English (en)
Inventor
Satoru Ukena
Takuro Tsuji
Koichi Ishida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112014003085T5 publication Critical patent/DE112014003085T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13004Programming the plc

Landscapes

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

Abstract

Ein SPS-System, umfasst eine speicherprogrammierbare Steuerung, welche eine SPS-Einheit und eine Speichereinheit aufweist und eine Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke, welche die SPS-Einheit veranlasst, Daten eines arithmetischen Ausdrucks zu erzeugen, welche durch die SPS-Einheit ausgeführt werden, wobei die Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke eine Eingabeeinheit aufweist zum Empfang des arithmetischen Ausdrucks von einem Benutzer, wobei der Ausdruck Eingangsinformationen aufweist, welche als Variable dienen, wobei die Variable in einer arithmetischen Operation verwendet wird, und eine Konstante, welche in der arithmetischen Operation verwendet wird; und eine Verarbeitungseinheit für arithmetische Ausdrücke, um eine Berechnungssequenz des arithmetischen Ausdrucks zu bestimmen, wobei die Speichereinheit eine Datentabelle für arithmetische Ausdrücke speichert zur Verwaltung der Daten des arithmetischen Ausdrucks, einschließlich der Eingangsinformationen, der Konstanten und der Berechnungssequenz, und wobei die SPS-Einheit eine Verarbeitungseinheit aufweist, welche mit der Speichereinheit verbunden ist um eine arithmetische Operation des arithmetischen Ausdrucks auszuführen, entsprechend der Berechnungssequenz und unter Verwendung der Eingangsinformationen und der Konstanten.

Description

  • Gebiet
  • Die vorliegende Erfindung bezieht sich beispielsweise auf ein SPS-System, welches eine SPS-Einheit und einen gemeinsam genutzten Speicher (shared memory) aufweist, sowie eine Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke.
  • Hintergrund
  • Konventionelle Technologien ermöglichen kein Verfahren, mit welchem innerhalb einer Ablaufsteuerungs-Einheit, d. h. einer SPS-Einheit, welche eine speicherprogrammierbare Steuerung (SPS) bildet, ein arithmetischer Ausdruck berechnet wird, welcher durch einen Benutzer erzeugt wurde. Um die SPS dazu zu bringen eine arithmetische Operation zu implementieren geht der Benutzer so vor, dass er Kontaktplanprogramm-Befehle kombiniert, um im Voraus ein Kontaktplanprogramm zu erzeugen, so dass eine arithmetische Operation entsprechend einer Berechnungssequenz eines gewünschten arithmetischen Ausdrucks implementiert wird. Dann wird die arithmetische Operation in einer Zentraleinheit der Ablaufsteuerung implementiert. Folglich ist es erforderlich, ein Kontaktplanprogramm zu erzeugen, welches der arithmetischen Operation entspricht, um eine komplizierte arithmetische Operation zu implementieren.
  • Als Maßnahme gegen dieses Problem wurde eine Technologie vorgeschlagen, welche eine arithmetische Operation innerhalb einer Vorrichtung ausführen kann, wobei ein arithmetischer Ausdruck, welcher durch eine Kombination von Klammern, Operatoren und Berechnungssequenzen des arithmetischen Ausdrucks gebildet wird, in Kontaktplanprogramm-Befehlen konvertiert wird, und diese Kontaktplanprogramm-Befehle in der Vorrichtung, welche eine Funktion zur Ablaufsteuerung aufweist, im Voraus gespeichert werden (vergleiche beispielsweise, Patentliteratur 1).
  • Zur Implementierung einer Funktion, welche die SPS veranlasst, die arithmetische Operation innerhalb der Einheit auszuführen, wird eine analoge Eingabe/Ausgabeeinheit installiert mit einer vereinfachten ”Regelfunktion”, um, entsprechend eines im Voraus festgesetzten arithmetischen Ausdrucks, eine arithmetische Operation auf einen digitalen Wert anzuwenden, welcher aus einem analogen Wert ermittelt wird, welcher in einen analogen Eingangskanal eingegeben wird. Die analoge Eingabe/Ausgabeeinheit erzeugt dann eine analoge Ausgabe (vergleiche beispielsweise Patentliteratur 2).
  • Zitierungsliste
  • Patentliteratur
    • Patentliteratur 1: Japanische Offenlegungsschrift Nr. 2013-143096
    • Patentliteratur 2: Japanische Offenlegungsschrift Nr. H7-78007
  • Zusammenfassung
  • Technisches Problem
  • Gemäß Patentliteratur 1 ist es möglich die SPS zur Implementierung eines vom Benutzer erzeugten arithmetischen Ausdrucks zu konfigurieren. Da die arithmetische Operation bei den konventionellen Technologien über ein Kontaktplan-Programm implementiert wird, ergibt sich jedoch das Problem, dass zur Erzeugung des Kontaktplan-Programms viel Zeit und Aufwand erforderlich ist. Die Ausführungsgeschwindigkeit des Kontaktplanprogramms hängt von einem Steuerungszyklus einer Zentraleinheit ab, welche das Kontaktplanprogramm steuert, d. h. einer Zykluszeit. Die Zykluszeit verlängert sich mit zunehmender Größe des Kontaktplanprogramms. Daraus ergibt sich das Problem, dass es schwer ist, eine arithmetische Operation mit hoher Geschwindigkeit durchzuführen.
  • In der Patentliteratur 2 ist der arithmetische Ausdruck beschränkt auf einen arithmetischen Ausdruck eines festgelegten Musters, welches von der Einheit vorbereitet wird. Daher ergibt sich das Problem, dass der Benutzer das Ablaufverfahren der Einheit nicht frei verändern kann. Daher existierte ein unveränderter Bedarf nach einem SPS-System und nach einer Unterstützungsvorrichtung für die Erzeugung von Daten arithmetischer Ausdrücke, mit welchen ein beliebiger arithmetischer Ausdruck eines Polynoms leicht erzeugt werden kann, ohne ein kompliziertes Kontaktplanprogramm erstellen zu müssen, wobei innerhalb der Einheit eine frei wählbare und anspruchsvolle arithmetische Operation realisiert werden kann, welche von einem Benutzer gewünscht wird.
  • Die vorliegende Erfindung wurde im Hinblick auf die oben angegebenen Umstände entworfen und stellt ein SPS-System bereit und eine Vorrichtung zur Unterstützung der Erzeugung von Daten arithmetischer Ausdrücke, welche ein Ablaufprogramm auf einer Zentraleinheit einer Ablaufsteuerung unnötig macht, und dadurch eine Verringerung an Mannstunden bewirkt, welche für die Erzeugung eines Kontaktplanprogramms erforderlich waren, und welche eine anspruchsvolle arithmetische Operation ausführen kann, welche nicht von der Zykluszeit der Zentraleinheit der Ablaufsteuerung abhängt.
  • Lösung des Problems
  • Um die oben genannte Aufgabe zu lösen, und um das Ziel zu erreichen, stellt die vorliegende Erfindung ein SPS-System bereit, umfassend: eine speicherprogrammierbare Steuerung, welche eine SPS-Einheit und eine Speichereinheit aufweist; und eine Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke, welche die SPS-Einheit veranlasst, Daten eines arithmetischen Ausdrucks zu erzeugen, welche durch die SPS-Einheit ausgeführt werden, wobei die Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke aufweist: eine Eingabeeinheit, zum Empfang des arithmetischen Ausdrucks von einem Benutzer, wobei der arithmetische Ausdruck Eingangsinformationen aufweist, welche als Variable dienen, wobei die Variable in einer arithmetischen Operation verwendet wird, und eine Konstante, welche in der arithmetischen Operation verwendet wird; und eine Verarbeitungseinheit für arithmetische Ausdrücke, um eine Berechnungssequenz des arithmetischen Ausdrucks zu bestimmen, wobei die Speichereinheit eine Datentabelle für arithmetische Ausdrücke speichert zur Verwaltung der Daten des arithmetischen Ausdrucks, einschließlich der Eingangsinformationen, der Konstanten und der Berechnungssequenz, und wobei die SPS-Einheit eine Verarbeitungseinheit aufweist, welche mit der Speichereinheit verbunden ist, um eine arithmetische Operation des arithmetischen Ausdrucks auszuführen, entsprechend der Berechnungssequenz und unter Verwendung der Eingangsinformationen und der Konstanten.
  • Vorteilhafte Effekte der Erfindung
  • Das SPS-System entsprechend der vorliegenden Erfindung hat den vorteilhaften Effekt, dass eine Rechenoperation auf einer zur Ablaufsteuerung zugeordneten Zentraleinheit überflüssig gemacht wird, dass eine Verringerung an Mannstunden möglich wird, welche für die Erzeugung eines Kontaktplanprogramms erforderlich wären, und dass es ist möglich, eine fortgeschrittene arithmetische Operation auszuführen, welche nicht von einer Zykluszeit der zur Ablaufsteuerung gehörigen Zentraleinheit abhängt.
  • Kurze Beschreibung der Figuren
  • Die 1 ist ein Blockdiagramm zur Erläuterung der Klonfiguration eines SPS-Systems, welche eine Ablaufsteuerung aufweist, entsprechend einer Ausführungsform der vorliegenden Erfindung.
  • Die 2 eine Darstellung zur Erläuterung der Datenstruktur von Daten eines arithmetischen Ausdrucks entsprechend der Ausführungsform der vorliegenden Erfindung. Die Daten des arithmetischen Ausdrucks sind in einer Datentabelle für arithmetische Ausdrücke gespeichert sind.
  • Die 3 ist eine Darstellung zur Erläuterung einer Übersicht des SPS-Systems, entsprechend einer Ausführungsform der vorliegenden Erfindung, und zur Erklärung des Datenflusses der Daten des arithmetischen Ausdrucks.
  • Die 4 ist eine Darstellung zur Erläuterung eines Beispiels einer Tabelle für Informationen über Operationsattribute, entsprechend der Ausführungsform der vorliegenden Erfindung.
  • Die 5 ist eine Darstellung zur Illustration von Typen der Datenattribute in der Tabelle für Informationen über Operationsattribute, entsprechend der Ausführungsform der vorliegenden Erfindung.
  • Die 6 ist eine Darstellung zur Erläuterung von Operator-Konstanten, entsprechend der Ausführungsform der vorliegenden Erfindung.
  • Die 7 ist eine Darstellung zur Erläuterung eines Eingabebereichs für arithmetische Ausdrücke entsprechend der Ausführungsform der vorliegenden Erfindung, wobei der Eingabebereich ein Bildschirm eines Erzeugungs-Tools für Daten arithmetischer Ausdrücke ist.
  • Die 8 ist eine Darstellung zur Erläuterung der Verarbeitung zur Speicherung von Daten eines arithmetischen Ausdrucks in der Tabelle für Informationen über Operationsattribute, entsprechend der Ausführungsform der vorliegenden Erfindung. Die Daten des arithmetischen Ausdrucks wurden im Eingabebereich für arithmetische Ausdrücke des Erzeugungs-Tools für Daten arithmetischer Ausdrücke erzeugt.
  • Die 9 ist ein Flussdiagramm zur Erläuterung eines Verarbeitungsablaufs einer Verarbeitungseinheit für arithmetische Ausdrücke des Erzeugungs-Tools für Daten arithmetischer Ausdrücke, entsprechend der Ausführungsform der vorliegenden Erfindung.
  • Die 10 ist ein Flussdiagramm zur Erläuterung des Beispiels des Verarbeitungsablaufs der Verarbeitungseinheit für Daten arithmetischer Ausdrücke des Erzeugungs-Tools für Daten arithmetischer Ausdrücke, entsprechend der Ausführungsform der vorliegenden Erfindung.
  • Die 11 ist ein Flussdiagramm zur Erläuterung des Beispiels des Verarbeitungsablaufs der Verarbeitungseinheit für arithmetische Ausdrücke des Erzeugungs-Tools für Daten arithmetischer Ausdrücke, entsprechend der Ausführungsform der vorliegenden Erfindung.
  • Die 12 ist ein Flussdiagramm zur Erläuterung der Arbeitsweise in einer Ablaufsteuerungs-Einheit, entsprechend der Ausführungsform der vorliegenden Erfindung.
  • Die 13 ist eine Darstellung zur Illustration eines Beispiels, in welchem ein arithmetischer Ausdruck mit dem Erzeugungs-Tool für Daten arithmetischer Ausdrücke, entsprechend der Ausführungsform der vorliegenden Erfindung.
  • Die 14 ist eine Darstellung zur Erläuterung eines Prozesses zur Speicherung eines Beispiels eines arithmetischen Ausdrucks, entsprechend der Ausführungsform der vorliegenden Erfindung. Der arithmetische Ausdruck wurde erzeugt durch das Erzeugungs-Tool für Daten arithmetischer Ausdrücke. Die Speicherung erfolgt in der Tabelle für Informationen über Operationsattribute in dem Erzeugungs-Tool für Daten arithmetischer Ausdrücke.
  • Die 15 ist eine Darstellung zur Erläuterung der Verarbeitung für den Transfer des Beispiels des arithmetischen Ausdrucks, welcher mit dem Erzeugungs-Tool für arithmetische Ausdrücke erzeugt wurde, zur Datentabelle für arithmetische Ausdrücke im gemeinsam genutzten Speicher, entsprechend der Ausführungsform der vorliegenden Erfindung.
  • Die 16 ist eine Darstellung zur Erläuterung eines Zustands der Tabelle für Informationen über Operationsattribute in dem Fall der 15.
  • Die 17 ist eine Darstellung zur Erläuterung der Verarbeitung zum Transfer des Beispiels des arithmetischen Ausdrucks, welcher durch das Erzeugungs-Tool für Daten arithmetischer Ausdrücke erzeugt wurde, zur Datentabelle für arithmetische Ausdrücke in dem gemeinsam genutzten Speicher, entsprechend der Ausführungsform der vorliegenden Erfindung.
  • Die 18 ist eine Darstellung zur Erläuterung eines Zustandes der Tabelle für Informationen über Operationsattribute in dem Fall von 17.
  • Die 19 ist eine Darstellung zur Erläuterung eines Zustandes zu dem Zeitpunkt, wenn der Transfer des Beispiels des arithmetischen Ausdrucks, welcher mit dem Erzeugungs-Tool für Daten arithmetischer Ausdrücke gemäß der Ausführungsform der vorliegenden Erfindung erzeugt wurde, zur Datentabelle für arithmetische Ausdrücke in dem gemeinsam genutzten Speicher abgeschlossen ist.
  • Die 20 ist eine Darstellung zur Erläuterung eines Zustandes der Tabelle für Informationen über Operationsattribute in dem Fall von 19.
  • Beschreibung von Ausführungsformen
  • Es wird nun im Detail und mit Bezug auf die Figuren eine Ausführungsform eines SPS Systems, sowohl als auch eine Vorrichtung zur Unterstützung zur Erzeugung von Daten arithmetischer Ausdrücke beschrieben, entsprechend der vorliegenden Erfindung. Es wird angemerkt, dass die vorliegende Erfindung nicht auf die Ausführungsform beschränkt ist.
  • Ausführungsform
  • Die 1 ist ein Blockdiagramm zur Erläuterung der Konfiguration eines SPS-Systems 1, welches eine Ablaufsteuerungs-Einheit 100 aufweist, welche in der Ausführungsform der vorliegenden Erfindung eine SPS-Einheit ist. Wie in der 1 dargestellt ist, ist die Ablaufsteuerung-Einheit 100 mit einer Zentraleinheit 200 über einen einheitenverbindenden Bus 300 verbunden. Die Ablaufsteuerungs-Einheit 100 und die Zentraleinheit 200, wobei die Zentraleinheit eine Einheit ist, bilden einen Teil einer SPS 1000, welche eine speicherprogrammierbare Steuerung ist. Die Ablaufsteuerungs-Einheit 100 entspricht beispielsweise einer A/D-Wandler-Einheit, welche von extern ein analoges Signal von einem Sensor, oder dergleichen, empfängt und einen Analogwert in einen digitalen Wert umwandelt. Ferner entspricht die Ablaufsteuerungs-einheit 100 beispielsweise einer Zählereinheit, welche einen Eingangspuls, oder dergleichen, zählt. Bei der vorliegenden Ausführungsform gibt es jedoch keine Beschränkung für den Typ der Ablaufsteuerungs-Einheit 100. Die Ablaufsteuerungs-Einheit 100 weist eine Arbeitseinheit 130 auf, welche eine Verarbeitungseinheit für Daten arithmetischer Ausdrücke 131 aufweist. Des Weiteren weist die Ablaufsteuerungs-Einheit 100 einen internen Speicher 190 auf, welcher mit der Arbeitseinheit 130 verbunden ist, einen gemeinsam genutzter Speicher (shared memory) 140, und ein Bus I/F (Interface) 160, welches ein Interface zum einheitenverbindenden Bus 300 ist. Der gemeinsam genutzte Speicher 140 ist eine Speichereinheit, auf welche sowohl die Arbeitseinheit 130, als auch die Zentraleinheit 200 Zugriff hat.
  • Die Zentraleinheit 200 weist ein I/F für externe Speicher 210 auf, welches ein Interface für den Zugriff auf einen externen Speicher ist, ein Benutzerprogramm, Daten, welche für die Ausführung des Benutzerprogramms erforderlich sind, und Daten eines Ausführungsergebnisses des Benutzerprogramms. Die Zentraleinheit 200 weist ferner eine Arbeitseinheit 220 auf, welche das Benutzerprogramm ausführt und die gesamte Zentraleinheit 200 steuert, einen internen Speicher 230, der einerseits ein Speicher zum Speichern der Daten ist, welche erforderlich sind, für die Ausführung des Benutzerprogramms und andererseits ein Speicher zum Speichern der Eingabe- und Ausgabewerte des Benutzerprogramms ist, ein I/F für ein Peripherie-Gerät 240, welches ein Interface ist für die Verbindung zum Peripheriegerät 2000, um Einstellungen für ein Benutzerprogramm und den Status von Daten des internen Speichers 230 anzuzeigen, und ein Bus I/F 250, das ein Kommunikationsinterface zur Ausführung einer Kommunikation mit der Ablaufsteuerungs-Einheit 100, welche über den Einheitenverbindenden Bus 300 erfolgt.
  • Das I/F für den externen Speicher 210, die Arbeitseinheit 220, der interne Speicher 230, das Peripheriegerät-I/F 240, und das Bus I/F 250 sind durch einen internen Bus 260 miteinander verbunden. Es wird angemerkt, dass ein System, welches das SPS 1000 und das Peripheriegerät 2000 aufweist, welches einem Personalcomputer oder dergleichen entspricht, welcher mit der SPS 1000 verbunden ist, als SPS-System 1 bezeichnet wird.
  • Das Peripheriegerät 2000 weist ein Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500 auf, welches die Erzeugung arithmetischer Ausdrücke durch einen Benutzer unterstützt, und daher die Erfassung des arithmetischen Ausdrucks ermöglicht. Das heißt, dass das Peripheriegerät 2000 als Unterstützungsvorrichtung für die Erzeugung von Daten arithmetischer Ausdrücke fungiert. Das Erzeugungs-Tool für die Daten arithmetischer Ausdrücke 500 wird realisiert durch ein Ablaufen einer Software auf dem Peripheriegerät 2000. Des Weiteren weist das Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500 einen Eingabebereich für arithmetische Ausdrücke 510 auf zur freien Eingabe von Kombinationen irgendwelcher Eingangsinformationen für die Ablaufsteuerungs-Einheit 100, welche als Konstanten und Variablen dienen, ferner für die Eingabe von ”(): Klammern” und Operatoren, wodurch die Erzeugung eines polynomialen arithmetischen Ausdrucks ermöglicht wird. Das Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500 weist ferner eine Verarbeitungseinheit für arithmetische Ausdrücke 520 zur Erfassung des erzeugten arithmetischen Ausdrucks in der Ablaufsteuerungs-Einheit 100 auf. Es sei angemerkt, dass das Erfassen des erzeugten arithmetischen Ausdrucks in der Ablaufsteuerungs-Einheit 100 genauer gesagt bedeutet, dass eine Datentabelle für arithmetische Ausdrücke 141 in dem gemeinsam genutzten Speicher 140 erzeugt wird, welche Informationen des arithmetischen Ausdrucks enthält, einschließlich der oben genannten Eingangsinformationen, Konstanten und mehr.
  • Es ist zu beachten, dass in der folgenden Erläuterung, zur Erzielung einer klaren Darstellung, die Namen von Speicherbereichen, Datenattribute, Operatorkonstanten, Variablen, und dergleichen, dadurch angegeben werden, dass diese zwischen Anführungszeichen gesetzt werden.
  • In der A/D Konvertierungseinheit entspricht beispielsweise ein digitaler Wert, welcher durch Konvertierung eines Analogsignals von einem Sensor, oder dergleichen, bestimmt wird, der Eingangsinformation für die Ablaufsteuerungs-Einheit 100. In der Zählereinheit entspricht ein gezählter Eingangspuls der Eingangsinformation für die Ablaufsteuerungs-Einheit 100. Die Eingangsinformation ist jedoch nicht auf besondere Ausführungen beschränkt, solange die Eingangsinformation eine Information ist, welche im gemeinsam genutzten Speicher 140 abgelegt wird. Dann können alle Arten von Informationen, welche in die Ablaufsteuerungs-Einheit eingegeben werden, frei als Berechnungsgrundlage genutzt werden.
  • Nun wird der gemeinsam genutzte Speicher 140 in der Ablaufsteuerungs-Einheit 100 erläutert. In der Ausführungsform der vorliegenden Erfindung wird die Datentabelle für arithmetische Ausdrücke 141 im gemeinsam genutzten Speicher 140 gespeichert, von welchem die Arbeitseinheit 130 der Ablaufsteuerungs-Einheit 100 eine Auslesung mit hoher Geschwindigkeit vornehmen kann. Ein arithmetischer Ausdruck, welcher durch den Benutzer erzeugt wurde, und welcher erfasst wurde mit dem Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500, wird zu der Ablaufsteuerungs-Einheit 100 weitergeleitet über diese Tabelle.
  • Die 2 ist eine Darstellung zur Erläuterung der Datenstruktur der Datentabelle für arithmetische Ausdrücke 141, und zwar für einen arithmetischen Ausdruck, welcher höchstens fünf Terme aufweist. Für die Berechnung eines arithmetischen Ausdrucks, welcher eine Vielzahl von Termen aufweist, gibt es die Vorschrift, dass die Priorität der Berechnung abhängig von der Anwesenheit oder Abwesenheit von Klammern bestimmt wird, sowohl als auch von der Priorität von Operatoren. Ein Binom, welches eine hohe Priorität aufweist, wird zuerst berechnet. Daher, wenn der arithmetische Ausdruck in der Datentabelle für arithmetische Ausdrücke eingetragen wird, wird der arithmetische Ausdruck in eine Vielzahl von Binomen aufgelöst, und die Binome werden in der Datentabelle für arithmetische Ausdrücke 141 in derjenigen Berechnungsreihenfolge gespeichert, in welcher sie durch die Ablaufsteuerungs-Einheit 100 ausgeführt werden. Bei diesem Vorgehen werden in der Datentabelle für arithmetische Ausrücke 141 die aufgelösten Binome unterteilt in einen ”ersten Term”, einen ”Operator”, und einen ”zweiten Term” und in der Reihenfolge von einem ”Berechnungssequenz-Bereich 1” bis zu einem ”Berechnungssequenz-Bereich 4” für eine ”Berechnungssequenz 1” bis zu einer ”Berechnungssequenz 4” gespeichert. Des Weiteren wird die Anzahl an Binomen, welche schließlich berechnet wird, gezählt und gespeichert in der ”Anzahl der zu berechnenden Sequenzen”.
  • Ergebnisse, welche durch die Berechnungen für die Berechnungssequenzen erhalten werden, werden der Reihenfolge nach in einem ”Berechnungsergebnis-Bereich” der Datentabelle für arithmetische Ausdrücke 141 gespeichert. Es ist zu beachten, dass die Sequenzen und die Ergebnisse in Verknüpfung miteinander in einer solchen Weise gespeichert werden, dass ein Ergebnis, welches durch die Berechnung in ”Berechnungssequenz-Bereich 1” erhalten wird, ein ”Berechnungsergebnis 1” ist. Eine arithmetische Operation eines Polynoms, welches von einem Benutzer nach Belieben erzeugt wurde, kann realisiert werden durch Kalkulieren von Binomen der Berechnungssequenz-Bereiche der Reihe nach für die Anzahl, welche angegeben ist durch ”Anzahl der zu berechnenden Sequenzen”.
  • Wenn beispielsweise die Berechnung von ”(3 × (4 – 2))” ausgeführt wird, wird ein Gesamt-Berechnungsergebnis von ”6” erhalten durch insgesamt zweimaliges Ausführen von binomialen Operationen, wobei zunächst ”2” von ”4” subtrahiert wird, und danach ”2” als Subtraktions-Ergebnis mit ”3” multipliziert wird. Daher wird in der Ausführungsform der vorliegenden Erfindung der arithmetische Ausdruck ”4 – 2”, welcher als erstes berechnet wird, im ”Berechnungssequenz-Bereich 1” als ” Berechnungssequenz 1” gespeichert. Danach wird das Berechnungsergebnis ”2” im ”Berechnungsergebnis 1” gespeichert. Des Weiteren wird ”3 × 'Berechnungsergebnis 1'”, welches ein Multiplikations-Ausdruck aus ”Berechnungsergebnis 1” und ”3” ist, und welcher als zweites berechnet werden soll, in der ”Berechnungssequenz 2” gespeichert. Die Anzahl von Berechnungen der Binome ”2” wird in ”Anzahl der zu berechnenden Sequenzen” gespeichert. Durch Ausführen von Berechnungen für die Anzahl an Berechnungen ”2”, der Reihenfolge nach beginnend von der ”Berechnungssequenz 1”, ist es möglich, ein Gesamtergebnis der Berechnung zu erhalten.
  • Wie oben erläutert wurde, enthält die Datentabelle für arithmetische Ausdrücke 141 nicht nur einen ”Zuweisungsbereich für Eingangsdaten”, welcher ein Bereich ist, in welchem Informationen von Adressen eingegeben werden. An den Adressen werden Eingangsinformationen gespeichert, die als Variablen dienen, welche Daten der Eingangsinformationen für die Ablaufsteuerungs-Einheit 100 sind, welche durch die Arbeitseinheit 130 für die arithmetische Operation verwendet werden. Zusätzlich sind die folgenden Bereiche in der Datentabelle für arithmetische Ausdrücke 141 reserviert: Ein ”Zuweisungsbereich für Konstanten”, welcher ein Bereich ist, in welchem Konstanten gespeichert sind, welche Daten sind, die durch die Arbeitseinheit 130 für eine arithmetische Operation verwendet werden; einen ”Berechnungssequenz-Bereich”, welches ein Bereich ist, in welchem für jede der Berechnungssequenzen ein zu berechnendes Binom gespeichert wird; einen ”Speicherbereich für die Anzahl an Berechnungen”, welches ein Bereich ist, in welchem die ”Anzahl der zu berechnenden Sequenzen” gespeichert ist, welches die Anzahl der Berechnungen von Binomen ist; einen ”Speicherbereich für die Dezimalpunktposition des Berechnungsergebnisses”, welches ein Bereich für die Zuweisung einer ”Dezimalpunktposition des Berechnungsergebnisses” ist, welches eine Dezimalpunktposition eines Berechnungsergebnisses ist; und einen ”Berechnungsergebnis-Bereich”, welcher ein Bereich ist, in welchem Berechnungsergebnisse der Binome der Berechnungssequenzen und ein Berechnungsergebnis des erfassten arithmetischen Ausdrucks gespeichert werden. Die Datentabelle für arithmetische Ausdrücke 141 verwaltet die Informationen dieser Bereiche. Es ist zu beachten, dass die Datenstruktur der Datentabelle für arithmetische Ausdrücke 141, welche in der 2 gezeigt ist, beispielshaft eine Tabelle eines arithmetischen Ausdrucks zeigt, welcher fünf Terme aufweist. Die Anzahl an Termen in dieser Ausführungsform ist jedoch nicht beschränkt.
  • Zurückkommend auf die 1: die Ablaufsteuerungs-Einheit 100 weist nicht nur den oben angegebenen Speicher 140 auf, sondern auch die Arbeitseinheit 130, welche die Steuerung der gesamten Ablaufsteuerungs-Einheit 100 und des Bus I/F 160 ausübt. Das Bus I/F 160 ist ein Kommunikationsinterface zur Durchführung einer Kommunikation mit der Zentraleinheit 200 über den einheitenverbindenden Bus 300. Die Arbeitseinheit 130, der gemeinsam genutzte Speicher 140 und das Bus I/F 160 sind durch den internen Bus 170 miteinander verbunden.
  • Die Arbeitseinheit 130 weist eine Verarbeitungseinheit für Daten arithmetischer Ausdrücke 131 auf, welche eine arithmetische Operation implementiert, entsprechend den Daten des arithmetischen Ausdrucks, welche in der Datentabelle für arithmetische Ausdrücke 141 eingetragen sind. Die Arbeitseinheit 130 arbeitet in jedem internen Steuerungszyklus der Ablaufsteuerungs-Einheit 100, so dass eine arithmetische Operation mit hoher Geschwindigkeit und einem unveränderlichen Zyklus gesichert ist.
  • Das Nachfolgende enthält eine Beschreibung für die Arbeitsweise des SPS-Systems 1 entsprechend der Ausführungsform der vorliegenden Erfindung.
  • Die 3 ist eine Darstellung zur Erläuterung der Übersicht über das SPS-System 1 entsprechend einer Ausführungsform der vorliegenden Erfindung, zusammen mit dem Fluss der Daten der arithmetischen Ausdrücke. In dieser Ausführungsform ist der gemeinsam genutzte Speicher 140 im Inneren der SPS 1000 vorgesehen und außerhalb der Ablaufsteuerungs-Einheit 100. In dieser Weise, solange sowohl die Arbeitseinheit 130, als auch die Ablaufsteuerungs-Einheit 100 auf den gemeinsam genutzten Speicher 140 zugreifen können, muss der gemeinsam genutzte Speicher 140 nicht immer im Inneren der Ablaufsteuerungs-Einheit 100 angeordnet sein, wie dies in der 1 gezeigt ist.
  • Als erstes erzeugt der Benutzer einen gewünschten arithmetischen Ausdruck im Eingabebereich für arithmetische Ausdrücke 510, welcher auf einem Schirm des Erzeugungs-Tools für Daten arithmetischer Ausdrücke 500 bereitgestellt ist. Das Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500 ist ausgerüstet mit einer Eingabeeinheit, wie eine Tastatur, einem Touchpanel, oder dergleichen. Nach dem Erzeugen des arithmetischen Ausdrucks drückt der Benutzer eine Geräte-Schreib-Schaltfläche 51, welche auf dem Schirm bereitgestellt ist. Wenn die Geräte-Schreib-Schaltfläche 51 betätigt wird, durchsucht das Erzeugungs-Tool für arithmetische Ausdrücke 500 zuerst den Eingabebereich für arithmetische Ausdrücke 510 und erzeugt eine Tabelle für Informationen über Operationsattribute 142. Die Tabelle für Informationen über Operatinsattribute 142 ist beispielsweise bereitgestellt in einem Speichermittel innerhalb des Erzeugungs-Tools für Daten arithmetischer Ausdrücke 500. Jedoch kann die Tabelle für Informationen über Operationsattribute 142 auch bereitgestellt sein im gemeinsam genutzten Speicher 140, wie dies später dargestellt ist.
  • Die Tabelle für Informationen über Operationsattribute 142 ist eine Tabelle, welche Daten eines arithmetischen Ausdrucks speichert, welche im Eingabebereich für arithmetische Ausdrücke 510 eingegeben wurden. Die Tabelle für Informationen über Operationsattribute 142 hat zwei Arten von Informationen, das heißt ein ”Datenattribut” und einen ”Inhalt” von Elementen, welche Bestandteile des arithmetischen Ausdrucks bilden. Die 4 ist eine Darstellung zur Erläuterung eines Beispiels der Tabelle für Informationen über Operationsattribute, in welcher Daten eines arithmetischen Ausdrucks, welcher fünf Terme aufweist, gespeichert werden. Die 5 ist eine Darstellung, welche die Typen der Datenattribute der Tabelle für Informationen über Operationsattribute zeigt, entsprechend der Ausführungsform der vorliegenden Erfindung. Die 6 ist eine Darstellung zur Erläuterung der Operatorkonstanten, entsprechend der Ausführungsform der vorliegenden Erfindung.
  • In der 4 ist ein ”Datenattribut” ein Bereich zur Speicherung eines Attributs, welches für jedes Element der Daten des arithmetischen Ausdrucks angibt, ob es zu einem der folgenden gehört: ”Adressinformation”, zum Verweis auf eine Adresse in dem gemeinsam genutzten Speicher 140, ”direkter Wert”, welcher eine Konstante repräsentiert oder eine Dezimalpunktposition, eine ”Klammerkonstante” welche eine Klammer repräsentiert, und eine ”Operator-Konstante”, welche einen Operator präsentiert. Im ”Datenattribut” der 4 wird einer der Werte 1 bis 4 des ”numerischen Datenwertes”, wie in der 5 gezeigt, gespeichert: ”1: Klammer-auf-Symbol”, ”2: Klammer-zu-Symbol”, ”3: Operator”, oder ”4: Wert”. Die Attribute von ”Adressinformation” und ”direkter Wert” sind ”4: Wert”. Das Attribut von ”Klammer-Konstante” ist ”1: Klammer-auf-Symbol” oder ”2: Klammer-zu-Symbol”. Das Attribut von der ”Operator-Konstante” ist ”3: Operator”.
  • Diese ”Datenattribute” sind Daten, welche im Voraus in einem Stadium festgelegt werden, in welchem die Anzahl an Termen eines polynomialen Ausdrucks bestimmt wird, d. h. in dem Stadium, in welchem die Anzahl an Termen auf einem Schirm angezeigt werden und welches nicht abhängt von einer Eingabe des Benutzers. Auf der anderen Seite ist der ”Inhalt”, welcher in der 4 gezeigt ist, ein Bereich, in welchem ein arithmetischer Ausdruck, welcher vom Benutzer im Eingabebereich für arithmetische Ausdrücke 510 erzeugt wird, entsprechend dessen Elementen gespeichert wird. Werte, welche im ”Inhalt” gespeichert sind, sind unterschiedlich, abhängig vom ”Datenattribut”, welches der jeweiligen ”Adresse” der 4 entspricht. Wenn das ”Datenattribut” ”1: Klammer-auf-Symbol” oder ”2: Klammer-zu-Symbol” ist, werden 0 oder 1 als ”gespeicherter Wert” im ”Inhalt” als Klammerkonstante gespeichert, wobei diese Werte ”anwesend: 1” oder ”abwesend: 0” entsprechen, wie dies in der 5 gezeigt ist. Wenn das ”Datenattribut” ”3: Operator” ist, wird ein numerischer Wert zwischen 1 und 4 im ”Inhalt” als Operatorkonstante gespeichert, wobei diese numerischen Werte ”Daten numerischer Werte” sind, entsprechend ”×: 1”, ”÷: 2”, ”+: 3”, und ”–: 4”, wobei diese Beziehungen in der 6 gezeigt sind. Wenn das ”Datenattribut” ”4: Wert” ist, werden Adressen 0 bis 14 im ”Inhalt” gespeichert. Die Adressen 0 bis 14 sind ”Adressen” 0 bis 4, welche einem ”Eingangsdaten-Zuweisungsbereich” entsprechen, oder ”Adressen” 5 bis 14, welche einem ”Konstanten-Zuweisungsbereich” in der Datentabelle für arithmetische Ausdrücke 141 der 2 entsprechen.
  • Zurückkommend auf die 3: die Zentraleinheit 200 durchsucht die Tabelle für Informationen über Operationsattribute 142, löst, auf Basis der Datenattribute, den arithmetischen Ausdruck in Binome auf, und übermittelt die Binome zur Datentabelle für arithmetische Ausdrücke 141 und trägt sie darin ein.
  • Entsprechend dem Verfahren, welches oben erläutert wurde, werden die Daten des arithmetischen Ausdrucks, welche durch das Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500 erzeugt wurden, transferiert zur Datentabelle für arithmetische Ausdrücke 141. Die Ablaufsteuerungs-Einheit 100 führt eine arithmetische Operation aus durch Auslesen der Daten des arithmetischen Ausdrucks, welche zur Datentabelle für arithmetische Ausdrücke 141 transferiert wurden.
  • Es ist zu beachten, dass das Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500 eine Speicher-Schaltfläche 50 aufweisen kann, zusätzlich zur Geräte-Schreib-Schaltfläche 51, welche oben erläutert wurde. In diesem Fall können Projektdaten für das Erzeugungs-Tool arithmetischer Ausdrücke 500 im Peripheriegerät 2000 gespeichert werden, so dass eine Wiederverwendung eines arithmetischen Ausdrucks oder dergleichen leicht realisiert werden kann.
  • Es ist zu beachten, dass die Tabelle für Informationen über Operationsattribute 142 im gemeinsam genutzten Speicher 140 gespeichert werden kann, obwohl dies für eine arithmetische Operation nicht notwendig ist. In dieser Konfiguration, da die Auslese-Schaltfläche 52 durch das Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500 bereitgestellt ist, ist es möglich, einen polynomialen arithmetischen Ausdruck im Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500 wieder herzustellen durch Auslesen der Datentabelle für arithmetische Ausdrücke 141 und der Tabelle für Informationen arithmetischer Ausdrücke 142, sogar wenn im Peripheriegerät 2000 die Projektdaten des Erzeugungs-Tools für Daten arithmetischer Ausdrücke nicht enthalten sind.
  • Nun wird das Verfahren zur Erzeugung eines arithmetischen Ausdrucks unter Verwendung des Eingabebereichs für arithmetische Ausdrücke 510 erklärt. Die 7 ist eine Darstellung zur Erläuterung des Eingabebereiches für arithmetische Ausdrücke 510, welcher ein Bildschirm des Erzeugungs-Tools für Daten arithmetischer Ausdrücke 500 ist, entsprechend der Ausführungsform der vorliegenden Erfindung. In ”Klammer-auf” und ”Klammer-zu” wird eine Auswahl getroffen, ob ”(): Klammern” an den jeweiligen Positionen gesetzt werden. In ”Operator” wird einer der arithmetischen Operatoren (+, –, ×, und ÷) ausgewählt. Es ist zu beachten, dass ”(: Klammer-auf”, ”): Klammer-zu”, und die Operatoren durch simple Operationen basierend auf dem drag & drop Bereich 350 eingegeben werden können, welcher in der 3 gezeigt wird, oder durch pull-down.
  • In ”Wert (1)” bis ”Wert (5)” der 7, wenn Eingangsinformationen für die Ablaufsteuerungs-Einheit verwendet werden, werden Adressen von dem gemeinsam genutzten Speicher 140 eingegeben, in welchem die Information gespeichert sind, welche für die arithmetische Operation verwendet werden. Wenn jedoch eine Konstante verwendet wird, wird irgend ein numerischer Wert eingegeben. Des Weiteren, wenn die Informationen, welche in ”Wert (1)” bis ”Wert (5)” eingegeben werden Konstanten sind, wird die Anzahl an Ziffern des numerischen Wertes nach dem Dezimalpunkt in ”Wert (1) Dezimalpunktposition” bis ”Wert (5) Dezimalpunktposition” eingegeben. Informationen darüber, ob Informationen, welche in ”Wert (1)” bis ”Wert (5)” eingegeben werden, entweder eine ”Eingangsinformation” oder eine ”Konstante” ist, wird in ”Wert (1) Attributinformation” bis ”Wert (5) Attributinformation” eingegeben. Es ist zu beachten, dass in dem Beispiel, welches in der 7 gezeigt ist, das Tool einen arithmetischen Ausdruck erzeugen kann, welcher höchstens fünf Terme aufweist. Jedoch ist die Anzahl an Termen der arithmetischen Operationen in dieser Ausführungsform nicht beschränkt.
  • Nachdem der arithmetischer Ausdruck im Eingabebereich für arithmetische Ausdrücke 510 erzeugt wurde, wird ein numerischer Wert in ”Dezimalpunktposition des Berechnungsergebnisses” eingegeben. Die ”Dezimalpunktposition des Berechnungsergebnisses” wird verwendet, um festzulegen, wie viele Ziffern nach dem Dezimalpunkt im Berechnungsergebnis angezeigt werden, wenn das Berechnungsergebnis auf dem Peripheriegerät 2000 angezeigt wird. Nach Durchführung der Eingabe in der oben beschriebenen Weise, wird die Geräte-Schreib-Schaltfläche 51, welche in der 3 gezeigt ist, gedrückt. Wenn die Geräte-Schreib-Schaltfläche 51 betätigt wird, führt die Verarbeitungseinheit für arithmetische Ausdrücke 520 einen Erfassungsprozess für den arithmetischen Ausdruck durch.
  • Im Nachfolgenden wird der Erfassungsprozess für den arithmetischen Ausdruck erläutert. Von den Daten des arithmetischen Ausdrucks werden die folgenden in der Datentabelle für arithmetische Ausdrücke 141 gespeichert: ”Wert (1) Dezimalpunktposition” bis ”Wert (5) Dezimalpunktposition”, ”Wert (1) Attributinformation” bis ”Wert (5) Attributinformation”, und ”Dezimalpunktposition Berechnungsergebnis”. Auf der anderen Seite wird eine Verarbeitung ausgeführt, um die Eingabeinformationen in der Ablaufsteuerungs-Einheit 100 zu speichern. Des Weiteren werden die Konstanten, die Operatoren, die ”(: Klammer-auf”, und die ”): Klammer-zu” in der Tabelle für Informationen über Operationsattribute 142 gespeichert. Danach wird der arithmetische Ausdruck in der Verarbeitungseinheit für arithmetische Ausdrücke 520 in Binome aufgelöst, und die Binome werden in der Datentabelle für arithmetische Ausdrücke 141 entsprechend ihrer Berechnungsreihenfolge gespeichert.
  • Zuerst wird ein Verfahren zum Speichern der Daten des arithmetischen Ausdrucks in der Tabelle für Informationen über Operationsattribute 142 erklärt. Die 8 ist eine Darstellung zur Erläuterung der Verarbeitung der Daten des arithmetischen Ausdrucks zur Speicherung in der Tabelle für Informationen über Operationsattribute in der Ausführungsform der vorliegenden Erfindung. Die Daten des arithmetischen Ausdrucks wurden im Eingabebereich für arithmetische Ausdrücke 510 erzeugt. Wie in der 8 gezeigt ist, werden jede der Konstanten der Daten des arithmetischen Ausdrucks, der Eingangsinformationen für die Ablaufsteuerungs-Einheit 100, der Operatoren, der ”(: Klammer-auf”, und ”): Klammer-zu”, in ihre jeweiligen numerischen Werte konvertiert und danach in der Tabelle für Informationen über Operationsattribute 142 gespeichert. Von ihnen werden für die Eingangsinformationen für die Ablaufsteuerungs-Einheit 100 und für die Konstanten jeweils Adressen gespeichert, an welchen die Eingangsinformationen oder die Konstanten in der Datentabelle für arithmetische Ausdrücke gespeichert sind. Die Operatoren werden in Operatorkonstanten ”×: 1”, ”÷: 2”, ”+: 3”, und ”–: 4” konvertiert, wobei die Operatorkonstanten jeweils einem arithmetischen Operator zugeordnet sind. Die ”(: Klammer-auf” und die ”): Klammer-zu” werden an ihren jeweiligen Positionen konvertiert in ”vorhanden: 1” oder ”nicht vorhanden: 0”, welches die Klammerkonstanten sind.
  • Die Daten des arithmetische Ausdrucks, welche in numerische Werte konvertiert wurden, werden in der Tabelle für Informationen über Operationsattribute 142 gespeichert, welche in der Verarbeitungseinheit für arithmetische Ausdrücke 520 enthalten ist. An dieser Stelle wird für Elemente für welche keine Eingabe erfolgte, oder für Elemente mit einem Leerzeichen auf dem Tool, ein festgelegter numerischer Wert 0 gespeichert, um anzuzeigen, dass diese Elemente unausgefüllt sind. Ein ”Pointer des rechten Endes PR” ist in der letzten Zeile der Tabelle für Informationen über Operationsattribute 142 bereitgestellt. Das Erzeugungs-Tool für Daten arithmetischer Ausdrücke durchsucht den Eingabebereich für arithmetische Ausdrücke 510 nach den letzten Daten und speichert eine Adresse, welche den letzten Daten entspricht, in der Tabelle für Informationen über Operationsattribute 142 als ”Pointer des rechten Endes PR”.
  • Wenn die Daten des arithmetischen Ausdrucks, welche in numerische Werte konvertiert worden sind, in der Tabelle für Informationen über Operationsattribute 142 gespeichert werden, werden die arithmetischen Ausdrücke in der Tabelle für Informationen über Operationsattribute in einer Reihenfolge des arithmetischen Ausdrucks beginnend von links gespeichert. Wie in der 8 gezeigt ist, wird abhängig von der Anzahl der Terme bestimmt, welches Element des arithmetischen Ausdrucks in den Eingabebereich für arithmetische Ausdrücke 510 eingegeben wird. Daher, ob eine Klammer, ein Wert, oder ein Operator in den jeweiligen Adressen der Tabelle für Informationen über Informationsattribute 142 gespeichert wird, wird im Voraus abhängig von der Anzahl an Termen des Ausdrucks bestimmt. Beispielsweise, da die Positionen der Klammer-auf-Symbole den Bereichen für Klammer-auf-Symbole entsprechen, welche in der 8 gezeigt sind, sind Bereiche, in welchen die Klammer-auf-Symbole der Tabelle für Informationen über Operationsattribute 142 gespeichert sind, die Adressen 0 bis 2, 5 bis 7, 11, 12 und 17. Daher werden numerische Werte für die Datenattribute der Tabelle für Informationen über Operationsattribute 142 im Voraus gespeichert zu einem Zeitpunkt in zu welchem ein Schirm im Erzeugungs-Tool für Daten numerischer Ausdrücke 500 geöffnet wird. Die Verarbeitungseinheit für arithmetische Ausdrücke 520 durchsucht die Tabelle auf Basis der Datenattribute, welche in der Tabelle für Informationen über Operationsattribute 142 gespeichert sind und bestimmt die Reihenfolge der Berechnung der Binome.
  • Wie oben erläutert ist, werden die Daten des arithmetischen Ausdrucks, welche in der Tabelle für Informationen über Operationsattribute 142 gespeichert sind, in der Verarbeitungseinheit für arithmetische Ausdrücke 520 in Binome aufgelöst, und es wird festgelegt, dass die Reihenfolge im Speicher die abzuarbeitende Berechnungsreihenfolge ist. Dann werden die Binome in der Datentabelle für arithmetische Ausdrücke 141 gespeichert. Die 9 bis 11 sind Flussdiagramme zur Erläuterung eines Beispiels eines Verarbeitungsablaufs der Verarbeitungseinheit für arithmetische Ausdrücke 520 des Erzeugungs-Tools für Daten arithmetischer Ausdrücke 500 in der Ausführungsform der vorliegenden Erfindung. Es ist zu beachten, dass die 9 bis 11 ein Beispiel eines Verarbeitungsverfahrens repräsentieren, und die Erfindung ist nicht beschränkt auf dieses Verfahren ist.
  • In diesem Verfahren wird, wie oben erklärt, die Auflösung in Binome durch Durchsuchen der Datenattribute der Adressen der Tabelle für Informationen über Operationsattribute 142 ausgeführt. In dem Verfahren, welches nachfolgend erklärt ist, gibt der Ausdruck ”Adressen” die Adressen der Tabelle für Informationen über Operationsattribute 142 an, mit Ausnahme der Adressen des gemeinsam genutzten Speichers 140. In dem Ablauf repräsentiert die ”Anzahl der zu berechnenden Sequenzen” die Anzahl an Operationen mit Binomen an. Ein ”Adressen-Such-Pointer NUM” repräsentiert eine Adresse, welche gegenwärtig in der Tabelle für Informationen über Operationsattribute 142 durchsucht wird.
  • In der 9 initialisiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 zuerst die Anzahl der Berechnungen auf 0. Das heißt, dass die ”Anzahl der zu berechnenden Sequenzen” auf 0 gesetzt wird (Schritt S101). Die Verarbeitungseinheit für arithmetische Ausdrücke 520 initialisiert den ”Adressen-Such-Pointer NUM” der Tabelle für Informationen über Operationsattribute 142 auf ”Adressen-Such-Pointer NUM” = 0 (Schritt S102).
  • Danach sucht die Verarbeitungseinheit für arithmetische Ausdrücke 520 nach einem eingeklammerten Term im arithmetischen Ausdruck (Schritte S103 bis S111). Wenn sich eine Vielzahl von Klammerpaaren im arithmetischen Ausdruck befinden, geht die Verarbeitungseinheit für arithmetische Ausdrücke 520 bei der Suche nach dem eingeklammerten Term auf Basis der Regel, dass ein arithmetischer Ausdruck, welcher durch die innersten Klammern eingeklammert ist, als erstes berechnet wird, so vor, dass, zunächst nach einem Klammer-zu-Symbol gesucht wird, welches sich in dem arithmetischen Ausdruck am weitesten links befindet (Schritt S103 bis S106). Danach sucht die Verarbeitungseinheit für arithmetische Ausdrücke 520 nach einem Klammer-auf-Symbol, welches zu dem Klammer-zu-Symbol korrespondiert (Schritte S107 bis S111).
  • Als erstes sucht die Verarbeitungseinheit für arithmetische Ausdrücke 520 nach einem Klammer-zu-Symbol entsprechend einem nachfolgend erläuterten Verfahren. Als erstes erfasst die Verarbeitungseinheit für arithmetische Ausdrücke 520 ein Datenattribut und einen Inhalt einer Adresse, welcher dem ”Adressen-Such-Pointer NUM” entspricht (Schritt 103). Die Verarbeitungseinheit für arithmetische Ausdrücke 520 bestimmt, ob das ”Datenattribut”, welches im Schritt S103 erfasst wurde eine ”2 (ein Klammer-zu-Symbol)” und der ”Inhalt” eine ”1 (vorhanden)” ist (Schritt S104). Wenn eine der Bedingungen nicht erfüllt ist, (NEIN im Schritt S104), inkrementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” um eins (Schritt S105) und bestimmt, ob der ”Adressen-Such-Pointer NUM” gleich oder größer ist als der ”Pointer des rechten Endes PR” (Schritt S106). Wenn der ”Adressen-Such-Pointer NUM” kleiner ist als der ”Pointer des rechten Endes PR” (Nein im Schritt S106), springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zum Schritt S103 und sucht nach der nächsten Adresse.
  • Wenn das Datenattribut, welches im Schritt S103 erfasst wurde, eine ”2 (Klammer-zu-Symbol)” ist, und der Inhalt eine ”1: (vorhanden)” (JA im Schritt S104), ist ein Klammer-zu-Symbol, welches einen Term schließt, welcher als erstes berechnet werden soll, in der Adresse, welche durch den ”Adressen-Such-Pointer NUM” angegeben wird, anwesend. Daher ermittelt die Verarbeitungseinheit für arithmetische Ausdrücke 520 ein Klammer-auf-Symbol entsprechend zu dem aufgefundenen Klammer-zu-Symbol (Schritte 107 bis S111).
  • Das Klammer-auf-Symbol, welches zu dem Klammer-zu-Symbol korrespondiert, welches im Schritt S104 aufgefunden wurde, ist ein Klammer-auf-Symbol, welches sich auf der linken Seite des Klammer-zu-Symbols befindet und welche dem Klammer-zu-Symbol am nächsten ist. Aus diesem Grund wird das Klammer-auf-Symbol gesucht, wie nachfolgend erklärt. Als erstes dekrementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” um eins (Schritt S107) und erfasst ein ”Datenattribut” und einen ”Inhalt” der Adresse entsprechend dem ”Adressen-Such-Pointer NUM” in der Tabelle für Informationen über Operationsattribute 142 (Schritt S108). Die Verarbeitungseinheit für arithmetische Ausdrücke 520 bestimmt, ob das ”Datenattribut”, welches im Schritt (S108) erfasst wurde, eine ”1 (ein Klammer-auf)” ist und der ”Inhalt” eine ”1 (vorhanden)” ist (Schritt S109). Wenn eine der Bedingungen nicht erfüllt ist (Nein Schritt S109), bestimmt die Verarbeitungseinheit für arithmetische Ausdrücke 520, ob der ”Adressen-Such-Pointer NUM” 0 oder kleiner ist (Schritt S110). Wenn der ”Adressen-Such-Pointer NUM” 0 oder kleiner ist (JA im Schritt Silo), kann ein Klammer-auf-Symbol, welches mit dem Klammer-zu-Symbol, welches im Schritt S104 ermittelt wurde, ein Paar bildet, im arithmetischen Ausdruck nicht gefunden werden. Daher benachrichtigt die Verarbeitungseinheit für arithmetische Ausdrücke 520 den Benutzer über einen Fehler (Schritt S111) und beendet die Verarbeitung. Auf der anderen Seite, wenn im Schritt S110 der ”Adressen-Such-Pointer NUM” 1 oder mehr ist (Nein im Schritt 110), springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zum Schritt S107 und sucht weiter nach der vorangehenden Adresse.
  • Wenn im Schritt S109 das ”Datenattribut” der Adresse, welche dem ”Adressen-Such-Pointer NUM” eine ”1 (ein Klammer-auf)” ist, und der ”Inhalt” eine ”1 (vorhanden)” GA im Schritt S109), ist ein Klammer-auf-Symbol, welches einen Term, welcher zuerst berechnet werden muss einklammert, in der Adresse, welche durch den ”Adressen-Such-Pointer NUM” angegeben ist, vorhanden. Das Klammer-zu-Symbol, welches im Schritt S104 aufgefunden wurde, und das Klammer-auf-Symbol, welches im Schritt S109 aufgefunden wurde, sind die innersten Klammern. Daher muss ein arithmetischer Ausdruck, welcher durch diese Klammern eingeklammert ist, derjenige Ausdruck sein, welcher als erstes berechnet werden muss.
  • Wie in der 10 gezeigt ist, ermittelt die Verarbeitungseinheit für arithmetische Ausdrücke 520 danach ein Binom, welches zwischen den ermittelten Klammern vorhanden ist (Schritte S112 bis S134). Beim Ermitteln des Binoms in dem Fall, in welchem die vier grundlegenden arithmetischen Operationen durchgeführt werden in Übereinstimmung mit der Regel, dass Multiplikation und Division vor Addition und Subtraktion berechnet werden, führt die Verarbeitungseinheit für arithmetische Ausdrücke eine Suche nach Binomen der Multiplikation und Division durch (Schritt S112 bis S127) und sucht anschließend nach Binomen der Addition und der Subtraktion (Schritt S128 bis S134).
  • Das Binom der Multiplikation oder Division wird durch eine Suche nach einem Operator ”×” oder einem Operator ”÷” gefunden. Als erstes addiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 eine 1 zu dem ”Adressen-Such-Pointer NUM” (Schritt S112), und erfasst das ”Datenattribut” und den ”Inhalt” der Adresse der Tabelle für Informationen über Operationsattribute 142, entsprechend dem ”Adressen-Such-Pointer NUM” (Schritt S113). Die Verarbeitungseinheit für arithmetische Ausdrücke 520 bestimmt, ob das ”Datenattribut”, welches im Schritt S113 erfasst wurde, eine ”3: (Operator)” ist und der ”Inhalt” eine ”1 (×)” oder eine ”2 (÷)” ist (Schritt S114). Wenn das Datenattribut, welches im Schritt S114 erfasst wurde kein ”3 (Operator)” ist, oder der Inhalt weder eine ”1 (×)” noch eine ”2 (÷)” ist (NEIN im Schritt S114), inkrementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” um 1 (Schritt S115) und bestimmt, ob der ”Adressen-Such-Pointer NUM” gleich oder größer ist als die Adresse, welche im Schritt S104 gefunden wurde, d. h. der Adresse, in welcher das Klammer-zu-Symbol gespeichert ist (Schritt S116). Wenn die Adresse kleiner ist als die Adresse, an welcher das Klammer-zu-Symbol gespeichert ist (NEIN im Schritt S116), springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zum Schritt S113.
  • Wenn das Datenattribut, welches im Schritt S114 erfasst wurde eine ”3 (Operator)” ist und der Inhalt eine ”1 (×)” und eine ”2 (÷)” (JA im Schritt S114), ist ein Term, welcher sich auf diesen Operator bezieht, ein Binom, welches als erstes zu berechnen ist.
  • Nachfolgend ermittelt die Verarbeitungseinheit für arithmetische Ausdrücke 520 einen ersten Term, welcher sich auf denjenigen Operator bezieht, welcher im Schritt S114 ermittelt wurde. Der erste Term, welcher sich auf den Operator bezieht, befindet sich auf der linken Seite des Operators und ist ein Wert, welcher am nächsten zum Operator ist. Aus diesem Grund wird eine Suche durchgeführt, wie unten beschrieben. Die Verarbeitungseinheit für arithmetische Ausdrücke 520 verringert den ”Adressen-Such-Pointer NUM” um eins (Schritt S117) und erfasst das ”Datenattribut” und den ”Inhalt” der Adresse der Tabelle über Informationen über Informationsattribute 142, welche dem ”Adressen-Such-Pointer NUM” entsprechen (Schritt S118). Die Verarbeitungseinheit für arithmetische Ausdrücke 520 bestimmt, ob das ”Datenattribut”, welches im Schritt S118 erfasst wurde, eine ”4 (Wert)” und der ”Inhalt” unterschiedlich ist zu einer ”0 (Leerzeichen)” (Schritt S119). Wenn diese Bedingungen nicht erfüllt sind (NEIN im Schritt S119), springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zum Schritt S117 und durchsucht weiter die vorhergehende Adresse. Wenn das ”Datenattribut”, welches im Schritt S114 erfasst wurde eine ”4 (Wert)” ist und der ”Inhalt” unterschiedlich ist zu einer ”0 (Leerzeichen)” (JA im Schritt S119), ist dieser Term der erste Term, welcher sich auf denjenigen Operator bezieht, welcher im Schritt S114 ermittelt wurde.
  • Danach wird ein zweiter Term ermittelt, welcher sich auf denjenigen Operator bezieht, welcher im Schritt S114 ermittelt wurde. Da der zweite Term, welcher sich auf diesen Operator bezieht, sich auf der rechten Seite des Operators befindet und dem Operator als nächstes ist, wird der zweite Term gesucht, wie nachfolgend erläutert. Als erstes setzt die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” auf die Adresse, welche im Schritt S114 gefunden wurde, das heißt die Adresse, an welcher der Operator gespeichert ist (Schritt S120), inkrementiert den ”Adressen-Such-Pointer NUM” um eins (Schritt S121) und erfasst das ”Datenattribut” und den ”Inhalt” der Adresse, entsprechend dem ”Adressen-Such-Pointer NUM” der Tabelle für Informationen über Operationsattribute (Schritt S122). Die Verarbeitungseinheit für arithmetische Ausdrücke 520 bestimmt, ob das ”Datenattribut”, welches im Schritt S122 erfasst wurde, eine ”4 (Wert)” und der ”Inhalt” unterschiedlich ist zu einer ”0 (Leerzeichen)” (Schritt S123). Wenn diese Bedingungen nicht erfüllt sind (NEIN im Schritt S123) springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zum Schritt S121 und sucht nach der nächsten Adresse. Wenn das ”Datenattribut”, welches im Schritt S122 erfasst wurde, eine ”4 (Wert)” ist und der ”Inhalt” unterschiedlich ist zu einer ”0 (Leerzeichen)” (JA im Schritt S123), wird angenommen, dass dieser Term der zweite Term ist, der sich auf den Operator bezieht, welcher im Schritt S114 ermittelt wurde.
  • Der binomiale Ausdruck, welcher zuerst berechnet wird, wird durch die Verarbeitung ermittelt, wie sie bisher ausgeführt wurde. Daher addiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 eine 1 zu der ”Anzahl der zu berechnenden Sequenzen” (Schritt S124) und transferiert den Ausdruck zur Datentabelle für arithmetische Ausdrücke 141. Die Verarbeitungseinheit für arithmetische Ausdrücke 520 speichert in einem Berechnungssequenz-Bereich, welcher durch die ”Anzahl der zu berechnenden Sequenzen” der Datentabelle für arithmetische Ausdrücke 141 angegeben ist, für den ”ersten Term” den Inhalt der Adresse, welche im Schritt S119 aufgefunden wurde, den Inhalt ”Operator” der Adresse, welche im Schritt S114 aufgefunden wurde, und für ”zweiter Term” den Inhalt der Adresse, welche im Schritt S123 aufgefunden wurde (Schritt S125). Das heißt, dass die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ersten Term, den Operator und den zweiten Term im Berechnungssequenz-Bereich einer Nummer speichert, welche durch die ”Anzahl der zu berechnenden Sequenzen”, angegeben ist. Des Weiteren speichert die Verarbeitungseinheit für arithmetische Ausdrücke 520 in der Adresse, in welcher der erste Term gespeichert ist, eine der Adressen 29 bis 36, welche ein Berechnungsergebnis repräsentiert, welche durch die ”Anzahl der zu berechnenden Sequenzen” angegeben ist (Schritt S126), und speichert 0, das heißt ein Leerzeichen, in den Adressen, in welchen der Operator und der zweite Term gespeichert sind (Schritt S127). Durch das Verfahren, wie es bisher ausgeführt wurde, war es möglich, das zu berechnende Binom in der Sequenz, welche durch ”Anzahl der zu berechnenden Sequenzen” angegeben ist, zu speichern. Das Verfahren springt dann zum Schritt S113 und sucht nach dem nächsten Operator.
  • Wenn im Schritt S116 der ”Adressen-Such-Pointer NUM” gleich oder größer ist als die Adresse, in welcher das Klammer-zu-Symbol gespeichert ist, d. h. die Adresse, welche im Schritt S104 gefunden wurde (JA im Schritt 116), ist die Suche nach den Binomen der Multiplikation und Division zwischen den Klammern beendet, und daher springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zu einem Schritt zum Bestimmen von Binomen der Addition und Subtraktion zwischen Klammern (Schritt S128 bis S134).
  • Als erstes setzt die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” wieder auf die Adresse, in welcher das Klammer-auf-Symbol gespeichert ist, d. h. diejenige Adresse, welche im Schritt S109 aufgefunden wurde (Schritt S128). Dann erfasst die Verarbeitungseinheit für arithmetische Ausdrücke 520 das ”Datenattribut” und den ”Inhalt” der Adresse entsprechend dem ”Adressen-Such-Pointer NUM” der Tabelle für Informationen über Operationsattribute 142 (Schritt S129). Die Einheit 520 bestimmt, ob das ”Datenattribut”, welches im Schritt S129 erfasst wurde, eine ”3 (Operator)” ist und der Inhalt eine ”3 (+)” oder eine ”4 (–)” (Schritt S130). Wenn eine der Bedingungen nicht erfüllt ist (Nein im Schritt S130), addiert die Einheit 520 eine 1 zum ”Adressen-Such-Pointer NUM” (Schritt S131) und bestimmt, ob der ”Adressen-Such-Pointer NUM” gleich oder größer ist als diejenige Adresse, in welcher das Klammer-zu-Symbol gespeichert ist (die Adresse, welche im Schritt S104 aufgefunden wurde) (Schritt S132). Wenn der ”Adressen-Such-Pointer NUM” kleiner ist als die Adresse, in welcher das Klammer-zu-Symbol gespeichert ist (die Adresse, welche im Schritt S104 gefunden wurde) (NEIN im Schritt S132), springt die Einheit 520 zum Schritt S129 und sucht weiter nach der nächsten Adresse. Wenn im Schritt S130 das Datenattribut der Adresse, welche dem ”Adressen-Such-Pointer NUM” entspricht, eine ”3 (Operator)” und der Inhalt eine ”3 (+)” oder eine ”4 (–)” ist (JA im Schritt S130), führt die Einheit 520 das gleiche Verfahren aus, wie in den Schritten S117 bis S127 (Schritt S133), speichert das Binom im Berechnungssequenz-Bereich und springt zum Schritt S129 zurück.
  • Wenn im Schritt S132 der ”Adressen-Such-Pointer NUM” gleich oder größer ist als die Adresse, in welcher das Klammer-zu-Symbol gespeichert ist (JA im Schritt S132) ist die Such nach dem arithmetischen Ausdruck zwischen den Klammern beendet und die Einheit 520 speichert daher ”0 (Leerzeichen)” im Inhalt der Adresse, in welcher das Klammer-zu-Symbol gespeichert ist, d. h. die Adresse, welche im Schritt S104 gefunden wurde, und im Inhalt der Adresse, in welcher das Klammer-auf-Symbol gespeichert ist, d. h. die Adresse, welche im Schritt S109 gefunden wurde (Schritt S134), springt zum Schritt S103 und sucht nach Klammern, welche als nächstes zu berechnen sind.
  • Das oben erläuterte Verfahren wird wiederholt, und wenn im Schritt S106 der ”Adressen-Such-Pointer NUM” gleich oder größer ist als der ”Pointer des rechten Endes PR” (JA im Schritt S106), ist die Suche bis zum Ende des arithmetischen Ausdrucks beendet worden, und so beendet die Verarbeitungseinheit für arithmetische Ausdrücke 520 den Schritt des Bestimmens einer Klammer und springt zu einem Schritt des Suchens nach einem arithmetischen Ausdruck außerhalb der Klammern, wie dies in der 11 gezeigt ist (Schritte S135 bis S146). Auch außerhalb der Klammern sucht die Verarbeitungseinheit für arithmetische Ausdrücke 520, entsprechend der Berechnungsreihenfolge der vier arithmetischen Operationen zunächst nach Binomen der Multiplikation und Division (Schritte 135 bis S140) und danach nach Binomen der Addition und Subtraktion (Schritte S141 bis S146).
  • Als erstes setzt die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” auf 0, d. h. bringt ihn nach oben zurück (Schritt S135) und erfasst das ”Datenattribut” und den ”Inhalt” der Adresse entsprechend dem ”Adressen-Such-Pointer NUM” der Tabelle für Informationen über Operationsattribute 142 (Schritt S136). Die Einheit 520 bestimmt, ob das ”Datenattribut”, welches im Schritt S136 erfasst wurde, eine ”3 (Operator)” und der ”Inhalt” eine ”1 (×)” oder eine ”2 (÷)” ist (Schritt S137). Wenn eine der Bedingungen nicht erfüllt ist (NEIN im Schritt S137), inkrementiert die Einheit 520 den ”Adressen-Such-Pointer NUM” um 1 (Schritt S138), und bestimmt, ob der ”Adressen-Such-Pointer NUM” gleich oder größer ist als der ”Pointer des rechten Endes PR” (Schritt S139). Wenn der ”Adressen-Such-Pointer NUM” kleiner ist als der ”Pointer des rechten Endes” (NEIN im Schritt S139), springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zum Schritt S136 und sucht nach der nächsten Adresse. Wenn im Schritt S137 das ”Datenattribut” der Adresse entsprechend dem ”Adressen-Such-Pointer NUM” eine ”3 (Operator)” ist und der ”Inhalt” eine ”1 (×)” oder eine ”2 (÷)” (JA im Schritt S137), implementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 das gleiche Verfahren, wie in den Schritten S117 bis S127 (Schritt S140), speichert die Binome im Berechnungssequenz-Bereich, und kehrt zurück zum Schritt 136.
  • Wenn im Schritt S139 der ”Adressen-Such-Pointer NUM” gleich oder größer ist als der ”Pointer des rechten Endes PR” (JA im Schritt S139), beendet die Verarbeitungseinheit für arithmetische Ausdrücke 520 den Schritt des Suchens nach einem Binom der Multiplikation und Division und springt zum Schritt des Ermittelns eines Binoms der Addition oder Subtraktion (Schritt S141 bis S146). Als erstes setzt die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” auf 0, d. h. bringt ihn nach oben zurück (Schritt S141), und erfasst das ”Datenattribut” und den ”Inhalt” der Adresse entsprechend dem ”Adressen-Such-Pointer NUM” der Tabelle für Informationen über Operationsattribute 142 (Schritt S142). Die Verarbeitungseinheit für arithmetische Ausdrücke 520 bestimmt, ob das Datenattribut, welches im Schritt S142 erfasst wurde eine ”3 (Operator)” ist und der Inhalt eine ”3 (+)” oder eine ”4 (–)” ist (Schritt S143). Wenn eine der Bedingungen nicht erfüllt ist (NEIN im Schritt S143), inkrementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” um eins (Schritt S144) und bestimmt, ob die Adresse des ”Adressen-Such-Pointer NUM” gleich oder größer ist als der ”Pointer des rechten Endes PR” (Schritt S145). Wenn der ”Adressen-Such-Pointer NUM” kleiner ist als der ”Pointer des rechten Endes PR” (NEIN im Schritt S145), springt die Verarbeitungseinheit für arithmetische Ausdrücke zum Schritt S142. Wenn im Schritt S143 das Datenattribut der Adresse entsprechend dem ”Adressen-Such-Pointer NUM” eine ”3 (Operator)” ist und der Inhalt eine ”3 (+)” oder eine ”4 (–)” ist (JA im Schritt S143), fährt die Verarbeitungseinheit für arithmetische Ausdrücke 520 mit dem Schritt S146 fort und speichert im Berechnungssequenz-Bereich, auf welchen durch die ”Anzahl der zu berechnenden Sequenzen” der Datentabelle für arithmetische Ausdrücke 141 verwiesen wird, den ”ersten Term”, welcher der Inhalt derjenigen Adresse ist, welche im Schritt S119 des Verfahrens der Schritte S117 bis S127 aufgefunden wurde, den ”Operator” welcher der Inhalt derjenigen Adresse ist, welche im Schritt S114 aufgefunden wurde, und den ”zweiten Term”, welcher der Inhalt derjenigen Adresse ist, welche im Schritt S123 aufgefunden wurde. Wenn im Schritt S145 der ”Adressen-Such-Pointer NUM” gleich oder größer ist als der ”Pointer des rechten Endes PR” (JA im Schritt S145) ist der Schritt des Bestimmens des Binoms der Addition und Subtraktion beendet und die Suche nach einem arithmetischen Ausdruck außerhalb der Klammern wurde beendet. Somit ist das Verfahren beendet.
  • Mit dem obigen wurde eine Beschreibung gegeben über das Verfahren zum Transferieren der Daten des arithmetischen Ausdrucks in die Datentabelle für arithmetische Ausdrücke 141.
  • Ein Verfahren, in welchem die Ablaufsteuerungs-Einheit 100 eine polynomiale arithmetische Operationen ausführt, ist nachfolgend auf Basis der Tabelle für Informationen über Operationsattribute 142 erläutert. Die 12 ist eine Darstellung, welche ein Flussdiagramm zeigt zur Erläuterung des Betriebs der Ablaufsteuerungs-Einheit 100 in der Ausführungsform der vorliegenden Erfindung. In dem Flussdiagramm repräsentiert ein ”Berechnungssequenz-Pointer ORDER” die Anzahl an Polynom-Berechnungen. Jedes Mal, wenn ein Binom berechnet wird, inkrementiert die Ablaufsteuerungs-Einheit 100 den ”Berechnungssequenz-Pointer ORDER” um eins. Wenn der ”Berechnungssequenz-Pointer ORDER” einen Wert hat, welcher gleich ist zur ”Anzahl der zu berechnenden Sequenzen”, bestimmt die Ablaufsteuerungs-Einheit 100, dass die Berechnung des gesamten arithmetischen Ausdrucks beendet ist.
  • Als erstes liest die Ablaufsteuerungs-Einheit 100 die ”Anzahl der zu berechnenden Sequenzen” von der Adresse 27 der Datentabelle für arithmetische Ausdrücke 141 ein (Schritt S201). Dann erfolgt eine Bestimmung, ob die ”Anzahl der zu berechnenden Sequenzen” 0 ist (Schritt S202). Wenn die ”Anzahl der zu berechnenden Sequenzen” 0 ist (JA im Schritt S202), ist die arithmetische Verarbeitung beendet.
  • Wenn im Schritt S202 die ”Anzahl der zu berechnenden Sequenzen” unterschiedlich ist zu 0 (NEIN im Schritt S202), speichert die Ablaufsteuerungs-Einheit 100 im ”Berechnungssequenz-Pointer ORDER” eine 1 (Schritt S203), und liest einen ersten Term, einen Operator und einen zweiten Term von demjenigen Berechnungssequenz-Bereich, welcher durch den ”Berechnungssequenz-Pointer ORDER” der Datentabelle für arithmetische Ausdrücke 141 angegeben ist (Schritt S204). Die Ablaufsteuerungs-Einheit 100 konvertiert die gelesenen Daten von numerischen Werten in Elemente eines arithmetischen Ausdrucks (Schritt S205) und implementiert eine arithmetische Operation entsprechend den konvertierten Daten (Schritt S206 bis S211). Im Schritt S206 wird bestimmt, ob der erste Term und der zweite Term Adressen von 0 bis 4 sind. Wenn der erste Term und der zweite Term Adressen von 0 bis 4 sind (JA im Schritt S206), erfasst die Ablaufsteuerungs-Einheit 100 Adressinformationen vom ”Eingangsdaten-Zuweisungsbereich” der Datentabelle für arithmetische Ausdrücke 141 (Schritt S207).
  • Wenn der erste Term und der zweite Term unterschiedlich sind zu den Adressen 0 bis 4 (NEIN im Schritt S206), wird bestimmt, ob der erste Term und der zweite Term Adressen von 5 bis 14 sind (Schritt S208). Wenn der erste Term und der zweite Term Adressen von 5 bis 14 sind (JA im Schritt S208), erfasst die Ablaufsteuerungs-Einheit 100 einen direkten Wert und eine Dezimalpunktposition vom ”Konstanten-Zuweisungsbereich” und konvertiert diese in eine Konstante (Schritt S209). Wenn der erste Term und der zweite Term unterschiedlich sind zu den Adressen 0 bis 14 (NEIN im Schritt S208), erfasst die Ablaufsteuerungs-Einheit 100 ein entsprechendes Berechnungsergebnis vom ”Berechnungsergebnis-Bereich” (Schritt S210). Nach den Schritten S207, S209 und S210 implementiert die Ablaufsteuerungs-Einheit 100 eine arithmetische Operation entsprechend den konvertierten Daten und dem Operator (Schritt S211). Die Ablaufsteuerungs-Einheit 100 speichert ein Ergebnis der arithmetischen Operation des Binoms in demjenigen ”Berechnungsergebnis-Bereich”, auf welchen durch den ”Berechnungssequenz-Pointer ORDER” der Datentabelle für arithmetische Ausdrücke verwiesen wird (Schritt S212).
  • Danach vergleicht die Ablaufsteuerungs-Einheit 100 den ”Berechnungssequenz-Pointer ORDER” mit der ”Anzahl der zu berechnenden Sequenzen” und bestimmt ob sie miteinander identisch sind (Schritt S213). Wenn diese unterschiedlich voneinander sind (NEIN im Schritt S213), addiert die Ablaufsteuerungs-Einheit 100 eine 1 zum ”Berechnungssequenz-Pointer ORDER” (Schritt S214) und springt zum Schritt S204. Wenn im Schritt S213 der ”Berechnungssequenz-Pointer ORDER” gleich ist zur ”Anzahl der zu berechnenden Sequenzen” (JA im Schritt S213), ist die arithmetische Operation des gesamten arithmetischen Ausdrucks beendet und daher speichert die Ablaufsteuerungs-Einheit 100 das Ergebnis der arithmetischen Operation im ”Berechnungsergebnis-Bereich” der Datentabelle für arithmetische Ausdrücke 141 (Schritt S215) und beendet die Verarbeitung der arithmetischen Operation.
  • In der Weise wie oben beschrieben, ist es möglich, jeden polynomialen arithmetischen Ausdruck, welcher vom Benutzer gewünscht wird, in der Ablaufsteuerungs-Einheit 100 zu berechnen.
  • Auf der anderen Seite, wenn die Daten des arithmetischen Ausdrucks im Eingabebereich für Daten arithmetischer Ausdrücke 510 wiederhergestellt werden, werden die Daten des arithmetischen Ausdrucks, welche in der Tabelle für Informationen über Operationsattribute 142 eingetragen sind, von den Daten numerischer Werte konvertiert in Daten des arithmetischen Ausdrucks, entsprechend dem Datenattribut, der Operatorkonstanten und der Klammerkonstanten, welche in der 8 aufgeführt sind. Dadurch ist es möglich, eine solche Wiederherstellung umzusetzen.
  • Das Verfahren der Wiederherstellung der Daten des arithmetischen Ausdrucks ist oben erläutert. Durch Bereitstellen der Datentabelle für arithmetische Ausdrücke 141 und der Tabelle für Informationen über Operationsattribute 142 ist es möglich, die Ablaufsteuerungs-Einheit 100 zu veranlassen, schnell einen polynomialen arithmetischen Ausdruck zu berechnen, welcher vom Benutzer gewünscht ist, und den polynomialen arithmetischen Ausdruck, welcher von der Ablaufsteuerungs-Einheit 100 ausgelesen wurde, im Erzeugungs-Tool für arithmetische Ausdrücke 500 innerhalb des Peripheriegeräts 2000 wiederherzustellen.
  • In der folgenden Erläuterung wird eine A/D-Wandler-Einheit als Ablaufsteuerungs-Einheit 100 verwendet. Ein digitaler Wert CH1 der A/D-Wandler-Einheit ist in der Adresse 11 des gemeinsam genutzten Speichers 100 gespeichert, und ein digitaler Wert CH2 der A/D Wandler-Einheit ist in der Adresse 12 des gemeinsam genutzten Speichers 140 gespeichert. Durch ein spezifisches Beispiel wird eine Verarbeitung erläutert in welcher die A/D-Wandler-Einheit veranlasst wird, den nachfolgend aufgeführten Ausdruck 1 zu berechnen: A × ((30.123 + B ) ÷ 100) (Ausdruck 1)
  • Im Ausdruck 1 repräsentieren A und B das Folgende: A: den digitalen Wert CH1 der A/C-Wandler-Einheit; B: den digitalen Wert CH2 der A/D-Wandler-Einheit.
  • Das heißt, dass der Ausdruck 1 einen arithmetischen Ausdruck angibt für die Berechnung einer Summe aus dem digitalen Wert CH2 und einer Konstanten 30,123, wobei weiter ein Quotient aus dieser Summe und einer Konstante 100 berechnet wird, und des Weiteren ein Produkt aus diesem Quotienten und dem digitalen Wert CH1.
  • Die 13 ist eine Darstellung zur Illustration eines Beispiels, in welchem ein arithmetischer Ausdruck in dem Erzeugungs-Tool für arithmetische Ausdrücke 500 der Ausführungsform der vorliegenden Erfindung erzeugt wird. Die 13 illustriert die Verarbeitung, welche ausgeführt wird, wenn der Ausdruck 1 in den Eingabebereich für arithmetische Ausdrücke 510 eingegeben wird. Das Berechnungsergebnis wird mit drei Ziffern nach dem Dezimalpunkt angezeigt. Daher wird eine 3 bei der ”Berechnungsergebnis-Dezimalpunkposition” des Eingabebereiches für arithmetische Ausdrücke 510 eingegeben. Nach Eingabe des arithmetischen Ausdrucks drückt der Benutzer die Geräte-Schreib-Schaltfläche 52, welche im Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500 enthalten ist. Wenn die Geräte-Schreib-Schaltfläche 52 gedrückt wird, führt das Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500 einen Erfassungsprozess für den arithmetischen Ausdruck in der Verarbeitungseinheit für arithmetische Ausdrücke 520 aus.
  • Die 14 ist eine Darstellung zur Erläuterung der Verarbeitung zur Speicherung des Ausdrucks 1, welcher im Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500 der Ausführungsform der vorliegenden Erfindung erzeugt wurde. Der Ausdruck ist ein Beispiel für einen arithmetischen Ausdrucks, der durch das Erzeugungs-Tool für arithmetische Ausdrücke 500 der Ausführungsform der vorliegenden Erfindung erzeugt wurde. Wie in der 14 gezeigt ist, werden von den Daten des arithmetischen Ausdrucks, welche im Eingabebereich für arithmetische Ausdrücke 510 eingegeben wurden, die Konstante des arithmetischen Ausdrucks, die Eingangsinformationen für die Ablaufsteuerungs-Einheit 100, der Operator, das Klammer-auf-Symbol, und das Klammer-zu-Symbol in numerische Datenwerte konvertiert und in der Tabelle für Informationen über Operationsattribute 142 gespeichert. Zudem wird im ”Pointer des rechten Endes PR” der Tabelle für Informationen über Operationsattribute die Adresse 19 gespeichert, in welcher die letzten Daten des arithmetischen Ausdrucks gespeichert sind.
  • Nun wird die Verarbeitung für das Transferieren des Ausdrucks 1, welcher in der Tabelle für Informationen über Operationsattribute 142 gespeichert ist, zur Datentabelle für arithmetische Ausdrücke 141, erläutert. Als erstes wird die ”Anzahl der zu berechnenden Sequenzen” initialisiert auf 0 (Schritt S101 in der 9), und der ”Adressen-Such-Pointer NUM” der Tabelle für Informatione über Operationsattribute 142 wird initialisiert auf 0 (Schritt S102). Danach wird eine Auflösung in Binome und eine Suche nach Berechnungssequenzen durchgeführt. In dem Verfahren, welches nachfolgend erläutert ist, sucht die Verarbeitungseinheit für arithmetische Ausdrücke 520 nach dem obersten Klammer-zu-Symbol. Da der ”Adressen-Such-Pointer NUM” 0 ist, erfasst die Verarbeitungseinheit für arithmetische Ausdrücke 520 ein ”Datenattribut” und ein ”Inhalt” der Adresse 0 (Schritt S103) und bestimmt, ob das erfasste ”Datenattribut” eine ”2 (Klammer-zu)” ist und der erfasste ”Inhalt” eine ”1 (vorhanden)” ist (Schritt S104). Das Datenattribut der Adresse 0 der Tabelle für Informationen über Operationsattribute ist ”1 (Klammer-auf)” (NEIN im Schritt S104). Daher inkrementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” um 1 (Schritt S105), setzt den ”Adressen-Such-Pointer NUM” auf 1, und bestimmt, ob der ”Adressen-Such-Pointer NUM” gleich oder größer ist als der ”Pointer des rechten Endes PR” (Schritt S106). Der ”Adressen-Such-Pointer NUM”, welcher 1 ist, ist kleiner als der ”Pointer des rechten Endes”, welcher 19 ist (NEIN im Schritt S106), und daher springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zum Schritt S103. Danach wiederholt die Verarbeitungseinheit für arithmetische Ausdrücke 520 die Schritte S103 bis 106 bis die Adresse 14, deren ”Datenattribut” eine ”2 (Klammer-zu)” ist und der ”Inhalt” eine ”1 (vorhanden)” ist, im ”Adressen-Such-Pointer NUM” gespeichert ist.
  • Wenn im Schritt S104 der ”Adressen-Such-Pointer NUM” 14 wird, ist das ”Datenattribut” einer Adresse, welche dem ”Adressen-Such-Pointer NUM” entspricht, eine ”2 (Klammer-zu)” und der ”Inhalt” der Adresse ist eine ”1 (vorhanden)” (JA im Schritt S104). Daher ist ein Klammer-zu-Symbol, welches einen Term einklammert, welcher als erstes zu berechnen ist, in der Adresse vorhanden, welche durch den ”Adressen-Such-Pointer NUM” angegeben ist. Danach ermittelt die Verarbeitungseinheit für arithmetische Ausdrücke 520 ein Klammer-auf-Symbol, welches zu dem gefundenen Klammer-zu-Symbol korrespondiert (Schritte S107 bis S111).
  • Das Klammer-auf-Symbol, welches zu dem Klammer-zu-Symbol korrespondiert, welches im Schritt S104 gefunden wurde, ist ein Klammer-auf-Symbol, welches sich auf der linken Seite des Klammer-zu-Symbols befindet, und welches dem Klammer-zu-Symbol am nächsten ist. Daher wird nach dem Klammer-auf-Symbol gesucht, wie nachfolgend erläutert. Als erstes dekrementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” um eins (Schritt S107), setzt den ”Adressen-Such-Pointer NUM” auf 13, und erfasst das ”Datenattribut” und den ”Inhalt” einer Adresse, welche dem ”Adressen-Such-Pointer NUM” der Tabelle für Informationen über Operationsattribute 142 entspricht (Schritt S108). Das ”Datenattribut”, welches im Schritt S108 erfasst wurde, ist eine ”4 (Wert)” (NEIN im Schritt S109). Daher bestimmt die Verarbeitungseinheit für arithmetische Ausdrücke 520, ob der ”Adressen-Such-Pointer NUM” 0 oder weniger ist (Schritt Silo). Im Schritt S110 ist der ”Adressen-Such-Pointer NUM” (= 13) 1 oder mehr (NEIN im Schritt S110) und daher springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zum Schritt S107 und sucht weiter nach der vorangehenden Adresse. Danach wiederholt die Verarbeitungseinheit für arithmetische Ausdrücke 520 die Schritte S107 bis S111, bis eine 6 im ”Adressen-Such-Pointer NUM” gespeichert ist.
  • Danach, wenn der ”Adressen-Such-Pointer NUM” eine 6 geworden ist, ist das ”Datenattribut” entsprechend dem ”Adressen-Such-Pointer NUM” eine ”1 (Klammer-auf)” und der ”Inhalt” entsprechend dem ”Adressen-Such-Pointer NUM” eine ”1 (vorhanden)” (JA im Schritt S109), und daher ist ein Klammer-auf-Symbol, welches einen Term einklammert, welcher als erstes zu berechnen ist, in der Adresse. vorhanden, welche durch den ”Adressen-Such-Pointer NUM” angegeben ist. Das Klammer-auf-Symbol der Adresse 6 und das Klammer-zu-Symbol der Adresse 14, welche in der oben beschriebenen Weise aufgefunden wurden, sind die innersten Klammern. Daher ist ein arithmetischer Ausdruck, welcher durch diese Klammern eingeklammert ist, ein Ausdruck, welcher als erstes zu berechnen ist.
  • Danach ermittelt die Verarbeitungseinheit für arithmetische Ausdrücke 520 Binome, welche zwischen den detektierten Klammern vorhanden sind (Schritte S112 bis S134). Entsprechend der Berechnungsreihenfolge der vier arithmetischen Operationen sucht die Verarbeitungseinheit für arithmetische Ausdrücke 520 an diesem Punkt zunächst nach Binomen der Multiplikation und Division (Schritte S112 bis 127), und anschließend nach Binomen der Addition und Subtraktion (Schritt S128 bis 134).
  • Die Binome der Multiplikation und Division zwischen den Klammern werden durch eine Suche nach dem Operator ”×” und dem Operator ”÷” gefunden. Als erstes addiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 eine 1 zum ”Adressen-Such-Pointer NUM” (Schritt S112), setzt den ”Adressen-Such-Pointer NUM” auf 7, und erfasst das ”Datenattribut” und den ”Inhalt” der Adresse 7, entsprechend dem ”Adressen-Such-Pointer NUM” der Tabelle für Informationen über Operationsattribute 142 (Schritt S113). Das ”Datenattribut” der Adresse 7 ist eine ”1 (Klammer-auf)” (NEIN im Schritt S114), und daher inkrementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” um eins (Schritt S115), setzt den ”Adressen-Such-Pointer NUM” auf 8, und bestimmt, ob der ”Adressen-Such-Pointer NUM” gleich oder größer ist als die Adresse, welche im Schritt S104 aufgefunden wurde, das heißt diejenige Adresse, in welcher das Klammer-zu-Symbol gespeichert ist (Schritt S116). Der ”Adressen-Such-Pointer NUM” (= 8) ist kleiner als die Adresse (= 14), in welcher das Klammer-zu-Symbol gespeichert ist (NEIN im Schritt S116), und daher springt die Verarbeitungseinrichtung für arithmetische Ausdrücke 520 zum Schritt S113. Danach wiederholt die Verarbeitungseinheit für arithmetische Ausdrücke 520 die Schritte S113 bis S116 bis 14 im ”Adressen-Such-Pointer NUM” gespeichert ist.
  • Wenn im Schritt S116 der ”Adressen-Such-Pointer NUM” 14 wird, ist der ”Adressen-Such-Pointer NUM” gleich oder größer als die Adresse ”14”, in welcher das Klammer-zu-Symbol gespeichert ist (JA im Schritt S116), und die Suche nach arithmetischen Ausdrücken der Multiplikation und Division zwischen den Klammern wurde beendet, und daher springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zu einem Schritt der Detektion von Termen des Operators ”+” und des Operators ”–” zwischen den Klammern (Schritte S128 bis S134).
  • Als Erstes speichert die Verarbeitungseinheit für arithmetische Ausdrücke 520 wieder die Adresse ”6”, in welcher das Klammer-auf-Symbol gespeichert ist, im ”Adressen-Such-Pointer NUM” (Schritt S128) und erfasst das ”Datenattribut” und den ”Inhalt” dieser Adresse (Schritt S129). Danach inkrementierte die Verarbeitungseinheit für arithmetische Ausdrücke 520 den Adressen-Such-Pointer und sucht nach Termen der Addition und Subtraktion (Schritte S129 bis S133) und inkrementiert den ”Adressen-Such-Pointer NUM” bis auf 10.
  • Wenn im Schritt S130 im ”Adressen-Such-Pointer NUM” 10 gespeichert ist, ist das ”Datenattribut” der Adresse, welche dem ”Adressen-Such-Pointer NUM” entspricht eine ”3 (Operator)” und der ”Inhalt” der Adresse ist eine ”3 (+)” GA im Schritt S130). Daher sind Terme, welche sich auf diesen Operator beziehen, ein Binom, welches als Erstes zu berechnen ist. Daher fährt die Verarbeitungseinheit für arithmetische Ausdrücke 520 fort zum Schritt S133 und speichert im Berechnungssequenz-Bereich der Datentabelle für arithmetische Ausdrücke 141 einen ersten Term, welcher sich auf den Operator bezieht, welcher im Schritt S130 ermittelt wurde, und einen zweiten Term, welcher sich auf den Operator bezieht, welcher im Schritt S130 ermittelt wurde. Im Schritt S133 wird eine Verarbeitung ausgeführt, die gleich ist wie die Schritte S117 bis S127.
  • Genauer gesagt, ermittelt die Verarbeitungseinheit für arithmetische Ausdrücke 520 als erstes einen ersten Term, welcher sich auf den Operator bezieht, welcher im Schritt S130 ermittelt wurde. Der erste Term, welcher sich auf diesen Operator bezieht, ist ein Wert, welcher sich auf der linken Seite des Operators befindet, und welcher dem Operator am nächsten ist, und entsprechend wird die Suche ausgeführt, wie nachfolgend beschrieben. Die Verarbeitungseinheit für arithmetische Ausdrücke 520 dekrementiert den ”Adressen-Such-Pointer NUM” um eins (Schritt S117), setzt den ”Adressen-Such-Pointer NUM” auf 9, und erfasst das ”Datenattribut” und den ”Inhalt” derjenigen Adresse, welche dem ”Adressen-Such-Pointer NUM” der Tabelle für Informationen über Operationsattribute 142 entspricht (Schritt S118). Das ”Datenattribut” der Adresse 9 ist eine ”2” (Klammer-zu-Symbol)” (NEIN im Schritt S119), und daher springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zum Schritt S117. Danach wiederholt die Verarbeitungseinheit für arithmetische Ausdrücke 520 die Schritte S117 bis S119, bis im ”Adressen-Such-Pointer NUM” eine 8 gespeichert ist.
  • Wenn der ”Adressen-Such-Pointer NUM” 8 wird, ist das ”Datenattribut” der Adresse, welche dem ”Adressen-Such-Pointer NUM” entspricht eine ”4 (Wert)” und der ”Inhalt” der Adresse ist die Adresse 5 GA im Schritt S119), und daher ist dieser Term bestimmt als der erste Term, welcher sich auf denjenigen Operator bezieht, welcher im Schritt S114 ermittelt wurde.
  • Danach wird ein zweiter Term ermittelt, welcher sich auf denjenigen Operator bezieht, welcher im Schritt S130 ermittelt wurde. Der zweite Term, welcher sich auf diesen Operator bezieht, ist ein Wert, welcher sich auf der rechten Seite des Operators befindet, und welcher dem Operator am nächsten ist. Daher wird die Suche durchgeführt, wie nachfolgend erläutert. Als erstes stellt die Verarbeitungseinheit für arithmetische Ausdrücke 520 im ”Adressen-Such-Pointer NUM” ”10” wieder her, welches die Adresse ist, welche im Schritt S130 aufgefunden wurde, das heißt die Adresse, in welcher der Operator gespeichert ist (Schritt S120), inkrementiert den ”Adressen-Such-Pointer NUM” um eins (Schritt S121), setzt den ”Adressen-Such-Pointer NUM”. auf 11, und erfasst das ”Datenattribut” und den ”Inhalt” der Adresse ”11”, entsprechend der Tabelle für Informationen über Operationsattribute 142 (Schritt S122). Das ”Datenattribut” der Adresse 11 ist eine ”1 (Klammer-auf)” (NEIN im Schritt S123), und daher springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zum Schritt S121. Danach wiederholt die Verarbeitungseinheit für arithmetische Ausdrücke 520 die Schritte S121 bis S123, bis 13 im ”Adressen-Such-Pointer NUM” gespeichert ist.
  • Wenn im Schritt S123 der ”Adressen-Such-Pointer NUM” 13 wird, ist das ”Datenattribut” der Adresse, welche dem ”Adressen-Such-Pointer NUM” entspricht eine ”4 (Wert)” und der ”Inhalt” der Adresse ist die Adresse 1 (JA im Schritt S123), und daher ist dieser Term bestimmt als der zweite Term, welcher sich auf den Operator bezieht, welcher im Schritt S114 aufgefunden wurde.
  • Durch das vorangehende Verfahren wurde das Binom aufgefunden. Daher addiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 eine 1 zur ”Anzahl der zu berechnenden Sequenzen” (Schritt S124), geht weiter zum Schritt S125, und führt den Transfer zur Datentabelle für arithmetische Ausdrücke 141 durch. Die Verarbeitungseinheit für arithmetische Ausdrücke 520 speichert den ”ersten Term”, welcher der ”Inhalt” der Adresse ”8” ist, welche im Schritt S119 aufgefunden wurde, der ”Operator”, welcher der ”Inhalt” der Adresse ”10” ist, welche im Schritt S133 aufgefunden wurde, und den ”zweiten Term”, welcher der ”Inhalt” der Adresse ”13” ist, welche im Schritt S123 aufgefunden wurde, im Berechnungssequenz-Bereich, entsprechend der ”Anzahl der zu berechnenden Sequenzen” (= 1) der Datentabelle für arithmetische Ausdrücke 141 (Schritt S125). Des Weiteren speichert die Verarbeitungseinheit für arithmetische Ausdrücke 520 die Adresse 29, welche das Berechnungsergebnis der ”Anzahl der zu berechnenden Sequenzen” (= 1) repräsentiert, in diejenige Adresse, in welcher der erste Term gespeichert ist (Schritt S126). Ferner speichert die Verarbeitungseinheit für arithmetische Ausdrücke eine 0, das heißt ein Leerzeichen, in die Adresse, in welcher der Operator und der zweite Term gespeichert sind (Schritt S127), beendet den Schritt S130, springt zum Schritt S129, und sucht nach dem nächsten Operator.
  • Daten, welche in der Datentabelle für arithmetische Ausdrücke 141 und in der Tabelle für Informationen über Operationsattribute 142 gespeichert sind als Ergebnis der oben beschrieben Verarbeitung, sind in den 15 und 16 gezeigt. Es ist ersichtlich, dass ein Wert im Berechnungssequenz-Bereich 1 der Datentabelle für arithmetische Ausdrücke 141 gespeichert ist und der Ausdruck, welcher als erstes berechnet wird, ist (30.123 + digitaler Wert CH2).
  • Wie in den 15 und 16 gezeigt ist, ist kein anderes Binom zwischen dem Klammer-auf-Symbol der Adresse 6 und dem Klammer-zu-Symbol der Adresse 14. Daher wiederholt die Verarbeitungseinheit für arithmetische Ausdrücke 520 die Schritte S129 bis S132, bis 14 im ”Adressen-Such-Pointer NUM” gespeichert ist.
  • Wenn im Schritt S132 der ”Adressen-Such-Pointer NUM” 14 wird, ist der ”Adressen-Such-Pointer NUM” gleich oder größer als die Adresse ”14”, in welcher das Klammer-zu-Symbol gespeichert ist (JA im Schritt S132), und die Suche nach dem arithmetischen Ausdruck zwischen den Klammern ist beendet. Daher speichert die Verarbeitungseinheit für arithmetische Ausdrücke 520 ”0 (Leerzeichen)” im ”Inhalt” der Adresse ”6”, in welcher das Klammer-auf-Symbol gespeichert ist, und im Inhalt der Adresse ”14”, in welcher das Klammer-zu-Symbol gespeichert ist (Schritt S134), springt zum Schritt S103, und sucht nach Klammern, welche als Nächstes zu berechnen sind.
  • In den 17 und 18 sind Ergebnisse der Datentabelle für arithmetische Ausdrücke 141 und der Tabelle für Informationen über Operationsattribute 142 gezeigt, nachdem das Verfahren, welches oben erläutert wurde, wiederholt wurde und die Suche nach dem Inneren der Klammern in dem arithmetischen Ausdruck beendet ist. Es ist ersichtlich, dass Daten in dem Berechnungssequenz-Bereich 2 der Datentabelle für arithmetische Ausdrücke 141 gespeichert sind und der Ausdruck, welcher als zweites zu berechnen ist, ist (”Ergebnis der Berechnungssequenz 1” ÷ 100).
  • Danach beendet die Verarbeitungseinheit für arithmetische Ausdrücke 520 den Schritt des Bestimmens der Klammersymbole und springt zum Schritt des Suchens nach einem Operator (Schritte S135 bis S146). Entsprechend der Berechnungsreihenfolge der vier arithmetischen Operationen, sucht die Bearbeitungseinheit für arithmetische Ausdrücke 520 auch außerhalb der Klammern zunächst nach Binomen der Multiplikation und Division (Schritte S135 bis S140), und danach nach Binomen der Addition und Subtraktion (Schritte S141 bis S146).
  • Als erstes dekrementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” auf 0, d. h. bringt diesen zurück nach oben (Schritt S135) und erfasst das ”Datenattribut”, und den ”Inhalt” der Adresse, entsprechend dem ”Adressen-Such-Pointer NUM” (Schritt S136). Das ”Datenattribut” der Adresse 0 ist eine ”1 Klammer-auf)” (NEIN im Schritt S137). Daher inkrementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” um eins (Schritt S138) und bestimmt, ob der ”Adressen-Such-Pointer NUM” gleich oder größer ist als der ”Pointer des rechten Endes PR” (Schritt S139). Der ”Adressen-Such-Pointer NUM” (= 1) ist kleiner als der ”Pointer des rechten Endes PR” (= 19) (NEIN im Schritt S139), und daher geht die Verarbeitungseinheit für arithmetische Ausdrücke 520 weiter zum Schritt S136. Danach werden die Schritte S136 bis S139 wiederholt bis 4 im ”Adress-Such-Pointer NUM” gespeichert ist.
  • Das ”Datenattribut” der Adresse, welche dem ”Adressen-Such-Pointer NUM” = 4 entspricht, ist eine ”3 (Operator)” und der Inhalt der Adresse ist eine ”1 (×)” (JA im Schritt S137). Daher, entsprechend dem Verfahren der Schritte S117 bis S127, speichert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”ersten Term”, den ”Operator”, und den ”zweiten Term” in dem Berechnungssequenz-Bereich einer Nummer, welche durch ”Anzahl der zu berechnenden Sequenzen” angegeben ist (Schritt S140). Da kein arithmetischer Ausdruck vorhanden ist, werden die Schritte S136 bis S139 wiederholt, bis 19 im ”Adressen-Such-Pointer NUM” gespeichert ist.
  • Wenn im Schritt S139 der ”Adressen-Such-Pointer NUM” 19 wird, ist der ”Adressen-Such-Pointer NUM” gleich oder größer als der ”Pointer des rechten Endes PR” (JA im Schritt S139). Daher springt die Verarbeitungseinheit für arithmetische Ausdrücke 520 zu einem Schritt des Detektierens von Binomen der Addition und Subtraktion zwischen den Klammern (Schritte S141 bis S146). Zuerst dekrementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” auf 0, das heißt, bringt ihn nach oben zurück (Schritt S141), und erfasst das ”Datenattribut” und den ”Inhalt” der Adresse, welche dem ”Adressen-Such-Pointer NUM” entspricht (Schritt S142). Danach inkrementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den Adressen-Such-Pointer bis eine Adresse gefunden wird, für welche das ”Datenattribut” eine ”3 (Operator)”, und der erfasste ”Inhalt” eine ”3 (+)” oder eine ”4 (–)” ist (Schritte S142 bis S145). Da sich jedoch kein Operator zwischen den Klammern befindet, inkrementiert die Verarbeitungseinheit für arithmetische Ausdrücke 520 den ”Adressen-Such-Pointer NUM” bis zu 19. Wenn im Schritt S145 der ”Adressen-Such-Pointer NUM” 19 wird, ist der ”Adressen-Such-Pointer NUM” gleich oder größer als der ”Pointer des rechten Endes PR” (= 19). Daher ist der Schritt des Ermittelns von Binomen der Addition und der Subtraktion beendet. Entsprechend dem oben erläuterten Verfahren ist die Suche nach arithmetischen Ausdrücken außerhalb der Klammern beendet, und somit endet das Verfahren.
  • Das Verfahren des Transfers zu der Datentabelle für arithmetische Ausdrücke 141 ist oben mit Bezug auf das spezifische Beispiel erläutert. Die 19 und 20 sind Darstellungen zur Erläuterung der Datentabelle für arithmetische Ausdrücke 141 und der Tabelle für Informationen über Operationsattribute 142, nachdem die Verarbeitung für das Schreiben der arithmetischen Ausdrücke ausgeführt wurde.
  • Die Verarbeitung der Berechnung in der Ablaufsteuerungs-Einheit 100 ist mit Bezug auf die 12 erläutert. Als erstes liest die Ablaufsteuerungs-Einheit 100 die ”Nummer der berechneten Sequenz” vom Speicherbereich der Berechnungsanzahl der Datentabelle für arithmetische Ausdrücke (Schritt S201). Die ”Nummer der berechneten Sequenz” (= 3) ist unterschiedlich zu 0 (NEIN im Schritt S202). Daher initialisiert die Ablaufsteuerungs-Einheit 100 den ”Berechnungssequenz-Pointer ORDER” auf 1 (Schritt S203), liest die ”Adresse 5”, welche der ”Inhalt” des ersten Terms ist, ”3”, welcher der ”Inhalt” des Operators ist, und die ”Adresse 1”, welche der Inhalt des zweiten Terms ist, von dem ”Berechnungssequenz-Bereich 1”, auf welchen durch den ”Berechnungssequenz-Pointer ORDER” (= 1) der Datentabelle für arithmetische Ausdrücke 141 verwiesen wird, welche in der 19 gezeigt ist (Schritt S204), und konvertiert die numerischen Datenwerte in Daten des arithmetischen Ausdrucks (Schritt S205). Der erste Term ist unterschiedlich zu den Adressen 0 bis 4 (NEIN im Schritt S206) und ist innerhalb den Adressen 5 bis 14 (JA im Schritt S208). Daher erfasst die Ablaufsteuerungs-Einheit 100 einen direkten Wert und eine Dezimalpunktposition von dem Konstanten-Zuweisungsbereich und konvertiert diesen in eine Konstante (30,123) (Schritt S209). Auf der anderen Seite ist der zweite Term innerhalb der Adressen 0 bis 4 (JA im Schritt S206). Daher greift die Ablaufsteuerungs-Einheit 100 auf den digitalen Wert CH2 zurück, welcher in der Adresse 12 des gemeinsam genutzten Speichers 140 gespeichert ist, wobei die Adresse 12 in der Adresse 1 der Datentabelle für arithmetische Ausdrücke 141 gespeichert ist, welche in der 19 gezeigt ist (Schritt S207).
  • Danach implementiert die Ablaufsteuerungs-Einheit 100 die arithmetische Operation (30,123) + digitaler Wert CH2), entsprechend den konvertierten Daten (Schritt S211). Das arithmetische Berechnungsergebnis wird in den Adressen 29 und 30 gespeichert, welche den ”Berechnungsergebnis-Bereich 1” repräsentieren, auf welchen der ”Berechnungssequenz-Pointer ORDER” (= 1) der Datentabelle für arithmetische Ausdrücke 141 verweist (Schritt S212).
  • Danach vergleicht die Ablaufsteuerungs-Einheit 100 den ”Berechnungssequenz-Pointer ORDER” (= 1) und die ”Anzahl der zu berechnenden Sequenzen” (= 3) (Schritt S213). Diese sind unterschiedlich voneinander (NEIN im Schritt S213), und daher addiert die Ablaufsteuerungs-Einheit eine eins zum ”Berechnungssequenz-Pointer ORDER” (Schritt S214) und springt zum Schritt S204.
  • Danach liest die Ablaufsteuerungs-Einheit 100 die ”Adresse 29”, welche der ”Inhalt” des ersten Terms ist, ”2”, welcher der ”Inhalt” des Operators ist, und ”Adresse 7”, welche der ”Inhalt” des zweiten Terms ist, vom ”Berechnungssequenz-Bereich 2”, auf welchen durch den ”Berechnungssequenz-Pointer ORDER” (= 2) der Datentabelle für arithmetische Ausdrücke 141 verwiesen wird, welche in der 19 gezeigt ist (Schritt S204), und konvertiert die nummerischen Datenwerte in Daten des arithmetischen Ausdrucks (Schritt S205). Der erste Term ist unterschiedlich zu den Adressen 0 bis 4 (NEIN im Schritt S206) und unterschiedlich zu den Adressen 5 bis 14 (Nein im Schritt S208). Daher greift die Ablaufsteuerungs-Einheit 100 auf die Adressen 29 und 30 zurück, welche in der 19 gezeigt sind, und welche das entsprechende Berechnungsergebnis vom Berechnungsergebnis-Bereich repräsentieren (Schritt S210). Der zweite Term ist unterschiedlich zu den Adressen 0 bis 4 (NEIN im Schritt S206) und entspricht den Adressen 5 bis 14 (JA im Schritt S208). Daher erfasst die Ablaufsteuerungs-Einheit 100 einen direkten Wert und eine Dezimalpunktposition vom ”Konstanten-Zuweisungsbereich” und konvertiert diese in eine Konstante (100) (Schritt S209).
  • Danach implementiert die Ablaufsteuerungs-Einheit 100 eine arithmetische Operation (das Berechnungsergebnis von 1 ÷ 100), entsprechend den konvertierten Daten (Schritt S211). Das arithmetisches Berechnungsergebnis wird in den Adressen 31 und 32 gespeichert, welche in der 19 gezeigt sind, und welche den ”Berechnungsbereich 2” repräsentieren, auf welchen durch den ”Berechnungssequenz-Pointer ORDER” (= 2) der Datentabelle für arithmetische Ausdrücke 141 verwiesen wird (Schritt S112). Danach vergleicht die Ablaufsteuerungs-Einheit 100 den ”Berechnungssequenz-Pointer ORDER” (= 2) und die ”Anzahl der zu berechnenden Sequenzen” (= 3) (Schritt S213). Diese sind unterschiedlich voneinander (NEIN im Schritt S213), und daher addiert die Ablaufsteuerungs-Einheit eine eins zum ”Berechnungssequenz-Pointer ORDER” (Schritt S214) und springt zum Schritt S204.
  • Danach liest die Ablaufsteuerungs-Einheit 100 die ”Adresse 0”, welche der ”Inhalt” des ersten Terms ist, ”1”, welches der ”Inhalt” des Operators ist, und die ”Adresse 31”, welche der ”Inhalt” des zweiten Terms ist, vom ”Berechnungssequenz-Bereich 3”, auf welchen durch den ”Berechnungssequenz-Pointer ORDER” (= 3) der Datentabelle für arithmetische Ausdrücke 141, welche gezeigt ist in der 19, verwiesen wird (Schritt S204) und konvertiert die numerischen Datenwerte in Daten des arithmetischen Ausdrucks (Schritt S205). Der erste Term ist enthalten in den Adressen 0 bis 4 (JA im Schritt S206), und daher greift die Ablaufsteuerungs-Einheit 100 auf den digitalen Wert CH1 zurück, welcher in der Adresse 11 des gemeinsam genutzten Speichers 140 gespeichert ist, wobei die Adresse 11 im ”Eingangsdaten-Zuweisungsbereich” angegeben ist (Schritt S207). Der zweite Term ist unterschiedlich zu den Adressen 0 bis 4 (NEIN im Schritt S206) und ferner unterschiedlich zu den Adressen 5 bis 14 (NEIN im Schritt S208), und daher greift die Ablaufsteuerungs-Einheit 100 auf die Berechnungsergebnisse in den Adressen 31 und 32 zurück, welche in der 19 gezeigt sind, und welche dem ”Berechnungsergebnis-Bereich 2” entsprechen.
  • Danach implementiert die Ablaufsteuerungs-Einheit 100 eine arithmetische Operation (digitaler Wert CH1 + das Berechnungsergebnis 2) entsprechend den konvertierten Daten (Schritt S211). Das arithmetisches Berechnungsergebnis ist im ”Berechnungsergebnis 3” der Adressen 33 und 34 gespeichert, welche in der 19 gezeigt sind, und welche dem ”Berechnungsergebnis-Bereich” entsprechen, auf welchen der ”Berechnungssequenz-Pointer ORDER” (= 3) der Datentabelle für arithmetische Ausdrücke 141 verweist (Schritt S212).
  • Danach vergleicht die Ablaufsteuerungs-Einheit 100 den ”Berechnungssequenz-Pointer ORDER” (= 3) und die ”Anzahl der zu berechnenden Sequenzen” (= 3) (Schritt S213). Sie sind gleich (JA im Schritt S213), und daher speichert die Ablaufsteuerungs-Einheit 100 das arithmetische Berechnungsergebnis der Operationen, die bisher ausgeführt wurden, in einem ”Berechnungsergebnis” in einem ”Bereich des letzten Berechnungsergebnisses” (Adressen 37 und 38, wie in der 19 gezeigt) der Datentabelle für arithmetische Ausdrücke 141 (Schritt S215) und die Verarbeitung der arithmetischen Berechnung ist beendet.
  • Im Obigen wurde das Verfahren zum Berechnen eines polynominalen arithmetischen Ausdrucks erläutert, zu welchem die Arbeitseinheit 130 der Ablaufsteuerungs-Einheit 100 veranlasst wird, wobei der polynomiale Ausdruck vom Benutzer gewünscht wird.
  • Es ist zu beachten, dass der arithmetische Ausdruck in der obigen Ausführungsform beispielsweise arithmetische Ausdrücke abdeckt, welche höchstens fünf Terme aufweisen. In einem arithmetischen Ausdruck, welcher jedoch aus N Termen besteht, die jeweils durch ein Datenwort repräsentiert werden, ist die Region, welche für das Speichern der Daten erforderlich ist, (8N – 1) Worte.
  • Zusätzlich ist die Anzahl der Elemente der Tabelle für Informationen über Operationsattribute 142 wie folgt:
    Figure DE112014003085T5_0002
  • Es ist zu beachten, dass in der obigen Ausführungsform, die Datentabelle für arithmetische Ausdrücke 141 in dem gemeinsam genutzten Speicher 140 gespeichert ist. Die Datentabelle für arithmetische Ausdrücke 141 kann jedoch auch in einem nicht flüchtigen Speicher 145 des PLC-Systems 1 gespeichert sein. Der nicht flüchtige Speicher 145 kann im Inneren der Ablaufsteuerungs-Einheit 100 bereitgestellt sein, oder alternativ, wie in der 3 gezeigt ist, kann der nicht flüchtige Speicher 140 auf der Außenseite der Ablaufsteuerungs-Einheit 100 vorgesehen sein. In dem Fall, in welchem er die Datentabelle für arithmetische Ausdrücke im nicht flüchtigen Speicher 145 gespeichert ist, verschwinden die Daten der arithmetischen Ausdrücke nicht wenn eine Stromversorgung der Ablaufsteuerungs-Einheit 100 abgeschaltet wird. Daher ist es nicht erforderlich jedes Mal, wenn die Ablaufsteuerungs-Einheit 100 neu gestartet wird, die Einstellung der Berechnungsparameter über das Erzeugungs-Tool für Daten arithmetischer Ausdrücke 500 erneut vorzunehmen.
  • Wie oben erläutert wurde, kann das PLC-System 1 entsprechend der vorliegenden Ausführungsform eine Funktion des Speicherns eines polynominalen arithmetischen Ausdrucks in der Ablaufsteuerungs-Einheit haben und eine Funktion des Berechnens des polynominalen arithmetischen Ausdrucks im Inneren der Ablaufsteuerungs-Einheit. Daher ist ein Berechnungsprogramm auf einer Ablaufsteuerungs-Zentraleinheit nicht erforderlich. Dadurch ist es möglich, Mann-Stunden für die Erzeugung eines Kontaktplanprogramms zu reduzieren, während es möglich ist, die Notwendigkeit für ein Berechnungsprogramm auf der Ablaufsteuerungs-Zentraleinheit zu eliminieren. Des Weiteren ist es möglich, eine anspruchsvolle arithmetische Operation durchzuführen, welche nicht von einer Zykluszeit der Ablaufsteuerungs-Zentraleinheit abhängt.
  • Im Weiteren ist die vorliegende Erfindung nicht auf die oben angegebene Ausdrucksform beschränkt und in einem Stadium der Implementierung kann es verschiedenartig innerhalb eines Bereichs modifiziert werden, welcher nicht vom Geist der vorliegenden Erfindung abweicht. In der obigen Ausführungsform sind Erfindungen in verschiedenen Stadien involviert und unterschiedliche Erfindungen können extrahiert werden gemäß passender Kombinationen einer Vielzahl einzelner Elemente, welche hier offenbart sind. Beispielsweise, wenn einige Einzelelemente von allen Einzelelementen welche in der Ausführungsform beschrieben sind entfernt werden, und wenn dennoch Probleme, welche im Abschnitt technisches Problem erwähnt sind, gelöst werden können und dennoch die Effekte, welche im Abschnitt vorteilhafte Effekte der Erfindung beschrieben sind, erhalten werden, kann eine Konfiguration, welche nicht die entfernten Einzelelemente aufweist, als Erfindung extrahiert werden. Ferner können einzelne Elemente, welche in unterschiedlichen Ausführungsformen beschrieben sind, nach Wahl miteinander kombiniert werden.
  • Bezugszeichenliste
  • 1
    PLC-System
    100
    Ablaufsteuerungs-Einheit
    130
    Arbeitseinheit
    131
    Verarbeitungseinheit für Daten arithmetischer Ausdrücke
    140
    gemeinsam genutzter Speicher (shared memory)
    141
    Datentabelle für arithmetische Ausdrücke
    142
    Tabelle für Informationen über Operationsattribute
    145
    nichtflüchtiger Speicher
    160
    Bus I/F
    170
    interner Bus
    200
    Zentraleinheit
    210
    externer Speicher I/F
    220
    Arbeitseinheit
    230
    interner Speicher
    240
    I/F für Peripheriegerät
    250
    Bus-I/F
    300
    Einheitenverbindender Bus
    500
    Erzeugungs-Tool für Daten arithmetischer Ausdrücke
    510
    Eingabebereich für arithmetische Ausdrücke
    520
    Verarbeitungseinheit für arithmetische Ausdrücke
    1000
    SPS
    2000
    Peripheriegerät

Claims (6)

  1. Ein SPS-System, umfassend: eine speicherprogrammierbare Steuerung, welche eine SPS-Einheit und eine Speichereinheit aufweist; und eine Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke, welche die SPS-Einheit veranlasst, Daten eines arithmetischen Ausdrucks zu erzeugen, welcher durch die SPS-Einheit auszuführen ist, wobei die Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke aufweist: eine Eingabeeinheit, zum Empfang des arithmetischen Ausdrucks von einem Benutzer, wobei der arithmetische Ausdruck Eingangsinformationen, welche als eine Variable dienen, wobei die Variable in einer arithmetischen Operation verwendet wird, und eine Konstante aufweist, welche in der arithmetischen Operation verwendet wird; und eine Verarbeitungseinheit für arithmetische Ausdrücke, um eine Berechnungssequenz des arithmetischen Ausdrucks zu bestimmen, wobei die Speichereinheit eine Datentabelle für arithmetische Ausdrücke zur Verwaltung der Daten des arithmetischen Ausdrucks, einschließlich der Eingangsinformationen, der Konstanten und der Berechnungssequenz speichert, und wobei die SPS-Einheit eine Verarbeitungseinheit aufweist, welche mit der Speichereinheit verbunden ist, um eine arithmetische Operation des arithmetischen Ausdrucks entsprechend der Berechnungssequenz und unter Verwendung der Eingangsinformationen und der Konstanten auszuführen.
  2. Das SPS-System entsprechend Anspruch 1, wobei die Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke eine Tabelle für Informationen über Operationsattribute erzeugt, um ein Datenattribut eines Elements und den Inhalt des Elements zu verwalten, wobei das Element im arithmetischen Ausdruck enthalten ist, und wobei die speicherprogrammierbare Steuerung mit der Speichereinheit verbunden ist und die Eingangsinformationen, die Konstante, und die Berechnungssequenz in die Datentabelle für arithmetische Ausdrücke schreibt, unter Verwendung der Tabelle für Informationen über Operationsattribute.
  3. Das SPS-System entsprechend Anspruch 1, wobei die Verarbeitungseinheit für arithmetische Ausdrücke den arithmetischen Ausdruck in eine Vielzahl von Binomen auflöst und Prioritäten von Berechnungen der Binome bestimmt, und wobei die speicherprogrammierbare Steuerung die Binome in die Datentabelle für arithmetische Ausdrücke schreibt, entsprechend den Prioritäten.
  4. Das SPS-System entsprechend einem der Ansprüche 1 bis 3, wobei die Speichereinheit in der PLC-Einheit enthalten ist.
  5. Eine Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke, umfassend: eine Eingabeeinheit, um von einem Benutzer einen arithmetischen Ausdruck zu empfangen, wobei der arithmetische Ausdruck Eingangsinformationen aufweist, welche als Variable dienen die in einer arithmetischen Operation verwendet wird, welche von einer SPS-Einheit ausgeführt wird, und eine Konstante, welche in der arithmetischen Operation verwendet wird; und eine Verarbeitungseinheit für arithmetische Ausdrücke, um eine Berechnungssequenz des arithmetischen Ausdrucks zu bestimmen, wobei die Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke die Eingangsinformationen, die Konstante und die Berechnungssequenz zu einer Speichereinheit transferiert, welche in einer speicherprogrammierbaren Steuerung, welche die SPS-Einheit umfasst, vorgesehen ist.
  6. Die Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke gemäß Anspruch 5, wobei die Verarbeitungseinheit für arithmetische Ausdrücke den arithmetischen Ausdruck in eine Vielzahl von Binomen auflöst und Prioritäten von Berechnungen der Binome bestimmt.
DE112014003085.6T 2014-07-14 2014-07-14 SPS-System und Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke Withdrawn DE112014003085T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/068734 WO2016009485A1 (ja) 2014-07-14 2014-07-14 Plcシステムおよび演算式データ作成支援装置

Publications (1)

Publication Number Publication Date
DE112014003085T5 true DE112014003085T5 (de) 2016-03-17

Family

ID=55078009

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112014003085.6T Withdrawn DE112014003085T5 (de) 2014-07-14 2014-07-14 SPS-System und Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke

Country Status (6)

Country Link
US (1) US10018983B2 (de)
JP (1) JP5864033B1 (de)
KR (1) KR101639972B1 (de)
CN (1) CN105431789A (de)
DE (1) DE112014003085T5 (de)
WO (1) WO2016009485A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6356726B2 (ja) * 2016-05-19 2018-07-11 ファナック株式会社 ラダープログラム解析装置
CN107450829B (zh) * 2017-06-27 2021-06-15 武汉逸飞激光设备有限公司 触摸屏单页面显示方法、触摸屏及可编程逻辑控制器
JP6919404B2 (ja) * 2017-08-10 2021-08-18 オムロン株式会社 制御装置
JP7048263B2 (ja) * 2017-11-02 2022-04-05 株式会社オービック 計算処理装置、計算処理方法および計算処理プログラム
US11887827B2 (en) * 2019-04-24 2024-01-30 Shimadzu Corporation Imaging analysis device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62138967A (ja) * 1985-12-12 1987-06-22 Nec Corp デ−タ変換処理方式
GB2232514B (en) * 1989-04-24 1993-09-01 Yokogawa Electric Corp Programmable controller
JP2914100B2 (ja) * 1993-06-30 1999-06-28 三菱電機株式会社 プログラマブルコントローラ用アナログ信号処理装置
JPH0744090A (ja) * 1993-07-27 1995-02-14 Matsushita Electric Works Ltd マルチcpuシステム
JPH07234708A (ja) * 1994-02-22 1995-09-05 Hitachi Ltd 制御用シーケンサのセットアップ装置
JP2000122706A (ja) * 1998-10-16 2000-04-28 Omron Corp プログラマブルコントローラシステム並びにその構成機器
JP4168224B2 (ja) * 2000-12-14 2008-10-22 株式会社安川電機 プログラマブルコントローラのプログラミング装置
JP2004265001A (ja) * 2003-02-28 2004-09-24 Omron Corp プロセスコントロール機器及びcpuユニット
JP4910865B2 (ja) * 2007-04-27 2012-04-04 横河電機株式会社 プロセスシミュレーション装置
DE102007062453A1 (de) * 2007-12-22 2009-06-25 Robert Bosch Gmbh Verfahren zum Programmieren und/oder Diagnostizieren einer speicherprogrammierbaren Steuerung
CN102004613B (zh) * 2010-12-07 2015-12-09 无锡永中软件有限公司 表达式的树状显示方法及求值方法
CN102541514B (zh) * 2010-12-09 2014-07-23 沈阳高精数控技术有限公司 一种将结构文本语言转换为梯形图语言的方法
CN102096716A (zh) * 2011-02-11 2011-06-15 百度在线网络技术(北京)有限公司 一种基于搜索引擎的计算器实现方法和装置
US8832670B2 (en) * 2011-07-01 2014-09-09 Mitsubishi Electric Corporation Programmable controller and programming tool for communication with legacy equipment
JP5498446B2 (ja) 2011-07-04 2014-05-21 株式会社日立製作所 ラダープログラム作成装置およびラダープログラム作成方法
JP5785501B2 (ja) * 2012-01-12 2015-09-30 横河電機株式会社 ラダープログラム作成装置
CN103164393B (zh) * 2013-04-12 2016-03-09 中国农业银行股份有限公司 报表公式处理方法和系统

Also Published As

Publication number Publication date
US20160187865A1 (en) 2016-06-30
CN105431789A (zh) 2016-03-23
KR20160018815A (ko) 2016-02-17
JP5864033B1 (ja) 2016-02-17
JPWO2016009485A1 (ja) 2017-04-27
KR101639972B1 (ko) 2016-07-14
US10018983B2 (en) 2018-07-10
WO2016009485A1 (ja) 2016-01-21

Similar Documents

Publication Publication Date Title
DE112014003085T5 (de) SPS-System und Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke
DE112015003406T5 (de) Datenherkunftssummierung
DE112009004306T5 (de) Programmanalysenunterstützungsvorrichtung
DE60007772T2 (de) Rekursive zustandsschätzung durch matrixfaktorisierung
DE112020004471T5 (de) Folgerungsvorrichtung, Trainingsvorrichtung, Folgerungsverfahren und Trainingsverfahren
EP1623287A1 (de) Auslegung von werkzeugen und prozessen f r die umformtechnik
DE102019001129A1 (de) Numerische Steuervorrichtung
DE112014003082B4 (de) Programmierbares Steuerungssystem, programmierbare Steuerung, Programmanzeigevorrichtung und Programmanzeigeverfahren
DE3855574T2 (de) Schnelles Verfahren zur bidirektionalen Inferenz-Strategie
DE102010042999A1 (de) Verfahren zur Bereitstellung eines Bedienmenüs für ein Feldgerät der Prozessautomatisierungstechnik
DE4417393A1 (de) Eine Methode zur Herstellung spezifischer Programm-Systeme und Sammlungen von Unterstützungsprogrammen (Tools) zur Erleichterung von Programmsystem-Herstellungsarbeiten
DE102016006202A1 (de) Numerische Steuervorrichtung zum Verwalten von Bearbeitungsdaten und Bearbeitungsergebnissen
DE112014003067T5 (de) Speicherprogrammierbare Steuerung
DE112020007144T5 (de) Maschinenbearbeitungsprogramm-Suchgerät und Maschinenbearbeitungsprogramm-Suchverfahren
DE102020120752A1 (de) Arbeitsunterstützungsvorrichtung, arbeits-unterstützungssystem und arbeitsunterstützungsverfahren
DE102019204136A1 (de) Verfahren und Vorrichtung für Training und Herstellung eines künstlichen neuronalen Netzes
DE102008022532A1 (de) Abstandbestimmungsverfahren
Dillenburger Raumindex. Ein datenbasiertes Entwurfsinstrument
DE3613740A1 (de) Verfahren zum erzeugen einer tabelle fuer das speichern einer groesseren menge von datenbereichen sowie einer vorrichtung zur verwirklichung dieses verfahrens
EP3534225A1 (de) Baugruppe für die industrielle prozessautomatisierung und verfahren zum betrieb und projektierung
EP3491517B1 (de) Signalflussbasiertes computerprogramm mit direct-feedthrough-schleifen
DE112021007578T5 (de) Erzeugungsgerät für bearbeitungssteuerungsinformationen, verfahren und programm zur generierung von bearbeitungssteuerungsinformationen
DE102022131760A1 (de) Modellgenerierungsverfahren, modellgenerierungsprogramm, modellgenerierungsvorrichtung und datenverarbeitungsvorrichtung
DE102018125849A1 (de) Verfahren und Vorrichtung zur rechnergestützten Steuerung eines technischen Systems
DE102009014616A1 (de) Vorrichtung und Verfahren zur automatischen Verarbeitung von Daten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee