DE19500626A1 - Programmierbare Steuerung und Verfahren zum Ändern ihrer Programmaufnahmefähigkeit - Google Patents
Programmierbare Steuerung und Verfahren zum Ändern ihrer ProgrammaufnahmefähigkeitInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
- Y10S707/99957—Garbage 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.
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.
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)
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)
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)
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 |
-
1994
- 1994-01-11 JP JP00120394A patent/JP3251414B2/ja not_active Expired - Lifetime
- 1994-12-28 US US08/365,191 patent/US5610809A/en not_active Expired - Lifetime
-
1995
- 1995-01-05 GB GB9500146A patent/GB2285527B/en not_active Expired - Fee Related
- 1995-01-10 KR KR1019950000330A patent/KR0137311B1/ko not_active IP Right Cessation
- 1995-01-11 DE DE19500626A patent/DE19500626A1/de not_active Withdrawn
-
1998
- 1998-09-01 HK HK98110348A patent/HK1009657A1/xx not_active IP Right Cessation
Non-Patent Citations (3)
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)
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 |