DE19500626A1 - Programmierbare Steuerung und Verfahren zum Ändern ihrer Programmaufnahmefähigkeit - Google Patents

Programmierbare Steuerung und Verfahren zum Ändern ihrer Programmaufnahmefähigkeit

Info

Publication number
DE19500626A1
DE19500626A1 DE19500626A DE19500626A DE19500626A1 DE 19500626 A1 DE19500626 A1 DE 19500626A1 DE 19500626 A DE19500626 A DE 19500626A DE 19500626 A DE19500626 A DE 19500626A DE 19500626 A1 DE19500626 A1 DE 19500626A1
Authority
DE
Germany
Prior art keywords
program
data
capacity
management table
file
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
DE19500626A
Other languages
English (en)
Inventor
Hideaki Morita
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 DE19500626A1 publication Critical patent/DE19500626A1/de
Withdrawn legal-status Critical Current

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

Description

Die Erfindung bezieht sich auf eine programmierbare Steue­ rung, sowie auf ein Verfahren zum Ändern ihrer Programmauf­ nahmefähigkeit, insbesondere zur Verwaltung von Daten ver­ schiedener Art, und ein Ausführungsschema in einer program­ mierbaren Steuerung.
Das Blockschaltbild in Fig. 29 zeigt im Grobschema eine pro­ grammierbare Steuerung der herkömmlichen Art. In dieser Figur bezeichnen die Bezugszeichen 1 ein Peripheriegerät, 2 eine Zentraleinheit, 3 eine Schnittstelle für ein Peripheriegerät, die den Datenverkehr mit dem Peripheriegerät abwickelt, 4 ein Rechen- und Verarbeitungsteil, 4A eine Rechenschaltung (Hard­ ware), die einen Teil eines Ablaufprogramms mit hoher Verar­ beitungsgeschwindigkeit ausführt, 5 einen Mikroprogrammspei­ cher zum Abspeichern eines oder mehrerer Programme für das System, 6 einen Benutzerspeicher, in dem der Benutzer Daten wie ein Ablaufprogramm, Dateispeicher oder Kommentare abspei­ chern kann, 7 einen Ablaufzeitspeicher zum Abspeichern der Ablaufzeit für das gesamte Programm, 8 eine Zeigertabelle, in der Adressendaten für einen Zeiger gespeichert werden, und 15 einen Speicher für Benutzerzuweisungsdaten.
Mit dem Bezugszeichen 16 ist eine Gruppe von Einheiten ange­ geben, die jeweils an die Zentraleinheit angeschlossen sind, und zwar im einzelnen eine Eingabeeinheit 16a, ein Hochge­ schwindigkeitszähler 16b, eine Ausgabeeinheit 16c, eine Ana­ logeinheit 16d, und eine Verbindungseinheit 16e, während 17 eine Gruppe von Geräten bezeichnet, die jeweils mit einer an die Zentraleinheit angeschlossenen Einheitengruppe verbunden sind, und zwar ein Endschalter 17a, ein Meßfühler 17b, ein Ventilsteller 17c und ein Elektromotor 17d.
Nachstehend werden nun die Ablaufe bei einer programmierbaren Steuerung herkömmlicher Art anhand eines konkreten Beispiels für dieselbe beschrieben.
Fig. 30 zeigt ein Beispiel für eine Benutzerspeicherzuweisung in einem Peripheriegerät; in diesem Fall werden einem Ablauf­ programm 1000 Bytes zugewiesen, weitere 2000 Bytes für Datei­ daten und 3000 Bytes für Kommentare. Der Benutzer-Zuweisungs­ datenspeicher 15 und die Zuweisung eines Benutzerspeichers 6 in diesem Fall sind in dieser Figur dargestellt (vgl. Pro­ grammbereich 6a, Dateidatenbereich 6b, Kommentarbereich 6c). Gemäß dieser Abbildung ist mit 15-1 eine Vorsatzadresse für einen Bereich angegeben, in dem ein Ablaufprogramm gespei­ chert ist, mit 15-2 eine Vorsatzadresse für einen Bereich, in dem Daten gespeichert werden, während 15-3 eine Vorsatzadres­ se für einen Bereich bezeichnet, in dem Kommentardaten ge­ speichert sind. Im konkreten Betrieb startet die Ausgabeein­ heit 16c dann, wenn von einem Peripheriegerät 1 eine Anforde­ rung zum Lesen oder Schreiben eines Ablaufdiagramms ausgege­ ben wird, den Datenschreibvorgang von jeder Vorsatzadresse aus.
Fig. 31 zeigt ein konkretes Beispiel für die Auslegung eines solchen Programmbereichs 6a gemäß Fig. 30. In dieser Abbil­ dung sind dem Ausführungsablauf Blöcke zugewiesen, die den Funktionen BK1 bis BK5 entsprechen. Dort bezeichnet BK1 einen Funktionsblock (Beginn der Verarbeitung) wie beispielsweise zum Überprüfen der Startbedingungen oder der Bedingungen für die erste Dateneinstellung, die nur beim Start vorgenommen wird. Mit BK2 ist ein Funktionsblock (Eingabeverarbeitung) bezeichnet, in dem ein Bearbeitungsvorgang für eine Eingabe­ einheit 16a oder einen Hochgeschwindigkeitszähler 16b durch­ geführt wird, die bzw. der von einer Einrichtung wie bei­ spielsweise dem Grenzschalter 17a oder dem Meßfühler 17b ein Signal abgerufen hat. Mit BK3 ist ein Funktionsblock bezeich­ net (Operationssteuerung), in dem auf eine Anweisung von BK2 hin ein Rechenvorgang ausgeführt wird. Im Funktionsblock BK4 (Ausgabeverarbeitung) erfolgt auf Betriebsanweisung von BK3 hin die Ausgabe über die Ausgabeeinheit 16c oder die Analog­ einheit 16d zum Ventilsteller 17c oder zum Motor 17d; in die­ sem Block ist auch FEND angegeben, ein Befehl, der den Ab­ schluß des Verarbeitungsvorgangs angibt.
Eine Reihe von Vorgängen von BK1 bis BK4 wird hier als "Scan", als ein Ablauf, bezeichnet, und die einzelnen Vorgän­ ge werden nacheinander und zyklisch ausgeführt, wie dies rechts in Fig. 31 angegeben ist, womit die eigentliche Steue­ rung realisiert wird. BK5 bezeichnet einen Funktionsblock (Unterprogrammabarbeitung) wie beispielsweise die Verarbei­ tung numerischer Daten, die nur bei Bedarf aufgerufen und ab­ gearbeitet wird. Diese Auslegung ist nur ein Beispiel für die Anordnung eines Ablaufprogramms. Im allgemeinen wird ein Ab­ laufprogramm in mehrere Funktionsblöcke unterteilt, wie vor­ stehend erläutert, wobei jeder Block von mehreren Programmie­ rern entwickelt wird.
Als nächstes wird im folgenden der Vorgang beim Lesen oder Schreiben eines Programms erläutert. Fig. 32 zeigt ein Bei­ spiel für die Abläufe in einem Peripheriegerät beim Lesen ei­ nes Programms, wobei eingestellt wird, ob das gesamte Pro­ gramm oder nur ein angegebener Bereich desselben gelesen wer­ den soll. Soll nur ein jeweils angegebener Programmbereich gelesen werden, gibt man einen Anfangsschritt und einen End­ schritt an. Fig. 32 zeigt ein Verfahren zur Vorgabe der Lese­ einstellungen bei BK2 in Fig. 31. Dasselbe gilt auch für ei­ nen Schreibvorgang.
Nachfolgend werden nun die Abläufe beim Aufnehmen zusätzli­ cher neuer Inhalte in einen Programmspeicher beschrieben. Fig. 33 zeigt eine Anordnung aller Blöcke in einem Ablaufpro­ gramm; in dieser Abbildung ist mit 6a (1) ein Speicherinhalt vor der Änderung, mit 6A (2) der Speicherinhalt nach einer Änderung der Programmschritte im Block BK2 von 100 bis 200 zu 6a (1), und mit 6a (3) der Speicherinhalt in dem Fall angege­ ben, daß ein neuer Block BK6 zu 6a (2) hinzugefügt wurde, und zwar bei 1 (2) Arbeitsgängen von einem 6a (2) entsprechenden Peripheriegerät, und bei 1 (3) Arbeitsgängen von einem 6a (3) entsprechenden Peripheriegerät. Hierbei handelt es sich bei BK6 um einen Block zur Ausführung einer Eingabeüberprüfung, der zwischen den Blöcken BK2 und BK3 auszuführen ist.
Als nächstes werden die Arbeitsgänge zur Ausführung eines Programms beschrieben. Bei Ausführung eines Programms wird als erstes ein Vorsatz im Ablaufprogrammspeicher, und zwar ein Vorsatz für BK1, an eine Adresse zum Beginn der Ausfüh­ rung gesetzt, und danach werden die Blöcke BK1, BK2 und BK3 nacheinander abgearbeitet. Bei diesem Vorgang werden einfache Befehle durch einen Rechenschaltung 4A in Hardware-Ausführung verarbeitet, während andere Befehle von einem im Mikropro­ grammspeicher 5 abgelegten Mikroprogramm bearbeitet werden. Wird ein Befehl FEND angetroffen, wird die vorgegebene END- Verarbeitung ausgeführt, und das Programm wird zyklisch ab BK1 wieder abgearbeitet. BK5 wird nicht zyklisch ausgeführt, sondern nur bei Ausführung eines CALL-Befehls. Außerdem wird die für einen seriellen Ablauf benötigte Ablaufzeit wird von der END-Verarbeitung im Ablaufzeitspeicher 7 abgespeichert.
Nun werden die Abläufe für einen Zeiger beschrieben. Fig. 34 zeigt Beispiele für Programme in den Blöcken BK1, BK2 und BK4. Hierbei ist JMP ein Befehl zum Anspringen eines bestimm­ ten Zeigers während mit dem CALL-Befehl ein Unterprogramm am angegebenen Zeiger aufgerufen wird. Dabei ist zu beachten, daß die Zeiger für jeden Block nicht in redundanter Anzahl vorgesehen sein sollten. Mit dem Befehl MOV wird eine Kon­ stante in einen Dateispeicher übertragen, während der Befehl LEDC die Anzeige eines Kommentars von einem bestimmten Gerät auf einer Anzeigeeinheit bewirkt.
Fig. 35 zeigt die Auslegung der Zeigertabelle 8, die vor Aus­ führung eines Programms gesetzt wird. Ist kein Zeiger vorhan­ den, wird davon ausgegangen, daß eine Adresse eines nicht wirklich existierenden großen Programms, wie der Wert für FFFFH, dort abgespeichert ist.
Fig. 36 ist das Ablaufdiagramm für die Abarbeitung des JMP- Befehls. Wird der JMP-Befehl festgestellt, wird die Zeiger­ nummer aus dem Ablaufprogrammspeicher 5 (f141) ausgelesen und wird die Programmadresse entsprechend dem Inhalt der Zeiger­ verwaltungstabelle 8 in Fig. 29 berechnet (f142). Danach wird bestimmt, ob der Wert einer existierenden Adresse entspricht oder nicht (f143), und wenn feststeht, daß "die Zeigeradresse größer ist als die größtmögliche Adresse", wird eine Fehler­ bearbeitung ausgeführt, nachdem erkannt wurde, daß es keinen Zeiger gibt (f145). Andererseits wird bei einer Adresse, die gleich dem größtmöglichen Wert oder kleiner als dieser ist, die angegebene Adresse angesprungen (f144) und damit wird die Abarbeitung des Befehls beendet.
Fig. 37 ist ein Ablaufdiagramm für die Verarbeitung des MOV- Befehls. Zunächst wird nach dem Auslesen einer Konstante für ein erstes Gerät (f281) eine Dateinummer für ein zweites Ge­ rät ausgelesen (f282) und werden die Daten an eine Adresse geschrieben, die man durch Addieren eines Werts erhält, den die Dateidaten-Vorsatzadresse 15-2 (vgl. Fig. 30, Benutzerzu­ weisungsdatenspeicher 15) angezeigt wird (f283).
Fig. 38 zeigt die Auslegung innerhalb der Kommentardaten und Fig. 39 ist ein Ablaufdiagramm für die Verarbeitung eines LEDC-Befehls, der einen Kommentarlesebefehl darstellt. Zu­ nächst werden gespeicherte Kommentardaten aus der Kommentar- Vorsatzadresse 15-3 (vgl. Benutzerzuweisungsdatenspeicher 15 in Fig. 30) ausgelesen (f291) und dann werden die Daten auf einer Anzeigeeinheit angezeigt (f292).
Im Zusammenhang mit einem Verfahren zur Verwaltung einer Vielzahl von Daten, insbesondere Programmen, gibt es zwar das Verfahren, das in der japanischen Offenlegungsschrift Nr. 205203/1989 beschrieben wird, doch ist es bei diesem Verfah­ ren erforderlich, daß bei einer Veränderung der Systemkapazi­ tät alle Programme in die Einrichtungen auf der Peripheriege­ räteseite eingelesen werden.
Was die Verarbeitungszeit anbelangt, so war es schwierig, zu erfassen, welche Teile des Verarbeitungsablaufs eine lange Verarbeitungszeit benötigen, da es nur möglich ist, die ge­ samte Verarbeitungszeit zu erfassen. Insbesondere kann die Größe eines bei einer programmierbaren Steuerung eingesetzten Programms leicht von Jahr zu Jahr noch zunehmen, je stärker das System ausgebaut und erweitert wird. Bis vor wenigen Jah­ ren reichten höchstens ein paar tausend Schritte für ein Pro­ gramm aus, doch in jüngster Zeit waren gelegentlich auch Pro­ gramme erforderlich, die jeweils aus 100 000 oder gar mehr Programmschritten bestanden. Es ist praktisch unmöglich, bei einem so umfangreichen Programm die Verarbeitungszeit dadurch zu analysieren, daß jeder einzelne Schritt überprüft wird. Die Leistung einer programmierbaren Steuerung trägt jedoch erheblich zur Fähigkeit der Echtzeitbearbeitung einer Steuer­ systems insgesamt bei. Dementsprechend ist es recht wichtig, die Verarbeitungszeit in jedem Block zu verkürzen, indem je­ der Block im einzelnen überprüft wird.
In der japanischen Offenlegungsschrift Nr. 259910/1990 wird ein Dateiverwaltungssystem für den Fall einer numerischen Steuerung (NC) beschrieben. Das wichtige Merkmal dieses Sy­ stems besteht jedoch darin, daß im Dateiverwaltungsteil mit absoluten Adressen gearbeitet wird. Ansonsten unterscheidet sich das Dateisystem nicht erheblich von den Systemen in all­ gemein üblichen PCs. Außerdem ist es dabei notwendig, Pro­ gramme sukzessive entsprechend der jeweiligen Automatisie­ rungstechnik im Werk abzuarbeiten, und damit ist dieses Sy­ stem kaum bei einer programmierbaren Steuerung einsetzbar, die im allgemeinen ein sehr schnelles Ansprechverhalten vor­ aussetzt.
Überdies wird in der japanischen Offenlegungsschrift Nr. 222047/1991 die effiziente Nutzung nicht benötigter Speicher­ bereiche beschrieben; allerdings ist es dabei erforderlich, sukzessive eine Suche nach unbelegten Speicherplätzen ablau­ fen zu lassen, um zusammenhängende Speicherbereiche zu errei­ chen.
Die programmierbaren Steuerungen herkömmlicher Art beruhten auf Benutzerspeicherverwaltungssystemen, wie sie vorstehend beschrieben wurden, und bei ihnen traten die nachstehend er­ läuterten Probleme auf.
Zunächst wird ein Benutzerspeicher insgesamt entsprechend den Benutzerzuweisungsdaten verwaltet, und damit läßt sich die Speicherkapazität für Programme oder Dateidaten nicht einfach verändern, da hierdurch eine Veränderung absoluter Adressen im Speicherbereich veranlaßt wird.
Zum zweiten müssen bei der Erstellung eines Ablaufprogramms mit Aufteilung desselben in mehrere Blöcke die entwickelten Blöcke zu einem Programm kompiliert und in einem Grundsystem einer Zentraleinheit abgespeichert werden, so daß bei Verän­ derung nur eines Blocks im Programm alle auf den veränderten Block folgenden Blöcke wieder in die Zentraleinheit geschrie­ ben werden müssen.
Wenn außerdem das bei üblichen PCs verwendete Dateiverwal­ tungssystem in eine programmierbare Steuerung eingespeichert wird, treten darüberhinaus mehrere Probleme auf. Und zwar wird ein Ablaufprogramm im allgemeinen mit hoher Geschwindig­ keit in einer Rechenschaltung, die in der Hardware realisiert ist, abgearbeitet, so daß es mit Schwierigkeiten verbunden ist, die Ausführung eines Programms anzuhalten und zur Aus­ führung eines anderen Programms während der Abarbeitung eines Ablaufdiagramms zu springen. Aus diesem Grund müssen Pro­ grammdateidaten laufend zugewiesen werden.
Daneben muß auch immer abgetastet werden, auch für einen Block, der nur beim Start abgearbeitet wird, was zur Vergeu­ dung von Verarbeitungszeit führt.
Darüberhinaus wird die Verarbeitungszeit nur als ganzes er­ faßt, so daß nicht bestimmt werden kann, wie lange jeder ein­ zelne Block im Programm zur Verarbeitung benötigt. Dement­ sprechend ist es schwierig, wirksame Maßnahmen zu treffen, die zur Verkürzung der Verarbeitungszeit erforderlich sind. Insbesondere im Falle einer programmierbaren Steuerung ist eine mechanische Steuerung einmal in mehreren Millisekunden (ms) vorgesehen, so daß die Ermittlung eines Blocks, der eine lange Verarbeitungszeit benötigt, recht wichtig ist, um die gesamte Verarbeitungszeit zu verkürzen und die Leistung der Steuereinheit zu verbessern.
Da zum dritten ein gemeinsames Zeigernumerierungsschema in jedem Block verwendet wird, müssen Zeigernummern vor Beginn eines Entwicklungsvorgangs jedem Block zugewiesen werden. Wenn ein zuvor erarbeitetes Programm nun wieder verwendet wird, müssen die jedem Block bereits zugewiesenen Zeigernum­ mern verändert werden.
Zum vierten teilen sich alle Programme den gesamten Daten­ speicher, wenn eine Vielzahl von Programmen mit Unterteilung jedes Programms in mehrere Blöcke erstellt wird. Dementspre­ chend ist es notwendig, jedem Programm Geräte bzw. Einheiten zuzuweisen, und eine erneute Zuweisung von Daten und die Ver­ änderung von Programmen entsprechend der erneuten Zuweisung müssen dann vorgenommen werden, wenn vor Abschluß eines Ab­ laufprogramms eine Datenerhöhung erforderlich ist.
Wenn außerdem eine Vielzahl von Programmen mit Unterteilung derselben jeweils in mehrere Blöcke erstellt wird, teilen sich fünftens mehrere Programme alle Kommentardaten, so daß die Kommentardaten jedesmal wieder zusammengeführt werden müssen, wenn ein Kommentar verändert oder neu hinzugefügt wird.
In den letzten Jahren wurden Steuersysteme immer komplexer und immer höher entwickelt, während die vorstehend umrissenen Probleme sich als erhebliche Hindernisse bei der Verbesserung der Effizienz in der Auslegung und Entwicklung erwiesen, in­ dem jedes Programm in Funktionsblöcke aufgeteilt wurde und die Programme von einer Vielzahl von Personen entwickelt wur­ den; außerdem erwiesen sie sich bei der Klarstellung der Funktionen jedes Programms als hinderlich.
Der Erfindung liegt nun die Aufgabe zugrunde, eine program­ mierbare Steuerung zu schaffen, die sich leicht von mehreren Programmierern entwickeln läßt, da es damit leicht möglich ist, Daten zusätzlich einzufügen oder zu verändern, indem Programme oder Daten einer Vielzahl von Dateien zugewiesen werden, so daß die Programme oder Daten frei in einen Spei­ cher in der Zentraleinheit geschrieben werden können. Außer­ dem soll diese programmierbare Steuerung die Ablaufzeit ver­ kürzen, indem eine Ausführungsform eines Programms frei vor­ gegeben wird. Darüberhinaus kann diese Steuerung auch leicht die zur Ausführung eines Programms erforderliche Zeit über­ prüfen, indem sie die Zeit überwacht, die zur Abarbeitung je­ des Blocks im Programm benötigt wird. Und schließlich können dabei in jedem Programm gemeinsame Zeigerzahlen und Schaltda­ ten verwendet werden, die von jedem Programm verwendet wer­ den, ebenso gemeinsame Kommentardaten für jedes Programm.
Diese Aufgabe wird erfindungsgemäß mit einer programmierbaren Steuerung der eingangs genannten Art mit den Merkmalen des Anspruchs 1 gelöst.
Damit liest oder schreibt bei einer erfindungsgemäßen pro­ grammierbaren Steuerung die Einrichtung, die für ein Ablauf­ programm für jede Funktion frei einen Lese- und Schreibvor­ gang ausführen kann, nur einen Block, der von einer Zentral­ einheit aus geändert oder zusätzlich aufgenommen werden muß.
Bei einer erfindungsgemäßen programmierbaren Steuerung unter­ scheidet außerdem die Einrichtung, die eine Ausführungsform jedes Ablaufprogramms frei angeben kann, zwischen einem Pro­ gramm, das nur beim Start ausgeführt wird, von einem wieder­ holt abgearbeiteten Programm, und arbeitet jeden Block eines Programms entsprechend einer zuvor festgelegten Reihenfolge ab.
Außerdem schreibt bei einer erfindungsgemäßen programmierba­ ren Steuerung die Einrichtung zur Überwachung der Zeit, die zur Ausführung des Programms benötigt wird, die zur Abarbei­ tung eines Programms benötigte Zeit jedesmal in eine Ablauf­ zeittabelle ein, wenn die Abarbeitung des Programms beendet ist.
Bei einer erfindungsgemäßen programmierbaren Steuerung stellt außerdem die Einrichtung zur selektiven Ausführung eines ge­ meinsamen Zeigers, der von mehreren Programmen gemeinsam ge­ nutzt werden kann, und eines geräteinternen Zeigers, der nur in jedem Programm wirksam ist, anhand der Zeigerverwaltungs­ tabelle fest, ob es sich bei dem Zeiger um einen gemeinsamen Zeiger oder um einen geräteinternen Zeiger handelt, und führt das Programm dann entsprechend aus.
Daneben setzt bei einer erfindungsgemäßen programmierbaren Steuerung die Einrichtung zum Schalten einer Adresse für Da­ ten entsprechend dem Dateidatenverwaltungsspeicher eine Da­ tenvorsatzadresse, die dann als Vorsatzadresse eines Dateire­ gisters mit gleichem Namen wie das Programm jedesmal verwen­ det werden soll, wenn der Name eines auszuführenden Programms geändert wird.
Die Einrichtung zum Schalten von Daten entsprechend dem Kom­ mentarverwaltungsspeicher setzt bei der erfindungsgemäßen programmierbaren Steuerung auch eine Datenvorsatzadresse, die als Vorsatzadresse eines Dateikommentars mit gleichem Namen wie das Programm jedesmal verwendet werden soll, wenn der Na­ me eines auszuführenden Programms geändert wird.
Weitere Aufgaben und Merkmale der Erfindung ergeben sich aus der nachfolgenden Beschreibung anhand der beiliegenden Zeich­ nung, in welcher:
Fig. 1 ein Blockschaltbild mit der Darstellung der Ausle­ gung einer erfindungsgemäßen programmierbaren Steuerung ist;
Fig. 2 die Auslegung eines erfindungsgemäßen Benutzerspei­ chers zeigt;
Fig. 3 die Auslegung einer erfindungsgemäßen Benutzerspei­ cherverwaltungstabelle darstellt;
Fig. 4 die Auslegung einer erfindungsgemäßen Registrierbe­ reichsverwaltungstabelle zeigt;
Fig. 5 die Darstellung einer erfindungsgemäßen Speicher­ leerstellenverwaltungstabelle ist;
Fig. 6 ein Beispiel der Abläufe in einem Peripheriegerät beim Einschreiben einer neuen Datei entsprechend der vorliegenden Erfindung zeigt;
Fig. 7 die Darstellung des erfindungsgemäßen Ablaufs einer Datenverarbeitungsanforderung beim Einschreiben ei­ ner neuen Datei von einem Peripheriegerät ist;
Fig. 8A ein Ablaufdiagramm zur Darstellung der Abläufe in der Zentraleinheit beim Einschreiben einer neuen Datei gemäß der vorliegenden Erfindung ist;
Fig. 8B ein Ablaufdiagramm mit der Darstellung der Abläufe in der Zentraleinheit beim Einschreiben einer neuen Datei gemäß der vorliegenden Erfindung zeigt;
Fig. 9 ein Beispiel für die Abläufe in einem Peripheriege­ rät beim Einschreiben einer neuen Datei gemäß vor­ liegender Erfindung darstellt;
Fig. 10 ein Ablaufdiagramm zur Darstellung der Abläufe in der Zentraleinheit bei der erfindungsgemäßen Verän­ derung der Dateikapazität ist;
Fig. 11A ein Beispiel für eine erfindungsgemäße Zustandsver­ schiebung in einem Benutzerspeicher zeigt;
Fig. 11B ein Beispiel für eine erfindungsgemäße Zustandsver­ schiebung in einem Benutzerspeicher darstellt;
Fig. 12A ein Beispiel für eine erfindungsgemäße Zustandsver­ schiebung in einer Benutzerverwaltungstabelle zeigt;
Fig. 12B ein Beispiel für eine erfindungsgemäße Zustandsver­ schiebung in einer Benutzerverwaltungstabelle zeigt;
Fig. 13 ein Beispiel für die Abläufe bei der Programmaus­ führung in einem Peripheriegerät gemäß der Erfin­ dung darstellt;
Fig. 14 die Auslegung einer erfindungsgemäßen Programmaus­ führungs-Verwaltungstabelle zeigt;
Fig. 15 ein Ablaufdiagramm für die erfindungsgemäße Pro­ grammausführung ist;
Fig. 16 ein Beispiel für eine erfindungsgemäße Anzeige der Programmausführungszeit in einem Peripheriegerät zeigt;
Fig. 17 die Auslegung einer erfindungsgemäßen Ablaufzeitta­ belle für jede Datei darstellt;
Fig. 18 ein Ablaufdiagramm der erfindungsgemäßen Programm­ ausführung ist;
Fig. 19 ein Beispiel für das erfindungsgemäße Setzen eines gemeinsamen Zeigers in einem Peripheriegerät zeigt;
Fig. 20 die Darstellung eines Beispiels eines erfindungsge­ mäßen Programms ist;
Fig. 21 die Auslegung einer erfindungsgemäßen Zeigerverwal­ tungstabelle darstellt;
Fig. 22 ein Ablaufdiagramm für die erfindungsgemäße Verar­ beitung des JMP-Befehls ist;
Fig. 23 die Auslegung eines erfindungsgemäßen Dateidaten­ verwaltungsspeichers darstellt;
Fig. 24 ein Ablaufdiagramm der erfindungsgemäßen Programm­ ausführung ist;
Fig. 25 ein Ablaufdiagramm für den MOV-Befehl gemäß vorlie­ gender Erfindung darstellt;
Fig. 26 die Auslegung eines erfindungsgemäßen Kommentarver­ waltungsspeichers zeigt;
Fig. 27 ein Ablaufdiagramm der erfindungsgemäßen Programm­ ausführung ist;
Fig. 28 ein Ablaufdiagramm für die erfindungsgemäße Ausfüh­ rung eines LEDC-Befehls zeigt;
Fig. 29 ein Blockschaltbild mit der Darstellung einer her­ kömmlichen programmierbaren Steuerung ist;
Fig. 30 ein Beispiel für die herkömmliche Art der Benutzer­ speicherzuweisung darstellt;
Fig. 31 ein Beispiel für einen herkömmlichen Programmtypus zeigt;
Fig. 32 einen herkömmlichen Ablauf eines Programmlesezyklus zeigt;
Fig. 33 einen herkömmlichen Ablauf bei einer Programmände­ rung darstellt;
Fig. 34 ein Beispiel für einen herkömmlichen Programmtypus zeigt;
Fig. 35 eine Zeigertabelle herkömmlicher Art darstellt;
Fig. 36 ein Ablaufdiagramm für einen JMP-Befehl herkömmli­ cher Art ist;
Fig. 37 ein Ablaufdiagramm für einen MOV-Befehl herkömmli­ cher Art darstellt;
Fig. 38 die Auslegung von Kommentardaten zeigt, und
Fig. 39 ein Ablaufdiagramm für einen LEDC-Befehl herkömmli­ cher Art ist.
Das Blockschaltbild aus Fig. 1 zeigt ein Ausführungsbeispiel einer erfindungsgemäßen programmierbaren Steuerung. In dieser Figur gibt das Bezugszeichen 2A eine programmierbare Steue­ rung an, während die Bezugszeichen 1 bis 8 die gleichen Kom­ ponenten und Teile wie in Fig. 29 bei der herkömmlichen Tech­ nik bezeichnen. In dieser Figur ist mit dem Bezugszeichen 9 außerdem eine Benutzerspeicherverwaltungstabelle angegeben, die zur Verwaltung von Daten wie beispielsweise jenen verwen­ det wird, die sich auf den Speicherplatz für die in einem Be­ nutzerspeicher abgespeicherten Programme oder Daten verschie­ dener Art beziehen. Das Bezugszeichen 10 bezeichnet eine Pro­ grammausführungsverwaltungstabelle zur Verwaltung der Ausfüh­ rung jedes Programms. Mit dem Bezugszeichen 11 ist ein Ab­ laufzeitspeicher für jede Datei bezeichnet, in der Daten zur Ablaufzeit für jede Programmdatei gespeichert sind. Das Be­ zugszeichen 12 gibt eine Zeigerverwaltungstabelle zum Verwal­ ten des Inhalts der Zeigertabelle 8 an, während ein Dateida­ tenverwaltungsspeicher 13 zum Schalten von Dateidaten und auch ein Kommentarverwaltungsspeicher 14 vorgesehen sind, in dem die erforderlichen Schaltkommentare abgelegt sind.
Fig. 2 zeigt ein Beispiel für die Auslegung des Benutzerspei­ chers 6, in dem die Dateien BK1 bis BK5 nacheinander abge­ speichert werden. Fig. 3 zeigt den internen Aufbau der Benut­ zerspeicherverwaltungstabelle 9. In dieser Figur ist mit dem Bezugszeichen 9a eine Registrierbereichsverwaltungstabelle angegeben, in der die Registrierdaten für im Benutzerspeicher 6 erfaßte Daten gespeichert sind, während das Bezugszeichen 9b hier eine Speicherleerstellenverwaltungstabelle angibt, mit der leerer Speicherplatz im Benutzerspeicher 6 verwaltet wird.
Fig. 4 zeigt die Anordnung der Daten in der Registrierbe­ reichsverwaltungstabelle 9a. In dieser Figur bezeichnen 9a-1 eine Nummer der registrierten Daten m, 9a-2 einen Programmna­ men der als erstes registrierten Daten, 9a-3 ein Attribut der Daten, beispielsweise zur Bestimmung, ob es sich bei den Da­ ten um ein Ablaufprogramm oder um Dateidaten handelt, 9a-4 eine Vorsatzadresse im Benutzerspeicher 6, von der aus die Daten gestartet werden, und 9a-5 die Datenkapazität. In ähn­ licher Weise sind m Daten in diesem Benutzerspeicher 6 abge­ speichert.
Die Anordnung der Daten in der Leerstellenverwaltungstabelle 9b ist in Fig. 5 dargestellt. In dieser Figur bezeichnen 9b-1 eine Nummer der leeren Speicherstellen P, 9b-2 eine Vorsatz­ adresse im Benutzerspeicher 5, von der aus die ersten Leer­ stellendaten gestartet werden, und 9b-3 die Kapazität des leeren Speicherbereichs. In ähnlicher Weise sind Daten für n Leerstellenbereiche dort abgespeichert.
Fig. 6 zeigt ein Beispiel für einen Ablauf in einem Periphe­ riegerät beim Einschreiben einer neuen Datei, wobei 1(4) in dieser Figur einen Fall angibt, in dem ein Programm BK6, be­ stehend aus 100 Programmschritten, neu eingeschrieben wird.
Aus Fig. 7 ist die Auslegung für eine Datenverarbeitungsan­ forderung von einem Peripheriegerät während des in Fig. 6 dargestellten Vorgangs zu entnehmen, wobei in dieser Figur mit R1 eine Datenverarbeitungsanforderung für einen neuen Eintrag und mit A1 die Antwortdaten als Bestätigung der An­ forderung angegeben sind. Außerdem bezeichnen R2 eine Daten­ verarbeitungsanforderung zum Schreiben von Daten, und A2 die dieser Anforderung entsprechenden Antwortdaten.
Fig. 8A und 8B zeigen jeweils den Ablauf eines Verarbeitungs­ vorgangs in der Zentraleinheit auf jede Datenverarbeitungsan­ forderung gemäß Fig. 7 hin; dabei gibt F1 in Fig. 8A einen der Datenverarbeitungsanforderung R1 entsprechenden Verarbei­ tungsablauf an, während F2 in Fig. 8B auf einen der Datenver­ arbeitungsanforderung R2 entsprechenden Verarbeitungsablauf hinweist.
Fig. 9 veranschaulicht einen Ablauf bei Änderung der Kapazi­ tät einer Datei in einem Peripheriegerät sowie eine Datenver­ arbeitungsanforderung R3. In dieser Figur ist außerdem ein Fall dargestellt, in dem eine Anzahl der Schritte in einem Programm BK2 um 100 erhöht wird. Mit F3 in Fig. 10 ist das Ablaufdiagramm eines der Anforderung R3 entsprechenden Verar­ beitungsvorgangs in der Zentraleinheit angegeben.
Fig. 11 zeigt den Inhalt des Benutzerspeichers 6 bei Ausfüh­ rung der Arbeitsabläufe gemäß Fig. 6 und Fig. 9. Fig. 11A zeigt dabei den Fall, daß BK6 mit einer Kapazität von 200 zu­ sätzlich aufgenommen wird, während Fig. 11B einen Fall dar­ stellt, in dem die Kapazität des Blocks BK2 von 100 auf 200 verändert wird; dabei geben 6(1) einen Zustand vor Ausführung des in Fig. 6 dargestellten Vorgangs, 6(2) einen Zustand nach Ausführung des in Fig. 6 gezeigten Vorgangs, und 6(3) einen Zustand nach Ausführung der Operation gemäß Fig. 9 an.
Fig. 12 zeigt den Zustand der Benutzerspeicherverwaltungsta­ belle gemäß Fig. 11. Die Zustände 9a(1) bis 9a(3) in dieser Figur entsprechen dabei jeweils den Zuständen 6(1) bis 6(3) in Fig. 11. In Fig. 12A ist allerdings der Zustand einer Re­ gistrierbereichssteuertabelle dargestellt, während Fig. 12B den Zustand einer Leerbereichssteuertabelle zeigt.
Nachfolgend wird nun ein Arbeitsablauf beschrieben. Dabei wird vorausgesetzt, daß im Benutzerspeicher 6 gemäß Fig. 2 die Programme BK1 bis BK5 eingespeichert sind. Außerdem ent­ spricht die Anordnung in der Registrierbereichsverwaltungsta­ belle der Anordnung gemäß 9a(1). Und zwar sind hier insgesamt 5 Dateien gespeichert, und die dort als zweites gespeicherte Datei ist beispielsweise ein Ablaufprogramm mit dem Programm­ namen "BK2", wobei angegeben ist, daß zum Abspeichern der Da­ tei vom 100. Byte an 100 Bytes belegt werden. Außerdem ent­ spricht die Anordnung in der Leerbereichsverwaltungstabelle der Darstellung unter 9b(1). Und zwar gibt 9b(1) an, daß ein leerer Bereich vorhanden ist und ab dem 500. Byte eine Kapa­ zität von 500 Byte zur Verfügung steht.
Im folgenden wird nun ein Arbeitsablauf beim Einschreiben ei­ ner neuen Datei gemäß Fig. 6 beschrieben. Zunächst übermit­ telt das Peripheriegerät 1 eine Anforderung R1 für einen Neu­ eintrag gemäß Fig. 7 an die Zentraleinheit. Der Ablauf der von der Zentraleinheit ausgeführten Verarbeitung wird nach­ stehend anhand des Ablaufdiagramms F1 in Fig. 8A erläutert. Zunächst wird geprüft, ob ein Programmname R12, der in der Datenverarbeitungsanforderung enthalten ist, in der Regi­ strierverwaltungstabelle 9a enthalten ist oder nicht (f11); ist der Name vorhanden, wird ein Signal als Hinweis auf einen Fehler ausgegeben. Ist der Programmname nicht vorhanden, wird die Leerbereichsverwaltungstabelle 11b überprüft, um festzu­ stellen, ob für die Datenverarbeitungsanforderung R14 genü­ gend Kapazität zur Verfügung steht oder nicht (f12). Ist die Kapazität vorhanden, wird die Datenverarbeitungsanforderung in der Registrierverwaltungstabelle 9a eingetragen (f13) und wird der Inhalt der Leerstellenverwaltungstabelle 9b verän­ dert (f14).
Nun wird die Registriernummer in der Registrierverwaltungsta­ belle 9a an der Registriernummer A12 in den Antwortdaten A1 gesetzt, und mit diesem Vorgang ist die Verarbeitung beendet (f15). Sind im Schritt f12 keine Leerstellen vorhanden, wer­ den alle Dateien als Block nach vorn verschoben (f16), worauf die gleiche Überprüfung wie im Schritt f12 erfolgt (f17). Reicht der freie Speicherplatz zum Abspeichern der Datenver­ arbeitungsanforderung immer noch nicht aus, wird als Hinweis auf einen Fehler ein entsprechendes Signal ausgegeben. Kann jedoch die Datenverarbeitungsanforderung gespeichert werden, schaltet die Steuerung zur Verarbeitung im Schritt f13 um. Der Grund dafür ist, daß bei Löschung einer einmal eingetra­ genen Datei die Anzahl der leeren Speicherplätze sich erhöht und die zusammenhängend verfügbare Kapazität abnimmt.
Ist die Eintragung einer neuen Datei abgeschlossen, wird die Datenschreibanforderung R2 in dem Peripheriegerät 1 ausge­ führt. Nun läuft der nachstehend anhand des Ablaufdiagramms in Fig. 8B beschriebene Verarbeitungsvorgang ab. Zunächst wird geprüft, ob die Registriernummer R22 in der Registrier­ tabelle 9a vorhanden ist oder nicht (f21); ist die Regi­ striernummer nicht vorhanden, wird ein Signal als Hinweis auf einen Fehler ausgegeben. Ist die Registriernummer vorhanden, wird überprüft, ob die Relativadresse R23 und die Schreibka­ pazität R24 innerhalb des mit 9a-5 angegebenen Kapazitätsbe­ reichs liegen oder nicht (f22); ist dies der Fall, werden Schreibdaten R25 sukzessive entsprechend der Relativadresse R23 und der Schreibkapazität R24 eingeschrieben (fr23). Bei diesem Vorgang ist die aktuelle Vorsatzadresse zum Schreiben ein Wert, den man durch Addieren der Relativadresse R23 zum Inhalt der Vorsatzadresse 9a-4 erhält.
Bei den vorstehend beschriebenen Abläufen verändert sich der Inhalt des Benutzerspeichers 6 zu dem unter 6(2) in Fig. 11 dargestellten Inhalt, während der Inhalt der Benutzerspei­ cherverwaltungstabelle zu dem in Fig. 12 unter 9a(2) und 9b(2) angegebenen Inhalt verändert wird.
Als nächstes wird nun der Ablauf bei Veränderung der Kapazi­ tät einer Datei beschrieben, wie er in Fig. 9 dargestellt ist. Als erstes übermittelt das Peripheriegerät 1 an die Zen­ traleinheit eine Datenverarbeitungsanforderung R3. Der Ablauf der von der Zentraleinheit ausgeführten Verarbeitungsvorgänge wird nun anhand des Ablaufdiagramms F3 in Fig. 10 erläutert. Zunächst wird geprüft, ob der Programmname R32 in der Regi­ strierverwaltungstabelle 9a existiert (f31); ist er dort nicht vorhanden, wird ein Signal als Hinweis auf einen Fehler ausgegeben. Existiert der Programmname, wird geprüft, ob ge­ nau hinter der entsprechenden Datei ein freier Speicherbe­ reich vorhanden ist oder nicht; zu diesem Zweck wird auf die Leerstellenverwaltungstabelle 9b Bezug genommen (f32). Ist genau hinter der entsprechenden Datei ein freier Speicherbe­ reich vorhanden, wird nun geprüft (f33), ob innerhalb des leeren Speicherplatzes zusätzliche Kapazität R34 für die Da­ tenverarbeitungsanforderung vorhanden ist oder nicht; ist in­ nerhalb des leeren Speicherplatzes die erforderliche zusätz­ liche Kapazität vorhanden, wird der Inhalt der Registrierver­ waltungstabelle 9a wie auch der Inhalt der Leerbereichsver­ waltungstabelle 9b verändert (f34), und der Vorgang wird be­ endet (f39).
Werden die in den Schritten f32 und f33 angegebenen Bedingun­ gen nicht erfüllt, werden das angegebene Programm R32 und al­ le vor diesem liegenden Programme (die jeweils eine kleinere Vorsatzadresse haben) als Block nach vorn verschoben (f35), während die hinter dem angegebenen Programm R33 liegenden Programme (die jeweils eine höhere Vorsatzadresse haben) als Block nach hinten verschoben werden (f36); auch wird der In­ halt der Registrierverwaltungstabelle 9a und ebenso der Leer­ bereichsverwaltungstabelle 9b verändert (f37). Nun läuft nochmals eine Überprüfung ähnlich dem Schritt f33 ab (f38), und ist eine angemessene Kapazität verfügbar, wird die Steue­ rung zum Verfahrensschritt f34 umgeschaltet; steht keine aus­ reichende Kapazität zur Verfügung, wird als Hinweis auf einen Fehler ein Signal ausgegeben (f40).
Bei den vorstehend beschriebenen Vorgängen wird der Inhalt des Benutzerspeichers 6 zu dem unter 6(3) in Fig. 11A und 11B angegebenen Inhalt verändert, während der Inhalt der Benut­ zerspeicherverwaltungstabelle so verändert wird, wie er unter 9a(3) bzw. 9b(3) in Fig. 12A bzw. 12B dargestellt ist.
Als nächstes wird ein zweites Ausführungsbeispiel beschrie­ ben. Fig. 13 zeigt ein Beispiel für ein Verfahren zur Ausfüh­ rung einer Vielzahl von Programmen, die in einem Benutzer­ speicher im Peripheriegerät 1 gespeichert sind. In dieser Fi­ gur ist unter 1(1) ein Verfahren zur Abarbeitung einer Viel­ zahl von Programmen angegeben, die entsprechend der Darstel­ lung unter 6(1) in Fig. 11A und 11B zugewiesen sind, während mit 1(2) ein Verfahren zur Ausführung einer Vielzahl von Pro­ grammen angegeben ist, die gemäß der Darstellung unter 6(3) in Fig. 11A zugewiesen sind, wobei das Programm "BK6" neu hinzugefügt wird.
Fig. 14 zeigt den Inhalt der Programmausführungsverwaltungs­ tabelle 10, und mit 10a ist hier eine Verwaltungstabelle zur Ausführung von Programmen angegeben, die nur beim Start aus­ zuführen sind, während 10b eine Verwaltungstabelle für die Ausführung von Programmen bezeichnet, die wiederholt abgear­ beitet werden soll. In jeder Tabelle sind die Nummer der aus­ zuführenden Programme, deren Name und eine Vorsatzadresse für jedes Programm gespeichert. In der Programmausführungsverwal­ tungstabelle 10a für nur beim Start abzuarbeitende Programme ist unter 10a-1 eine Nummer für jedes nur beim Start ablau­ fende Programm, unter 10a-2 der Name jedes nur beim Start ab­ laufenden Programms, und unter 10a-3 eine Vorsatzadresse für das Programm angegeben. Dasselbe gilt für die Angaben 10b-1 bis 10b-3 in der Programmausführungsverwaltungstabelle 10b für die wiederholt abzuarbeitenden Programme. Fig. 15 zeigt hierzu ein Ablaufdiagramm für die Ausführung eines Programms.
Im folgenden werden nun die Abläufe dieses Programms be­ schrieben. Zunächst werden eine Nummer 10a-1 der nur beim Start ablaufenden Programme, eine Nummer 10b-1 der wiederholt auszuführenden Programme, der Name 10a-2 der nur beim Start ablaufenden Programme und der Name 10b-2 der wiederholt abzu­ arbeitenden Programme - alle in Fig. 14 angegeben - entspre­ chend dem Datensatz gemäß Fig. 13 vom Peripheriegerät vor Be­ ginn der Programmausführung durch die Zentraleinheit einge­ schrieben. Die Zentraleinheit setzt dann entsprechend der Programmausführungsverwaltungstabelle 9a eine Vorsatzadresse 10a-3 bzw. 10b-3 für jedes Programm.
Nach Abschluß der vorstehend beschriebenen Vorgänge wird die Programmausführung gestartet, wobei die einzelnen Schritte zur Programmausführung anhand des Ablaufdiagramms in Fig. 15 nachstehend erläutert werden. Zunächst wird geprüft, ob ein oder mehrere Programme, die nur beim Start ablaufen, exi­ stieren oder nicht (f71); ist ein nur beim Start ablaufendes Programm nicht vorhanden, schaltet die Steuerung zur Verar­ beitung zur Ausführung eines wiederholt abzuarbeitenden Pro­ gramms um (f77). Existiert ein beim Start ablaufendes Pro­ gramm, wird dessen Startnummer an einer ersten Adresse ge­ setzt (f72), während an einer der Nummer entsprechenden Adresse eine Startadresse für die Programmausführung gesetzt wird (f73), woraufhin das Programm bis zum END-Befehl ausge­ führt wird (f73). Nun wird die Verarbeitung p mal entspre­ chend der Vorgabe wiederholt (f76), wobei die entsprechende Nummer jeweils um Eins erhöht wird (f75). Ist im Schritt f76 die Verarbeitung vollständig abgeschlossen, wird in den Schritten f77 bis f81 in ähnlicher Weise ein wiederholt aus­ zuführendes Programm abgearbeitet. Dabei ist zu beachten, daß die vorgegebene Verarbeitung des END-Befehls erfolgt, wenn die Ausführung des wiederholt abzuarbeitenden Programms im Schritt f81 abgeschlossen ist und die Steuerung zur Verarbei­ tung in Schritt f77 umschaltet. Und zwar werden nur Program­ me, die jedesmal abgearbeitet werden, auch jedesmal ausge­ führt.
Es ist ganz klar, daß dann, wenn die Ausführung des Programms "BK6" zwischen die Ausführung der Programme "BK2" und "BK3" gemäß Fig. 13 zusätzlich eingeschoben wird, der Inhalt der Programmausführungsverwaltungstabelle 10b für wiederholt ab­ zuarbeitende Programme nur vorher geändert werden muß.
Nachfolgend wird ein drittes Ausführungsbeispiel anhand von Fig. 16 beschrieben, die ein Beispiel für eine Anzeige der Ablaufzeit für jede Datei in dem Peripheriegerät 1 zeigt.
Fig. 17 zeigt hierzu eine Anordnung im Ablaufzeitspeicher 11 für jede Datei; in dieser Figur bezeichnet das Bezugszeichen 11a eine Ablaufzeittabelle für Programme, die nur beim Start auszuführen sind, wobei in dieser Tabelle nur für die beim Start ablaufenden Programme die Ablaufzeit eingetragen ist; in dieser sind die Ablaufzeiten für die Programme 10a-1 ange­ geben, die in der Programmausführungsverwaltungstabelle 10a für nur beim Start ablaufende Programme gespeichert sind. An­ dererseits gibt das Bezugszeichen 11b eine Ablaufzeittabelle für Programme an, die wiederholt auszuführen sind und in der die Ablaufzeiten für wiederholt abzuarbeitende Programme an­ gegeben sind, sowie eine Ablaufzeit für die Programme 10b-1, die in der Programmausführungstabelle 10b für wiederholt aus­ zuführende Programme gespeichert sind.
Fig. 18 zeigt ein Ablaufdiagramm für einen Ablauf zum Erfas­ sen einer Ablaufzeit für jede Programmdatei; in diesem Ab­ laufdiagramm sind zusätzlich zu den Schritten f71 bis f81 ge­ mäß Fig. 15 noch die Arbeitsschritte f73a, f74a, f74b, f78a, f79a und f79b vorgesehen.
Nachfolgend werden nun mehrere einschlägige Programmschritte für den Ablauf beschrieben. Grundsätzlich ist das Verfahren zur Ausführung der einzelnen Schritte genauso wie beim Aus­ führungsbeispiel 2, doch wird bei Initialisierung hier die Startadresse gesetzt (f73), während der Zeitmeßwert auf Null gesetzt wird (f73a); daraufhin wird das Programm abgearbeitet (f74), und danach wird der Zählerstand des Zeitmessers als Ablaufzeit übernommen (f74a), während die Ablaufzeit im Ab­ laufzeitspeicher für jede Datei abgespeichert wird (f74a). Es liegt auf der Hand, daß die Arbeitsschritte f78a, f79a und f79b nur noch auch für die Ausführung von wiederholt abzuar­ beitenden Programmen hinzugefügt werden müssen. Das Periphe­ riegerät 1 muß nur den Inhalt des Ablaufzeitspeichers für je­ de Datei periodisch auslesen und anzeigen.
Als nächstes wird ein viertes Ausführungsbeispiel beschrie­ ben. Ein Beispiel für das Setzen gemeinsamer Zeiger in einem Peripheriegerät ist dabei in der Zeichnung in Fig. 19 darge­ stellt. Fig. 20 zeigt dagegen ein Beispiel für ein Programm, das sowohl mit gemeinsamen als auch mit geräteinternen Zei­ gern arbeitet, während jeder Befehl die gleiche Funktion wie bei den vorstehend beschriebenen Programmen herkömmlicher Art hat. Fig. 21 zeigt die Anordnung der Zeigerverwaltungstabelle 12, und das Ablaufdiagramm in Fig. 22 veranschaulicht die Verarbeitung eines JMP-Befehls.
Zunächst wird der einschlägige Ablauf beschrieben. Als erstes wird, wie Fig. 19 dies zeigt, eine Startnummer für einen ge­ meinsamen Zeiger in einem Peripheriegerät gesetzt. Bei den Zeigern bei und hinter der angegebenen Zeigernummer handelt es sich um Zeiger, wie üblicherweise von jedem Programm be­ nutzt werden. Und zwar können gemäß Fig. 20 die Zeiger von p0 bis p299 unabhängig von jedem Programm benutzt werden, wäh­ rend die Zeiger ab p300 aufwärts von jedem Programm gemeinsam benutzt werden können. Damit kann die Speicherplatzzuweisung nur in einer Richtung vorgenommen werden. Nun überprüft die Zentraleinheit den Inhalt jeder Programmdatei und bereitet die Zeigertabelle 8a und die Zeigerverwaltungstabelle 12 vor. In der Zeigerverwaltungstabelle 12 sind eine Vorsatzadresse der Zeigertabelle, ab welcher Zeiger für jedes Programm be­ ginnen, und eine Vorsatzadresse einer Zeigertabelle gespei­ chert, ab der gemeinsame Zeiger beginnen.
Wird nun tatsächlich ein JMP-Befehl erfaßt, wird die Verar­ beitung gemäß dem Ablaufdiagramm aus Fig. 22 ausgeführt. Als erstes wird aus dem Programm die Zeigernummer ausgelesen (f141), und wird anhand der Zeigerverwaltungstabelle 12 und der Zeigertabelle 8a eine Ablaufprogrammadresse, an welcher eine Zeigernummer für ein Eigenprogramm existiert, berechnet (f142). Danach wird geprüft, ob die Zeigereinstellung ausge­ führt wurde oder nicht (f143); wurde die Zeigereinstellung vorgenommen, wird ein Vorgang zum Sprung zur angegebenen Adresse ausgeführt (f141) und damit wird der Vorgang abge­ schlossen. Wird im Schritt f143 festgestellt, daß die Zeiger­ einstellung nicht vorgenommen wurde, wird geprüft, ob ein ge­ meinsamer Zeiger verfügbar ist oder nicht (f145); ist dies der Fall, wird ähnlich wie im Schritt f144 ein Sprung ausge­ führt. Steht dagegen kein gemeinsamer Zeiger zur Verfügung, wird ein Signal als Hinweis auf einen Fehler ausgegeben (f146).
Als nächstes wird nun ein fünftes Ausführungsbeispiel be­ schrieben. Hierzu zeigt Fig. 23 den Inhalt des Dateiverwal­ tungsspeichers 13. In dieser Figur ist mit 13-1 eine Vorsatz­ adresse der gerade angegebenen Dateidaten bezeichnet, während 13a-1 bis 13a-q die Vorsatzadressen von Dateidaten bezeich­ nen, die Programmen entsprechen, die nur beim Start ablaufen sollen. Außerdem bezeichnen 13b-1 bis 13b-4 Vorsatzadressen für Dateidaten, die wiederholt abzuarbeitenden Programmen entsprechen. Fig. 24 zeigt ein Ablaufdiagramm für die Pro­ grammschritte zur Programmausführung. In dieser Figur werden gegenüber dem Verarbeitungsablauf gemäß Fig. 18 die Schritte f73a-1 und f78a-1 zusätzlich ausgeführt. Die Abläufe zur Aus­ führung eines MOV-Befehls, mit dem eine Konstante in Dateida­ ten übertragen wird, sind in Fig. 25 dargestellt.
Als nächstes werden nun der entsprechenden Abläufe beschrie­ ben. Vor Ausführung eines Programms muß als erstes der Datei­ datenverwaltungsspeicher 13 vorbereitet werden. Zu diesem Zweck werden in der Benutzerspeicherverwaltungstabelle 9 Da­ teidaten mit gleichem Namen wie jeder der in der Programmaus­ führungsverwaltungstabelle 10 eingetragenen Programmnamen ge­ sucht; sind solche Dateidaten vorhanden, sollten die Daten sukzessive in den Dateidatenverwaltungsspeicher 13 eingetra­ gen werden.
Nachfolgend werden nun die Abläufe bei der Programmausführung anhand des Ablaufdiagramms in Fig. 24 beschrieben. Grundsätz­ lich handelt es sich hierbei um den gleichen Ablauf wie beim dritten Ausführungsbeispiel, doch wird im Falle eines nur beim Start ablaufenden Programms eine Startadresse gesetzt (f73), während für eine Programmnummer i eines wiederholt ab­ zuarbeitenden Programms (73a-1) eine aktuelle Datendatei­ adresse an einer Dateidatenadresse gesetzt wird, woraufhin die nächste Verarbeitung starten sollte. In ähnlicher Weise muß im Falle eines wiederholt auszuführenden Programms nur der Verarbeitungsschritt f73a-1 zusätzlich ausgeführt werden. Bei diesem Vorgang werden immer Dateidaten mit gleichem Namen wie der eines jeden Programms an der aktuellen Dateidaten­ adresse gewählt.
Nun wird die Ausführung eines MOV-Befehls anhand von Fig. 25 erläutert. Als erstes wird eine Konstante für ein erstes Ge­ rät ausgelesen (f251), dann wird eine Dateinummer für ein zweites Gerät ausgelesen (f252), woraufhin Daten an eine Adresse geschrieben werden, die man durch Addieren eines Werts erhält, der von der Dateidatenvorsatzadresse 15-2 in den Benutzerspeicherzuweisungsdaten 15 angegeben ist (f253).
Nachfolgend wird ein sechstes Ausführungsbeispiel beschrie­ ben; hierzu zeigt Fig. 26 den Kommentarverwaltungsspeicher 14. In dieser Figur ist mit dem Bezugszeichen 14-1 eine Vor­ satzadresse eines aktuell angegebenen Kommentars bezeichnet, während 14a-1 bis 14a-g Vorsatzadressen von Dateidaten ange­ ben, die nur beim Starten ablaufenden Programmen entsprechen. Außerdem bezeichnen 14b-1 bis 14b-4 Vorsatzadressen von wie­ derholt auszuführenden Programmen. Das Ablaufdiagramm in Fig. 27 stellt die Schritte zur Programmausführung dar. Gegenüber dem in Fig. 24 dargestellten Ablauf wurden hier die zusätzli­ chen Arbeitsschritte f73a-2 und f78-2 vorgesehen. Fig. 28 zeigt schließlich einen Ablauf bei Ausführung eines LEDC-Be­ fehl. zur Anzeige eines Kommentars.
Im folgenden wird nun der einschlägige Arbeitsablauf be­ schrieben. Zunächst wird vor Ausführung des Programms die Kommentarverwaltungstabelle 14 vorbereitet. Hierzu werden in der Benutzerspeicherverwaltungstabelle 9 Dateidaten mit glei­ chem Namens wie jedes der in der Programmausführungsverwal­ tungstabelle 10 eingetragenen Programme gesucht; existieren solche Dateidaten, sollten diese nacheinander in den Dateida­ tenverwaltungsspeicher 14 eingetragen werden.
Nun wird der Ablauf bei der Programmausführung anhand von Fig. 27 beschrieben. Der Verfahrensablauf ist grundsätzlich derselbe wie für das Ausführungsbeispiel 5 beschrieben, al­ lerdings wird im Falle eines nur beim Start ablaufenden Pro­ gramms eine aktuelle Dateiadresse gesetzt (f73a-1), während für eine Programmnummer i eines nur bei Ablauf auszuführenden Programms eine aktuelle Kommentaradresse an einer Dateidaten­ adresse gesetzt wird (f73a-2), woran die nachfolgende Verar­ beitung gestartet wird. In ähnlicher Weise muß im Falle eines wiederholt abzuarbeitenden Programms nur der Schritt f73-a2 zusätzlich ausgeführt werden. Bei diesem Vorgang werden Kom­ mentardaten mit gleichem Namen wie ein Programm immer an der aktuellen Datenadresse angegeben.
Als nächstes wird nun die Ausführung eines LEDC-Befehls an­ hand von Fig. 28 beschrieben. Nach Übernahme der Kommentarda­ ten für ein entsprechendes Gerät aus der aktuellen Kommentar­ adresse (f281) sollten die Kommentardaten auf einer Anzeige­ einheit erscheinen (f282).
Da ein Benutzerspeicher in einer Zentraleinheit unterteilt und dateiweise dort abgespeichert werden kann, wie vorstehend erläutert wurde, kann der Arbeitsablauf auch dann, wenn eine Änderung oder zusätzliche Aufnahme von Daten erforderlich ist, ausgeführt werden, ohne daß auf andere Daten geachtet werden muß. Auch kann mittels der erfindungsgemäßen Einrich­ tungen zum Schreiben einer Datei die Kontinuität der Daten zwischen den Dateien gewahrt bleiben, so daß sich die vorlie­ gende Erfindung auch bei der Ausführung eines Ablaufprogramms zur hardwaremäßigen Verarbeitung einsetzen läßt.
Ebenso ist es möglich, Bedingungen für die Ausführung, bei­ spielsweise einen nur bei Start abzuarbeitenden Block, frei vorzugeben, wodurch sich eine Vergeudung an Verarbeitungszeit verhindern läßt, was eine optimale Verarbeitung möglich macht. Wenn außerdem ein Programm neu hinzugenommen wird, läßt es sich sehr einfach einbinden.
Auch läßt sich der Zeitaufwand für die Verarbeitung jedes Blocks überwachen, wobei Blöcke, die eine lange Verarbei­ tungszeit beanspruchen, leicht festgestellt werden können; dies macht es möglich, die Verarbeitungszeit wirksam zu ver­ ringern.
Darüberhinaus ist es auch möglich, einen in jedem Block frei verfügbaren geräteinternen Zeiger zu setzen, so daß es nicht erforderlich ist, vor Beginn der Programmierarbeiten schon jedem Block Zeigernummern zuzuweisen, wodurch sich die Effi­ zienz bei der Entwicklung eines Programms durch viele Pro­ grammierer steigern läßt.
Außerdem werden Dateidaten automatisch jedesmal umgeschaltet, wenn von einem Programm zu einem anderen umgeschaltet wird, während die Dateidaten von jedem Programm frei benutzt werden können.
Da Kommentardaten automatisch jedesmal umgeschaltet werden, wenn von einem Programm zu einem anderen umgeschaltet wird, ist es außerdem möglich, Kommentardaten entsprechend den Not­ wendigkeiten in jedem Programm vorzubereiten.
Auch wenn die Erfindung aus Gründen einer vollständigen und klaren Darstellung unter Bezugnahme auf ein spezielles Aus­ führungsbeispiel beschrieben wurde, sind die beiliegenden An­ sprüche nicht in dieser Weise eingeschränkt, sondern sie sind vielmehr dahingehend aufzufassen, daß sie alle Modifizierun­ gen, Veränderungen und Alternativen umfassen, die sich für den Fachmann auf diesem Gebiet gegebenenfalls ergeben und entsprechend in den Bereich der hier dargestellten grundsätz­ lichen Lehre fallen.

Claims (11)

1. Programmierbare Steuerung, dadurch gekennzeichnet, daß sie folgendes aufweist:
  • - einen Benutzerspeicher (6), in welchem eine Vielzahl von Ablaufprogrammen für jeden Ablauf bzw. jedes zu verarbeitende Element und eine Vielzahl von Daten wie ein Produktionsplan oder Verarbeitungsdaten als Datei­ en zur Ausführung einer automatischen Programmierung gespeichert sind;
  • - eine Benutzerspeicherverwaltungseinrichtung (9), in der Daten (9a), die sich auf Daten beziehen, die für jede Datei eingetragen sind, und Daten (9b) für unbe­ legten Speicherbereich gespeichert sind;
  • - eine Schreibeinrichtung (10, 1, 12, 13, 14) zum Schreiben einer neuen Datei von einem Peripheriegerät (1) und
  • - eine Kapazitätsänderungseinrichtung (F3), die im An­ sprechen auf den Inhalt der Benutzereinrichtung (9) die Kapazität der Dateien verändert.
2. Programmierbare Steuerung nach Anspruch 1, dadurch gekennzeichnet, daß die Benutzerspeicherverwaltungseinrichtung (9) eine Registrierbereichsverwaltungstabelle (9a) zum Abspei­ chern von Daten, die sich auf die im Benutzerspeicher (6) eingetragenen Daten beziehen, und eine Leerstellen­ verwaltungstabelle (9b) zum Verwalten unbelegten Spei­ cherplatzes im Benutzerspeicher (6) enthält.
3. Programmierbare Steuerung nach Anspruch 1, dadurch gekennzeichnet, daß die Kapazitätsänderungseinrichtung in der Weise ak­ tiv ist, daß sie die Größe der verfügbaren unbelegten Bereiche im Benutzerspeicher (6) überprüft und entweder eine Registrierung in einem verfügbaren unbelegten Speicherbereich gestattet oder den Inhalt des Benutzer­ speichers anpaßt und einen größeren verfügbaren unbeleg­ ten Speicherbereich schafft.
4. Programmierbare Steuerung nach Anspruch 3, dadurch gekennzeichnet, daß mit der Kapazitätsänderungseinrichtung ein im Benut­ zerspeicher (6) gespeichertes Programm als Block minde­ stens nach vorn oder nach hinten verschiebbar ist.
5. Verfähren zum Ändern der Programmkapazität, dadurch gekennzeichnet, daß es folgende Schritte umfaßt:
  • - Bestimmen, ob ein angegebenes Programm existiert oder nicht;
  • - Bestimmen, ob unmittelbar neben der entsprechenden Da­ tei ein unbelegter Speicherbereich vorhanden ist oder nicht, wenn das angegebene Programm existiert;
  • - Bestimmen, ob eine in der Anforderung enthaltene zu­ sätzliche Kapazität eine Leerstellenkapazität dar­ stellt oder nicht, wenn unbelegter Speicherplatz vor­ handen ist;
  • - bei Feststellung, daß die zusätzliche Kapazität in den Anforderungsdaten keine Leerstellenkapazität darstellt oder daß ein unbelegter Speicherplatz genau hinter der entsprechenden Datei nicht vorhanden ist, Vorwärtsver­ schieben eines angegebenen Programms und der vor die­ sem angegebenen Programm liegenden Programme mit je­ weils kleinerer Adresse als dieses; und
  • - Rückwärtsverschieben von Programmen mit jeweils höhe­ rer Adresse hinter dem angegebenen Programm, um so die Kapazität des Programms zu verändern.
6. Verfahren zum Ändern der Programmkapazität nach Anspruch 5,
dadurch gekennzeichnet,
daß zur Registrierverwaltung (9a) und zur Leerstellen­ verwaltung (9b) jeweils ein Eintrag geführt wird, und
daß entsprechend dem Entscheidungsschritt beim Vorwärts- oder Rückwärtsverschieben der Eintrag zur Leerstellen- und Eintragsverwaltung entsprechend neu angepaßt wird.
7. Programmierbare Steuerung, dadurch gekennzeichnet, daß sie folgendes aufweist:
  • - einen Benutzerspeicher (6), in welchem eine Vielzahl von Ablaufprogrammen für jeden Ablauf bzw. jedes zu verarbeitende Element und eine Vielzahl von Daten wie ein Produktionsplan oder Verarbeitungsdaten als Datei­ en zur Ausführung einer automatischen Programmierung gespeichert sind;
  • - eine Benutzerspeicherverwaltungstabelle (9), in der Daten, die sich auf Speicherplatz, ein Attribut oder die Kapazität jeder Datei beziehen, gespeichert sind;
  • - eine Schreibeinrichtung (10) zum Schreiben einer neuen Datei von einem Peripheriegerät (1);
  • - eine auf den Inhalt der Benutzertabelle (9) anspre­ chende Kapazitätsänderungseinrichtung (F3) zum Ändern der Kapazität jeder der Dateien;
  • - eine Programmausführungsverwaltungstabelle (10) zur Verwaltung der Programmausführung mindestens durch Be­ zeichnung von Programmen (10a), die beim Start auszu­ führen sind, und Programmen (10b), die wiederholt ab­ zuarbeiten sind; und
  • - eine Steuereinrichtung zum selektiven Ausführen nur der benötigten Ablaufprogramme aus einer Vielzahl von im Benutzerspeicher (6) gespeicherten Ablaufprogram­ men.
8. Programmierbare Steuerung, dadurch gekennzeichnet, daß sie folgendes aufweist:
  • - einen Benutzerspeicher (6), in welchem eine Vielzahl von Ablaufprogrammen für jeden Ablauf bzw. jedes zu verarbeitende Element und eine Vielzahl von Daten wie Produktionszeitplan oder Verarbeitungsdaten als Datei­ en zur Ausführung einer automatischen Programmierung gespeichert sind;
  • - eine Benutzerspeicherverwaltungstabelle (9), in der Daten, die sich auf Speicherplatz, ein Attribut oder die Kapazität jeder Datei beziehen, gespeichert sind;
  • - eine Schreibeinrichtung (10, 11) zum Schreiben einer neuen Datei von einem Peripheriegerät (1);
  • - eine auf den Inhalt der Benutzertabelle (9) anspre­ chende Kapazitätsänderungseinrichtung (F3) zum Ändern der Kapazität jeder der Dateien;
  • - eine Programmausführungsverwaltungstabelle (10) zur Verwaltung der Programmausführung mindestens durch An­ gabe von Programmen, die beim Start abzuarbeiten sind (10a) und von Programmen, die wiederholt auszuführen sind (10b);
  • - einen Ablaufzeitspeicher (11) zum Abspeichern der Ab­ laufzeit für jede der genannten Dateien; und
  • - eine auf die Programmausführungsverwaltungstabelle (10) und den Ablaufzeitspeicher (11) ansprechende Steuereinrichtung zum Überwachen der zur Ausführung eines bezeichneten Ablaufprogramms für jede Datei benötigten Zeit.
9. Programmierbare Steuerung, dadurch gekennzeichnet, daß sie folgendes aufweist:
  • - einen Benutzerspeicher (6), in welchem eine Vielzahl von Ablaufprogrammen für jeden Ablauf bzw. jedes zu verarbeitende Element und eine Vielzahl von Daten wie Produktionszeitplan oder Verarbeitungsdaten als Datei­ en zur Ausführung einer automatischen Programmierung gespeichert sind;
  • - eine Benutzerspeicherverwaltungstabelle (9), in der Daten, die sich auf Speicherplatz, ein Attribut oder die Kapazität jeder Datei beziehen, gespeichert sind;
  • - eine Schreibeinrichtung (12) zum Schreiben einer neuen Datei von einem Peripheriegerät (1);
  • - eine Kapazitätsänderungseinrichtung (F3) zum Ändern der Kapazität jeder der Dateien;
  • - eine Programmausführungsverwaltungstabelle (10) zur Verwaltung der Programmausführung;
  • - eine Zeigertabelle (8; 8a) zum Abspeichern von Zei­ gern;
  • - eine Zeigerverwaltungstabelle (12) zum Abspeichern der Adresse in der Zeigertabelle (8; 8a) und zur Verwal­ tung von mindestens gemeinsamen Zeigern; und
  • - eine auf die Zeigertabelle (8; 8a) und die Zeigerver­ waltungstabelle (12) ansprechende Steuereinrichtung zum selektiven Ausführen gemeinsamer Zeiger, die übli­ cherweise für alle Ablaufprogramme zur Verfügung ste­ hen, bzw. von geräteinternen Zeigern, die nur für ein einzelnes Ablaufprogramm wirksam sind.
10. Programmierbare Steuerung, dadurch gekennzeichnet, daß sie folgendes aufweist:
  • - einen Benutzerspeicher (6), in welchem eine Vielzahl von Ablaufprogrammen für jeden Ablauf bzw. jedes zu verarbeitende Element und eine Vielzahl von Daten wie Produktionszeitplan oder Verarbeitungsdaten als Datei­ en zur Ausführung einer automatischen Programmierung gespeichert sind;
  • - eine Benutzerspeicherverwaltungstabelle (9), in der Daten, die sich auf Speicherplatz, ein Attribut oder die Kapazität jeder Datei beziehen, gespeichert sind;
  • - eine Schreibeinrichtung (13) zum Schreiben einer neuen Datei von einem Peripheriegerät (1);
  • - eine Kapazitätsänderungseinrichtung (F3) zum Ändern der Kapazität jeder der Dateien;
  • - eine Programmausführungsverwaltungstabelle (10) zur Verwaltung der Programmausführung;
  • - eine Dateidatenverwaltungstabelle (13) zum Verwalten von Dateidaten; und
  • - eine auf die Programmausführungsverwaltungstabelle (10) und auf die Dateidatenverwaltungstabelle (13) so­ wie die Benutzerspeicherverwaltungstabelle (9) anspre­ chende Steuereinrichtung zum gleichzeitigen Schalten von Datendateien, wenn ein erstes Ablaufprogramm zu einem zweiten Ablaufprogramm umschaltet.
11. Programmierbare Steuerung, dadurch gekennzeichnet, daß sie folgendes aufweist:
  • - einen Benutzerspeicher (6), in welchem eine Vielzahl von Ablaufprogrammen für jeden Ablauf bzw. jedes zu verarbeitende Element und eine Vielzahl von Daten wie Produktionszeitplan oder Verarbeitungsdaten als Datei­ en zur Ausführung einer automatischen Programmierung gespeichert sind;
  • - eine Benutzerspeicherverwaltungstabelle (9), in der Daten, die sich auf Speicherplatz, ein Attribut oder die Kapazität jeder Datei beziehen, gespeichert sind;
  • - eine Schreibeinrichtung (10, 14) zum Schreiben einer neuen Datei von einem Peripheriegerät (1);
  • - eine Kapazitätsänderungseinrichtung (F3) zum Ändern der Kapazität jeder der Dateien;
  • - eine Programmausführungsverwaltungstabelle (10) zur Verwaltung der Programmausführung;
  • - eine Kommentarverwaltungstabelle (14) zum Verwalten von Kommentaren; und
  • - eine auf die Programmausführungsverwaltungstabelle (10) und auf die Kommentarverwaltungstabelle (14) an­ sprechende Steuereinrichtung zum gleichzeitigen Schal­ ten einer Kommentardatei, wenn ein erstes Ablaufpro­ gramm zu einem zweiten Ablaufprogramm umschaltet.
DE19500626A 1994-01-11 1995-01-11 Programmierbare Steuerung und Verfahren zum Ändern ihrer Programmaufnahmefähigkeit Withdrawn DE19500626A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00120394A JP3251414B2 (ja) 1994-01-11 1994-01-11 プログラマブルコントローラおよびそのプログラム容量変更方法

Publications (1)

Publication Number Publication Date
DE19500626A1 true DE19500626A1 (de) 1995-07-20

Family

ID=11494910

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19500626A Withdrawn DE19500626A1 (de) 1994-01-11 1995-01-11 Programmierbare Steuerung und Verfahren zum Ändern ihrer Programmaufnahmefähigkeit

Country Status (6)

Country Link
US (1) US5610809A (de)
JP (1) JP3251414B2 (de)
KR (1) KR0137311B1 (de)
DE (1) DE19500626A1 (de)
GB (1) GB2285527B (de)
HK (1) HK1009657A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19946096A1 (de) * 1999-09-27 2001-04-12 Mannesmann Vdo Ag Steuergerät, insbesondere für ein Kraftfahrzeug

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6749604B1 (en) * 1993-05-10 2004-06-15 Arthrocare Corporation Electrosurgical instrument with axially-spaced electrodes
PL327615A1 (en) * 1996-01-17 1998-12-21 Siemens Ag Automation apparatus
DE69726764T2 (de) * 1996-02-06 2004-10-07 Fisher Rosemount Systems Inc System zur Verwaltung von Feldgeräten
WO2000043883A1 (fr) * 1999-01-25 2000-07-27 Mitsubishi Denki Kabushiki Kaisha Unite peripherique de controleur programmable
US7822495B2 (en) 2002-04-15 2010-10-26 Fisher-Rosemount Systems, Inc. Custom function blocks for use with process control systems
KR100817364B1 (ko) * 2006-04-05 2008-03-26 미쓰비시덴키 가부시키가이샤 프로그래머블 로직 컨트롤러의 주변 장치 및 그 프로그램작성 방법
KR20100038472A (ko) * 2007-08-27 2010-04-14 가부시키가이샤 어드밴티스트 시퀀스 제어 장치 및 시험 장치
JP5574688B2 (ja) * 2009-12-10 2014-08-20 東洋電機製造株式会社 プログラマブルコントローラのコメント情報ダウンロード装置
CN103838679B (zh) * 2012-11-22 2017-08-04 中兴通讯股份有限公司 一种缓存处理方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4281392A (en) * 1979-05-01 1981-07-28 Allen-Bradley Company Memory circuit for programmable machines
US4484303A (en) * 1979-06-19 1984-11-20 Gould Inc. Programmable controller
JPS57764A (en) * 1980-04-22 1982-01-05 Westinghouse Electric Corp Peripheral memory
JPS58222310A (ja) * 1982-06-21 1983-12-24 Omron Tateisi Electronics Co 状態パタ−ン比較機能を備えたプログラマブル・コントロ−ラ
JPH01205203A (ja) * 1988-02-10 1989-08-17 Mitsubishi Electric Corp プログラマブルコントローラのプログラム管理方式
JPH0233653A (ja) * 1988-07-25 1990-02-02 Mitsubishi Electric Corp プログラマブル制御装置
JPH0293742A (ja) * 1988-09-30 1990-04-04 Toshiba Corp データファイルの未使用領域再配置方式
JPH02140825A (ja) * 1988-11-21 1990-05-30 Fujitsu Ltd プログラムの再配置処理方法
JPH02259910A (ja) * 1989-03-31 1990-10-22 Yaskawa Electric Mfg Co Ltd Nc加工プログラムのファイル管理方式
JPH03222047A (ja) * 1990-01-29 1991-10-01 Nec Software Ltd 領域管理方式
EP0532643B1 (de) * 1990-06-04 1998-12-23 3Com Corporation Verfahren zur software-optimierung für irgendeine einer vielfältigkeit von ändernden architekturen
US5339411A (en) * 1990-12-21 1994-08-16 Pitney Bowes Inc. Method for managing allocation of memory space
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Paul G. Caspers: "Aufbau von Betriebssystemen", Sammlung Göschen Band 7013, Walter de Gruyter, Berlin New York 1974, S. 74-78 *
Peter Wratil: "Speicherprogrammierbare Steuerungen in der Automatisierungstechnik", Vogel Buchverlag Würzburg 1989, S. 95-98 *
Thomas Haindl: "Einführung in die Datenorganisation", Physika Verlag Würzburg Wien 1982, S. 15 und 16 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19946096A1 (de) * 1999-09-27 2001-04-12 Mannesmann Vdo Ag Steuergerät, insbesondere für ein Kraftfahrzeug

Also Published As

Publication number Publication date
KR950024040A (ko) 1995-08-21
KR0137311B1 (ko) 1998-06-01
US5610809A (en) 1997-03-11
GB2285527A (en) 1995-07-12
HK1009657A1 (en) 1999-06-04
GB9500146D0 (en) 1995-03-01
GB2285527B (en) 1998-04-01
JPH07210217A (ja) 1995-08-11
JP3251414B2 (ja) 2002-01-28

Similar Documents

Publication Publication Date Title
DE1928202C3 (de) Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen
DE19740525C1 (de) Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
DE2355993C3 (de) Programmierbare Datenverarbeitungsanlage
DE2645537C2 (de)
DE2312707A1 (de) Pruefanordnung fuer einen computer
DE1900141A1 (de) Datenverarbeitungsvorrichtung
DE3842289C2 (de) Verfahren zur Entwicklung von Programmen für ein verteiltes Datenverarbeitungssystem
DE19654593A1 (de) Umkonfigurierungs-Verfahren für programmierbare Bausteine zur Laufzeit
DE3116100A1 (de) Sprungabschaetz-zentraleinheit
DE2060635A1 (de) Rechner-Steuergeraet sowie Verfahren und Steuerpult zum Programmieren desselben
DE2801981A1 (de) Verfahren zum steuern einer textverarbeitungseinrichtung beim speichern und lesen von text
DE1285219B (de) Steuerwerk zur Ausfuehrung von Unterprogrammen
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE19500626A1 (de) Programmierbare Steuerung und Verfahren zum Ändern ihrer Programmaufnahmefähigkeit
DE3602112A1 (de) System zur speicherung von informationen
DE4411389C2 (de) Programmierbare Steuereinheit und Betriebsverfahren
DE1191145B (de) Elektronische Zifferrechenmaschine
DE3639395C2 (de) Informationsverarbeitungs-Vorrichtung
EP0848843B1 (de) Verfahren zum erzeugen und abspeichern eines aus befehlen bestehenden anwenderprogramms für eine speicherprogrammierbare steuerung und betriebsverfahren für eine speicherprogrammierbare steuerung
DE2632277A1 (de) Mikroprogrammierbarer computer fuer eine numerische steuervorrichtung
DE1774421B1 (de) Mehrprogramm datenverarbeitungsanlage
DE19707107A1 (de) Einrichtung zur Programmierung eines SPS
DE2242279C3 (de) Schaltungsanordnung zur Ermittlung von Fehlern in einer Speichereinheit eines programmgesteuerten Datenvermittlungssystems
DE2845218B1 (de) Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchfuehren von Ein-/Ausgabeoperationen
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8172 Supplementary division/partition in:

Ref document number: 19549851

Country of ref document: DE

Kind code of ref document: P

Q171 Divided out to:

Ref document number: 19549851

Country of ref document: DE

Kind code of ref document: P

8130 Withdrawal