WIPO logo
Mobile | Deutsch | English | Español | 日本語 | 한국어 | Português | Русский | 中文 | العربية |
PATENTSCOPE

Recherche dans les collections de brevets nationales et internationales
World Intellectual Property Organization
Recherche
 
Options de navigation
 
Traduction
 
Options
 
Quoi de neuf
 
Connexion
 
Aide
 
maximize
Traduction automatique
1. (WO1997009661) PROCEDE DE CREATION ET DE MEMORISATION D'UN PROGRAMME UTILISATEUR CONSTITUE D'INSTRUCTIONS, DESTINE A UNE COMMANDE PROGRAMMABLE ET MODE D'UTILISATION D'UNE COMMANDE PROGRAMMABLE
Note: Texte fondé sur des processus automatiques de reconnaissance optique de caractères. Seule la version PDF a une valeur juridique

Beschreibung

Verfahren zum Erzeugen und Abspeichern eines aus Befehlen bestehenden Anwenderprogramms für eine speicherprogrammierbare Steuerung und Betriebsverfahren für eine speicherprogrammierbare Steuerung

Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen und Abspeichern eines auε Befehlen bestehenden Anwenderpro-gramms für eine speicherprogrammierbare Steuerung, wobei die speicherprogrammierbare Steuerung bei Abarbeitung des Anwenderprogramms aus Eingangssignalen von einem technischen Prozeß Ausgangssignale für den technischen Prozeß ermittelt, sowie ein hierzu korrespondierendes Betriebsverfahren für eine speicherprogrammierbare Steuerung.

Derartige Verfahren sind allgemein bekannt.

Die Aufgabe der vorliegenden Erfindung besteht darin, neue Verfahren zur Verfügung zu stellen.

Die Aufgabe wird für das Erzeugungs- und Abspeicherverfahren dadurch gelöst, daß die Befehle des Anwenderprogramms jeweils aus einem Funktionscode und dem Funktionscode zugeordneten Funktionsparametern bestehenden, daß die Funktionsparmater entweder auf ein Eingangssignal oder auf einen anderen Befehl verweisen und daß das Verfahren folgende Schritte aufweist:

a) bei der Erzeugung des Anwenderprogramms werden pro 'Aus- gangssignal, beginnend mit dem dem jeweiligen Ausgangsignal zuzuordnenden Befehl, die abzuarbeitenden Befehle abgefragt, wobei folgende Prozedur abgearbeitet wird:
b) es wird der abzuarbeitende Funktionscode abgefragt und zwischengespeichert ;
c) es wird die Zahl der Funktionεparameter festgestellt;
d) es werden nacheinander die Funktionsparameter abgefragt;

e) wenn der Funktionsparameter ein Eingangssignal ist, wird ein Verweis auf das Eingangssignal zwischengespeichert ; f) wenn der Funktionsparameter ein neuer Funktionscode ist, wird ein Verweis auf einen neuen Befehl zwischengespei- chert, wird zu diesem neuen Befehl verzweigt und werden der andere Funktionscode zwischengespeichert und die
Schritte c) bis f) für den neuen Befehl wiederholt;
g) die zwischengespeicherten Funktionscodes und die zwischengespeicherten Funktionsparameter werden erst dann in einem Remanentspeicher hinterlegt bzw. als gültig gekennzeichnet, wenn alle Befehle zumindest des jeweiligen Ausgangssignals vollständig abgefragt sind.

Auch gemäß dem Betriebsverfahren bestehen die Befehle des An-wenderprogramms jeweils aus einem Funktionscode und dem Funktionscode zugeordneten Funktionsparametern, wobei die Funktionsparameter entweder auf ein Eingangssignal oder auf einen anderen Befehl verweisen. Die erfindungsgemäßen Schritte sind wie folgt :

a) bei der zyklischen Abarbeitung wird, beginnend mit den den Ausgangsignalen zugeordneten Befehlen, pro Befehl folgende Prozedur abgearbeitet :
b) es werden der dem Befehl zugeordnete Funktionscode und die diesem Befehl zugeordneten Funktionsparameter gelesen; c) pro Funktionsparameter wird überprüft, ob dieser auf einen anderen Befehl verweist;
d) wenn der Funktionsparameter auf ein Eingangssignal verweist, wird das Eingangssignal zwischengespeichert;' e) wenn der Funktionsparameter auf einen anderen Befehl verweist, wird zu dem anderen Befehl verzweigt und werden die Schritte b) bis e) mit dem anderen Befehl wiederholt;
f) wenn alle Funktionsparameter abgearbeitet sind, wird das dem Befehl zugeordnete Ausgangssignal ermittelt.

Weitere Vorteile und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung eines Ausführungsbeispiels. Dabei zeigen:

FIG 1 den Aufbau eines Programmiergeräts und einer speicherprogrammierbaren Steuerung,
FIG 2 die Benutzerschnittstelle des Programmiergeräts und FIG 3 ein Programmierbeispiel .

Gemäß FIG 1 weiεt das Programmiergerät 1 einen Prozessor 2 auf, der über das Bussyεtem 3 mit dem Festwertspeicher 4 und dem Schreib-Lese-Speicher 5 εowie den Schnittεtellen 6,7 und 8 verbunden iεt. Im Feεtwertεpeicher 4 iεt daε Betriebssyεtem deε Prozeεεorε 2 abgespeichert, der Schreib-Lese-Speicher 5 dient dem Programmiergerät 1 als Arbeitsspeicher. Über die

Schnittstelle 6 εind mittelε der Eingabeeinheit 9, z.B. einer Taεtatur, Daten in daε Programmiergerät 1 eingebbar. Ebenεo εind mittelε der Schnittεtelle 7 Daten auf der Anzeigeeinheit 10 darstellbar. Mittels der Kommunikationsschnittεtelle 8 kann daε Programmiergerät über die geεtrichelt eingezeichnete Kommunikationεverbindung 11 mit einer speicherprogrammierbaren Steuerung 12 kommunizieren.

Die speicherprogrammierbare Steuerung 12 weist ebenfalls ei- nen Prozeεεor 13 auf, der ein Anwenderprogramm abarbeitet.

Daε Anwenderprogramm beεteht aus einer Vielzahl von auszuführenden Befehlen und iεt im elektriεch löεch- und εchreibbaren Feεtwertεpeicher 14 hinterlegt . Gemäß dem abzuarbeitenden Anwenderprogramm greift der Prozeεεor 13 über den Controller 15 und die Prozeßschnittstelle 16 auf einen nicht näher dargestellten technischen Prozeß bzw. eine technische Anlage 17 zu. Er liest von dort Eingangssignale ein, speichert sie im Schreib-Lese-Speicher 18 ab und ermittelt sodann anhand des Anwenderprogramms Ausgangεεignale. Die Auεgangεsignale werden ebenfallε im Schreib-Leεe-Speicher 18 hinterlegt und dann über den Controller 15 und die Prozeßschnittstelle 16 an den technischen Prozeß 17 ausgegeben. Ferner weiεt die εpeicher-programmierbare Steuerung 12 eine Schnittεtelle 19 zum Programmiergerät auf. Der Prozeεεor 13, die Speicher 14,18, der Controller 15 εowie die Kommunikationεschnittstelle 19 sind ebenfalls über einen Buε 20 miteinander verbunden.

Programmiergerät 1 und εpeicherprogrammierbare Steuerung 12 können im Prinzip voneinander getrennte Geräte εein. Vorzugsweise ist das Programmiergerät 1 jedoch, wie in FIG 1 durch die gestrichelte Linie und auch in FIG 2 dargestellt, in die speicherprogrammierbare Steuerung 12 integriert . In beiden Fällen iεt es aber möglich, daß das Programmiergerät 1 über die Schnittstellen 8 und 19 sowie die Kommunikationsverbindung 11 auf den Festwertspeicher 14 zugreift. Dabei iεt es möglich, daß ein neues Anwenderprogramm in den Festwertspeicher 14 geschrieben wird und daß ein bestehendes Anwenderprogramm gelesen, gelöscht oder geändert wird.

Gemäß FIG 2 weist die speicherprogrammierbare Steuerung 12 Schraubanεchlüεse 21 bis 24, ein Taεtaturfeld 25 sowie ein LCD-Display 26 auf. Über die Schraubanschlüεse 21 ist die speicherprogrammierbare Steuerung 12 mit einer 24 Volt-Stromversorgung verbindbar. Über je zwei der Schraubanschlüsεe 22 ist ein Digital-Ausgangssignal an den technischen Prozeß 17 auεgebbar. Über je eine der Schraubklemmen 23 iεt ein Ein-gangssignal vom technischen Prozeß 17 einlesbar. Über die Schraubklemmen 24 sind die Aktoren und Sensoren, welche an die Schraubklemmen 22 und 23 angeschlossen sind, mit Strom versorgbar. Die Schraubklemmen 22 bis 24 sind alεo Bes'tand- teil der Prozeßschnittstelle 16.

Das LCD-Display 26 entspricht der Anzeigeeinheit 10 deε Programmiergeräts 1. Über das Display 26 sind ferner auch Meldungen der speicherprogrammierbaren Steuerung 12 während des Betriebs anzeigbar. Das Display 26 dient alεo auch als Beob- achtungεeinheit . Daε Taεtaturfeld 25 ermöglicht eε, Befehle direkt in das Programmiergerät 1 und die speicherprogrammierbare Steuerung 12 einzugeben.

Das Anwenderprogramm besteht, wie allgemein üblich auε ein-zelnen Befehlen, wobei jeder Befehl jeweilε auε einem Funk-tionεcode und dem Funktionscode zugeordneten Funktionsparametern besteht . Im Betrieb arbeitet die speicherprogrammierbare Steuerung zyklisch folgende Befehlsfolge ab:

- Sie liest Eingangεεignale vom technischen Prozeß 17 ein.

- Sie ermittelt anhand des Anwenderprogramms Ausgangssignale für den technischen Prozeß.
- Sie gibt die Ausgangεεignale an den techniεchen Prozeß 17 auε .

Dieεe Vorgehensweise ist allgemein bekannt.

Bei der Erzeugung des Anwenderprogramms werden durch die Programmiereinheit 1 nacheinander die abzuarbeitenden Befehle von der Eingabeeinheit 9 abgefragt. Hierzu wird, beginnend mit dem dem ersten Ausgangsεignal zuzuordnenden Befehl, abgefragt, welche Funktion abgearbeitet werden soll. Es wird also eine entεprechende Anfrage auf der Anzeigeeinheit 10 ausgegeben und gewartet, bis der Anwender über die Eingabeeinheit 9 den Funktionscode eingegeben hat.

Sowie der Funktionscode eingegeben iεt, wird dieser von der Programmiereinheit 1 im Schreib-Leεe-Speicher 5 zwiεchenge- speichert . Sodann stellt die Programmiereinheit 1 fest, wie viele Funktionsparameter diesem Befehl zugeordnet sind. Hierbei iεt zu unterεcheiden zwischen der internen Zuordnung innerhalb des Programmiergeräts 1 und der für den Anwender sichtbaren Zahl der Funktionsparameter. Intern ist die Zahl der Funktionεparameter für alle Funktionεcodeε derεelbe, im vorgegebenen Beiεpiel gleich vier. Nach außen hingegen wird stets nur die Zahl der benötigten Funktionsparameter abgefragt. Ein Beiεpiel εoll dieε näher erläutern:

Wenn alε Funktionεcode der Code für die Oderverknüpfung ein-gegeben wird, werden tatεächlich vier Parameter abgefragt. Dieεe vier Parameter werden dann εpäter bei der Abarbeitung des Programms auch berücksichtigt. Wenn hingegen z.B. die logische Verneinung als Funktionscode gewählt wird, wird vom Anwender nur ein Parameter, nämlich das zu negierende Ein-gangssignal, abgefragt. Die anderen drei Parameter werden vom Programmiergerät 1 selbεtändig aufgefüllt und bei der Abarbeitung deε Programmε nicht berücksichtigt.

Nach dem Abfragen und Zwischenspeichern des Funktionscodeε im Schreib-Leεe-Speicher 5 werden durch die Programmiereinheit 1 im Zuεammenwirken mit der Eingabeeinheit 9 und der Anzeigeeinheit 10 nacheinander auch die Funktionεparameter abgefragt und zwiεchengeεpeichert . Als Funktionsparameter kann entweder ein Eingangssignal oder ein anderer Funktionscode eingegeben werden. Dabei wird bei jeder Eingabe eines Funktionsparameters sofort überprüft, ob dieser ein Funktionscode ist.

Wenn der Funktionεparameter kein Funktionεcode, εondern ein Eingangεεignal ist, wird dieses zwischengeεpeichert und mit dem nächεten Funktionεparameter fortgefahren. Unter Eingangs-εignal εind dabei im vorliegenden Fall nicht nur Eingangεεi-gnale vom technischen Prozeß 17 zu verstehen, sondern auch Signale, deren Wert vorbekannt iεt. Beiεpiel für derartige Signale εind das Konstant-Eins- oder das Konstant-Null'-Signal sowie ein Taktsignal.

Wenn alε Funktionεparameter dagegen ein neuer Funktionscode eingegeben wird, wird als Funktionεparameter nicht der Funktionεcode zwiεchengespeichert, sondern die Adresεe eineε neu- en Befehls. Unmittelbar danach wird zu diesem neuen Befehl verzweigt und dort der unmittelbar zuvor eingegebene Funk- tionεcode zwiεchengeεpeichert . Sodann wird erneut die Zahl der Funktionsparameter festgestellt, und es werden die Funktionsparameter abgefragt und zwiεchengespeichert .

Auch bei diesen Funktionsparametern wird εofort wieder überprüft, ob εie Eingangεεignale oder Funktionεcodeε εind. Wenn εie neue Funktionεcodeε εind, wird wiederum erneut εofort die Adreεεe dieεeε neuen Befehlε alε Funktionεparameter abgespeichert und zu diesem neuen Befehl verzweigt . Auch hier wird wieder der soeben eingegebene Funktionscode abgespeichert, festgestellt wieviele Funktionsparameter benötigt werden und die Funktionεparameter abgefragt und zwiεchengeεpeichert.

Dieses verschachtelte Abfragen von Funktionscodes und Funk-tionsparametern wird solange fortgeεetzt, bis alle Funktionsparameter des zuletzt abgefragten und zwiεchengeεpeicherten Funktionεcodes auf Eingangsεignale verweiεen. Wenn dann alle Funktionεparameter auf Eingangεεignale verweiεen, iεt der jeweilige Befehl vollständig eingegeben. Es wird dann zurück-gegangen zum vorhergehenden Befehl und bei diesem gegebenenfallε der nächεte Funktionεparamter abgefragt und zwiεchengeεpeichert, wobei auch hier wieder gegebenenfallε zu weiteren Befehlen verzweigt wird.

Obenεtehende Prozedur wird εolange fortgeεetzt, biε alle zur Ermittlung eines Auεgangssignals erforderlichen Funktionen miteinander verschaltet εind, also alle Funktionsparameter jedes Befehls eingegeben worden sind. Erst wenn dies erfolgt iεt, wird der dem nächεten Auεgangsεignal zuzuordnende Befehl abgefragt und die Prozedur, εoweit erforderlich, wiederholt. Auf dieεe Art werden nacheinander alle Ausgangεsignale programmiert .

Das Eingeben deε Anwenderprogramms kann vom Anwender selbst- verεtändlich jederzeit abgebrochen werden. In diesem Fall erfolgt jedoch kein Abspeichern des eingegebenen und zwischen- gespeicherten Teilprogramms . Beim Ausschalten des Program-miergerätε 1 εind die eingegebenen Daten verloren. Ein Ab-εpeichern der abgefragten und im Schreib-Lese-Speicher 5 zwischengespeicherten Anwenderprogramms im RemanentSpeicher 14 wird erst dann ermöglicht, wenn der Programmiervorgang vollständig beendet iεt. Alε vollεtändig beendet gilt der Programmiervorgang bzw. daε Erzeugen deε Anwenderprogrammε dann, - wenn zu jedem Ausgangsεignal ein Befehl eingegeben worden ist, und
- wenn jeder Funktionsparameter jedes programmierten Funk- tionεcodeε belegt iεt.

FIG 3 zeigt ein Beiεpiel eineε einfachen Anwenderprogrammε. Die durchgezogenen Linien bedeuten dabei die aufgrund der ge-wünschten Verknüpfungen erforderlichen Verbindungen. Die gestrichelten Linien zeigen die aufgrund deε Programmierεchemas erforderlichen zusätzlichen Verbindungen, und die strichpunktierten Linien zeigen die vom Programmiergerät 1 selbεtändig ergänzten Verbindungen. Die Eingabe deε Programmierbeispielε gemäß FIG 3 geεchieht wie folgt:

Zunächεt fragt daε Programmiergerät über Anzeigeeinheit 10 und Eingabeeinheit 9 ab, welcher Funktionεcode für die Ermittlung deε Auεgangεεignals des ersten Ausgangε AI benötigt wird. Der Anwender gibt daraufhin über die Eingabeeinheit ein, daß eine UND-Verknüpfung 27 erfolgen εoll. Der korrespondierende Funktionscode wird im Schreib-Lese-Speicher 5 des Programmiergeräts 1 zwiεchengeεpeichert . Sodann werden nacheinander der erεte, der zweite und der dritte Funktionspara-meter, d.h. drei der vier Eingangssignale der UND-Verknüpfung 27, abgefragt und zwischengespeichert.

Der erste und der zweite Eingangsparameter sind die Eingangssignale El und E2. Es wird daher bei der Eingabe dieser bei- den Funktionsparameter εofort mit dem nächsten Funktionsparameter fortgefahren. Beim Abfragen des dritten Funktionspa- rameters hingegen wird durch den Anwender eingegeben, daß er eine NICHT-Verknüpfung 28 vorzunehmen wünscht. Als dritter Funktionεparameter wird daher die Adreεse des Befehls zwischengespeichert, an dem dann die NICHT-Verknüpfung 28 behan-delt wird.

Sodann wird durch das Programmiergerät 1 zu diesem Befehl verzweigt und abgefragt, welcheε der (einzige) Funktionεparameter der NICHT-Verknüpfung 28 sein soll. Hier wird durch den Anwender das Eingangsεignal E3 eingegeben. Daε Programmiergerät 1 εpeichert dieεen Funktionεparameter zwiεchen und ergänzt den Befehl mit drei weiteren Funktionεparametern, welche jeweils auf die logische Eins verweiεen. Auch dieεe drei Funktionεparameter werden im Speicher 5 zwiεchengeεpei-chert . Hierdurch ist dann die Parametrierung der NICHT-Verknüpfung 28 abgeschloεεen. Es wird daher zur weiteren Parametrierung der UND-Verknüpfung 27 zurückgekehrt und der vierte Funktionsparameter abgefragt und zwischengespeichert. Da die UND-Verknüpfung 27 gemäß dem Beispiel nach FIG 3 nur drei echte Eingangsparameter aufweist, wird der vierte Eingang durch entsprechende Eingabe des Anwenders mit der logischen Einε verbunden.

Hiermit iεt die Programmierung des Auεgangε AI abgeschlossen, und es wird mit der Programmierung des Ausgangε A2 fortgefahren.

Zunächst wird abgefragt und nach Eingabe durch den Anwender zwischengespeichert, daß der Funktionscode für die Erzeugung des Ausgangssignalε A2 eine ODER-Verknüpfung 29 ist. Sodann werden nacheinander die vier Funktionεparameter der ODER-Verknüpfung 29 abgefragt.

Als ersten Funktionεparameter wird gemäß dem Programmierbei- εpiel von FIG 3 die bereits programmierte NICHT-Verknüpfung deε Eingangε E3 eingegeben. Da dieεe Verknüpfung bereits fer- tig programmiert iεt, iεt keine weitere Eingabe bezüglich dieεeε Funktionεparameters erforderlich und es wird nach der Zwischenspeicherung sofort mit dem zweiten Funktionsparameter fortgefahren .

Der zweite und der dritte Funktionsparameter sind die (echten) Eingangssignale E2 und E4, so daß sofort mit dem vierten Funktionsparameter fortgefahren werden kann.

Gemäß dem Programmierbeispiel von FIG 3 hat auch die ODER-Verknüpfung 29 nur drei Eingangsεignale. Der vierte Funktionεparameter verweiεt daher auf die Konεtant-Null .

Da hiermit auch die Programmierung des Ausgangs A2 abge-schloεsen ist, wird mit dem Ausgang A3 fortgefahren.

Die Ausgänge A3 und A4 werden gemäß dem gegebenen Programmierbeispiel eigentlich nicht benötigt. Für den Ausgang A3 wird daher die NICHT-Verknüpfung 30 gewählt, welche mit der logiεchen Einε verknüpft wird. Dadurch iεt der Ausgang A3 auf Konstant-Null geεchaltet. Gleicheε geεchieht mit dem Auεgang A4, für welchen die NICHT-Verknüpfung 31 eingegeben wird. Alternativ iεt eε auch möglich, die Auεgänge A3 und A4 direkt mit der logiεchen Null zu verbinden.

Daε daraus resultierende Programm wird dann im Speicher 14 abgespeichert. Es ist in der nachstehenden Tabelle dargestellt .

Bl: FC (AND)
ADDR (El)
ADDR (E2)
ADDR (B5)
ADDR ( " 1 " )
B2: FC (OR)
ADDR (B5) ADDR E2 )
ADDR E4 )
ADDR " 0 " )
B3 FC NOT )
ADDR " 1 " )
ADDR " 1 " )
ADDR " 1 " )
ADDR " 1 " )
B4 FC NOT )
ADDR " 1 " )
ADDR " 1 " )
ADDR " 1 " )
ADDR " 1 " )
B5 FC NOT)
ADDR E3 )
ADDR " 1 " )
ADDR " 1 " )
ADDR " 1 " )

Links in Tabelle 1 sind mit Bl bis B5 jeweils der Anfang der einzelnen Befehle dargeεtellt. Diese Angaben dienen aber nur zur Erläuterung und sind nicht Beεtandteil deε abgeεpeicher-ten Programms. Im eigentlichen Programm steht FC für Funktionscode, ADDR für Adresεe.

Das Programm alε εolches besteht aus Blöcken zu je fünf Byte. Daε erste Byte stellt jeweilε den Funktionscode des Befehls dar, die anderen vier Bytes die vier Funktionεparameter. Die ersten vier Befehle Bl bis B4 definieren stets die Befehle für die vier Ausgangεsignale . Ab dem fünften Befehl B5 sind dann Befehle abgespeichert, auf die bei der Berechnung der Auεgangεsignale indirekt zurückgegriffen werden muß.

Die Abarbeitung des Anwenderprogrammε geεchieht wie folgt Es werden zyklisch die Befehle Bl bis B4 abgearbeitet. Bei der Abarbeitung jedes der Befehle Bl bis B4 wird zunächst der dem Befehl zugeordnete Funktionscode gelesen. Sodann werden nacheinander die diesem Befehl zugeordneten Funktionsparamter geleεen. Beim Lesen jedes Funktionsparameters wird εofort überprüft, ob dieεer auf einen anderen Befehl verweiεt . Wenn der Funktionεparameter auf ein Eingangssignal verweist, wird dieseε zwiεchengeεpeichert .

Wenn der Funktionεparameter dagegen auf einen anderen Befehl verweiεt, wird εofort, d.h. vor dem Leεen der anderen Funktionεparameter, zu diesem Befehl verzweigt und der diesen Befehl zugeordnete Funktionscode und die diesem Befehl zugeordneten Funktionsparameter geleεen. Auch hier wird, wenn der Funktionεcode auf einen neuen Befehl zeigt, εofort wieder dieεer Befehl ausgeführt, bevor die weiteren Funktionsparameter abgearbeitet werden. Wenn alle Funktionsparameter eines Befehls abgearbeitet sind, wird daε dieεem Befehl zugeordnete Auεgangεsignal ermittelt, gegebenenfalls zum aufrufenden Be-fehl zurückgesprungen, und das ermittelte Ausgangssignal der weiteren Abarbeitung des Anwenderprogrammε zugrunde gelegt .

Auch hier εoll das Prinzip anhand des Programms gemäß Tabelle näher erläutert werden.

Zunächst wird also der Funktionscode deε Befehlε Bl geleεen. Sodann werden die Funktionsparameter gelesen, welche auf die Eingänge El und E2 verweisen. Beim Lesen deε dritten Funktionsparameters wird zum Befehl B5 verzweigt. Dessen Funk-tionscode und alle vier Funktionsparameter (weil alle auf

Eingangssignale verweisen) werden gelesen und das dem Befehl B5 zugeordnete Ausgangssignal ermittelt. Mit diesem Ausgangs- signal wird dann zum Befehl Bl zurückgekehrt und der vierte Funktionsparameter gelesen. Sodann wird das Ausgangssignal AI ermittelt und im Schreib-Lese-Speicher 18 abgespeichert.

Danach wird der Funktionεcode deε Befehlε B2 geleεen und der erεte Funktionεparameter deε Befehlε B2. Sodann wird erneut zum Befehl B5 verzweigt, deεεen Funktionscode und dessen vier Funktionsparameter gelesen und das Ausgangsεignal deε Befehls B5 ermittelt . Sodann wird zum Befehl B2 zurückgekehrt und die übrigen drei Funktionsparameter gelesen. Sodann wird das Aus-gangεsignal des Befehlε B2 ermittelt.

Schließlich werden noch der Funktionεcode und die Funktionε-parameter des Befehls B3 gelesen und ausgeführt und εo daε Auεgangsεignal A3 ermittelt. Gleicheε geεchieht mit dem Befehl B4 und dem darauε folgenden Ausgangssignal A4.

Nach der Ermittlung des letzten Ausgangεεignalε A4 werden die εo ermittelten Auεgangεεignale AI biε A4 an den techniεchen

Prozeß 17 auεgegeben und erneut die Eingangεεignale El biε E4 eingeleεen. Sodann wird ein neuer Zykluε bei der Ermittlung der Auεgangεεignale AI biε A4 begonnen.

Alternativ zum beschriebenen Erstellungsverfahren ist eε auch möglich, die Befehle, die zu einem Ausgangssignal gehören, sofort im Remanentεpeicher 14 abzuεpeichern, wenn daε jeweilige Auεgangεsignal vollständig programmiert ist. Es könnten beispielsweise also die Befehle Bl und B5 sofort abgespei- chert werden, εowie daε Ausgangssignal AI vollständig programmiert iεt.

Ebenso ist es auch möglich, jeden eingegebenen Funktionεcode und jeden eingegebenen Funktionsparameter sofort im Remanent- Speicher 14 abzuspeichern. In diesem Fall müßte in einem εpe- ziell hierfür vorgesehenen Speicherbereich deε Remanentspei- chers 14 zu Beginn eines Programmerεtellungsvorgangε hinterlegt werden, daß die Programmierung aller Auεgangsεignale AI biε A4 ungültig ist. Beispielεweiεe könnten vier 1 Bit-Spei- cherzellen auf logiεch-Null gesetzt werden, um anzudeuten, daß die vier Ausgangssignale AI bis A4' ungültig programmiert sind. Die vier 1 Bit-Speicherzellen könnten dann auf logisch-Einε gesetzt werden, wenn die Auεgangεεignale AI biε A4 gültig programmiert worden sind. Das Als-gültig-Kennzeichnen kann dabei wahlweise nach der Erstellung des gesamten Anwen-derprogrammε oder εeparat für jedeε Auεgangssignal AI bis A4 nach der Abfrage aller Befehle des jeweiligen Ausgangεεignalε AI biε A4 erfolgen.

Die Befehle müsεen auch nicht in der Reihenfolge gemäß der Tabelle abgespeichert εein. Eε iεt beiεpielεweise möglich, alle Befehle, die zur Ermittlung des Ausgangεεignalε AI benötigt werden, hier die Befehle Bl und B5, nacheinander im Speicher 14 abzulegen. Die Befehle B2 biε B4 zur Ermittlung der Auεgangεεignale A2 biε A4 würden dann hinter dieεen Be-fehlen (hier Bl und B5) abgeεpeichert werden. Beim Abarbeiten deε Anwenderprogrammε iεt in dieεem Fall zu verfolgen, welches die höchste Adresse ist, die zur Ermittlung des Aus-gangεεignalε AI aufgerufen wird. Der Befehl zur Ermittlung des Ausgangssignalε A2 beginnt dann bei der nächεthöheren Adreεεe. Auf ähnliche Weise, nämlich Zwischenspeichern der höchsten benötigten Adresεe, kann dann ermittelt werden, an welcher Stelle die Befehle zur Ermittlung der Ausgangsεignale A3 und A4 angeordnet εind. Ob der Fachmann bei der Implementierung der vorliegenden Erfindung der einen oder der anderen Vorgehenεweiεe den Vorzug gibt, liegt jedoch in εeinem Belieben.