DE19539353A1 - Programmierbarer Kontroller, der ermöglicht, daß eine externe periphere Vorrichtung einen internen Betriebszustand einer CPU-Einheit überwacht - Google Patents

Programmierbarer Kontroller, der ermöglicht, daß eine externe periphere Vorrichtung einen internen Betriebszustand einer CPU-Einheit überwacht

Info

Publication number
DE19539353A1
DE19539353A1 DE19539353A DE19539353A DE19539353A1 DE 19539353 A1 DE19539353 A1 DE 19539353A1 DE 19539353 A DE19539353 A DE 19539353A DE 19539353 A DE19539353 A DE 19539353A DE 19539353 A1 DE19539353 A1 DE 19539353A1
Authority
DE
Germany
Prior art keywords
time
external peripheral
interrupt
program
peripheral device
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
DE19539353A
Other languages
English (en)
Inventor
Hiroyuki Kagami
Kumiko Funahashi
Kouichi Itou
Eijiro Nakajima
Takashi Nonoyama
Motohiro Kaga
Tatsumi Yabusaki
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 DE19539353A1 publication Critical patent/DE19539353A1/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14002Independent processor, coprocessor monitors plc
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14041Influence of execution of interrupts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14042Process time

Description

Die vorliegende Erfindung betrifft einen programmierbaren Kontroller, der bei industriellen Vorrichtungen benutzt wird, wobei Operationsbedingungen einer CPU-Einheit durch eine externe periphere Vorrichtung überwacht werden.
Herkömmlicherweise werden Sequenz-Steuervorrichtungen weitläufig benutzt als Steuervorrichtungen für industrielle Vorrichtungen. Es sollte bemerkt werden, daß eine Sequenz- Steuervorrichtung solch einer Steuervorrichtung entspricht, die in der Lage ist, sequentiell Steueroperationen für industrielle Vorrichtungen durchzuführen an jeweiligen Stufen in Übereinstimmung mit einer vorbestimmten Sequenz, und zwar auf solch eine Art und Weise, daß die Vervollständigung einer Steueroperation bestätigt wird, und dann die folgende Steueroperation ausgewählt wird basierend auf dem Resultat dieser Steueroperation.
Bei den momentanen Sequenz-Steuervorrichtungen bilden programmierbare Kontroller, die in der Lage sind Programme zu andern (welche im weiteren als ein "PC" bezeichnet werden) Hauptkontroller, und der Inhalt der Steueroperationen ist stark fortgeschritten. In den jüngsten Jahren können, während die externen peripheren Einheiten mit dem PC verbunden sind, die Ein-/Aus-Bedingungen der Eingabe-/ Ausgabesignale in den externen Einheiten unter Steuerung durch einen PC und ebenfalls solche Information wie numerische Daten, gespeichert innerhalb der CPU-Einheiten, in Realzeit auf den CAT-Schirmen der externen peripheren Einheiten überwacht werden, beispielsweise einen Personalcomputer und dergleichen.
Beim herkömmlichen PC ist es die Hauptfunktion, solch eine Bedingung zu überwachen, ob das Eingabe-/Ausgabe-Signal der externen Einheit unter Steuerung ein oder aus ist. Zum Erkennen jedoch der Ein-Zeit der Eingabe-/Ausgabe-Signale, die erforderlich ist, wenn das Sequenz-Programm von Fehlern befreit wird durch den Programmierer, und der internen Betriebsbedingung, wie z. B. die Aquisitionszeitabläufe der Eingabe-/Ausgabesignale, fügt der Benutzer das Fehlerbefreiungs-Sequenzprogramm zum ursprünglichen Sequenz­ programm und aktiviert dieses Fehlerbefreiungs- Sequenzprogramm, um somit die Ein-Zeit und interne Betriebsbedingungen für die in der CPU-Einheit gespeicherten numerischen Daten zu substituieren. Dann können diese substituierten numerischen Daten durch die externe numerische Einheit überwacht werden oder können gemessen werden durch externes Verbinden solch einer Meßvorrichtung, wie z. B. eines Logikanalysators.
Fig. 45 ist ein schematisches Diagramm zum Zeigen der Struktur dieser Art von herkömmlichem PC. In Fig. 45 bezeichnet Bezugszeichen 1 eine PC-Einheit, dienend als ein Steuerzentrum dieses programmierbaren Kontrollers, Bezugszeichen 2 bezeichnet eine externe peripherische Vorrichtung zum Anzeigen eines Überwachungsresultats, und Bezugszeichen 3 repräsentiert eine Eingabe-/Ausgabe-Einheit zum Holen eines Eingabesignals und ebenfalls zum Zuführen eines Ausgabesignals an solch externe Einheiten unter Steuerung, wie einen Grenzschalter 4a, eine Leuchte 4b, einen Ventilkontroller 4c und dergleichen. Bezugszeichen 5 bezeichnet eine spezielle Funktionseinheit entsprechend einer Einheit mit einer Funktion zum Kommunizieren mit einem Computer 6 oder dergleichen.
Bezugszeichen 10-19 und 21 zeigen verschiedene Einheiten, die innerhalb der CPU 1 vorgesehen sind. Bezugszeichen 10 ist eine CPU (zentrale Verarbeitungseinheit) zum Ausführen eines Systemprogramms, das in einem System ROM 12 gespeichert ist, Bezugszeichen 11 bezeichnet einen Sequenz-Programmspeicher zum Speichern eines Sequenzprogramms, und Bezugszeichen 13 repräsentiert ein Daten-RAM zum temporären Speichern von Daten unter der Ausführung der CPU 10. Bezugszeichen 14 bezeichnet eine periphere I/F (Schnittstelle), benutzt zum Kommunizieren mit der externen peripheren Einheit 2, Bezugszeichen 15 ist eine Eingabe-/Ausgabetor zum Übertragen/Empfangen eines Signals mit der Eingabe-/Ausgabe- Einheit 3, Bezugszeichen 16 zeigt einen Vorrichtungsspeicher zum Speichern von Bedingungen der Eingabe-/Ausgabe-Signale, die in dem Sequenzprogramm benutzt werden, und ebenfalls der numerischen Daten, z. B. den gegenwärtigen Wert des Zeitgebers, und Bezugszeichen 17 bezeichnet eine Interrupt- Erzeugungsschaltung zum Erzeugen eines Teils der Eingabe- /Ausgabe-Signale als ein Interruptsignal. Bezugszeichen 18 repräsentiert eine Adressenvergleichsschaltung zum kontinuierlichen Überwachen des Sequenzprogrammspeichers 11, und zum in Wert Stellen eines Interrupts für die CPU 10, wenn eine voreingestellte Adresse koinzident gemacht wird mit der bezeichneten Adresse. Bezugszeichen 19 bezeichnet eine Datenvergleichsschaltung zum kontinuierlichen Überwachen des Vorrichtungsspeichers 16 und zum in Wert Stellen eines Interrupts für die CPU 10, wenn ein Inhalt einer voreingestellten Adresse koinzident gemacht ist mit den bezeichneten Daten.
Die Schaltungskonfiguration der Datenvergleichsschaltung 19 ist identisch derer, die offenbart sind in den japanischen ungeprüften Patentveröffentlichungen Nr. Hei. 3-244003 und Hei. 4-151702. Bezugszeichen 21 bezeichnet einen internen Zeitgeber, der fortwährend eine Zeit asynchron mit dem Betrieb der CPU 10 mißt. Bezugszeichen 20 bezeichnet einen Logikanalysator, dienend als eine Meßeinheit zum Überwachen eines Ausgabesignals während des Fehlerbefreiungsprozesses des Sequenzprogramms zum Beobachten von Betriebsbedingungen des PC. Die spezielle Funktionseinheit 5, der Sequenzprogrammspeicher 11, das System-RAM 12, das Daten-RAM 13, die periphere I/F 14, das Eingabe-/Ausgabe-Tor 15, der Vorrichtungsspeicher 16, die Interrupt-Erzeugungsschaltung 17, die Adressenvergleichsschaltung 18 und die Datenvergleichsschaltung 19 sind mit der CPU 10 verbunden über verschiedene Arten von Signalleitungen 10a, z. B. eine Adressensignalleitung und eine Datensignalleitung. Die CPU 10 liest/schreibt die Daten bezüglich des Sequenzprogrammspeichers 1 und dergleichen über die verschiedenen Sorten von Signalleitungen 10a.
Als nächstes wird eine Struktur des in dem Sequenzprogrammspeicher 11 gespeicherten Sequenzprogramms, wie gezeigt in Fig. 45, beschrieben werden, das in Fig. 46 dargestellt ist. In Fig. 46 bezeichnet Bezugszeichen 511 einen Hauptsequenzprogrammabschnitt, der kontinuierlich ausgeführt wird, und Bezugszeichen 512 bezeichnet ein Interruptsequenzprogramm, das nur ausgeführt wird, wenn Interrupt in Wert gestellt wird von der Interrupt- Erzeugungsschaltung 17. Bezugszeichen 513 zeigt einen FEND- Befehl zum Anzeigen einer Vervollständigung des Hauptsequenzprogramms 511, Bezugszeichen 514 zeigt einen Interruptzeiger zum Anzeigen eines Beginns des Interruptsequenzprogramms 512 und Bezugszeichen 515 bezeichnet einen IRET-Befehl zum Repräsentieren einer Vervollständigung des Interruptprogramms. Weiterhin sind Bezugszeichen 521-525, die in Fig. 45 gezeigt sind, Instruktionen, die in dem Hauptsequenzprogramm 511 und Interruptsequenzprogramm 512 aufgestellt sind, wodurch die Bedingungen der externen Vorrichtungen von Fig. 45, die zu steuern sind, gelesen oder geändert werden. In Übereinstimmung mit diesen Instruktionen 521-524 werden die externen Vorrichtungen verbunden, die zu steuern sind, repräsentiert durch die Vorrichtungen. Beispielsweise impliziert ein Symbol "X0" von Fig. 49 (wird später diskutiert werden) enthalten in der Instruktion 521, ein Eingabesignal, abgeleitet von der externen Vorrichtung unter Steuerung. Als die Vorrichtung gibt es eine Bitvorrichtung zum Speichern von Ein/Aus-Bedingungen, wie z. B. den Eingabe-/ Ausgabe-Signalen, eine Wortvorrichtung zum Speichern numerischer Daten und eine Zeitgebervorrichtung. Diese Bedingungen sind gespeichert im Vorrichtungsspeicher 16 von Fig. 45.
Zum Ausführen des in Fig. 46 gezeigten Sequenzprogramms ist ein Beispiel des allgemeinen Ausführungsprozesses der CPU- Einheit 1, angezeigt in Fig. 45, gezeigt in Fig. 46 und wird jetzt beschrieben werden. In Fig. 47 beginnt die CPU- Einheit 1, das Hauptprogramm bei einem Schritt 521 auszuführen. Dann schreitet der Prozeßbetrieb voran zu einem Schritt 522, bei dem ein Sequenzprozeß zum Ausführen der Sequenzsteuerung durchgeführt wird. Bei einem Schritt 5221 wird der Startschritt des Sequenzprogramms eingestellt auf den Kopfschritt, d. h. 0-Schritt des Hauptsequenzprogramms, basierend auf dem vorbestimmten Sequenzprogramm. Beim nächsten Schritt 5222 werden die Programme, die vom 0-Schritt definiert sind, nämlich Startschritt bis zum FEND- Befehlsschritt ausgeführt. Wenn der FEND-Befehl ausgeführt wird, schreitet der Prozeßbetrieb voran zu einem END- Prozeßschritt 523. Bei diesem Schritt 523 werden ein Kommunikationsprozeßschritt 5231 mit der externen peripheren Einheit 2, ein Spezialeinheit-Serviceprozeßschritt 5232 und ein weiterer END-Prozeßschritt 5233, wie z. B. irgendein Eingabeprozeß oder ein Ausgabeprozeß der Eingabe-/Ausgabe- Signale in Übereinstimmung mit dem im Vorrichtungsspeicher 16 gespeicherten Wert ausgeführt. Wenn eine Reihe von END- Prozeßschritten 523 bewerkstelligt ist springt der Prozeßbetrieb zurück zum ersten Schritt 522, bei dem die CPU-Einheit 1 von Fig. 45 wiederholt den oben beschriebenen Prozeß durchführt. Wie oben beschrieben, sollte bemerkt werden, daß die CPU-Einheit 1 wiederholt die Prozeßoperationen durchführt, die bei den Schritten 522 und 523 definiert sind, und ein einzelner Prozeßbetrieb wird als ein "Scan" in der Beschreibung bezeichnet werden.
Der Flußbetrieb, der beim Schritt 524 und den folgenden Schritten definiert ist, repräsentiert einen Flußbetrieb zum Ausführen des Interruptprogramms. Dieses Interruptprogramm wird ausgeführt, wenn das Interruptsignal eingegeben wird von der Interrupt-Erzeugungsschaltung 17 in die CPU 10 während der oben beschriebenen Wiederholungsausführung. Wenn das Interruptprogramm begonnen wird beim Schritt 524, wird der Ausführungsschritt auf der Seite des Hauptprogramms, das gegenwärtig ausgeführt wird beim Schritt 5241, gesichert. Als nächstes bei einem Schritt 5242 wird der Startschritt eingestellt auf den Kopfschritt, nämlich ein Schritt des IO des Interruptprogramms. Nachdem der Prozeßbetrieb durchgeführt worden ist bis zum IRET-Befehl bei einem Schritt 5243, wird der Ausführungsschritt des Hauptprogramms eingestellt, die Ausführung des Interruptprogramms bei einem Schritt 5244 zu bewerkstelligen. Der Prozeßbetrieb springt zurück von dem Endschritt 5245 zum ursprünglichen Hauptprogramm. Wie oben beschrieben führt die CPU-Einheit von Fig. 45 in wiederholter Weise die Prozeßoperationen des normalen Hauptprogramms, definiert bei den Schritten 522 und 523, wie dargestellt in Fig. 47, aus und führt das Interruptprogramm des Schrittes 524 jedesmal aus, wenn die Interrupt-Prozeßanforderung in Wert gestellt wird, und danach springt der Prozeßbetrieb zurück zum Hauptprogramm.
Mit Bezug auf Fig. 47 wird ein Zeitablaufplan für die Prozeßoperationen, die in Fig. 47 angezeigt sind, durch die CPU-Einheit 1 von Fig. 45 erklärt werden. In Fig. 48 bezeichnet Bezugszeichen 531 eine Sequenzprozeßzeit, die erforderlich ist in dem Sequenzprozeß 522, der in Fig. 47 gezeigt ist, welche den Interruptprozeß 533 des Interruptprozesses 524, wie angezeigt in Fig. 47, enthält. Bezugszeichen 532 bezeichnet eine END-Prozeßzeit, die im END-Prozeß 543, wie gezeigt in Fig. 47, erforderlich ist. Diese END-Prozeßzeit 532 ist definiert durch Kombinieren einer Kommunikationsprozeßzeit 534 des Kommunikationsprozesses 5231 mit der externen peripheren Vorrichtung 2 von Fig. 47 Serviceprozeßzeit 535 des Serviceprozesses 5232 der speziellen Funktionseinheit 5 und END-Prozeßzeit 536, verschieden von einem weiteren END- Prozeß 5233. Es sollte bemerkt werden, daß die für einen Scanbetrieb erforderliche Zeit, nämlich eine Kommunikation zwischen der Sequenzprozeßzeit 531 und der Endprozeßzeit 532 in der Beschreibung als eine "Scanzeit" bezeichnet werden wird. D.h. in Fig. 48 enthält die Sequenzprozeßzeit 531a der ersten Scanzeit die Interruptprozeßzeit 533a und 533b, und eine Endprozeßzeit 532a enthält eine Kommunikationsprozeßzeit 534a, Serviceprozeßzeit 535a und weitere Endprozeßzeiten 536a. In ähnlicher Weise enthalten die Sequenzprozeßzeit 531b und Endprozeßzeit 532b, welche die folgende Zeit bilden, verschiedene Arten von Prozeßzeit 533c, 533d, 534b, 535b und 536b in Übereinstimmung mit dem Inhalt der Prozeßoperationen und der Ausführung.
Wie oben beschrieben ist die Steuerung der herkömmlichen CPU 1, die in Fig. 45 gezeigt ist, zum Durchführen des Wiederholungsprozeßbetriebs, wie angezeigt in Fig. 47. In diesem Fall erkennt beispielsweise, wenn der Computer 6 die Verarbeitungsanforderung zur CPU-Einheit 1 in Wert stellt, die CPU 1 sie als die Verarbeitungsanforderung, die sich herleitet von der speziellen Funktionseinheit 5, und führt den Prozeßbetrieb über die spezielle Funktionseinheit 5 durch. Dann führt die CPU-Einheit 1 dieses Prozeßresultat an die spezielle Funktionseinheit 5 zu. Da der Prozeß 5232 von Fig. 47 ansprechend auf die Anforderung, die von dieser speziellen Funktionseinheit 5 in Wert gestellt wird, ausgeführt wird während des Endprozesses 523, wenn die Anforderung von der speziellen Funktionseinheit 5 in Wert gestellt wird, wird die Endprozeßzeit 533 temporär erhöht. Da ebenfalls der Ausführungsprozeß 524 des Interruptprogramms durchgeführt wird, wenn der Interrupt erzeugt wird aus der Interrupt- Erzeugungsschaltung 17 von Fig. 45, sind ein Zeitablauf, unter dem das Interruptprogramm ausgeführt wird, und die Zeiten der Ausführung nicht konstant, so daß die Sequenzprozeßzeit 531 von Fig. 48 erhöht/erniedrigt wird, und zwar abhängig von der Sequenzprozeßzeit 531 von Fig. 48. Daraus resultierend ist die Prozeßzeit, die ausgeführt wird durch die CPU-Einheit 1 für jeden Scan, die aus der Sequenzprozeßzeit 531 und der Endprozeßzeit 532, wie gezeigt in Fig. 48, aufgebaut ist, nicht konstant. Somit wird die Aquisition des Eingabesignals und der Ausgabezeitablauf des Ausgabesignals sehr komplex. Wenn wie oben beschrieben der Benutzer unzureichende Steuerungen durch den PC (programmierbarer Kontroller) antreffen würde, sollte der Benutzer notwendigerweise die Steuerbedingungen der CPU- Einheit 1 hernehmen, um die Gründe solch unzureichender Steuerung zu prüfen.
Mit Bezug auf Fig. 45 und 49 wird jetzt eine Beschreibung gemacht werden von einem Verfahren zum Messen einer Änderungszeit einer Vorrichtungsbedingung, nämlich einer der Steuerbedingungen der CPU-Einheit 1, beispielsweise einer Zeitdauer, während der die Bedingung der Bitvorrichtung X0 zum Anzeigen eines bestimmten Eingabesignals ein ist. Fig. 49 zeigt in schematischer Weise ein Beispiel des Sequenzprogramms, das benutzt wird zum Messen der Zeitdauer, während der die Bedingung der Bitvorrichtung X0 zum Anzeigen des Eingabesignals ein ist. Es sollte bemerkt werden, daß die Bitvorrichtung X0 beispielsweise einem Eingabesignal des Grenzschalters 4a und dergleichen in Fig. 45 entspricht. In Fig. 49 bezeichnen Bezugszeichen 541 bis 543 Symbole der jeweiligen Befehle. Bezugszeichen 541 zeigt einen Lastbefehl, der durchgeführt wird, wenn die Bitvorrichtung X0 unter dem Ein-Zustand ist. Bezugszeichen 542 zeigt einen Lastnegierungsbefehl, der durchgeführt wird, wenn die Bitvorrichtung X0 unter dem Aus-Zustand ist. Bezugszeichen 543 ist ein Zeitgeberbefehl zum Beginnen einer Zeitmessung unter Durchführung einer Bedingung zum Speichern einer verstrichenen Zeit in die Zeitgebervorrichtung, wobei K100 anzeigt, daß eine Zeitperiode bis zu einer Sekunde gemessen wird. Bezugszeichen 544 zeigt einen Transferimpulsbefehl zum Speichern des Inhalts der Zeitgebervorrichtung T0 in die Wortvorrichtung D0, wenn der Anstiegsabschnitt des leitenden Zustandes erfaßt ist.
Operationen des Sequenzprogramms, das in Fig. 49 gezeigt ist, werden jetzt beschrieben werden. D.h. wenn die Bitvorrichtung X0 ein wird, wird der Lastbefehl 541 durchgeführt zum Aktivieren des Zeitbefehls 543, so daß der Inhalt der Zeitgebervorrichtung T0 sequentiell um 1 alle 10 ms erhöht wird. Wenn im Gegensatz dazu die Bitvorrichtung X0 aus wird, wird der Lastnegierungsbefehl 542 durchgeführt, so daß der Inhalt der Zeitgebervorrichtung T0 entsprechend der gegenwärtigen Meßzeit gespeichert wird in der Vorrichtung D0 ansprechend auf den Transferimpulsbefehl 44, und weiterhin der Lastbefehl 541 nicht leitend wird, wodurch der Betrieb des Zeitgeberbefehls 543 gestoppt wird, und der Inhalt der Zeitgebervorrichtung T0 0 wird. Der Benutzer fügt dieses Sequenzprogramm zum Hauptsequenzprogramm, um somit die CPU- Einheit 1 zu betreiben. Daraus resultierend wird die Zeitperiode während der die Bitvorrichtung X0 unter dem Ein- Zustand ist, kontinuierlich in der Vorrichtung D0 gespeichert, und deshalb kann, während der die Vorrichtungsbedingung der Vorrichtung D0 überwacht wird durch die äußere periphere Einheit 2, ein Intervall zwischen Bedingungsänderungen erfaßt werden. Da jedoch das Sequenzprogramm von Fig. 49 jedesmal ausgeführt wird, wenn das Hauptprogramm der CPU-Einheit wiederholt verarbeitet wird in Übereinstimmung mit diesen Verfahren, gibt es einige Möglichkeiten, daß ein Irrtum einer 1-Scanzeit, nämlich die jeweilige Verarbeitungszeitperiode der CPU-Einheit 1, wie zuvor erklärt in Fig. 48, auftreten kann. Weiterhin ist es zum Erzielen der gegenwärtigen Messung erforderlich, direkt das Eingabesignal durch den Logikanalysator 20, der in Fig. 45 gezeigt ist, zu messen.
Eine Beschreibung wird jetzt gemacht von einem weiteren Verfahren zum Messen der Prozeßzeit des bezeichneten Abschnitts des Sequenzprogramms, d. h. einer dieser Steuerbedingungen der CPU-Einheit 1. Die Einrichtung zum Messen der Prozeßzeit, die definiert ist zum ersten Schritt des Hauptsequenzprogramms, bis zu einem bestimmten bezeichneten Schritt davon während einer Ausführung des Sequenzprozesses ist beschrieben in der japanischen ungeprüften Patentveröffentlichung Nr. Hei. 5-189277. Somit werden die Messung der Prozeßzeit für einen bestimmten bezeichneten Abschnitt des Hauptsequenzprogramms während der Ausführung des Sequenzprozesses, beispielsweise die Zeit zum Verarbeiten des Sequenzprogramms, definiert vom Schritt 100 zum Schritt 200, sowohl von der Ausführungsprozeßeinheit bis zum Startschritt des bezeichneten Abschnitts, nämlich vom Schritt 0 bis zum Schritt 100, als auch die Ausführungsprozeßzeit bis zum Endschritt davon, nämlich vom Schritt 0 bis zum Schritt 200, gemessen durch Verwendung der oben beschriebenen Einrichtung. Dann wird die vorherige Ausführungsprozeßzeit bis zum Startschritt subtrahiert von der letzteren Ausführungsprozeßzeit bis zum Endschritt, wodurch die Prozeßzeit zum Ausführen des Sequenzprogramms während des bezeichneten Abschnitts, nämlich vom Schritt 100 bis zum Schritt 200 berechnet wird und dann gemessen werden kann.
Mit Bezug auf Fig. 45, 47 und 50 wird eine Erklärung gemacht werden bezüglich eines Verfahrens zum Messen der Ausführungszeit des Interruptsequenzprogramms entsprechend einer der weiteren Steuerbedingungen durch die CPU-Einheit 1. Fig. 50 zeigt ein Beispiel eines Sequenzprogramms zum Messen der Prozeßzeit des Interrupt-Sequenzprogramms 554. In dieser Zeichnung bezeichnet Bezugszeichen 551 einen Zeiger I0 zum Anzeigen des Kopfes des Interruptsequenzprogramms 554, Bezugszeichen 552 zeigt einen Lastbefehl, der durchgeführt wird, wenn die Bitvorrichtung M9036 unter einem Ein-Zustand ist, und Bezugszeichen 553, 557 zeigen Ausgabebefehle zum Veranlassen, daß die Bitvorrichtung Y0 ein ist unter einem leitenden Zustand, und zum Veranlassen, daß die Bitvorrichtung Y0 aus ist unter einem nicht leitenden Zustand. Bezugszeichen 555 ist ein Lastnegierungsbefehl; der durchgeführt wird, wenn die Vorrichtung N9036 unter einem Aus-Zustand ist, und Bezugszeichen 558 ist ein IRET-Befehl zum Anzeigen des Endes des Interrupt-Sequenzprogramms.
Operationen des Sequenzprogramms, das in Fig. 50 dargestellt ist, werden jetzt beschrieben werden. D.h. wenn das Interruptprogramm, definiert am Schritt 524 von Fig. 47, ausgeführt wird, wird die Lastanweisung 552, die angesiedelt ist am Beginn des Interruptsequenzprogramms 554 von Fig. 50, durchgeführt, und zwar abhängig von der Bedingung der Bitvorrichtung M9036, die kontinuierlich ein ist, und dann wird die Bitvorrichtung Y0 veranlaßt, einzu sein durch den Ausgabebefehl 553. Die Bitvorrichtung Y0 ist beispielsweise das Ausgabesignal von der Leuchte Sb. Darauffolgend wird das ursprünglich vorgesehene Interruptsequenzprogramm 154 ausgeführt, und der Lastnegierungsbefehl 555 unmittelbar vor dem Interruptsequenzprogramm wird in den nicht leitenden Zustand gebracht, und die Bitvorrichtung Y0 ist aus. Dann wird das Interruptsequenzprogramm 554 bewerkstelligt durch den IRET-Befehl 558. Daraus folgend wird dieses Sequenzprogramm hinzugefügt zum Interruptsequenzprogramm durch den Benutzer, um somit durch die CPU-Einheit 1 betrieben zu werden. Somit ist, während das Interruptsequenzprogramm ausgeführt wird, die Bitvorrichtung Y0 unter einem EIN-Zustand und das Ausgabesignal entsprechend dieser Vorrichtung Y0 wird gemessen durch Benutzung des Logikanalysators 20, der als die externe Meßvorrichtung von Fig. 45 dient, so daß die Ausführungszeit des Interruptprogramms aquiriert werden kann.
Mit Bezug auf Fig. 45, 47, 51 wird eine Beschreibung gemacht werden von einem Verfahren zum Messen der Ausführungszeit des END-Prozesses entsprechend einer weiteren der Steuerbedingungen der CPU-Einheit 1. Fig. 51 ist ein Beispiel eines Sequenzprogramms zum Messen einer Zeitdauer, die erforderlich zum Durchführen des END-Prozesses. In Fig. 51 zeigt Bezugszeichen 564 ein Hauptsequenzprogramm, das prinzipiell ausgeführt werden sollte. Bezugszeichen 562 ist ein Lastnegierungsbefehl, der durchgeführt wird, wenn die Bitvorrichtung M9036 unter einem AUS-Zustand liegt. Bezugszeichen 563 und 567 sind Ausgabebefehle zum Veranlassen, daß die Bitvorrichtung Y0 ein ist unter einem leitenden Zustand und zum Veranlassen, daß die Bitvorrichtung Y0 aus ist unter einem nicht leitenden Zustand. Bezugszeichen 565 zeigt einen Lastbefehl, der durchgeführt wird, wenn die Bitvorrichtung M9036 unter einem AUS-Zustand ist. Bezugszeichen 563 und 567 sind Ausgabebefehle zum Veranlassen, daß die Bitvorrichtung Y0 ein ist unter einem leitenden Zustand, und zum Veranlassen, daß die Bitvorrichtung Y0 aus ist unter einem nicht leitenden Zustand. Bezugszeichen 565 zeigt einen Lastbefehl, der durchgeführt wird, wenn die Bitvorrichtung M9036 unter einem EIN-Zustand ist. Bezugszeichen 568 ist ein FEND-Befehl zum Anzeigen des Endes dieses Hauptsequenzprogramms.
Jetzt werden Operationen des in Fig. 51 gezeigten Sequenzprogramms erklärt werden. D.h. wenn der Prozeßbetrieb der Sequenzprozeßoperation von Fig. 47 ausgeführt wird, wird der Lastnegierungsbefehl 562, der vorliegt am Beginn des Hauptsequenzprogramms 564 von Fig. 51, nicht leitend, und zwar abhängig von der Bedingung der Bitvorrichtung M9036, die kontinuierlich ein ist, und dann veranlaßt der Ausgabebefehl 553, daß die Bitvorrichtung Y0 aus ist. Darauffolgend wird das Hauptsequenzprogramm 564 ausgeführt, so daß der Lastbefehl 565, der unmittelbar vor dem Hauptsequenzprogramm gelegen ist, in den leitenden Zustand gebracht wird und die Bitvorrichtung Y0 eingeschaltet wird. Dann wird ansprechend auf den FEND-Befehl 568 das Hauptsequenzprogramm 564 bewerkstelligt. Danach schreitet der Prozeßbetrieb voran zu einem Schritt 523 des in Fig. 47 gezeigten END-Prozesses, bei dem der Sequenzprozeß bei Schritt 522 wieder ausgeführt wird. Dann wird die Bitvorrichtung Y0 aus- und eingeschaltet auf eine ähnliche Art und Weise. Während das Hauptsequenzprogramm 564 ausgeführt wird, wird die Vorrichtung Y0 durch diese Wiederholung ausgeschaltet. Während die Vorrichtung Y0 eingeschaltet ist, wird verständlicher Weise der END-Prozeß ausgeführt. Daraus resultierend fügt der Benutzer dieses Sequenzprogramm zum Hauptsequenzprogramm hinzu, daß durch die CPU-Einheit 1 zu betreiben ist. Dann wird das Ausgabesignal entsprechend dieser Bitvorrichtung Y0 gemessen durch Benutzung des Logikanalysators 20, der als die externe Meßvorrichtung von Fig. 45 dient, so daß die Ausführungszeit für den Endprozeß und die Ausführungszeit für den Sequenzprozeß gemessen werden können.
Eine Erklärung wird jetzt gemacht werden von einem Verfahren zum Messen der Prozeßzeit des Spezialeinheitsservice, entsprechend einer von weiteren Fahrbedingungen der CPU- Einheit 1. Beim Verfahren zum Messen der Prozeßzeit des Spezialeinheitsservice wird das Verfahren zum Messen der Ausgangszeit des END-Prozesses verwendet, und wie zuvor beschrieben. Zunächst wird die Prozeßzeit des END-Prozesses 523, gezeigt in Fig. 47, gemessen unter solch einer Bedingung, daß keine Anforderung in Wert gestellt wird von der speziellen Funktionseinheit 5 von Fig. 45. Als nächstes wird die Prozeßzeit des END-Prozesses 523 in ähnlicher Weise unter solch einer Bedingung gemessen, daß eine Anforderung in Wert gestellt wird von der speziellen Funktionseinheit 5. Dann wird die END-Prozeßzeit, die gemessen wird, wenn keine Anforderung in Wert gestellt wird von der speziellen Funktionseinheit 5, subtrahiert von der END-Prozeßzeit, wenn die Anforderung in Wert gestellt wird von der speziellen Funktionseinheit 5, wodurch es möglich ist, die Prozeßzeit des END-Prozesses 513 für die von der speziellen Funktionseinheit 5 in Wert gestellte Anforderung zu erhalten.
Mit Bezug auf Fig. 52 wird jetzt eine Beschreibung gemacht werden von einem Verfahren zum Ermitteln, wie viele Male das Interruptsequenzprogramm ausgeführt wird innerhalb einer konstanten Zeitperiode, und zwar entsprechend einer von weiteren Steuerbedingungen der CPU-Einheit 1. Fig. 52 zeigt ein Beispiel eines Sequenzprogramms zum Messen der Ausführungszeit des Interruptsequenzprogramms. In Fig. 52 sind Bezugszeichen 571 und 577 Lastinstruktionen, welche durchgeführt werden, wenn die Bitvorrichtung M9036 unter einem EIN-Zustand ist. Bezugszeichen 572 und 576 bezeichnen Ausgabebefehle zum Ausgeben der leitenden Bedingung an die Bitvorrichtung M0. Bezugszeichen 573 bezeichnet einen Transferbefehl zum Speichern der konstanten "0" zum Inhalt der Wortvorrichtung D0 unter einer leitenden Bedingung. Bezugszeichen 574 zeigt das ursprüngliche Hauptsequenzprogramm. Bezugszeichen 575 ist ein Lastnegierungsbefehl, der durchgeführt wird, wenn die Bitvorrichtung M9036 unter einem AUS-Zustand ist. Bezugszeichen 578 ist ein Transferbefehl zum Speichern des Inhalts der Wortvorrichtung D0 in dem Inhalt der Wortvorrichtung D1 unter einer leitenden Bedingung. Bezugszeichen 579 zeigt einen FEND-Befehl zum Anzeigen eines Endes des Hauptsequenzprogramms 574. Bezugszeichen 5710 ist ein Zeiger zum Darstellen eines Kopfes des Interruptsequenzprogramms 5711. Bezugszeichen 5711 zeigt das ursprüngliche Interruptprogramm. Bezugszeichen 5712 ist eine Lastanweisung, die leitend wird, wenn die Bitvorrichtung M0 unter einem EIN-Zustand ist. Bezugszeichen 5713 ist ein Hinzufügebefehl zum Hinzufügen einer 1 zum Inhalt der Wortvorrichtung D0 unter einem leitenden Zustand. Bezugszeichen 5714 ist ein IRET-BEfehl zum Anzeigen eines Endes des Interruptsequenzprogramms.
Im Beispiel, das in Fig. 52 gezeigt ist, wird solch eine Messung ausgeführt, wie viele Male das Interruptsequenzprogramm folgend dem Interruptzeiger (IO) 5810 durchgeführt wird innerhalb der Zeitdauer, während der das Hauptsequenzprogramm einmal durchgeführt wird. Dieses Sequenzprogramm wird folgendermaßen betrieben. Beim Beginn veranlassen sowohl der Lastbefehl 571 als auch der Ausgabebefehl 572, daß die Bitvorrichtung M0 eingeschaltet wird und der Transferbefehl 173 veranlaßt, daß der Inhalt der Wortvorrichtung D0 0 ist. Darauffolgend wird das ursprüngliche Hauptsequenzprogramm ausgeführt, und sowohl der Lastnegierungsbefehl 575 als auch der Ausgabebefehl 576 veranlassen, daß die Bitvorrichtung M0 ausgeschaltet wird. Wenn das Interruptsequenzprogramm 5711 nach dem Interruptpunkt (IO) 5710 als dem Interruptprozeß durchgeführt wird während des obigen Betriebs, falls die Bitvorrichtung M0 eingeschaltet ist durch die Lastinstruktion 5112 und die Hinzufügeinstruktion 5713, dann wird der Inhalt der Wortvorrichtung D0 um 1 vermehrt, und ebenfalls wird die Ausführung des Interruptprogramms 5711 bewerkstelligt ansprechend auf den IRET-Befehl 5714. Da dementsprechend die Bitvorrichtung M0 eingeschaltet ist während das Hauptsequenzprogramm 574 ausgeführt wird, werden die Ausführungszeiten des Interruptsequenzprogramms 5711 folgend dem Interruptzeiger (IO) 5710, der ausgeführt worden ist während dieser EIN-Zeitperiode, gespeichert in den Inhalt der Wortvorrichtung D0. Dieser Wert wird transferiert an den Inhalt der Wortvorrichtung D1 ansprechend auf die Lastanweisung 577 und die Transferanweisung 578. Daraus resultierend fügt der Benutzer diese Sequenzprogramm dem Sequenzprogramm hinzu, welches durch die CPU-Einheit 1 betrieben wird, und ebenfalls wird der Inhalt dieser Wortvorrichtung D1 überwacht durch Verwenden der externen peripheren Einheit 2, so daß erkannt werden kann, wie viele Male das Interruptsequenzprogramm folgende dem Interruptzeiger (IO) 5710 ausgeführt worden ist, während das Hauptsequenzprogramm einmal ausgeführt wird.
Als nächstes konnte die Ausführungszeit des Serviceprozesses ansprechend auf die Verarbeitungsanforderung, die von der speziellen Funktionseinheit 5 in Wert gestellt wird, nicht gemessen werden durch Hinzufügen des Sequenzprogramms.
Mit Bezug auf Fig. 45, 47, und 53 wird eine Beschreibung jetzt gemacht werden von einem Verfahren jetzt zum Messen einer Intervallzeit zum Starten der Ausführung des Interruptsequenzprogramms, und zwar entsprechend einer von weiteren Steuerbedingungen der CPU-Einheit 1. Fig. 53 zeigt ein Beispiel eines Sequenzprogramms zum Messen der Intervallzeit des Startens der Ausführung des Interruptsequenzprogramms. In dieser Zeichnung bezeichnet Bezugszeichen 151 einen Zeiger I0 zum Anzeigen des Kopfes des Interruptsequenzprogrammes 554, Bezugszeichen 582 zeigt einen Lastbefehl, der durchgeführt wird, wenn die Bitvorrichtung M9036 unter einem EIN-Zustand ist, und Bezugszeichen 583 zeigt einen Transferbefehl zum Speichern des Inhalts der Wortvorrichtung D9092 in die Wortvorrichtung D0 unter einer leitenden Bedingung. Bezugszeichen 584 ist ein Subtraktionsbefehl zum Subtrahieren des Inhalts der Wortvorrichtung D1 von dem Inhalt der Wortvorrichtung D0 unter einer leitenden Bedingung, um den subtrahierten Wert in der Wortvorrichtung zu speichern. Bezugszeichen 585 zeigt einen Transferbefehl zum Speichern des Inhalts der Wortvorrichtung D0 in die Wortvorrichtung D1 unter einer leitenden Bedingung. Bezugszeichen 586 ist das ursprüngliche Interruptsequenzprogramm und Bezugszeichen 587 ist ein IRET- Befehl zum Anzeigen eines Endes des Interruptsequenzprogramms 586. Ansprechend auf den Transferbefehl 583 wird der Inhalt der Wortvorrichtung D9022 zur Transferbestimmung um 1 vermehrt durch die CPU 10, und zwar jede Sekunde.
Operationen des in Fig. 53 gezeigten Sequenzprogramms werden jetzt beschrieben werden. D.h. ansprechend auf den Lastbefehl 582 und den Transferbefehl 583 wird der Inhalt der Wortvorrichtung D9022 entsprechend dem Zielwert des Zählers zu dieser Zeit gesichert auf die Wortvorrichtung D0. Dann wird in Übereinstimmung mit der Subtraktionsanweisung 584 der Inhalt der Wortvorrichtung D1 in welche der Zählwert bei der vorhergehenden Interrupt gespeichert worden ist, subtrahiert von dem Inhalt der Wortvorrichtung D0. Das Subtraktionsresultat wird gespeichert in die Wortvorrichtung D2. Dann wird ansprechend auf dem Transferbefehl 585 der gesicherte Inhalt der Wortvorrichtung D0 gespeichert in die Wortvorrichtung D1, um während des nächsten Interrupts benutzt zu werden. Daraus resultierend fügt der Benutzer dieses Sequenzprogramm den Interruptsequenzprogramm das durch die CPU-Einheit zu betreiben ist, hinzu, so daß die Intervallzeit des Startens der Ausführung des Interruptsequenzprogramms in der Einheit von einer Sekunde gespeichert wird in die Wortvorrichtung D2, und zwar jedesmal wenn das Interruptsequenzprogramm folgend dem Interruptzeiger durchgeführt wird. Dementsprechend konnte die Intervallzeit des Startens der Ausführung des Interruptsequenzprogramms 587 erhalten werden durch Überwachen des Inhalts der Wortvorrichtung D2 mittels der externen peripherischen Vorrichtung 2.
Ein Verfahren zum Messen eines Intervalls einer Ausführung eines Prozeßbetriebs, wenn einer Anforderung in Wert gestellt wird von der speziellen Funktionseinheit 5, und zwar entsprechend einer von weiteren Steuerbedingungen der CPU- Einheit 1, wird jetzt beschrieben werden, mit Bezug auf Fig. 45 und Fig. 54. Fig. 54 zeigt ein Beispiel eines Sequenzprogramms zum Messen des Zeitintervalls einer Ausführung des Prozeßbetriebs, wenn die Anforderung von der speziellen Funktionseinheit 5 von Fig. 45 gemacht wird. Hier zeigt das Bezugszeichen 592 einen Lastbefehl der durchgeführt wird, wenn die Bitvorrichtung Y1E unter einem EIN-Zustand ist, und Bezugszeichen 523 bezeichnet einen Transferimpulsbefehl zum Speichern des Inhalts der Wortvorrichtung in die Wortvorrichtung D0, wenn der Anstiegsabschnitt der leitenden Bedingung erfaßt wird. Bezugszeichen 594 ist ein Subtraktionsimpulsbefehl zum Subtrahieren des Inhalts der Wortvorrichtung D1 von dem Inhalt der Wortvorrichtung D0, wenn der Antriebsabschnitt der leitenden Bedingung erfaßt wird, und zum Speichern des Subtraktionsresultats in die Wortvorrichtung D2. Bezugszeichen 595 zeigt einen Transferimpulsbefehl zum Speichern des Inhalts der Wortvorrichtung D0 in die Wortvorrichtung D1, wenn der Anstiegsabschnitt der leitenden Bedingung erfaßt wird. Bezugszeichen 596 ist das ursprüngliche Interruptsequenzprogramm. Bezugszeichen 597 zeigt eine IRET-Anweisung zum Anzeigen einer Vervollständigung des Interruptsequenzprogramms 596. Es sollte bemerkt werden, daß die Bitvorrichtung Y1E der Lastanweisung 592 solch einer Bitvorrichtung entspricht, die EIN ist, wenn die Anforderung in Wert gestellt wird von der speziellen Funktionseinheit 5 und der Inhalt der Wortvorrichtung D9022, an die der Transferimpulsbefehl 593 transferiert wird, wird um 1 vermehrt durch die CPU 10, und zwar jede Sekunde.
Operationen des in Fig. 54 bezeichneten Sequenzprogramms werden jetzt erklärt werden. D.h. ansprechend auf den Lastbefehl 592 und den Transferimpulsbefehl 593 wird, wenn die Anforderung dieser speziellen Funktionseinheit 5 von Fig. 45 in Wert gestellt wird, der Inhalt der Wortvorrichtung D9092 dienend als der Zähler, zu dieser Zeit gesichert in die Wortvorrichtung D0. Dann wird in Übereinstimmung mit dem Subtraktionsimpulsbefehl 594 der Inhalt der Wortvorrichtung D1, in die der Zählwert, als die Anforderung von der speziellen Funktionseinheit 5 in Wert gestellt wurde von der vorherigen Ausführung gespeichert wurde, subtrahiert von der Wortvorrichtung D0. Das Subtraktionsresultat wird gespeichert in die Wortvorrichtung D2. Ansprechend auf den Transferimpulsbefehl 595 wird der Inhalt der gesicherten Wortvorrichtung D0 gespeichert in die Wortvorrichtung D1, welche benutzt werden wird, wenn eine weitere Anforderung von der speziellen Funktionseinheit beim nächsten Mal in Wert gestellt werden wird. Daraus folgend wird, wenn diese Sequenzprogramm zum Hauptprogramm durch den Benutzer hinzugefügt wird, um durch die CPU-Einheit 1 betrieben zu werden, falls die Anforderung von der speziellen Funktionseinheit 5 in Wert gestellt wird, dann dieses Sequenzprogramms 596 durchgeführt und die Intervallzeit der Anforderung, die von der speziellen Funktionseinheit 5 in Wert gestellt wird, in einer Einheit von einer Sekunde in der Wortvorrichtung D2 gespeichert. Deshalb wird der Inhalt der Wortvorrichtung D2 überwacht durch die externen periphere Einheit 2, so daß die Intervallzeit der von der speziellen Funktionseinheit 5 in Wert gestellten Forderung gemessen werden konnte.
Da der programmierbare Controller in direkter Weise solche Hochgeschwindigkeitsbetriebsmaschinen, wie z. B. Motoren und Roboter, steuert, ist es sehr wichtig, delikate Zeitabläufe der Signale zu erfassen. Wenn ein außergewöhnlicher Betrieb zufällig auftritt an der aktuellen Stelle, sollte der Grund dieses außergewöhnlichen Betriebs sofort erforscht werden. Jedoch in Übereinstimmung mit dem oben beschriebenen herkömmlichen Verfahren muß das Sequenzprogramm zum Erfassen von Zeitabläufen hinzugefügt werden. Es ist praktisch vorzuziehen, daß das Programm des Systems unter Betrieb modifiziert wird.
Ebenfalls das Verfahren zum Ermitteln der internen Betriebsbedingung, das bewirkt wird, wenn das Sequenzprogramm von Fehlern befreit wird durch den Programmierer, kann nicht leicht erzielt werden, da das Fehlerbefreiungs- Sequenzprogramm hinzugefügt wird, um ausgeführt zu werden. Weiterhin gibt es einige Möglichkeiten, daß die Betriebsbedingungen der CPU voneinander verschieden sind. Es gibt insofern ein weiteren Problem, daß eine externe Meßvorrichtung benötigt ist beim Verfahren der Benutzung der externen Meßvorrichtung.
Zusätzlich gibt es ein weiteres Problem insofern, daß, da die Ausführungszeit der Verarbeitungsanforderung, die von der speziellen Funktionseinheit 5 in Wert gestellt wird, innerhalb einer konstanten Zeit nicht gemessen werden kann, die detaillierte Betriebsbedingung des PC nicht erkannt werden kann. Zum Messen der Zeit, die erforderlich ist, zum Durchführen des Prozeßbetriebs durch die CPU-Einheit 1 ansprechend auf die Anforderung von der speziellen Funktionseinheit 5 kann das zeitmessende Sequenzprogramm durch die Benutzer etabliert werden. Da in diesem Fall das Initiierungssignal von der speziellen Funktionseinheit 5 in die CPU-Einheit 1 geholt wird während des END-Prozesses des Sequenzprogramms, ist eine Präzision bei der tatsächlichen Initiierungsintervallzeit verschlechtert, so daß lästige Programmarbeiten des Benutzers erforderlich sind.
Die Datenvergleichsschaltung 19 von Fig. 49 ist offenbart in den ungeprüften japanischen Patentveröffentlichungen Nummer Hei. 33-244003 und Hei. 4-151702. Jedoch wird diese Datenvergleichsschaltung nur benutzt zum Stoppen des Betriebs und Verriegeln der Daten, wenn der Inhalt des Vorrichtungsspeichers unter Bestimmung ist, aber wird nicht benutzt zum Erfassen der Zeitintervalle unter der ON-Line- Bedingung.
Zum Messen der Prozeßzeit eines bestimmten bezeichneten Abschnitts des Sequenzprogramms unter Ausführung des Sequenzprozesses, wird der Interrupt in Wert gestellt bei zwei Schritten innerhalb des bezeichneten Abschnitts, nämlich dem Startschritt und dem Endschritt, und zwar unter Ausführung des Sequenzprozesses. Daraus resultierend sind mehr als zwei Sätze von Adreßvergleichsschaltungen 18, gezeigt in Fig. 45, zum Erzeugen des Interrupts bei einem beliebigen Schritt erforderlich.
Bezüglich der Ausführungszeit des Interruptprogramms sind seit jüngstem Hochgeschwindigkeits-Steuervorrichtungen verfügbar. Es gibt viele Fälle, in denen das Interruptprogramm benutzt wird als der Prozeßbetrieb mit der höheren Priorität, was die Hochgeschwindigkeitscharakteristik erfordert. Es ist ein sehr wichtiger Faktor, bei dem Systemdesign einen Ausgleich zu schaffen zwischen der Gesamtsteuerungs-Funktionstüchtigkeit des Hauptprogramms und des Interruptprogramms. Da jedoch als Funktionstüchtigkeit die Gesamtheit der Ausführungszeit für das Hauptprogramm und die Ausführungszeit für das Interruptprogramm erfaßt wird als die Scanzeit beim herkömmlichen Verfahren, ist es schwierig zu beurteilen, ob die lange Scanzeit verursacht wird durch Ausführen des Hauptprogramms selbst oder durch Ausführen des Interruptprogramms, wenn die Scanzeit eine vorhergesagte Zeit überschreitet. Wenn das Initiierungsintervall des Interruptprogramms gemessen wird durch das Programm, wie gezeigt in Fig. 53 durch den Benutzer, muß dieses letztere Programm eingesetzt werden in den Kopf des Interruptprogramms. Wenn die Größe des Interruptprogramms erhöht ist, gibt es eine weiteres Problem, insofern, als daß die Programmierarbeit durch die Benutzer lästig wird. Weiterhin gibt es ein weiteres Problem insofern, als daß die tatsächliche Verarbeitungszeit des Interruptprogramms verlängert sein würde, da diese Prozesse ausgeführt werden an dem Leiterprogramm.
Die vorliegende Erfindung soll die oben beschriebenen Probleme lösen.
Gemäß der vorliegenden Erfindung beinhaltet ein Programmkontroller eine Steuerprogrammeinheit zum Speichern eines Steuerprogramms zum Messen eines internen Betriebszustandes einer CPU-Einheit und eine Speichereinheit für einen internen Betriebszustand zum Speichern eines gemessenen internen Betriebszustands der CPU-Einheit, wobei das Steuerprogramm, das den internen Betrieb mißt, es ermöglicht, daß der interne Betriebszustand der CPU-Einheit gemessen wird ansprechend auf eine Überwachungsverarbeitungsanforderung von einer externen peripheren Vorrichtung, und ein Meßresultat zu senden an die externe periphere Vorrichtung, um dadurch zu erlauben, daß die externe periphere Vorrichtung den internen Betriebszustand der CPU-Einheit überwacht.
Der programmierbare Kontroller kann weiterhin eine Interrupterzeugungsschaltung beinhalten zum Überwachen eines Zustandes einer bezeichneten Vorrichtung und zum Senden eines Interruptsignals an die CPU zu einem zeitlichen Augenblick, wenn die bezeichnete Vorrichtungen einen bezeichneten Zustand einnimmt, eine Einrichtung zum Messen eines Ein- oder Aus- Intervalls der bezeichneten Vorrichtung, eine Zeit-Meß- Speichereinheit zum Speichern des gemessenen Ein- oder Aus- Intervalls der bezeichneten Vorrichtung, und eine Einrichtung zum Anzeigen von Daten der Zeitmeß-Speichereinheit bei der externen peripherischen Anwendung, wodurch eine Zeitperiode bis die bezeichnete Vorrichtung ihren Zustand ändert, gemessen werden kann, ohne ein Benutzerprogramm zu benutzen.
Der programmierbare Kontroller kann weiterhin eine Einrichtung umfassen zum Messen einer Prozeßzeit eines bezeichneten Abschnitts des Sequenzprogramms, wodurch ein Meßresultat der Prozeßzeit überwacht werden kann durch die externe peripherische Vorrichtung. Somit kann die Prozeßzeit des bezeichneten Abschnitts gemessen werden durch Benutzung einer Einzeladressen-Vergleichsschaltung.
Der programmierbare Kontroller kann weiterhin eine Einrichtung umfassen zum Messen einer akkumulierten Ausführungszeit von Zeitperioden, während derer Interruptprogramme ausgeführt werden in einem Scan des Sequenzprogramms, eine Interruptakkumulierungs- Speichereinheit zum Speichern der gemessenen akkumulierten Ausführungszeit der Interruptprogramme, und eine Einrichtung zum Anzeigen von Daten der Interruptakkumulierungs- Speichereinheit an der externen peripheren Anwendung, wodurch ein Einfluß von Ausführungszeiten der Interruptprogramme auf eine Scanzeit gemessen werden kann.
Der programmierbare Kontroller kann weiterhin eine Einrichtung umfassen zum Messen einer Prozeßzeit eines END- Prozesses, wodurch ein Meßresultat der Prozeßzeit überwacht werden kann durch die externe periphere Vorrichtung. Ein Benutzer ist nicht erforderlich zum Ändern des Sequenzprogramms.
Der programmierbare Kontroller kann weiterhin eine Einrichtung umfassen zum Messen einer Prozeßzeit, während der ein Serviceprogramm ausgeführt wird ansprechend auf eine Verarbeitungsanforderung von einer speziellen Funktionseinheit, wodurch ein Meßresultat der Prozeßzeit überwacht werden kann durch die externe periphere Vorrichtung. Ein Benutzer ist nicht erforderlich zum Ändern des Sequenzprogramms.
Der programmierbare Kontroller kann weiterhin eine Einrichtung umfassen zum Messen der Anzahl von Ausführungsformen eines Interruptprogramms, aktiviert durch ein externes Interruptsignal, wodurch ein Meßresultat der Anzahl von Ausführungszeiten überwacht werden kann durch die externe periphere Vorrichtung. Ein Benutzer ist nicht erforderlich zum Ändern des Sequenzprogramms.
Der programmierbare Kontroller kann weiterhin eine Einrichtung umfassen zum Messen der Anzahl von Ausführungszeiten eines Serviceprogramms, das ausgeführt wird ansprechend auf eine Verarbeitungsanforderung von einer speziellen Funktionseinheit, wodurch ein Meßresultat der Anzahl von Ausführungszeiten durch die externe periphere Vorrichtung überwacht werden kann. Die Anzahl von Ausführungszeiten des Serviceprogramms konnte herkömmlicherweise nicht von der Benutzerseite gemessen werden.
Der programmierbare Kontroller kann weiterhin eine Einrichtung umfassen zum Messen eines Aktivierungsintervalls eines Interruptprogramms, das ansprechend auf ein externes Interruptsignal aktiviert wird, wodurch ein Meßresultat des Aktivierungsintervalls überwacht werden kann durch die externe periphere Vorrichtung. Ein Benutzer ist nicht erforderlich zum Ändern des Sequenzprogramms.
Der programmierbare Kontroller kann weiterhin eine Einrichtung umfassen zum Messen eines Intervalls zwischen mannigfaltigen Verarbeitungsanforderungen von der externen peripheren Vorrichtung und einer speziellen Funktionseinheit, wodurch ein Meßresultat des Intervalls überwacht werden kann durch die externe periphere Vorrichtung. Ein Benutzer ist nicht erforderlich zum Ändern des Sequenzprogramms.
Die Figuren zeigen im einzelnen:
Fig. 1 eine Konfiguration eines PC gemäß einer Ausführungsform der vorliegenden Erfindung;
Fig. 2 die Gesamtstruktur eines Programms des PC von Fig. 1;
Fig. 3 einen Flußplan zum Zeigen eines Kommunikationsprozesses mit einer externen peripheren Vorrichtung in einer CPU-Einheit des PC von Fig. 1;
Fig. 4 eine Zustandsänderung in einer Vorrichtung, die in Ausführungsform 1 der Erfindung zu messen ist;
Fig. 5 eine Konfiguration eines Daten-RAMs in der CPU- Einheit des PC, der in Fig. 1 gezeigt ist;
Fig. 6 Vorrichtungscodes in der Ausführungsform 1 der Erfindung;
Fig. 7 Meßbedingungscodes in der Ausführungsform 1 der Erfindung;
Fig. 8 einen Übergang eines Vorrichtungsintervall-Meßflags in Ausführungsform 1 der Erfindung;
Fig. 9 einen Flußplan zum Zeigen von Benutzeroperationen und eines Prozesses, der durch eine externe periphere Vorrichtung in der Ausführungsform 1 der Erfindung durchgeführt wird;
Fig. 10 ein Beispiel eines Einstellbildes der externen peripheren Vorrichtung in Ausführungsform 1 der Erfindung;
Fig. 11 und 12 Strukturen von Daten, die ausgetauscht werden zwischen der externen peripheren Vorrichtung und der CPU-Einheit in Ausführungsform 1 der Erfindung;
Fig. 13 und 14 Flußpläne zum Zeigen eines Prozesses, der durch die CPU-Einheit durchgeführt wird ansprechend auf eine Vorrichtungs-Intervallmeßanforderung von der externen peripheren Vorrichtung in Ausführungsform 1 der Erfindung;
Fig. 15 einen Flußplan zum Zeigen eines Interruptprozesses einer Datenvergleichsschaltung in Ausführungsform 1 der Erfindung;
Fig. 16 ein Beispiel eines angezeigten Bildes eines Meßresultats der externen peripheren Vorrichtung in Ausführungsform 1 der Erfindung;
Fig. 17 ein Beispiel eines allgemeinen Sequenzprogramms des PC von Fig. 1;
Fig. 18 einen Flußplan zum Zeigen von Benutzeroperationen und eines Prozesses, der durch die externe peripher Vorrichtung in Fig. 2 der Erfindung durchgeführt wird;
Fig. 19 ein Beispiel eines Einstellbildes der externen peripheren Vorrichtung für eine Prozeßzeitmessung in Ausführungsform 2 der Erfindung;
Fig. 20 und 21 Strukturen von Daten, die ausgetauscht werden zwischen der externen peripheren Vorrichtung und der CPU-Einheit in Ausführungsform 2 der Erfindung;
Fig. 22 und 23 Flußpläne zum Zeigen eines Prozesses, der durchgeführt durch die CPU-Einheit, ansprechend auf eine Anforderung zum Messen einer Sequenz einer Prozeßzeit eines bezeichneten Abschnittes, in Wert gestellt von der externen peripheren Einheit in Ausführungsform 2 der Erfindung;
Fig. 24 einen Flußplan zum Zeigen eines Interruptprozesses von einer Adressenvergleichsschaltung in Ausführungsform 2 der Erfindung;
Fig. 25 ein Beispiel eines angezeigten Bildes eines Meßresultats in der externen peripheren Vorrichtung in Ausführungsform 2 der Erfindung;
Fig. 26 einen Flußplan zum Zeigen von Benutzeroperationen und eines Prozesses, der durchgeführt wird durch die externe periphere Vorrichtung in Ausführungsform 3 der Erfindung;
Fig. 27 eine Struktur von Daten, die ausgetauscht werden zwischen der externen peripheren Vorrichtung und der CPU- Einheit in Ausführungsform 3 der Erfindung;
Fig. 28 einen Flußplan zum Zeigen eines Prozesses, der durchgeführt wird durch CPU-Einheit ansprechend auf eine Leseanforderung einer akkumulierten Ausführungszeit eines Interruptprogramms in Ausführungsform 3 der Erfindung;
Fig. 29 ein Beispiel eines angezeigten Bildes eines Meßresultats in der externen peripheren Vorrichtung in Ausführungsform 3 der Erfindung;
Fig. 30 eine Struktur von Daten, die ausgetauscht werden zwischen der externen peripheren Vorrichtung und der CPU- Einheit in Ausführungsform 4 der Erfindung;
Fig. 31 einen Flußplan zum Zeigen eines Prozesses, der durchgeführt wird durch die CPU-Einheit ansprechend auf eine Endprozeßzeit-Leseanforderung von der externen peripheren Vorrichtung von Ausführungsform 4 der Erfindung;
Fig. 32 ein Beispiel eines angezeigten Bildes eines Meßresultats in der externen peripheren Vorrichtung in Ausführungsform 4 der Erfindung;
Fig. 33 einen Flußplan zum Zeigen eines Spezialeinheits- Servicprozesses in Ausführungsform 5 der Erfindung;
Fig. 34 eine Struktur von Daten, die ausgetauscht werden zwischen der externen peripheren Vorrichtung und der CPU- Einheit in Ausführungsform 5 der Erfindung;
Fig. 35 einen Flußplan zum Zeigen eines Prozesses, der durchgeführt wird durch die CPU-Einheit ansprechend auf eine Leseanforderung für die Spezialeinheitservice-Prozeßzeit von der externen peripheren Vorrichtung in Ausführungsform 5 der Erfindung;
Fig. 36 ein Beispiel eines angezeigten Bildes eines Meßresultats in der externen peripheren Vorrichtung in Ausführungsform 5 der Erfindung;
Fig. 37 eine Struktur von Daten, die ausgetauscht werden zwischen der externen peripheren Vorrichtung und der CPU- Einheit in Ausführungsform 6 der Erfindung;
Fig. 38 einen Flußplan zum Zeigen eines Prozesses des Lesens der Anzahl von Interruptprogramm-Ausführungszeiten in Ausführungsform 6 der Erfindung;
Fig. 39 eine Datenstruktur, die ausgetauscht wird zwischen der externen peripheren Vorrichtung und der CPU-Einheit in Ausführungsform 7 der Erfindung;
Fig. 40 einen Flußplan zum Zeigen eines Prozesses, der durchgeführt wird durch die CPU-Einheit, ansprechend auf eine Anforderung zum Lesen der Anzahl von Spezialeinheitsservice- Prozeßausführungszeiten, in Wert gestellt von der externen peripheren Vorrichtung in Ausführungsform 7 der Erfindung;
Fig. 41 eine Struktur von Daten, die ausgetauscht werden zwischen der externen peripheren Vorrichtung und der CPU- Einheit in Ausführungsform 8 der Erfindung;
Fig. 42 einen Flußplan zum Zeigen eines Prozesses, der durchgeführt wird durch die CPU-Einheit ansprechend auf eine Interruptprogramm-Aktivierungsintervall-Leseanforderung von der externen peripheren Vorrichtung in Ausführungsform 8 der Erfindung;
Fig. 43 eine Struktur von Daten, die ausgetauscht werden zwischen der externen peripheren Vorrichtung und der CPU- Einheit in Ausführungsform 9 der Erfindung;
Fig. 44 einen Flußplan zum Zeigen eines Prozesses, der durchgeführt wird durch die CPU-Einheit ansprechend auf eine Spezialeinheit-Serviceprozeß-Ausführungsintervall- Leseanforderung von einer externen peripheren Vorrichtung in Ausführungsform 9 der Erfindung;
Fig. 45 ein Blockdiagramm zum Zeigen einer Konfiguration eines herkömmlichen PC;
Fig. 46 die Gesamtstruktur eines herkömmlichen Programms;
Fig. 47 einen Flußplan zum Zeigen eines allgemeinen Prozesses eines herkömmlichen PC von Fig. 45;
Fig. 48 eine herkömmliche Verarbeitung eines Hauptprogramms und eines Interruptprogramms;
Fig. 49 ein Beispiel eines herkömmlichen Sequenzprogramms zum Messen eines Vorrichtungsintervalls;
Fig. 50 ein Beispiel eines herkömmlichen Sequenzprogramms zum Messen einer Interruptprogramm-Ausführungszeit;
Fig. 51 ein Beispiel eines herkömmlichen Sequenzprogramms zum Messen einer END-Prozeßzeit;
Fig. 52 ein Beispiel eines herkömmlichen Sequenzprogramms zum Messen der Anzahl von Interruptprogramm- Ausführungszeiten;
Fig. 53 ein Beispiel eines herkömmlichen Sequenzprogramms zum Messen eines Interruptprogramm-Ausführungsintervalls; und
Fig. 54 ein Beispiel eines herkömmlichen Sequenzprogramms zum Messen eines Spezialeinheit-Serviceprozeß- Ausführungsintervalls.
Ausführungsform 1
Eine Ausführungsform der vorliegenden Erfindung wird jetzt beschrieben werden mit Bezug auf Fig. 1-17.
Fig. 1 ist ein schematisches Blockdiagramm zum Zeigen einer Anordnung eines PC (programmierbarer Kontroller) gemäß einer Ausführungsform der vorliegenden Erfindung. Bei dieser Zeichnung zeigt das Symbol 1A eine CPU-Einheit des PC gemäß der vorliegenden Erfindung, Symbol 2A bezeichnet eine externe periphere Vorrichtung, wie z. B. einen Personal Computer zum Anzeigen eines Überwachungsresultats gemäß der vorliegenden Erfindung. Bezugszeichen 3-11, 14-19 und 12A bezeichnen die zum Zeigen derselben Schaltungselemente wie beim Stand der Technik. Symbol 12A ist ein System-ROM zum Speichern eines Systemprogramms des vorliegenden PC, der modifiziert worden ist zum Durchführen eines Prozesses zum Speichern der Betriebsbedingungen des PC als Daten. Symbol 13A ist ein Daten-RAM, in dem die Betriebsbedingung des PC zusätzlich gespeichert wird als die Daten.
Als nächstes repräsentiert Fig. 2 ein Beispiel eines Prozeßbetriebs, der durch die CPU-Einheit 1A gemäß der vorliegenden Erfindung ausgeführt wird, welcher gespeichert worden ist in dem System ROM 12A, wie gezeigt in Fig. 1. Dieser Prozeßbetrieb besteht aus Hinzufügen einer Prozeßoperation 2011 zu einer Prozeßoperation 2017 und ebenfalls einer Prozeßoperation 2041 zu einer Prozeßoperation 2044 zu den Prozeßoperationen, die ausgeführt werden durch die herkömmliche CPU-Einheit 1, die in Fig. 47 gezeigt ist, und weiterhin durch Modifizieren des Kommunikationsprozeßbetriebs 2031 mit der externen peripheren Vorrichtung 2A und des Spezialeinheits- Servicprozeßbetriebs 2032 unter dem END-Prozeß 203, damit die internen Betriebsbedingungen der CPU-Einheit 1A gespeichert werden als Daten in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
In Fig. 3 sind Prozeßinhalte des modifizierten Kommunikationsprozesses 2031 von Fig. 2 bei der externen peripheren Vorrichtung 2A gezeigt. In Fig. 3 entsprechen die Prozeßoperationen 304-314 den hinzugefügten Prozeßoperationen gemäß der Ausführungsform der vorliegenden Erfindung. Fig. 33 zeigt Prozeßinhalte des Spezialeinheits- Serviceprozesses 2031 (modifiziert in Fig. 2) zum Ausführen der internen Prozeßoperationen ansprechend auf eine Anforderung, die von der speziellen Funktionseinheit 5 in Wert gestellt wird. In Fig. 33 werden die Prozeßoperationen 3302-3304 und die Prozeßoperationen 3306 zusätzlich hinzugefügt in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
Jetzt werden die Prozeßoperationen, die durch die in Fig. 2 gezeigte CPU-Einheit 1A durchgeführt werden erklärt werden mit Bezug auf Fig. 1 bis 3 und Fig. 33. In Fig. 2 beginnt die CPU-Einheit 1A zuerst als Hauptprogramm bei einem Schritt 201 auszuführen. Bei Schritten 2011-2015 wird ein Bereich initiiert, der Daten speichert, die benutzt werden zum Überwachen der internen Betriebsbedingungen der CPU-Einheit 1A, gehalten in dem Daten-RAM 13A. Bezüglich den Operationen, die definiert sind vom Schritt 2011 bis zum Schritt 2015, wird eine Beschreibung gemacht werden bei der folgenden Ausführungsform. Als nächstes wird bei einem Schritt 202 ein Sequenzprozeß zum Durchführen einer Sequenzsteuerung ausgeführt. Ähnlich zur herkömmlichen Art und Weise wird basierend auf ein vorbestimmtes Sequenzprogramm bei einem Schritt 5221 der Startschritt auf einen Nullschritt des Hauptsequenzprogramms gesetzt. Beim nächsten Schritt 5222 schreiten die Prozeßoperationen, die definiert sind vom Null schritt entsprechend dem Startschritt zum Schritt für den FEND Befehl. Wenn der FEND-Befehl ausgeführt wird, werden ein Schritt 2016, der Schritt 203 des END-Prozesses und ein Schritt 2017 durchgeführt. Es sollte bemerkt werden, daß die beim Schritt 2016 und dem Schritt 2017 definierten Prozeßoperationen solch eine Prozeßoperation zum Messen einer Prozeßzeit END-Prozeß 203 entsprechend einer der internen Betriebsbedingungen über die CPU-Einheit 1A, welche diskutiert werden wird mit Bezug auf die folgende Ausführungsform.
Beim Schritt 203 des END-Prozesses werden ein Kommunikationsprozeß 2031 mit der externen peripheren Vorrichtung 2A, ein Spezialeinheit-Serviceprozeß 2032, sowie ein weiterer END-Prozeß 5232 ausgeführt werden. Bei diesem END-Prozeß 5232 wird solch ein Prozeßbetrieb ausgeführt zum Ausgeben oder Eingeben von Eingabe-/Ausgabesignalen ansprechend auf die Werte, die im Vorrichtungsspeicher 16 gespeichert sind. Hier werden beim Kommunikationsprozeß 2031 mit der externen peripheren Vorrichtung 2A die Prozeßoperationen, die in Fig. 3 gezeigt sind, ausgeführt. Mit anderen Worten wird die CPU-Einheit 1A, welche die Anforderungsdaten empfangen hat von der externen peripheren Vorrichtung 2A, einen Wert beurteilen von einem Anforderungscode, der den Anforderungsdaten bei einem Schritt 301 enthalten ist. Als Resultat dieser Beurteilung wird der Prozeßbetrieb abgezweigt zum Verarbeiten von Operationen, die definiert sind bei Schritten 302-314 entsprechend den mannigfaltigen Anforderungen. Falls beispielsweise der Anforderungscode 1 ist, dann verzweigt der Prozeßbetrieb zu einem Schritt 302, bei dem ein Sequenzprogramm anzeigende diesen Wert ausgelesen wird. Falls der Anforderungscode 2 ist, dann verzweigt der Prozeßbetrieb zu einem Schritt 303, bei dem eine Vorrichtung anzeigend diesen Wert ausgelesen wird. Es sollte verstanden werden, daß die Prozeßschritte 304 bis 314 entsprechend den Anforderungscode 3 bis 13 solche hinzugefügten Prozesse in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung sind, welche erklärt werden wird mit Bezug auf die folgende Ausführungsform. Wenn die Ausführung des Prozeßbetriebs entsprechend dem Anforderungscode vervollständigt ist, wird der Kommunikationsprozeß mit der externen peripheren Vorrichtung 2A beendet an einem Endschritt 315.
Wenn, wie zuvor erklärt, der Kommunikationsprozeß 2031 von Fig. 2 mit der externen peripheren Vorrichtung 2A vervollständigt ist, rückt der Prozeßbetrieb voran zum Spezialeinheitsserviceprozeß 2032. Bei diesem Spezialeinheit- Serviceprozeß 2032 wird ein Prozeßbetrieb, wie angezeigt in Fig. 33, ausgeführt. D.h. der Prozeßbetrieb wird gestartet an einem Schritt 3300, und dann wird eine Beurteilung getroffen, ob oder ob nicht eine Prozeßanforderung in Wert gestellt wird von der speziellen Funktionseinheit 5 von Fig. 1 bei einem Schritt 3301. Falls keine Verarbeitungsanforderung in Wert gestellt ist, dann verzweigt der Prozeßbetrieb zu einem Endschritt 3307. Falls umgekehrtermaßen die Verarbeitungsanforderung in Wert gestellt wird, dann werden Prozeßoperationen definiert von einem Schritt 3302 bis zu einem Schritt 3304 ausgeführt. Darauf beim nächsten Schritt 3305, wird ein Servicerealprozeß bezüglich der Verarbeitungsanforderung, die von der speziellen Funktionseinheit 5 in Wert gestellt ist, durchgeführt. Dann wird ein Prozeßbetrieb, definiert am folgenden Schritt 3306, ausgeführt, und der Spezialeinheit- Serviceprozeß 2032 ist am nächsten Endschritt 3307 beendet. Es sollte bemerkt werden, daß der Prozeßbetrieb, der definiert ist von einem Schritt 3302, bis zu einem Schritt 3304 und einem Schritt 3306 solch einem Prozeß zum Messen der Prozeßzeit des Spezialeinheit-Servicprozesses 2032, d. h. einer der internen Betriebsbedingungen der CPU-Einheit 1A entspricht, deren Operationen beschrieben werden wird mit Bezug auf folgende Ausführungsform. Wenn der Spezialeinheit- Serviceprozeß 2032 bewerkstelligt ist, wird der folgende weitere Endprozeßschritt 5233 durchgeführt, und dann ist die Ausführung des END-Prozesses 203 vervollständigt.
Wenn der END-Prozeß 203 von Fig. 2 beendet ist und die Prozeßoperationen, die bis zum Schritt 2017 definiert sind, bewerkstelligt worden sind, springt der Prozeßbetrieb zurück zum Schritt 2014, an dem die CPU-Einheit 1 von Fig. 1 wieder eine Ausführung des Prozeßbetriebs wiederholt. Wie oben beschrieben, führt die CPU-Einheit 1A den Prozeßbetrieb, definiert vom Schritt 2014 bis zum Schritt 2017, wiederholt durch.
Wenn ein Interruptsignal von der Interrupt- Erzeugungsschaltung 17 von Fig. 1 in die CPU 10 von Fig. 1 währende dieser wiederholten Ausführung eingegeben wird, wird ein Prozeßbetrieb zum Ausführen eines Interruptprogramms, gezeigt an einem Schritt 204 von Fig. 2, begonnen. In diesem Interruptprogramm-Ausführungsprozeß 204 wird ein Prozeßbetrieb zum Messen der Prozeßbedingung dieses Interruptprogramm-Ausführungsprozesses ausgeführt an einem Schritt 2041 bis zu einem Schritt 2043. Darauffolgend schreitet der Prozeßbetrieb voran zu einem Schritt 4241. Bei den nächsten Schritten 5241 bis 5244 werden die unten erwähnten Prozeßoperationen durchgeführt auf eine ähnliche Art und Weise wie der herkömmliche Interruptprogramm- Ausführungsprozeß 524, der in Fig. 47 gezeigt ist. D.h. beim Schritt 5241 wird der Schritt des Hauptsequenzprogramms unter Ausführung gesichert. Beim Schritt 5242 wird ein Kopfstück des Interruptprogramms auf den Startschritt eingestellt. Beim Schritt 5243 werden die Prozeßoperationen bis zum IRET-Befehl ausgeführt. Beim Schritt 5244 wird der gesicherte Schritt des Hauptprogramms wieder entdeckt und eingestellt auf den Startschritt. Als nächstes bei einem Schritt 2044 gibt es einen Prozeßbetrieb zum Messen der Prozeßbedingungen des Interruptprogramm- Ausführungsprozesses. Danach ist die Ausführung des Interruptprogramms bei einem Schritt 2044 vervollständigt, und der Prozeßbetrieb springt zurück zum ursprünglichen Hauptprogramm. Wie oben beschrieben, fügt die CPU-Einheit 1A von Fig. 1 in wiederholter Weise die Prozeßoperationen durch, die definiert sind von einem Schritt 2014 bis zu einem Schritt 2017, unter einer normalen Bedingung, wie in Fig. 2 gezeigt. Wenn eine Interruptprozeßanforderung in Wert gestellt wird, führt die CPU-Einheit 1A den Interruptprogramm-Ausführungsprozeß 204 jedesmal durch, wenn dieser Interruptprozeß-Anforderung in Wert gestellt wird. Darauf springt der Prozeßbetrieb zurück zum Hauptprogramm.
Mit Bezug auf Fig. 4 wird eine Definition über Ein/Aus- Operationen einer Vorrichtung jetzt beschrieben werden. In Fig. 4 repräsentiert eine Bitvorrichtung X0 (401) ein Eingabesignal, abgeleitet von der Eingabe-/Ausgabe-Einheit. Am Beginn ist diese Bitvorrichtung unter einem Aus-Zustand, und wird geändert von aus auf ein zu einer bestimmten Zeit 402, nachdem Zeit verstrichen ist, und wird dann geändert von ein auf aus bei einer bestimmten Zeit 403, nachdem eine Zeit, die durch 405 bezeichnet ist, verstrichen ist, um dadurch in einen Aus-Zustand gebracht zu werden. Nachdem die Zeit, die durch 406 bezeichnet ist, verstrichen ist, wird diese Bitvorrichtung X0 wieder geändert von aus auf ein bei einer Zeit 404, und sie wird in einen Ein-Zustand gebracht. Der Ausdruck "Vorrichtungsintervall", der bei der vorliegenden Erfindung benutzt wird, impliziert entweder die Zeit 405, während der die Vorrichtung 401 im Ein-Zustand ist, oder die Zeit 406, während der die Vorrichtung 401 im Aus-Zustand ist.
Eine detaillierte Struktur des Daten-RAM 13A, das in Fig. 1 gezeigt ist, wird in Fig. 5 dargestellt und jetzt beschrieben werden. Fig. 5 bezeichnet Bezugszeichen 501 einen Bereich zum Speichern von Daten, benutzt zum Messen des Vorrichtungsintervalls. Bezugszeichen 5011 zeigt einen Vorrichtungscodebereich zum Speichern eines Codes, der benutzt wird zum Identifizieren solch einer zu messenden Vorrichtung. Bezugszeichen 5012 ist ein Meßbedingungsbereich zum Speichern eines Codes, der benutzt wird, um darzustellen, ob oder ob nicht die Zeitmessung ausgeführt wird, wenn die Vorrichtung unter einer bestimmten Bedingung ist. Bezugszeichen 5053 zeigt einen Vorrichtungsintervall- Meßflagbereich zum Speichern eines Codes, der benutzt wird, um zu zeigen, unter welcher Bedingung der Prozeßbetrieb des Vorrichtungsintervalls durchgeführt wird. Bezugszeichen 5014 ist eine Startzeit zum Speichern der Zeit, zu der die Messung des Vorrichtungsintervalls begonnen wird. Bezugszeichen 5015 zeigt einen Vorrichtungsintervall-Meßresultatbereich zum Speichern des gemessenen Vorrichtungsintervalls.
Ebenfalls zeigt Bezugszeichen 502 einen Bereich zum Speichern von Daten, benutzt zum Messen der Prozeßzeit des bezeichneten Abschnitts des Sequenzprogramms. Bezugszeichen 5021 repräsentiert einen Startschrittbereich zum Speichern eines Startschritts des bezeichneten Abschnitts. Bezugszeichen 5022 ist ein Endschrittbereich zum Speichern eines Endschritts des bezeichneten Abschnitts. Weiterhin zeigt Bezugszeichen 5023 einen Meßflagbereich eines bezeichneten Abschnittes zum Anzeigen, welche Bedingung des Meßflagprozesses durchgeführt wird. Bezugszeichen 5024 zeigt einen Startzeitbereich zum Speichern einer Zeit, wenn die Messung des bezeichneten Abschnitts durchgeführt wird. Bezugszeichen 5027 zeigt einen Prozeßzeitbereich für einen bezeichneten Abschnitt zum Speichern der Prozeßzeit des gemessenen bezeichneten Abschnitts.
Bezugszeichen 503 ist beim Bereich von Speichern von Daten, benutzt zum Messen einer Akkumulationsausführungszeit des Interruptprogramms. Bezugszeichen 5031 zeigt ein Interruptprogramm-Startzeitbereich zum Speichern der Startzeit, wenn das Interruptprogramm durchgeführt wird. Bezugszeichen 5032 ist ein Interruptprogramm-Akkumulierungs- Ausführungszeitbereich zum Speichern der Akkumulierungsausführungszeit des Interruptprogramms.
Weiterhin zeigt Bezugszeichen 504 einen Bereich zum Speichern von Daten, die benutzt werden zum Messen der Prozeßzeit des END-Prozesses. Bezugszeichen 5041 bezeichnet einen END- Prozeß-Startzeitbereich zum Speichern der Startzeit des END- Prozesses. Bezugszeichen 5043 ist ein END-Prozeß-Zeitbereich zum Speichern des Meßresultats der END-Prozeß-Zeit.
Bezugszeichen 505 repräsentiert einen Bereich zum Speichern von Daten, benutzt zum Messen der Prozeßzeit des Spezialeinheit-Serviceprozesses. Bezugszeichen 5051 bezeichnet einen Spezialeinheit-Serviceprozeß- Startzeitbereich zum Speichern der Startzeit des Spezialeinheit-Serviceprozeß. Bezugszeichen 5052 bezeichnet eine Spezialeinheit-Serviceprozeß-Zeitbereich zum Speichern des Meßresultats der Verarbeitungszeit des Spezialeinheitsservice.
Bezugszeichen 506 bezeichnet einen Interruptprogramm- Ausführungsanzahlbereich zum Speichern der Ausführungsanzahl des Interruptprogramms.
Bezugszeichen 507 bezeichnet einen Spezialeinheit- Serviceprozeß-Ausführungsanzahlbereich zum Speichern der Ausführungsanzahl des Spezialeinheit-Serviceprozeß.
Bezugszeichen 508 ist ein Interruptprogramm-Initiierungs- Intervallzeit zum Speichern einer Initiierungsintervallzeit des Intervallprogramms.
Bezugszeichen 509 zeigt einen Spezialeinheit-Serviceprozeß- Ausführungs-Intervallzeitbereich zum Speichern der Ausführungsintervallzeit des Spezialeinheitsservice.
Jetzt wird der Inhalt des Vorrichtungscodebereichs 5011 von Fig. 5, der benutzt wird zum Messen des Vorrichtungsintervalls gemäß einer Ausführungsform der vorliegenden Erfindung, dargestellt in Fig. 6 und dann erklärt werden. In diesem Vorrichtungscodebereich 5011 sind die Werte entsprechend der zu messenden Vorrichtung gespeichert. Wie in Fig. 6 gezeigt sind die Werte definiert durch eine serielle Zahl bezüglich aller Vorrichtungen, beispielsweise, daß die Nummern "0"-"999" zugeordnet sind zu den Bitvorrichtungen X0 bis X999, und die Nummern "1000"- "999" zugeordnet sind zu den Bitvorrichtungen Y0 bis Y999. Diese seriellen Nummern können eine Vorrichtung von den weiteren unterscheiden.
Bezüglich des Inhalts des Vorrichtungsintervall- Meßflagbereich 5012, wie gezeigt in Fig. 5, der benutzt wird zum Messen des Vorrichtungsintervalls, wie illustriert in Fig. 7, wird, wenn der Ein-Zustand bezeichnet ist als die Meßbedingung, 1 gespeichert in diesen Flagbereich. Wenn der Aus-Zustand bezeichnet ist als die Meßbedingung wird 0 gespeichert in diesem Flagbereich.
Fig. 8 repräsentiert ein Übergang des Inhalts des Vorrichtungsintervall-Meßflagbereich 501 von Fig. 5. In dieser Zeichnung wird unter einem Zustand 801, wenn die Meßanforderung in Wert gestellt wird von der externen peripheren Vorrichtung 2A, ein Wert von 0 in diesem Flagbereich 5013 gespeichert. Unter dem Zustand 802, wenn die Messung in der CPU-Einheit 1A begonnen wird, wird ein Wert von 1 gespeichert in den Flagbereich. Unter einem Zustand 803, wenn die Messung durch die CPU-Einheit 1a vervollständigt wird, wird ein Wert von 2 in den Flagbereich gespeichert.
Fig. 9 ist ein Flußplan zum Erkennen einer Sequenz zum Messen des Vorrichtungsintervalls gemäß einer Ausführungsform der vorliegenden Erfindung. Ein Schritt 901 und ein Schritt 910 repräsentieren Operationen durch den Benutzer bezüglich der externen peripheren Vorrichtung 2A. Ein Schritt 902 bis zu einem Schritt 909 repräsentieren Inhalte von Prozeßoperationen durch die externe periphere Vorrichtung 2A. Es sollte bemerkt werden, daß dieser Betrieb detailliert beschrieben werden wird.
Zunächst wird nun eine Beschreibung gemacht werden von Operationen, wenn das Vorrichtungsintervall entsprechend einer der internen Operationsbedingungen der CPU-Einheit 1A in seiner Ausführungsform der vorliegenden Erfindung durchgeführt wird, nämlich mit Bezug auf Fig. 1 bis Fig. 16, insbesondere Fig. 9. In Fig. 9 gibt, wenn die Messung des Vorrichtungsintervalls begonnen wird an einem Schritt 900, der Benutzer den Namen der Vorrichtung, die zu messen ist und die Meßbedingung durch eine Tastatur 2a bei einem Schritt 901 unter solcher Bedingung ein, daß ein in Fig. 10 gezeigter Schirm angezeigt wird in der externen peripheren Vorrichtung 2A, die in Fig. 1 gezeigt ist. Fig. 10 ist ein Beispiel des Schirms, der angezeigt wird durch die externe periphere Vorrichtung 2A, wenn das Vorrichtungsintervall gemessen wird. In Fig. 10 bezeichnet Bezugszeichen 1001 einen Bereich, in dem der Name der Vorrichtung, die zu messen ist, eingegeben wird. Bezugszeichen 1002 bezeichnet einen Bereich, in dem die Meßbedingung eingegeben wird. Es sollte bemerkt werden, daß bezüglich der Meßbedingung, wenn die Ein-Zustandszeit gemessen wird, die Ein-Zeit eingegeben werden kann, wohingegen wenn die Aus-Zustandszeit gemessen wird, die Aus-Zeit eingegeben werden kann. In dem Fall von Fig. 10 gibt der Benutzer X0 bezüglich der zu messenden Vorrichtung ein und gibt die Ein-Zeit bezüglich der Meßbedingung ein. Der Benutzer instruiert eine Messung der Zeitdauer, während der die Bitvorrichtung X0 eingeschaltet ist.
Wenn die oben beschriebenen Daten eingegeben sind, erzeugt die externe periphere Vorrichtung 2A Anforderungsdaten 1101, wie gezeigt in Fig. 11, und zwar basierend auf den eingegebenen Daten bei einem Schritt 902. Fig. 11 repräsentiert eine Struktur von Daten, die kommuniziert wird zwischen der externen peripheren Vorrichtung 2A und der CPU- Einheit 1A, nachdem die Daten, wie gezeigt in Fig. 10, eingestellt worden sind durch die externe periphere Vorrichtung 2A. Bezugszeichen 1101 repräsentiert eine Struktur von Anforderungsdaten, gesendet in der externen peripheren Vorrichtung 2A an die CPU-Einheit 1A. Bezugszeichen 11011 bezeichnet einen Anforderungscode, der benutzt wird zur Instruktion der Messung des Vorrichtungsintervalls. Bezugszeichen 11012 zeigt einen Vorrichtungscode, welche zu messen ist. Bezugszeichen 11013 bezeichnet einen Codes anzeigend die Meßbedingung. Bezugszeichen 1102 zeigt eine Struktur von Antwortdaten, gesendet von der CPU-Einheit 1A an die externe periphere Vorrichtung 2A ansprechend auf die Anforderungsdaten 101. Im Beispiel von Fig. 11 wird der Anforderungscode 11011 3, um die Vorrichtungsintervall-Meßanforderung anzuzeigen, der Vorrichtungscode 11012 wird 0, wie in Fig. 6 gezeigt, und die Meßbedingung wird 13, wie in Fig. 7 dargestellt. Als nächstes bei einem Schritt 903 werden diese Anforderungsdaten 1101 übertragen an die CPU-Einheit 1A, und bei einem Schritt 904 wird der Prozeßbetrieb in die Wartebedingung gebracht, bis die Antwortdaten von der CPU-Einheit 1A empfangen sind.
Die Operationen der CPU-Einheit 1A, wenn die Anforderungsdaten 1101 von der externen peripheren Vorrichtung 2A empfangen werden, werden jetzt beschrieben werden mittels von Flußplänen, gezeigt in Fig. 1 bis Fig. 3 und Fig. 13. Zunächst empfängt die CPU-Einheit 1A von Fig. 1, welche den in Fig. 2 gezeigten Hauptprogramm- Ausführungsprozeß 201 durchführt, die Anforderungsdaten 1101 von Fig. 11 im Kommunikationsprozeß 2031 mit der externen peripheren Vorrichtung 2A von Fig. 2, der Prozeßbetrieb ist abgezweigt zum Vorrichtungsintervall-Meßanforderungsprozeß 304 in Übereinstimmung mit der Anforderungscode 1101 im Prozeß 301, der in Fig. 3 gezeigt ist. Bei diesem Prozeß 304 wird der Prozeßbetrieb, der in Fig. 13 gezeigt ist, ausgeführt, und das anfängliche Einstellen durchgeführt zum Messen des Vorrichtungsintervalls.
Im Prozeßbetrieb, der in Fig. 13 angezeigt ist, wird der Prozeßbetrieb zunächst bei einem Schritt 1301 begonnen. Im Prozeß 13011 wird der Vorrichtungscode 11012 von Fig. 11 gespeichert in dem Vorrichtungscodebereich 5011 des Daten-RAM 13A, das in Fig. 5 gezeigt ist. Die Meßbedingung 11013 von Fig. 13 wird gespeichert in den Meßbedingungsbereich 5012 des Daten-RAM 13A von Fig. 5. Im Prozeß 13012 wird solch ein Wert von 0 zum Anzeigen, daß die Vorrichtungsintervall- Messungsanforderung in Wert gestellt ist, wie gezeigt in Fig. 8, gespeichert in dem Vorrichtungsintervall- Meßflagberreich 5013 des Daten-RAM 13A, das in Fig. 5 gezeigt ist. Beim nächsten Prozeß 13013 wird eine Beurteilung getroffen, ob die Meßbedingung 11013 von Fig. 13 unter dem Ein-Zustand oder dem Aus-Zustand liegt. Im Fall des Ein-Zustand wird der Prozeßbetrieb abgezweigt zu einem Prozeß 13013. Im Falles AUS-Zustandes wird der Prozeßbetrieb abgezweigt zu einem Prozeß 13015. Da die Meßbedingung unter einem Ein-Zustand in dem Beispiel von Fig. 10 ist, wird der Prozeßbetrieb zum Prozeß 13014 abgezweigt. Da in diesem Fall die Vorrichtungsintervallmessung begonnen wird, wenn die durch den Vorrichtungscode 11012 von Fig. 12 bezeichnete Vorrichtung sich von den Aus-Zustand auf den Ein-Zustand ändert, wird die Erfassungsbedingung der Datenvergleichsschaltung 19 von Fig. 19 von 1 auf eingeändert. Wenn die Meßbedingung 11013 von Fig. 11 unter einem Aus-Zustand ist, wird der Prozeßbetrieb abgezweigt vom Prozeß 13013 auf den Prozeß 13015. Da in diesem Prozeß 13015 die Vorrichtungsintervallmessung begonnen wird, wenn die durch den Vorrichtungscode 11012 von Fig. 12 bezeichnete Vorrichtung sich von ein auf aus ändert, wird die Erfassungsbedingung der Datenvergleichsschaltung 19 von Fig. 1 von ein auf aus geändert. Sogar wenn der Prozeßbetrieb abgezweigt wird auf jeglichen des Prozesses 13014 und des Prozesses 13015, schreitet dieser Prozeßbetrieb voran zu einem Prozeß 13016. Bei diesem Prozeß wird der Vorrichtungscode 11012 von Fig. 11 eingestellt auf die Datenvergleichsschaltung von Fig. 19 von Fig. 1. Letzthin bildet bei einem Prozeß 13017 die CPU-Einheit 1A solche Antwortdaten 1102 zum Anzeigen, daß der Vorrichtungsintervall-Meßanforderungsprozeß vervollständigt ist. Dann überträgt die CPU-Einheit 1A die Antwortdaten an die externe periphere Vorrichtung 2A und der Prozeßbetrieb wird bei einem Schritt 1308 beendet.
Nachdem die oben beschriebenen Prozeßoperationen ausgeführt worden sind, führt die CPU-Einheit 1A den Prozeßbetrieb folgend dem Spezialeinheit-Serviceprozeß 2032, gezeigt in Fig. 2, aus, führt dann wiederholt den Sequenzprozeß 202 und den END-Prozeß 203 auf eine ähnliche Art und Weise wie die beim herkömmlichen System. Während dieser wiederholten Ausführung stellt, wenn die Bedingung der durch den Vorrichtungscode 11012 von Fig. 11 bezeichneten Vorrichtung sich in eine solche Bedingung ändert, die eingestellt ist für die Erfassungsbedingung der Datenvergleichsschaltung 19 von Fig. 1, die Datenvergleichsschaltung 19 ein Interruptsignal an die CPU 10 von Fig. 1 in Wert. Beim Empfang dieses Interruptsignals unterbricht die CPU 10 die Ausführung des Hauptprogramms, und somit bewegt sich der Prozeßbetrieb zum Interruptprozeß 1501, der in Fig. 15 gezeigt ist.
Fig. 15 illustriert solch einen Prozeßbetrieb, daß der Interrupt in Wert gestellt wird von der Datenvergleichsschaltung 19 von Fig. 1, während der Messung des Vorrichtungsintervalls. Bei diesem Interruptprozeßbetrieb 1501 wird eine Prüfung durchgeführt bei einem Prozeß 15011, ob oder ob nicht der Inhalt des Vorrichtungsintervalls-Meßflagbereichs 5013 gleich Null ist. Da der gegenwärtige Inhalt gleich Null ist, verzweigt der Prozeßbetrieb zum nächsten Prozeß 15012. Beim Prozeß 15012 wird der gegenwärtige Wert des internen Zeitgebers 21A, der in Fig. 1 gezeigt ist, gespeichert in den Startzeitbereich 5014. Beim folgenden Prozeß 15013 wird die Inversionsbedingung der Erfassungsbedingung, die in der Datenvergleichsschaltung 19 von Fig. 1 eingestellt ist, eingestellt auf die Datenvergleichsschaltung 19 als die Erfassungsbedingung, nämlich falls aus zu ein, dann ein zu aus, oder falls ein zu aus, dann aus zu ein. Bei einem Prozeß 15014 wird ein Wert von 1, anzeigend den Meßstart, gespeichert in den Vorrichtungsintervall-Meßflagbereich 5013 von Fig. 5, wodurch der Interruptprozeß vervollständigt wird.
Bei Vervollständigung dieses Interruptprozesses 1501 startet die CPU 10 den Betrieb des Hauptprogrammes 9 bei dem Schritt, bei dem dieses Hauptprogramm 201 von Fig. 2 unterbrochen ist. Wenn darauffolgend die Bedingung der durch den Vorrichtungscode 5012 von Fig. 5 bezeichneten Vorrichtung sich ändert, erzeugt die Datenvergleichsschaltung 19 von Fig. 1 das Interruptsignal. Daraus resultierend unterbricht die CPU 10 die Ausführung des Hauptprogramms, und dann schreitet der Prozeßbetrieb voran zum Interruptprozeß 1501.
Da beim Interruptprozeß 1501 von Fig. 15 der Inhalt des Vorrichtungsintervall-Meßflags 5013 von Fig. 5 gleich 1 zu dieser Zeit ist und ebenfalls der Prozeßbetrieb bei Schritt 15011 unterbrochen ist, verzweigt der Prozeßbetrieb zum Prozeß 15015. Bei diesem Schritt wird der im Startzeitbereich 5014 von Fig. 5 gespeicherte Wert subtrahiert vom gegenwärtigen Wert des internen Zeitgebers 21A, der in Fig. 1 gezeigt ist, und das Subtraktionsresultat wird gespeichert im Vorrichtungsintervall-Meßresultatbereich 5015 von Fig. 5. Wenn die resultierende subtrahierte Zeit beispielsweise 30m ist, wird ein Wert von 30 gespeichert in dem Vorrichtungsintervall-Meßresultatbereich 5015 von Fig. 5. Letzthin wird ein Wert von 2 zum Anzeigen einer Vervollständigung einer Messung gespeichert im das Vorrichtungsintervall-Meßflag 5013 von Fig. 5 bei einem Prozeß 15016, und dann ist der Interruptprozeß bewerkstelligt bei einem Schritt 15017.
Eine Reihe der oben beschriebenen Prozeßoperationen wurde vollständig bewerkstelligt, so daß die CPU-Einheit 1A die Messung des Vorrichtungsintervalls vervollständigen kann. Andererseits liest bei Empfang der Antwortdaten 1102, angezeigt in Fig. 11, die externe periphere Vorrichtung 2A das Meßresultat des Vorrichtungsintervalls bei einem Schritt 905 von Fig. 9 aus. Darauf resultierend bildet die externe periphere Vorrichtung 2A Anforderungsdaten 1201, die in Fig. 1 gezeigt sind, überträgt diese Anforderungsdaten 1201 an die CPU-Einheit 1A bei einem Schritt 906, und wird in die Wartebedingung gebracht, bis die Antwortdaten von CPU-Einheit 1A bei einem Schritt 907 empfangen werden. Es sollte bemerkt werden, daß Fig. 12 eine Struktur von Daten repräsentiert, die mit der CPU-Einheit 1A kommuniziert werden, nachdem die Antwortdaten 1102 wie gezeigt in Fig. 11, durch die externe periphere Vorrichtung 2A empfangen sind. Bezugszeichen 1201 zeigt eine Struktur von Antwortdaten, die von der externen peripheren Vorrichtung 2A an die CPU-Einheit 1A gesandt werden. Bezugszeichen 12011 zeigt einen Anforderungscode zum Instruieren eines Lesens des Meßresultat des Vorrichtungsintervalls. Bezugszeichen 1201 zeigt eine Struktur solcher Antwortdaten zum Anzeigen einer Vervollständigung der Messung, welche ausgesandt werden von der CPU-Einheit 1A an die externe periphere Vorrichtung 2A ansprechend auf die Anforderungsdaten 1201. Diese Antwortdaten werden arrangiert durch einen Wert von 1, darstellend eine Vervollständigung der Messung, und das Meßresultat 12021 des Vorrichtungsintervalls. Bezugszeichen 1203 zeigt eine Struktur von Antwortdaten, die von der CPU- Einheit an die externe periphere Vorrichtung 2A ansprechend an die Anforderungsdaten 1201 gesendet werden und repräsentiert, daß das Vorrichtungsintervall unter Messung steht. Diese Antwortdaten werden durch einen Wert von Null arrangiert, anzeigend, daß sie unter Messung sind.
Operationen der CPU-Einheit 1A, wenn die Anforderungsdaten 1201, die von der externen peripheren Vorrichtung 2A in Wert gestellt werden, empfangen werden, werden jetzt beschrieben werden mit Bezug auf einen Flußplan, der in Fig. 1 bis Fig. 3 und Fig. 14 gezeigt ist. Fig. 14 ist solch ein Flußplan zum Erklären des Vorrichtungsintervallzeit- Leseprozeßbetriebs 305, der zusätzlich vorgesehen ist in Fig. 3 zum Messen des Vorrichtungsintervalls. Dieser Flußplan repräsentiert Prozeßoperationen der CPU-Einheit 1A, wenn die in Fig. 12 gezeigten Anforderungsdaten gesandt werden. Zunächst empfängt die CPU-Einheit 1A die Anforderungsdaten 1201 von Fig. 12 im Kommunikationsprozeß 2031 mit der externen peripheren Vorrichtung, die in Fig. 2 gezeigt ist. Dann zweigt beim Prozeß 301, der in Fig. 3 gezeigt ist, der Prozeßbetrieb zum Vorrichtungsintervall­ zeit-Leseprozeß 305 in Übereinstimmung mit dem Anforderungscode 12011 von Fig. 12. Bei diesem Prozeß 305 wird der Prozeßbetrieb, der in Fig. 14 gezeigt ist, gestartet, bei einem Schritt 1401 durchgeführt zu werden. Bei einem Prozeß 14011 wird eine Prüfung getätig 75650 00070 552 001000280000000200012000285917553900040 0002019539353 00004 75531t, ob oder ob nicht der Inhalt des Vorrichtungsintervall-Meßflagbereichs 5013 von Fig. 5 gleich 2 ist, nämlich die Messung des Vorrichtungsintervalls vervollständigt ist. Falls ja, dann wird der Wert aus gelesen von dem Vorrichtungsintervall- Meßresultatbereich 5015 von Fig. 5 bei einem Prozeß 14012. Bei einem Prozeß 14013 werden Antwortdaten von Fig. 12, welche eines Vervollständigung der Messung anzeigen, gebildet, und dann übertragen an die externe periphere Vorrichtung 2A. Wenn beispielsweise der in dem Vorrichtungsintervall-Meßresultatbereich 5015 von Fig. 5 gespeicherte Wert gleich 30 ist, wird solch ein Wert von 30 übertragen, der der Vorrichtungsintervallzeit 12021 der Antwortdaten 1202 entspricht. Wenn die Messung des Vorrichtungsintervalls noch nicht vervollständigt ist, verzweigt der Prozeßbetrieb von dem Prozeß 14011 zum Prozeß 14014, bei dem die Antwortdaten 1203 von Fig. 12, welche anzeigen, daß eine Messung stattfindet, erzeugt. Diese Antwortdaten werden gesandt an die externe periphere Vorrichtung 2, und dieser Prozeßbetrieb endet bei einem Schritt 14015.
Andererseits wird in der externen peripheren Vorrichtung 2A eine Prüfung durchgeführt bei einem Schritt 908 von Fig. 9, ob oder ob nicht die von der CPU-Einheit 1A empfangenen Daten den Antwortdaten 1202 zum Anzeigen einer Vervollständigung der Messung, wie gezeigt in Fig. 12, entsprechen. D.h. ob oder ob nicht der Kopf der Antwortdaten einem Wert von 1 entspricht. Falls ja, dann wird bei einem Schritt 909 das Vorrichtungsintervall-Meßresultat 12021, das in den Antwortdaten 1202 enthalten ist, angezeigt im Meßresultat- Anzeigebereich 1601 auf dem Anzeigeschirm, wie gezeigt in Fig. 16. Bei einem Schritt 910 kann der Benutzer das Meßresultat von dem Vorrichtungsintervall vom Schirm der externen peripheren Vorrichtung 2A auslesen. Ebenfalls werden, wenn so beurteilt beim Schritt 908 daß die Antwortdaten 1203 zum Anzeigen, daß eine Messung stattfindet, wie gezeigt in Fig. 12, empfangen werden, die Anforderungen und Daten wieder übertragen an die CPU-Einheit 1A bis die Antwortdaten 1202 zum Anzeigen einer Vervollständigung der Messung empfangen werden, so daß die Prozeßoperationen, bis die Antwortdaten 1202 empfangen werden, wiederholt werden.
Wie zuvor erwähnt, wird in Übereinstimmung mit Ausführungsform 1 der vorliegenden Erfindung der Prozeßbetrieb zum Messen des Vorrichtungsintervalls im voraus bereitet und gespeichert im System-ROM 12A der CPU 1A. Dementsprechend muß der Benutzer nicht solch eine lästige Arbeit durchführen, daß das Sequenzprogramm zum Messen des Vorrichtungsintervalls hinzugefügt wird, sondern kann das Vorrichtungsintervall schnell messen.
Ausführungsform 2
Als nächstes wird ein Verfahren zum Messen einer Prozeßzeit des bezeichneten Abschnitts im Sequenzprogramm als ein Beispiel der internen Bedingungen der CPU-Einheit 1A jetzt beschrieben werden mit Bezug auf Fig. 1 bis 3, Fig. 5 und Fig. 17 bis 25.
Fig. 17 zeigt ein Beispiel des Sequenzprogramm, das durch eine Liste angezeigt ist, welches im Sequenzprogrammspeicher 11 bei Fig. 1 gespeichert. In dieser Zeichnung zeigt die linke Seite Schritt 1701, und die rechte Seite 1012 beschrieben für die jeweiligen Schritt 1701. Es sollte bemerkt werden, daß bei dieser Ausführungsform diese Messung ausgeführt wird von 100 bis 150 der Schritte 1701 im in Fig. 17 gezeigten Sequenzprogramm.
Fig. 18 ist ein Flußplan zum Erklären einer Sequenz des Messens der Prozeßzeit des bezeichneten Abschnitts der Ausführungsform 2 der vorliegenden Erfindung. In diesem Flußplan zeigen Schritt 1801 und 1810 einen Benutzerbetrieb für die externe periphere Vorrichtung 2A, und Schritt 1802 bis 1809 repräsentieren verarbeitete Inhalte durch die externe periphere Vorrichtung 2A, welche detailliert beschrieben werden.
In Übereinstimmung mit dem Flußplan von Fig. 18 werden Operationen, wenn die Prozeßzeit des bezeichneten Abschnitts im Sequenzprogramm gemessen wird, jetzt beschrieben werden mit Bezug auf Fig. 1 bis Fig. 3, Fig. 5 und Fig. 17 bis Fig. 25. Das in Fig. 17 gezeigte Sequenzprogramm wird sequentiell ausgeführt im Sequenzprozeß 202 von Fig. 2 vom Nullschritt zum 1000-Schritt entsprechend dem FEND-Befehl. Im Fall, daß die Prozeßzeit gemessen werden soll bei den Prozeßoperationen des Sequenzprogramms, definiert vom 100- Schritt zum 150-Schritt, wird der Prozeßbetrieb bei einem Schritt 1800 von Fig. 18 begonnen. Dann bei einem Schritt 1801 gibt der Benutzer den Startschritt und den Endschritt des bezeichneten Abschnitts, der zu messen ist, über die Tastatur 2a unter solch einer Bedingung ein, daß der in Fig. 19 gezeigte Schirm angezeigt wird in der externen peripheren Vorrichtung 2A von Fig. 1. Fig. 19 zeigt ein Beispiel eines Schirms, der angezeigt wird, auf der externen peripheren Vorrichtung 2A, wenn die Prozeßzeit des bezeichneten Abschnitts gemessen wird. Bei dieser Zeichnung bezeichnet Bezugszeichen 1901 einen Bereich zum Eingeben des Startschritts des bezeichneten Abschnitts darin, der zu messen ist. Bezugszeichen 1902 bezeichnet einen Bereich zum Eingeben darin des Endschritts des bezeichneten Abschnitts. In diesem Beispiel von Fig. 19 gibt der Benutzer 100 als den Startschritt ein, und 150 als den Endschritt. Das impliziert, daß die Prozeßzeit, die definiert ist vom 100-Schritt zum 150-Schritt des in Fig. 19 gezeigten Sequenzprogramms gemessen wird.
Wenn die oben beschriebenen Daten eingegeben sind, schreitet der Prozeßbetrieb voran zum nächsten Schritt 1802. Bei diesem Schritt bildet die externe periphere Vorrichtung 2A von Fig. 1 Anforderungsdaten 2001, wie gezeigt in Fig. 20, basierend auf den eingegebenen Daten. Hier repräsentiert Fig. 20 eine Struktur von Daten, die kommuniziert wird zwischen der externen peripheren Vorrichtung 2A und der CPU- Einheit 1A, nachdem der Dateneinstellbetrieb, wie gezeigt in Fig. 19, ausgeführt wird durch die externe periphere Vorrichtung 2A. In Fig. 20 zeigt Bezugszeichen 20011 eine Struktur von Anforderungsdaten, gesendet von der externen peripheren Vorrichtung 2A an die CPU-Einheit 1A, Bezugszeichen 20012 zeigt einen Startschritt des bezeichneten Abschnitts und Bezugszeichen 20013 bezeichnet einen Endschritt des bezeichneten Abschnitts. Bezugszeichen 2002 ist eine Struktur von Antwortdaten, übertragen von der CPU- Einheit 1A an die externe periphere Vorrichtung 2A, und zwar ansprechend auf die Anforderungsdaten 201. Im Fall von Fig. 19 wird der Befehlscode 20011 zum Anzeigen einer Anforderung zum Messen der Prozeßzeit des bezeichneten Abschnitts, der Startschritt 20012 wird 100, und der Endschritt 20013 wird 150. Als nächstes werden bei einem Schritt 1803 diese Anforderungsdaten 2001 an die CPU-Einheit 1A übertragen, und bei einem Schritt 1804 wird der Prozeßbetrieb in die Wartebedingung gebracht, bis die Antwortdaten, die von der CPU-Einheit 1A in Wert gestellt werden, empfangen werden.
Jetzt wird eine Beschreibung gemacht werden von Operationen der CPU-Einheit 1A, wenn die Anforderungsdaten 2001 empfangen werden von der externen peripheren Vorrichtung 2A, und zwar mit Bezugs auf Fig. 1 bis Fig. 3 und einen Flußplan von Fig. 22. Zunächst empfängt die CPU-Einheit 1A, welche den Hauptprogramm-Ausführungsprozeß 201, der in Fig. 2 gezeigt ist, ausführt, die Anforderungsdaten 2001 im Kommunikationsprozeß 2013 mit der externen peripheren Vorrichtung 2A von Fig. 2, und der Prozeßbetrieb verzweigt zum Prozeßzeit-Meßanforderungsprozeß 306 für den bezeichneten Abschnitt in Übereinstimmung mit dem Anforderungscode 20011 im Prozeß 301, der in Fig. 3 gezeigt ist. In diesem Prozeß 306 wird der in einem Schritt 2201 von Fig. 22 gezeigte Prozeßbetrieb ausgeführt. Im ersten Prozeß 22011 wird der Startschritt 20012 von Fig. 20 gespeichert in den Startschrittbereich 5021 des Daten-RAM 13A von Fig. 5, wohingegen der Endschritt 20013 von Fig. 20 gespeichert wird in den Endschrittbereich 5022 des Daten-RAM 13A von Fig. 5. In einem Prozeß 20012 wird ein Wert von 0, der anzeigt, daß die Prozeßzeit-Meßanforderung des bezeichneten Abschnitts in Wert gestellt ist und gespeichert ist in Meßflagbereich des bezeichneten Abschnitts 5023 des Daten-RAM 13A von Fig. 5. Beim nächsten Prozeß 20013 wird der Wert 100 des Startschrittbereichs 5021 von Fig. 5 eingestellt auf die Adreßschaltung 18 von Fig. 1. Letzthin bei einem Prozeß 22014 bildet die CPU-Einheit 1A solche Antwortdaten 2002 zum Anzeigen, daß der Prozeßzeitmeß- Anforderungsprozeß des bezeichneten Abschnitts vervollständigt ist. Dann überträgt die CPU-Einheit 1A diese Antwortdaten an die externe periphere Vorrichtung 2A, und der Prozeßbetrieb endet bei einem Schritt 22015.
Nachdem die oben beschriebenen Prozeßoperationen ausgeführt worden sind führt die CPU-Einheit 1A den Prozeßbetrieb folgend dem Spezialeinheit-Serviceprozeß 2032, der in Fig. 2 gezeigt ist, durch, und führt dann wieder den Sequenzprozeß 202 durch. Während dieser Sequenzprozeß 202 ausgeführt wird, wenn der durch den Startschritt 20012 von Fig. 20 bezeichnete Schritt ausgeführt wird, nämlich die Anweisung beim 100ten Schritt ausgeführt wird, stellt die Adressenvergleichsschaltung 18 von Fig. 1 ein Interruptsignal an die CPU 10 in Wert. Wenn dieses Interruptsignal empfangen wird, unterbricht die CPU 10 die Ausführung des Sequenzprozesses 202 von Fig. 2, und der Prozeßbetrieb schreitet voran zum Interruptprozeß 2401, der in Fig. 24 gezeigt ist.
Bei diesem Prozeßbetrieb 2401 wird eine Prüfung durchgeführt bei einem Prozeß 24011, ob oder ob nicht der Inhalt des Meßflagbereichs für den bezeichneten Abschnitt 5023 gleich 0 ist. Da der vorliegende Inhalt gleich 0 ist, verzweigt der Prozeßbetrieb zum nächsten Prozeß 24012. Beim nächsten Prozeß 24012 wird der gegenwärtige Wert des internen Zeitgebers 21A, wie gezeigt in Fig. 1, gespeichert in den Startzeitbereich 5024 von Fig. 5. Beim folgenden Prozeß 24013 wird ein Wert von 151, der erhalten wird durch Addieren von 1 zum Wert von 150, der im Endschrittbereich 5022 von Fig. 5 eingestellt ist eingestellt in der Adressenvergleichsschaltung 18 von Fig. 1. Der Grund, warum der Wert von 1 hinzugefügt wird zum Endschritt, ist, die Prozeßzeit zu messen, unmittelbar bevor der nächste 151- Schritt ausgeführt wird und die Prozesse bis zum 150-Schritt ausgeführt werden. Bei einem Prozeß 24014 wird ein Wert zum Anzeigen des Meßstarts gespeichert im Meßflagbereich für den bezeichneten Abschnitt 23 von Fig. 5, wodurch der Interruptprozeß beendet wird.
Bei Vervollständigung dieses Interruptprozesses 2401 startet die CPU 10 die Ausführung des Hauptprogramms 9 an einem Schritt, an dem das Sequenzprogramm 202 von Fig. 2 unterbrochen wird. Wenn darauffolgend der auf die Adressenvergleichsschaltung 18 von Fig. 1 eingestellte Schritt, nämlich in der 151-Schritt des Endschrittes + 1 ausgeführt wird, erzeugt die Adressenvergleichsschaltung 18 von Fig. 1 das Interruptsignal. Daraus resultierend unterbricht die CPU die Ausführung des Sequenzprogramms 2 und dann schreitet der Prozeßbetrieb voran zum Interruptprozeß 2401.
Da beim Interruptprozeß 2401 der Inhalt des Meßflags für den bezeichneten Abschnitt 5023 von Fig. 5 zu dieser Zeit gleich 1 ist und ebenfalls das beurteilte Resultat beim Prozeß 24011 getroffen wird, verzweigt der Prozeßbetrieb zum Prozeß 24015. Bei diesem Schritt wird der im Startzeitbereich 5024 von Fig. 5 gespeicherte Wert subtrahiert vom vorliegenden Wert des internen Zeitgebers 21A, der in Fig. 1 gezeigt ist, und das Subtraktionsresultat wird gespeichert in den Meßresultatbereich für den bezeichneten Abschnitt 5025 von Fig. 5. Wenn die resultierende subtrahierte Zeit beispielsweise 8 ms ist, wird ein Wert von 9 gespeichert in den Meßzeitbereich für den bezeichneten Abschnitt 5025 von Fig. 5. Letzthin wird ein Wert von 2 zum Anzeigen einer Vervollständigung der Messung gespeichert in das Meßflag für den bezeichneten Bereich 5023 von Fig. 5 bei einem Prozeß 24016 und dann ist der Interruptprozeß bei einem Schritt 24018 bewerkstelligt.
Eine Reihe der oben beschriebenen Prozeßoperationen wurde komplett vervollständigt, so daß die CPU-Einheit 1A die Messung der Prozeßzeit des bezeichneten Abschnitts vervollständigen kann. Andererseits liest beim Empfang der Antwortdaten 2002, bezeichnet in Fig. 20, die externe periphere Vorrichtung 2A das Meßresultat der Prozeßzeit des bezeichneten Abschnittes an einem Schritt 1805 von Fig. 18 aus. Daraus resultierend bildet die externe periphere Vorrichtung 2A Anforderungsdaten 2101, wie gezeigt in Fig. 21, überträgt diese Anforderungsdaten 2101 an die CPU-Einheit 1A bei einem Schritt 1806, und wird in die Wartebedingung gebracht, bis die Antwortdaten der CPU-Einheit 1A empfangen werden bei einem Schritt 1807. Es sollte bemerkt werden, daß Fig. 21 eine Struktur von Daten repräsentiert, die kommuniziert werden mit der CPU-Einheit 1A, nachdem die Antwortdaten 2002, wie gezeigt in Fig. 20, empfangen werden durch die externe periphere Vorrichtung 20A. Bezugszeichen 2101 zeigt eine Struktur von Anforderungsdaten, gesendet von der externen peripheren Vorrichtung 2A an die CPU-Einheit 1A. Bezugszeichen 21011 bezeichnet einen Anforderungscode zum Instruieren eines Lesens eines Meßresultats der Prozeßzeit für den bezeichneten Abschnitt. Bezugszeichen 2102 zeigt eine Struktur solcher Antwortdaten zum Anzeigen einer Vervollständigung der Messung, welche von der CPU-Einheit 1A an die externe periphere Vorrichtung 1A ansprechend auf die Anforderungsdaten 2101 gesendet werden. Bezugszeichen 21021 zeigt ein Meßresultat der Prozeßzeit für den bezeichneten Abschnitt) Bezugszeichen 2103 zeigt eine Struktur von Antwortdaten, die von der CPU-Einheit 1A an die externe periphere Vorrichtung 2A ansprechend auf die Anforderungsdaten 2101 gesendet werden, und repräsentiert, da es die Prozeßzeit für einen bezeichneten Abschnitt unter Messung steht.
Operationen der CPU-Einheit 1A, wenn die Anforderungsdaten 2101, die von der externen peripheren Vorrichtung 2A in Wert gestellt werden, empfangen werden, werden jetzt beschrieben werden mit Bezug auf einen Flußplan, der in Fig. 1 bis 3 und Fig. 23 gezeigt ist. Zunächst empfängt die CPU-Einheit 1A die Anforderungsdaten 2001 von Fig. 20 in Kommunikationsprozeß 2031 mit der externen peripheren Vorrichtung, die in Fig. 2 gezeigt ist. Dann verzweigt im Prozeß 301, der in Fig. 3 gezeigt ist, der Prozeßbetrieb zum Prozeß 307 zum Auslesen der Prozeßzeit des in Fig. 3 gezeigten bezeichneten Abschnitts. Bei diesem Prozeß 307 startet der Prozeßbetrieb, der in Fig. 23 gezeigt ist, um durchgeführt zu werden. Bei einem Prozeß 23011 wird eine Prüfung gemacht, ob oder ob nicht der Inhalt des Meßflagbereichs für den bezeichneten Abschnitt 5023 von Fig. 5 gleich 2 ist, nämlich die Messung der Prozeßzeit für den bezeichneten Abschnitt vervollständigt ist. Falls JA, dann wird der Wert ausgelesen von dem Prozeßzeitbereich für den bezeichneten Abschnitt 5025, und Fig. 5, und zwar bei einem Prozeß 23012. Bei einem Prozeß 23013 werden Antwortdaten 2102 von Fig. 12, welche eine Vervollständigung der Messung anzeigt, gebildet, und werden dann übertragen an die externe periphere Vorrichtung 2A. Wenn beispielsweise der in dem Prozeßzeitbereich für den bezeichneten Abschnitt 5025 von Fig. 5 gespeicherte Wert gleich 8 ist, wird solch ein Wert von 8 übertragen, der der Prozeßzeit für den gespeicherten Abschnitt 21021 der Antwortdaten 2102 entspricht. Wenn die Messung der Prozeßeinheit für den bezeichneten Abschnitt noch nicht vervollständigt ist, verzweigt der Prozeßbetrieb von dem Prozeß 23011 zum Prozeß 23014, bei dem die Antwortdaten 2103 von Fig. 21, welche zeigen, daß eine Messung stattfindet, erzeugt werden. Diese Antwortdaten werden gesandt an die externe periphere Vorrichtung 2A und dieser Prozeßbetrieb endet bei einem Schritt 23015.
Andererseits wird bei der externen peripheren Vorrichtung 2A eine Prüfung durchgeführt bei einem Schritt 1808, ob oder ob nicht die von der CPU-Einheit 1A empfangenen Antwortdaten den Antwortdaten 2102 zum Anzeigen einer Vervollständigung der in Fig. 21 gezeigten Messung entsprechen. Falls JA, dann wird bei einem Schritt 1809 die Prozeßzeit 21021 des bezeichneten Abschnitts, enthalten in den Antwortdaten 2102, angezeigt in Meßresultat-Anzeigbereich 2501 auf dem Anzeigeschirm, was in Fig. 25 gezeigt ist. Bei einem Schritt 1810 kann der Benutzer die Meßresultate der Prozeßzeit für den bezeichneten Abschnitt von dem Schirm der externen peripheren Vorrichtung 2A auslesen. Ebenfalls werden, wenn so beurteilt wird, daß die Antwortdaten 2103 zum Anzeigen, daß eine Messung stattfindet, wie gezeigt in Fig. 21, empfangen werden, die Anforderungsdaten 2101 wieder übertragen an die CPU-Einheit 1A, bis die Antwortdaten 2101 zum Anzeigen einer Vervollständigung der Messung empfangen werden, so daß die Prozeßoperationen, bis die Antwortdaten 2102 empfangen werden, wiederholt werden.
Wie oben beschrieben wurde, wird in Übereinstimmung mit der Ausführungsform 2 der vorliegenden Erfindung der Prozeßbetrieb zum Messen der Prozeßzeit des bezeichneten Abschnittes im voraus bereitet und gespeichert im System-ROM 12A der CPU 1A. Dementsprechend muß der Benutzer nicht solch einen lästigen Betrieb durchführen, daß das Programm zum Messen des bezeichneten Bereichs des Sequenzprogramms zugefügt wird, sondern kann schnell die Prozeßzeit des bezeichneten Bereichs messen. Herkömmlichermaßen werden zwei Sätze der Adressenvergleichsschaltung 18 verwendet zum Messen des bezeichneten Abschnitts. Doch kann es gemäß dieser Ausführungsform realisiert werden durch Verwendung von nur einer Adressenvergleichsschaltung, so daß H/W des PC einfach bei niedrigen Kosten gemacht werden kann.
Ausführungsform 3
Jetzt wird mit Bezug auf Fig. 1 bis 3, Fig. 5 und Fig. 26 bis 29 eine Beschreibung gegeben werden von einem Verfahren zum Messen einer akkumulierten Ausführungszeit der Interruptprogramms, und zwar entsprechend einem Beispiel der internen Bedingungen der CPU-Einheit 1A.
Fig. 26 ist ein Flußplan zum Erklären einer Einrichtung zum Messen der akkumulierten Ausführungszeit des Interruptprogramms gemäß Ausführungsform 3 der vorliegenden Erfindung.
In diesem Flußplan zeigen Schritte 2601 und 2606 eine Operation durch den Benutzer für die externe periphere Vorrichtung 2A und einen Schritt 1602 bis zu einem Schritt 1605 repräsentiert einen Prozeßinhalt der externen peripheren Vorrichtung 2A, wovon eine detaillierte Beschreibung jetzt gemacht werden wird.
Operationen, wenn die akkumulierte Ausführungszeit des Interruptprogramms gemessen wird in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung, werden jetzt erklärt werden mit Benutzung von Fig. 1, Fig. 2 und Fig. 5. Zunächst beginnt in Fig. 2 die CPU-Einheit 1a von Fig. 1, den Hauptprogramm-Ausführungsprozeß 201. Bevor der Sequenzprozeß 202 ausgeführt wird, wird 0 gespeichert im Programm-Akkumulationszeitbereich 5032 des Daten-RAM 13A von Fig. 5 bei einem Prozeß 2014. Dann wird, wenn ein Interruptaspekt auftritt während Ausführung des Sequenzprozesses 202, der Interruptprogramm- Ausführungsprozeß 204 ausgeführt. Bei einem Prozeß 2043 wird der gegenwärtige Wert des internen Zeitgebers 21A gespeichert im Interruptprogramm-Startzeitbereich 5031 des Daten-RAM 13A von Fig. 5. Dann wird, nachdem die herkömmlichen Interruptprogramm-Ausführungsprozesse 5141 bis 5144 durchgeführt sind, der in Interruptprogrammprozeß- Startzeitbereich 5031 gespeicherte Wert von Fig. 5 subtrahiert von der gegenwärtigen Zeit des internen Zeitgebers 21A von Fig. 1. Das Subtraktionsresultat wird addiert mit einem Interruptprogramm-Akkumulationszeitbereich 5032 von in Figur gespeichertem Wert. Dann wird das Additionsresultat gespeichert im Akkumulations- Ausführungszeitbereich 5032 für das Interruptprogramm von Fig. 5.
Während der Sequenzprozeß 202 von Fig. 2 ausgeführt wird, wird die Prozeßzeit, die erforderlich ist für ein einzelnes Interruptprogramm 4, hinzugefügt zum Akkumulations- Ausführungszeitbereich 503 des Interruptprogramms 204 von Fig. 5, und zwar jedesmal wenn das Interruptprogramm ausgeführt wird. Wenn die Ausführung des Sequenzprozesses beendet ist, werden die gesamten Prozeßdaten des Interruptprogramms gespeichert im Akkummunlations- Ausführungszeitbereichs 5032 des Interruptprogramms 204 in Fig. 5. Daraus resultierend kann die CPU 1A die Messung der akkumulierten Ausführungszeit des Interruptprogramms 204 beenden, welches während eines einzelnen Sequenzprozesses ausgeführt wird.
Somit werden Operationen zum Lesen der akkumulierten Ausführungszeit des Interruptprogramms 204, gemessen durch die CPU-Einheit 1A durch den Benutzer jetzt beschrieben werden mit Bezug auf Fig. 26. Bei einem ersten Schritt 2600 wird der Prozeßbetrieb begonnen. Bei einem Schritt 2600 instruiert der Benutzer die externe periphere Vorrichtung 2A zum Überwachen der akkumulierten Ausführungszeit über die Tastatur 2a der externen peripheren Vorrichtung 2A. Die externe periphere Vorrichtung 2A, welche diese Instruktion empfangen hat, erzeugt Anforderungsdaten 2701, wie gezeigt in Fig. 27, um somit die akkumulierte Ausführungszeit des Interruptprogramms bei einem Schritt 2602 zu lesen. Bei einem Schritt 2603 sendet die externe periphere Vorrichtung 2A die Anforderungsdaten 2701 an die CPU-Einheit 1A und wartet auf den Empfang der Antwortdaten von der CPU-Einheit 1A. Es sollte bemerkt werden, daß Fig. 27 eine Struktur von Daten zeigt, die mit der CPU-Einheit 1A kommuniziert werden, so daß die externe periphere Vorrichtung 2A die Meßresultate der akkumulierten Ausführungszeit des Interruptprogramms von der CPU-Einheit 1A ausliest. Bezugszeichen 2701 zeigt eine Struktur von Anforderungsdaten, gesendet von der externen peripheren Vorrichtung 2A ein CPU-Einheit 1A, Bezugszeichen 27011 zeigt einen Anforderungscode zum Instruieren des Auslesens der akkumulierten Ausführungszeit des Interruptprogramms. Bezugszeichen 2702 zeigt eine Struktur von Antwortdaten, gesendet von der CPU-Einheit 1A an die externe periphere Vorrichtung 2A auf die Anforderungsdaten 2701. Bezugszeichen 27021 ist ein Meßresultat der akkumulierten Ausführungszeit des Interruptprogramms.
Jetzt wird eine Beschreibung gemacht werden von Operationen der CPU-Einheit 1A, wenn die Anforderungsdaten 2701 empfangen werden von der externen peripheren Vorrichtung 2A mit bezug auf Fig. 1 bis Fig. 3, und Flußpläne von Fig. 5 und Fig. 28. Fig. 28 ist ein Flußplan zum Erklären eines Prozeßbetrieb zum Lesen der Interruptprogramm- Akkumulations-Ausführungszeit, addiert in Fig. 3, um somit die akkumulierte Ausführungszeit des Interruptprogramms zu messen, welche die Prozeßoperationen der CPU-Einheit 1A repräsentiert, wenn die Anforderungsdaten 2701 gesendet werden. Zunächst empfängt die CPU-Einheit 1A die Anforderungsdaten 2701 von Fig. 27 im Kommunikationsprozeß 2031 mit der externen peripheren Vorrichtung 2A von Fig. 2, und der Prozeßbetrieb verzweigt zum Akkumulations- Ausführungszeit-Leseprozeß 308 für das Interruptprogramm in Übereinstimmung mit dem Anforderungscode 25011 im Prozeß 301, der in Fig. 3 gezeigt ist. Bei diesem Prozeß 308 wird der Prozeßbetrieb 2800, wie in Fig. 28 gezeigt, ausgeführt. Bei einem Prozeß 2801 wird der Wert ausgelesen von dem Akkumulations-Ausführungszeitbereich 5032 des Interruptprogramms von Fig. 5. Bei einem Prozeß 2801 werden Anforderungsdaten 2702, angedeutet in Fig. 27, gebildet und übertragen an die externe periphere Vorrichtung 2A. Wenn beispielsweise die akkumulierte Ausführungszeit des Interruptprogramms 5 ms ist, wird ein Wert von 5 gespeichert in dem Interruptprogramm-Akkumulations- Ausführungsprogrammbereich 5032 von Fig. 5, und dann wird der Wert von 5 übertragen als die Interruptprogramm- Akkumulations-Ausführungszeit 27021 der Antwortdaten 2702. Dann endet der Prozeßbetrieb bei einem Schritt 2803.
Wenn andererseits die Antwortdaten von Fig. 27, die von der CPU-Einheit 1A in Wert gestellt werden, empfangen werden in der externen peripheren Vorrichtung 2A, wird die Interruptprogramm-Akkumulations-Ausführungszeit, angedeutet durch die Antwortdaten 2702, angezeigt auf dem Akkumulations-Ausführungszeit-Meßresultat-Anzeigebereich 2901 des Interruptprogramms auf dem Anzeigeschirm, wie illustriert in Fig. 29, nämlich bei einem Schritt 2905. Beim nächsten Schritt 2606 kann der Benutzer das Meßresultat der akkumulierten Ausführungszeit für das Interruptprogramm von dem Schirm der externen peripheren Vorrichtung 2A erfassen.
Wie oben beschrieben, wird in Übereinstimmung mit Ausführungsform 3 der vorliegenden Erfindung der Prozeßbetrieb zum Messen der akkumulierten Ausführungszeit des Interruptprogramms im voraus bereitet und gespeichert im System-ROM 12A der CPU 1A. Dementsprechend braucht der Benutzer nicht solch einen lästigen Betrieb durchzuführen, daß das Sequenzprogramm zum Messen der akkumulierten Ausführungszeit des Interruptprogramms hinzugefügt wird, sondern kann die akkumulierte Ausführungszeit des Interruptprogramms schnell messen.
Ausführungsform 4
Als nächstes wird ein Verfahren zum Messen der Prozeßzeit des END-Prozesses als ein Beispiel der internen Bedingungen der CPU-Einheit 1A jetzt erklärt werden mit Bezug auf Fig. 1 bis 3, Fig. 5 und Fig. 30 bis 32.
Zunächst wird zum Messen der Prozeßzeit des END-Prozesses in der CPU-Einheit 1A von Fig. 1 es realisiert durch eine ähnliche Art und Weise wie die zum Messen der Prozeßzeit eines einzelnen Interruptprogramms, wie bei Ausführungsform 3 gezeigt. D.h. bevor der END-Prozeß 203 ausgeführt wird in Fig. 2, wird der momentane Wert des internen Zeitgebers 21A von Fig. 1 gespeichert im END-Prozeß Startzeitbereich 5041 des Daten-RAM 13A, das in Fig. 5 gezeigt ist, nämlich bei einem Prozeß 2016. Nachdem der END-Prozeß 203 ausgeführt ist, wird der Inhalt des END-Prozesses Startzeitbereichs 5041 von Fig. 5 subtrahiert vom vorliegenden Wert des internen Zeitgebers 21A in Fig. 1. Das Subtraktionsresultat wird gespeichert im END-Prozeßzeitbereich 5042 des Daten-RAM 13A von Fig. 5. Wenn beispielsweise die END-Prozeßzeit, die erhalten wird von der Subtraktion, 5 ms ist, wird ein Wert von 5 gespeichert in dem END-Prozeß-Zeitbereich 5042 von Fig. 5.
Die oben beschriebene Prozeßoperationen werden vervollständigt, so daß die CPU-Einheit 1A die Messung der END-Prozeßzeit einmal bewerkstelligt. Ähnlich zu Ausführungsform 2 instruiert der Benutzer die externe periphere Vorrichtung 2A zum Überwachen der END-Prozeßzeit von der Tastatur 2a der externen peripheren Vorrichtung 2A von Fig. 2, um somit dieses Meßresultat auszulesen. Dementsprechend überträgt die externe periphere Vorrichtung 2A die Anforderungsdaten 3001 zum Lesen der END-Prozeßzeit, gezeigt in Fig. 30, an die CPU-Einheit 1A. Jetzt zeigt Fig. 30 eine Struktur, der mit der CPU-Einheit 1A kommunizierten Daten, damit die externe periphere Vorrichtung 2A die Meßresultate der END-Prozeßzeit gemessen durch die CPU- Einheit 1A ausliest. Bezugszeichen 3001 zeigt eine Struktur von Anforderungsdaten, gesendet von der externen peripheren Vorrichtung 2A an die CPU-Einheit 1A. Bezugszeichen 3011 ist ein Anforderungscode zum Instruieren des Auslesens der END- Prozeßzeit. Bezugszeichen 3002 ist eine Struktur von Antwortdaten, gesendet von der CPU-Einheit 1A an die externe periphere Vorrichtung 2a ansprechend auf die Anforderungsdaten 3001. Bezugszeichen 3021 bezeichnet das Meßresultat der END-Prozeßzeit.
Die CPU-Einheit 1A empfängt die Anforderungsdaten 3001 von Fig. 3 in dem Kommunikationsprozeß 2031 mit der externen peripheren Vorrichtung, die in Fig. 2 gezeigt ist. Beim Prozeß 301, der in Fig. 3 gezeigt ist verzweigt der Prozeßbetrieb zu einem END-Prozeßzeit-Leseprozeß 309 ansprechend auf den Anforderungscode 3001. Bei einem Prozeß 309 wird ein Prozeßbetrieb 3100, gezeigt in Fig. 31, ausgeführt. Bei einem Prozeß 3101 wird das Meßresultat gelesen von dem END-Prozeßzeitbereich 13A von Fig. 5. Bei einem Prozeß 3102 werden Antwortdaten 3002 gebildet von dem gelesenen Meßresultat, und die gebildeten Antwortdaten 3802 werden übertragen an die externe periphere Vorrichtung 2A von Fig. 2. Dann endet der Prozeßbetrieb bei einem Schritt 3103. Wenn die gemessene END-Prozeßzeit beispielsweise 5 ms ist, wird ein Wert von 5 übertragen als die END-Prozeßzeit 30031 der Antwortdaten 3002. Andererseits zeigt die externe periphere Vorrichtung 2A von Fig. 2, die diese Antwortdaten 3002 empfangen hat, die END-Prozeßzeit 30021 der Antwortdaten 3002 auf dem END-Prozeßzeit-Anzeigeprozeß 3201 des Schirms an, wie in Fig. 32 gezeigt. Somit kann der Benutzer das Meßresultat des END-Prozeßzeit von dem Schirm der externen peripheren Vorrichtung 2A erkennen.
Wie oben beschrieben wird in Übereinstimmung mit der Ausführungsform 5 der vorliegenden Erfindung der Prozeßbetrieb zum Messen der Prozeßzeit des END-Prozesses 203 im voraus vorbereitet und gespeichert in das System-ROM 12A der CPU 1A. Dementsprechend braucht der Benutzer nicht solch einen lästigen Betrieb durchführen, daß das Sequenzprogramm zum Messen des END-Prozesses hinzugefügt wird, sondern kann das Vorrichtungsintervall schnell messen. Da ebenfalls die END-Prozeßzeit überwacht werden kann durch die externe peripherische Vorrichtung 2A, ist der Logikanalysator 20 nicht länger erforderlich als die externe Meßvorrichtung.
Ausführungsform 5
Als nächstes wird ein Verfahren zum Messen der Prozeßzeit des Spezialeinheit-Serviceprozesses 2032 von Fig. 2 als ein Beispiel der internen Bedingungen der CPU-Einheit 1A jetzt beschrieben werden mit Bezug auf Fig. 1 bis 3, Fig. 5 und Fig. 33 bis 36.
Zunächst zum Messen der Prozeßzeit des Spezialeinheit- Serviceprozeß in der CPU-Einheit 1A von Fig. 1 wird es auf ähnliche Art und Weise realisiert wie der zum Messen der Prozeßzeit eines einzelnen Interruptprogramms, wie gezeigt in Ausführungsform 3. D.h. in dem Spezialeinheit- Serviceprozeß 2032 von Fig. 2 wird eine Beurteilung gemacht bei einem Prozeß 3301 von Fig. 33, ob oder ob nicht eine Prozeßanforderung in Wert gestellt ist von der speziellen Funktionseinheit 5 von Fig. 1. Falls JA, dann wird der gegenwärtige Wert des internen Zeitgebers 21A von Fig. 1 gespeichert in den Spezialeinheit-Serviceprozeß- Startzeitbereich 5051 des Daten-RAM 13A von Fig. 5 bei einem Prozeß 3304. Beim nächsten Prozeß 3305 wird der tatsächliche Serviceprozeß ausgeführt ansprechend auf die Prozeßanforderung von der speziellen Funktionseinheit 5 von Fig. 1. Bei einem Prozeß 3306 wird der Inhalt des Spezialeinheit-Serviceprozeß-Startzeitbereichs 5051 von Fig. 5 subtrahiert von dem vorliegenden Wert des internen Zeitgebers 21A von Fig. 5. Das Subtraktionsresultat wird gespeichert in dem Spezialeinheit-Serviceprozeßzeitbereich 5052 des Daten-RAM 13A von Fig. 5. Wenn beispielsweise die bemessene Prozeßzeit 1 ms wird bezüglich der Prozeßanforderung, die von einer bestimmten speziellen Einheit in Wert gestellt ist, wird ein Wert von 1 gespeichert, in dem Spezialeinheit-Serviceprozeßzeitbereich 5052.
Die oben beschriebenen Prozeßoperationen werden vervollständigt, so daß die CPU-Einheit 1A die Messung der Spezialeinheit-Serviceprozeßzeit einmal bewerkstelligt. Ahnlich zu Ausführungsform 3 instruiert der Benutzer die externe periphere Vorrichtung 2A von Fig. 1 zum Überwachen der Spezialeinheit-Serviceprozeßzeit von der Tastatur 2a der externen peripheren Vorrichtung 2A, um somit dieses Meßresultat auszulesen. Dementsprechend überträgt die externe periphere Vorrichtung 2A die Anforderungsdaten 3401 zum Lesen der Spezialeinheit-Serviceprozeßzeit, wie gezeigt n Fig. 34, an die CPU-Einheit 1A. Jetzt zeigt Fig. 34 eine Struktur einer Datenkommunikation mit der CPU-Einheit 1A, so daß die externe periphere Vorrichtung 2A das Meßresultat der Spezialeinheit-Serviceprozeßzeit ausliest. Bezugszeichen 3401 zeigt eine Struktur von Anforderungsdaten, gesendet von der externen peripheren Vorrichtung 2A an die CPU-Einheit 1A. Bezugszeichen 34011 ist ein Anforderungscode zum Instruieren des Auslesens des Meßresultats der Spezialeinheit- Serviceprozeßzeit. Bezugszeichen 3402 ist eine Struktur von Antwortdaten, gesendet von der CPU-Einheit 1a an die externe periphere Vorrichtung 2A ansprechend auf die Anforderungsdaten 3401. Bezugszeichen 34021 bezeichnet die Meßresultate der Spezialeinheit-Serviceprozeßzeit.
Die CPU-Einheit 1A empfängt darauf die Anforderungsdaten 3401 in dem Kommunikationsprozeß 2031 mit der externen peripheren Vorrichtung, wie gezeigt in Fig. 2. beim Prozeß 301, gezeigt in Fig. 3, verzweigt der Prozeßbetrieb zu einem Spezialeinheit-Serviceprozeßzeit-Leseprozeß 310 ansprechend auf den Anforderungscode 3401. Bei einem Prozeß 310 wird ein Prozeßbetrieb 2500, gezeigt in Fig. 35, ausgeführt. Bei einem Prozeß 3501 wird das Meßresultat gelesen von dem Spezialeinheit-Serviceprozeß-Zeitbereich 5052 des Daten-RAM 13A von Fig. 5. bei einem Prozeß 3502 werden Antwortdaten 3402, gezeigt in Fig. 34, gebildet aus dem gelesenen Meßresultat, und die gebildeten Antwortdaten 3402 werden übertragen an die externe periphere Vorrichtung 2A von Fig. 2. Wenn die gemessene Spezialeinheit-Serviceprozeßzeit beispielsweise eine ms ist, wird ein Wert von 1 übertragen als die Spezialeinheit-Serviceprozeßzeit 34021 der Antwortdaten 3402. Dann wird der Prozeßbetrieb bei einem Schritt 3503 beendet. Die externe periphere Vorrichtung 2A von Fig. 2, welche diese Antwortdaten 3402 empfangen hat, zeigt die Spezialeinheit-Serviceprozeßzeit 34021 der Antwortdaten 3402 auf dem Spezialeinheit-Serviceprozesszeit- Anzeigebereich 3601 des Schirms, wie in Fig. 36 gezeigt, an. Somit kann der Benutzer das Meßresultat der Spezialeinheit- Serviceprozeßzeit von dem Schirm der externen peripheren Vorrichtung 2A erkennen. Es sollte bemerkt werden, daß in Fig. 36 sowohl der Anzeigebereich für die Gesamtausführungsanzahl 3602 für den Spezialeinheit- Serviceprozeß, als auch der Ausführungsintervall- Anzeigebereich 3603 für den Spezialeinheit-Serviceprozeß einen Bereich entsprechen zum Darstellen des Meßresultats der internen Bedingungen der CPU-Einheit 1A gemäß einer weiteren Ausführungsform der vorliegenden Erfindung entsprechen, wovon ein detaillierter Betrieb mit Bezug auf die folgenden Ausführungsformen erklärt werden wird.
Wie oben beschrieben, wird in Übereinstimmung mit Ausführungsform 5 der vorliegenden Erfindung der Prozeßbetriebe zum Messen der Festzeit der Spezialeinheit- Serviceprozesses 2032 im voraus vorbereitet und gespeichert im System-ROM 12A der CPU-1A. Dementsprechend braucht der Benutzer nicht solch ein Sequenzprogramm zum Messen der Spezialeinheit-Serviceprozeßzeit zuzufügen. Ebenfalls wird beim Stand der Technik die Messung ausgeführt für sowohl die END-Prozeßzeit, wenn keine Verarbeitungsanforderung in Wert gestellt ist von der speziellen Funktionseinheit 5, als auch die END-Prozeßzeit, wenn die Verarbeitungsanforderung von der speziellen Funktionseinheit 5 in Wert gestellt ist, und dann wird die Spezialeinheit-Serviceprozeßzeit berechnet. Da solch ein lästiger Prozeßbetrieb nicht bei Ausführungsform 5 erforderlich ist, kann die Spezialeinheit- Serviceprozeßzeit schnell und leicht gemessen werden.
Ausführungsform 6
Als nächstes wird ein Verfahren zum Messen der Ausführungsanzahl des Interruptprogramms als ein Beispiel der internen Bedingungen der CPU-Einheit 1A erklärt werden mit Bezug auf Fig. 1 bis 3, Fig. 5, Fig. 29 und Fig. 37 bis 38.
Zunächst speichert im Hauptprogramm-Ausführungsprozeß 201 von Fig. 2 die CPU-Einheit 1A 0 in den Interruptprogramm- Ausführungsanzahlbereich 506 des Daten-RAM 13A, der in Fig. 5 gezeigt ist, einem Prozeß 2015. Wenn das Interruptsignal übertragen wird von der Interrupt-Erzeugungsschaltung von Fig. 1 unter Ausführung des Sequenzprozesses 203 wird die Ausführung des Sequenzprozesses 202 von Fig. 2 unterbrochen, und der Interrupt-Ausführungsprozeß 204 wird ausgeführt durch die CPU-Einheit 1A. Im Interruptprogramm- Ausführungsprozeß 204 wird 1 hinzugefügt zum Inhalt des Interruptprogramm-Ausführungsanzahlbereichs, gezeigt in Fig. 5, nämlich bei einem Prozeß 2021. Nachdem die herkömmlichen Interruptprogramm-Ausführungsprozesse 5141 bis 5144 ausgeführt worden sind, wird die Ausführung des Interruptprogramm-Ausführungsprozesses 204 bei einem Schritt 5145 vervollständigt, und ebenfalls wird der Sequenzprozeß 202 wiederum ausgeführt von dem Interruptschritt.
Als Resultat des Ausführens der oben beschriebenen Prozeßoperationen wird, während der Sequenzprozeß 202 durchgeführt wird, der Inhalt des Ausführungsprogramm- Ausführungsanzahlbereichs 506 des Daten-RAM 30A von Fig. 5 sequenztiell vermehrt um 1, und zwar jedesmal, wenn das Interruptprogramm ausgeführt wird. Wenn die Ausführung des Sequenzprozesse 202 beendet ist, wird eine Gesamtanzahl des Ausführens des Interruptprogramms gespeichert in den Interruptprogramm-Ausführungsanzahlbereich 506 von Fig. 5. Daraus resultierend wird die Messung der Interruptprogramm- Ausführungsanzahl durch die CPU-Einheit 1A bewerkstelligt, die innerhalb einer Ausführung des Sequenzprozesses ausgeführt worden ist.
Darauffolgend instruiert ähnlich wie bei Ausführungsform 3 der Benutzer die externe periphere Vorrichtung 2A von Fig. 2 zum Überwachen der Interruptprogramm-Ausführungsanzahl von der Tastatur 2a der externen peripheren Vorrichtung 2A von Fig. 2, um somit dieses Meßresultat der Interruptprogramm- Ausführungsanzahl, gemessen durch die CPU-Einheit 1A, auszulesen. Dementsprechend überträgt die externe periphere Vorrichtung 2A die Anforderungsdaten 3701, wie gezeigt in Fig. 37, zum Lesen der Interruptprogramm-Ausführungsanzahl an die CPU-Einheit 1A. Jetzt zeigt Fig. 37 eine Struktur von Daten, die mit der CPU-Einheit 1A kommuniziert werden, so daß die externe periphere Vorrichtung 2A das Meßresultat der Interruptprogramm-Ausführungsanzahl von der CPU-Einheit 1A ausliest. Bezugszeichen 3701 zeigt eine Struktur von Anforderungsdaten, die ausgesendet sind von der externen peripheren Vorrichtung 2A an die CPU-Einheit 1A. Bezugszeichen 3711 ist ein Anforderungscode zum Instruieren des Auslesens des Meßresultats über die Interruptprogramm- Ausführungsanzahl. Bezugszeichen 3702 ist eine Struktur von Antwortdaten, ausgesendet von der CPU-Einheit 1A an die externe periphere Vorrichtung 2A ansprechend auf die Anforderungsdaten 3701. Bezugszeichen 37021 bezeichnet das Meßresultat der Interruptprogramm-Ausführungsanzahl.
Andererseits empfängt die CPU-Einheit 1A die Anforderungsdaten 3701 von Fig. 37 im Kommunikationsprozeß 2931 mit der externen peripheren Vorrichtung, die in Fig. 2 gezeigt ist. Beim Prozeß 301, der in Fig. 3 gezeigt ist, verzweigt der Prozeßbetrieb zu einem Interruptprogramm- Ausführungsanzahl-Leseprozeß 311, ansprechend auf den Anforderungscode 3701. Bei einem Prozeß 311 wird ein Prozeßbetrieb 3800, gezeigt in Fig. 38, ausgeführt. In diesem Prozeß 3800 wird das Meßresultat gelesen von dem Interruptprogramm-Ausführungsanzahlbereich 506 des Daten-RAM 13A von Fig. 5 bei einem ersten Prozeß 3801. Bei einem Prozeß 3802 werden Antwortdaten 3602 von Fig. 37 gebildet aus den gelesenen Meßresultat, und die gebildeten Antwortdaten 3602 werden übertragen an die externe periphere Vorrichtung 2A von Fig. 2. Dann wird der Prozeßbetrieb bei einem Schritt 3803 beendet. Wenn die Ausführungsanzahl des Interruptprogramms beispielsweise 3 ist, wird ein Wert von 3 übertragen als die Interruptprogramm-Ausführungsanzahl 37021 der Antwortdaten 3602. Die externe periphere Vorrichtung 3A von Fig. 1, welche diese Antwortdaten 3702 empfangen hat, zeigt die Interruptprogramm-Ausführungsanzahl 37021 der Antwortdaten 3702 auf den Interruptprogramm- Ausführungsanzahl-Anzeigebereich 2902 des Schirms, wie gezeigt in Fig. 29, an. Somit kann der Benutzer des Meßresultats der Interruptprogramm-Ausführungsanzahl von dem Schirm der externen peripheren Vorrichtung 2A erkennen.
Wie oben beschrieben wurde, wird in Übereinstimmung mit Ausführungsform 6 der vorliegenden Erfindung der Prozeßbetrieb zum Messen der Interruptprogramm- Ausführungsanzahl im voraus vorbereitet und gespeichert in das System-ROM 12A der CPU 1A. Dementsprechend braucht der Benutzer nicht das Sequenzprogramm zum Messen des Interruptprogramms hinzufügen, sondern kann schnell die Ausführungsanzahl des Interruptprogramms messen.
Ausführungsform 7
Als nächstes wird ein Verfahren zum Messen der Ausführungsanzahl des Spezialeinheit-Serviceprozesses als ein Beispiel der internen Bedingungen der CPU-Einheit 1A erklärt werden mit Bezug auf Fig. 1 bis 3, 5, Fig. 36 und Fig. 39 bis 40.
Zunächst beginnt die CPU-Einheit 1A von Fig. 1 die Ausführung des Hauptprogramm-Ausführungsprozesses 201, wie gezeigt in Fig. 2. Bei einem Schritt 2013 wird 0 gespeichert in den Spezialeinheit-Serviceprozeß-Ausführungsanzahlbereich 507 des Daten-RAM 13A, das in Fig. 5 gezeigt ist. Dann wird im Spezialeinheit-Serviceprozeß 2032 ein Prozeß 3300 angezeigt in Fig. 33, durchgeführt. Beim nächsten Prozeß 3301 wird eine Beurteilung getroffen, ob oder ob nicht eine Verarbeitungsanforderung von der speziellen Einheit in Wert gestellt ist. Falls eine solche Verarbeitungsanforderung in Wert gestellt ist, wird eine 1 hinzugefügt zum Inhalt des Spezialeinheit-Serviceprozeß-Ausführungsanzahlbereichs 507 von Fig. 5 beim nächsten Prozeß 3302. Daraus resultierend wir, während der Hauptprogramm-Ausführungsprozeß 201 von Fig. 2 unter Ausführung, wenn der aktuelle Spezialeinheit- Serviceprozeß 3305 für die Anforderung, die in Wert gestellt ist von der speziellen Funktionseinheit 5 von Fig. 1, ausgeführt wird bei dem Spezialeinheit-Serviceprozeß 2032, der Inhalt des Spezialeinheit-Serviceprozeß- Ausführungsanzahlbereichs 509 von Fig. 5 sequentiell um 1 vermehrt. Somit kann die CPU-Einheit 1A über 1 die Ausführungsanzahl des Spezialeinheit-Serviceprozesses messen.
Bei den oben beschriebenen Prozeßoperationen kann der Benutzer die Ausführungsanzahl des Spezialeinheit- Serviceprozesses, gemessen durch die CPU-Einheit 1A lesen. Ahnlich zur Ausführungsform 3 instruiert der Benutzer die externe periphere Vorrichtung 2A zum Überwachen der Spezialeinheit-Service-Ausführungsanzahl von der Tastatur 2A der externen peripheren Vorrichtung 2A von Fig. 1, um somit dieses Meßresultat auszulesen. Dementsprechend überträgt die externe periphere Vorrichtung 2A die Anforderungsdaten 3309 zum Lesen der Spezialeinheitservice-Ausführungsanzahl an die CPU-Einheit 1A. jetzt zeigt Fig. 39 eine Struktur von Daten, mit der CPU-Einheit 1A kommuniziert werden, so daß die externe peripherische Vorrichtung 2A das Meßresultat der Spezialeinheit-Serviceprozeß-Ausführungsanzahl von der CPU- Einheit 1A ausliest. Bezugszeichen 3901 zeigt eine Struktur von Anforderungsdaten, ausgesendet von der externen peripheren Vorrichtung 2A an die CPU-Einheit 1A. Bezugszeichen 39011 ist ein Anforderungscode zum Instruieren der Ausführungsanzahl des Spezialeinheitsprozesses. Bezugszeichen 3902 ist eine Struktur von Antwortdaten, ausgesendet von der CPU-Einheit 1A an die externe periphere Vorrichtung 2A ansprechend auf die Anforderungsdaten 2901. Bezugszeichen 39021 bezeichnet das Meßresultat der Spezialeinheit-Serviceprozeß-Ausführungsanzahl.
Andererseits empfängt die CPU-Einheit 1A die Anforderungsdaten 3901 in den Kommunikationsprozeß 2031 mit der externen peripheren Vorrichtung, die in Fig. 2 gezeigt ist. Beim Prozeß 301, der in Fig. 3 gezeigt ist, verzweigt der Prozeßbetrieb zu einem Spezialeinheit-Serviceprozeß- Zeitleseprozeß, ansprechend auf den Anforderungscode 3901. Bei einem Prozeß 311 wird ein Prozeßbetrieb 4000, wie gezeigt in Fig. 40, ausgeführt. In diesem Prozeß 4000 wird das Meßresultat ausgelesen von dem Spezialeinheit- Serviceprozeß-Zeitbereich 5052 des Daten-RAM 13A von Fig. 5. Bei einem Prozeß 4002 werden Antwortdaten 3902, wie gezeigt in Fig. 39, gebildet aus dem gelesenen Meßresultat, und die gebildeten Antwortdaten 3902 werden übertragen an die externe periphere Vorrichtung 2A von Fig. 1. Dann endet der Prozeßbetrieb in einem Schritt 4003. Wenn die gemessene Ausführungsanzahl des Spezialeinheit-Serviceprozeß 5 ist, wird ein Wert von 5 übertragen als die Spezialeinheit- Serviceprozeß-Ausführungsanzahl 30021 der Antwortdaten 3902. Andererseits zeigt die externe periphere Vorrichtung 2A von Fig. 2, die diese Antwortdaten 3902 empfangen hat, die Spezialeinheit-Serviceprozeß-Ausführungsanzahl 39021 der Antwortdaten 3902 auf dem Spezialeinheit-Serviceprozeß- Ausführungsanzahlbereich 3602 auf dem Schirm, wie gezeigt in Fig. 36, an. Somit kann der Benutzer das Meßresultat der Spezialeinheit-Serviceprozeßzeit von dem Schirm, der externen peripheren Vorrichtung bei 2A erkennen.
Wie oben beschrieben, wird in Übereinstimmung mit Ausführungsform 7 der vorliegenden Erfindung der Prozeßbetrieb zum Messen der Ausführungsanzahl des Spezialeinheit-Serviceprozesses im voraus vorbereitet und gespeichert im System-ROM 12A der CPU 1A. Dementsprechend kann der Benutzer die Ausführungsanzahl des Spezialeinheit- Serviceprozesses, welcher herkömmlicher Weise nicht gemessen werden konnte, messen.
Ausführungsform 8
Als nächstes wird ein Verfahren gemessen der Initiierungsintervallzeit des Interruptprogramms als ein Beispiel der internen Bedingungen der CPU-Einheit 1A jetzt erklärt werden mit Bezug auf Fig. 1 bis 3, Fig. 5, Fig. 29 und Fig. 41 bis 42.
Zunächst startet die CPU-Einheit 1A den Hauptprogramm- Ausführungsprozeß 201 von Fig. 2. Bei einem Prozeß 2011 wird der vorliegende Wert des internen Zeitgebers 21A gespeichert in dem Interruptprogramm-Startzeitbereich 5031 des Daten-RAM 13A von Fig. 5. Dann schreitet der Prozeßbetrieb voran zu einem Schritt 202, bei dem der Sequenzprozeß ausgeführt wird. Dann unterbricht, wenn das Interruptsignal ausgesendet wird von der Interrupt- Erzeugungsschaltung 17 von Fig. 1 unter Ausführung des Sequenzprozesses 202, die CPU 10 die Ausführung des Sequenzprozesses 203 von Fig. 2 und führt den Interruptprogramm-Ausführungsprozeß 204 aus. Beim Prozeß 204 wird der im Interruptprogramm-Startzeitbereich des Daten- RAM 13a von Fig. 5 gespeicherte Wert subtrahiert vom gegenwärtigen Wert des internen Zeitgebers 21A. Das Subtraktionsresultat wird gespeichert in den Interruptprogramm-Initiierungsintervall-Zeitbereich 508 des Daten-RAM 13A. Beim nächsten Prozeß 2043 wird der gegenwärtige Wert des internen Zeitgebers 21A gespeichert in dem Interruptprogramm-Startzeitbereich 5031 von Fig. 5.
Bei den oben beschriebenen Prozeßoperationen kann solch eine Interruptprogramm-Initiierungsintervallzeit, nachdem das Interruptprogramm 204 ausgeführt, bis das Interruptprogramm 204 ausgeführt wird, gemessen wird.
Als nächstes kann der Benutzer das Meßresultat der Initiierungsintervallzeit des Interruptprogramms, gemessen durch die CPU-Einheit 1A, lesen. Ähnlich wie bei Ausführungsform 3 instruiert der Benutzer die externe periphere Vorrichtung 2A zum Überwachen der Interruptprogramm-Initiierungsintervallzeit von der Tastatur 2a der externen peripheren Vorrichtung 2A von Fig. 2, um somit dieses Meßresultat auszulesen. Dementsprechend überträgt die externe periphere Vorrichtung 2A die Anforderungsdaten 4101 zum Lesen der Interruptprogramm- Initiierungsintervallzeit an die CPU-Einheit 1A. jetzt zeigt
Fig. 41 eine Struktur von Daten, die mit der CPU-Einheit 1A kommuniziert werden, so daß die externe periphere Vorrichtung 2A das Meßresultat der Interruptprogramm- Initiierungsintervallzeit gemessen durch die CPU-Einheit 1A, ausliest. Bezugszeichen 4101 zeigt eine Struktur von Anforderungsdaten, gesendet von der externen peripheren Vorrichtung 2A an die CPU-Einheit 1A. Bezugszeichen 41011 ist ein Anforderungscode zum Instruieren des Auslesens der Interruptprogramm-Initiierungsintervallzeit. Bezugszeichen 4102 ist eine Struktur von Antwortdaten, ausgesendet von der CPU-Einheit 1A an die externe periphere Vorrichtung 2A ansprechend auf die Anforderungsdaten 4201. Bezugszeichen 41021 bezeichnet das Meßresultat der Interruptprogramm- Initiierungsintervallzeit.
Andererseits empfängt die CPU-Einheit 1A Anforderungsdaten 4101 in dem Kommunikationsprozeß 2031 mit der externen peripheren Vorrichtung, die in Fig. 2 gezeigt ist. Beim Prozeß 301, der in Fig. 3 gezeigt ist, verzweigt der Prozeßbetrieb auf einen Spezialeinheit-Serviceprozeßzeit- Leseprozeß 312 ansprechend auf den Anforderungscode 41011. Bei einem Prozeß 312 wird ein Prozeßbetrieb 4200, gezeigt in Fig. 42, ausgeführt. Bei diesem Prozeß 4200 wird das Meßresultat ausgelesen von dem Interruptprogramm- Initiierungsintervallzeitbereich 508 des Daten-RAM 13A von Fig. 5. Bei einem Prozeß 4202 werden Antwortdaten 4102 gebildet aus dem gelesenen Meßresultat, und die gebildeten Antwortdaten 4502 werden übertragen an die externe periphere Vorrichtung 2A von Fig. 2. Dann wird der Prozeßbetrieb bei einem Schritt 4903 beendet. Wenn die gemessene Interruptprogramm-Initiierungsintervallzeit beispielsweise 2 ms ist, wird ein Wert von 2 übertragen als die Interruptprogramm-Initiierungsintervallzeit 41021 der Antwortdaten 4102. Andererseits zeigt die externe periphere Vorrichtung 2A von Fig. 2, welche diese Antwortdaten 4102 empfangen hat, die Interuptprogramm-Initiierungsintervallzeit 41021 der Antwortdaten 4102 auf dem Interruptprogramm- Initiierungsintervallzeit-Anzeigebereich 2903 des Schirms, wie gezeigt in Fig. 29, an. Somit kann der Benutzer das Meßresultat der Interruptprogramm-Initiierungsintervallzeit von dem Schirm der externen peripheren Vorrichtung 2A erkennen.
Wie oben beschrieben, wird in Übereinstimmung mit der Ausführungsform 8 der vorliegenden Erfindung der Prozeßbetrieb zum Messen der Interruptprogramm- Initiierungsintervallzeit im voraus vorbereitet und gespeichert in das System-ROM 12A der CPU 1A. Dementsprechend braucht der Benutzer nicht solch ein Sequenzprogramm hinzuzufügen zum Messen der Interruptprogramm- Initiierungsintervallzeit, sondern kann schnell die Interruptprogramm-Initiierungsintervallzeit messen.
Ausführungsform 9
Als nächstes wird ein Verfahren zum Messen der Ausführungsintervallzeit des Spezialeinheit-Serviceprozesses als ein Beispiel der internen Bedingungen der CPU-Einheit 1A jetzt erklärt werden mit Bezug auf Fig. 1 bis 3, Fig. 5, Fig. 36 und Fig. 43 bis 44.
Zunächst wird die Ausführungsintervallzeit des Spezialeinheit-Serviceprozesses 2032 von Fig. 2 gemessen durch die CPU-Einheit 1A von Fig. 1. Dieses Meßresultat kann realisiert werden durch Verwenden einer ähnlichen Art und Weise wie beim Messen der Interruptprogramm- Ausführungsintervallzeit, gezeigt bei Ausführungsform 8. D.h. die CPU-Einheit 1A führt den Hauptprogramm-Ausführungsprozeß 201 von Fig. 2 durch. Bei einem Prozeß 2012 der gegenwärtige Wert des internen Zeitgebers 21A gespeichert in den Spezialeinheit-Serviceprozeß-Ausführungsstartbereich 5051 des Daten-RAM 13A von Fig. 5. Als nächstes wird beim Spezialeinheit-Serviceprozeß 2032 von Fig. 2 ein Prozeß 3300, gezeigt in Fig. 33, ausgeführt. Bei diesem Prozeß 3300 wird eine Prüfung durchgeführt bei einem Prozeß 3101, ob oder ob nicht die Verarbeitungsanforderung von der speziellen Einheit in Wert gestellt ist. Wenn die Verarbeitungsanforderung in Wert gestellt ist, wird beim nächsten Prozeß 2203 der im Spezialeinheit-Serviceprozeß- Startzeitbereich 5051 von Fig. 5 gespeicherte Wert subtrahiert von dem gegenwärtigen Wert des internen Zeitgebers 21A von Fig. 1. Das Subtraktionsresultat wird gespeichert im Spezialeinheit-Serviceprozeß- Ausführungsintervallzeitbereich 509 von Fig. 5. Beim nächsten Prozeß 3304 wird der gegenwärtige Wert des internen Zeitgebers 21A von Fig. 1 gespeichert im Spezialeinheit- Serviceprozeß-Startzeitbereich 5051 von Fig. 5. Dann bei einem Prozeß 3305 wird ein aktueller Serviceprozeß 3305 ausgeführt entsprechend auf die Verarbeitungsanforderung, die von der speziellen Funktionseinheit 5 von Fig. 1 in Wert gestellt ist.
Bei den obigen Prozeßoperationen kann solch eine Spezialeinheit-Serviceprozeß-Ausführungsintervalleinheit gemessen werden, die definiert ist, nachdem der aktuelle Spezialeinheit-Serviceprozeß 3305 von Fig. 33 ausgeführt wird, und bis der aktuelle Spezialeinheit-Serviceprozeß 3305 darauffolgend durchgeführt ist.
Als nächstes kann der Benutzer die oben beschriebene Ausführungsintervallzeit des Spezialeinheit-Serviceprozesses, gemessen durch die CPU-Einheit 1A, lesen. Ahnlich wie bei Ausführungsform 3 instruiert der Benutzer die externe peripherische Vorrichtung 2A zum überwachen der Spezialeinheit-Serviceprozeß-Ausführungsintervallzeit von der Tastatur 2a der externen peripheren Vorrichtung 2A von Fig. 2, um somit dieses Meßresultat auszulesen. Dementsprechend überträgt die externe periphere Vorrichtung 2A die Anforderungsdaten 4301, die in Fig. 43 gezeigt sind, zum Lesen der Spezialeinheit-Serviceprozeß- Ausführungsintervalleinheit an die CPU-Einheit 1A. Jetzt zeigt Fig. 43 eine Struktur der Daten, die mit der CPU- Einheit 1A kommuniziert werden, so daß die externe periphere Vorrichtung 2A das Meßresultat der Spezialeinheit- Serviceprozeß-Ausführungsintervalleinheit von der CPU- Einheit 1A ausliest. Bezugszeichen 4101 zeigt eine Struktur von Anforderungsdaten, ausgesendet von der externen peripheren Vorrichtung 2A an die CPU-Einheit 1A. Bezugszeichen 41011 ist ein Anforderungscode zum Instruieren des Auslesens der Spezialeinheit-Serviceprozeß- Ausführungsintervallzeit. Bezugszeichen 4102 ist eine Struktur von Antwortdaten, ausgesendet von der CPU-Einheit 1a an die externe periphere Vorrichtung 2A ansprechend auf die Anforderungsdaten 4201. Bezugszeichen 41021 bezeichnet das Meßresultat der Spezialeinheit-Serviceprozeß- Ausführungsintervallzeit.
Andererseits empfängt die CPU-Einheit 1A die Anforderungsdaten 4301 im Kommunikationsprozeß 2031 mit der externen peripheren Vorrichtung, die in Fig. 2 gezeigt ist. Beim Prozeß 301, die in Fig. 3 gezeigt ist, verzweigt der Prozeßbetrieb zu einem Spezialeinheit-Servicprozeß- Zeitleseprozeß 313 ansprechend auf dem Anforderungscode 43011. Bei einem Prozeß 313 wird ein Prozeßbetrieb 4400 gezeigt in Fig. 44, ausgeführt. Bei diesem Prozeß 4400 wird das Meßresultat ausgelesen von dem Spezialeinheit- Serviceprozeß-Ausführungsintervallzeitbereich 509 des Daten- RAM 13A von Fig. 5. Bei einem Prozeß 4402 werden Antwortdaten 4302 gebildet von dem gelesenen Meßresultat, und die gebildeten Antwortdaten 4302 werden übertragen an die externe periphere Vorrichtung 2A von Fig. 2. Dann endet der Prozeßbetrieb bei einem Schritt 4403. Wenn die gemessene Spezialeinheit-Serviceprozeß-Initiierungsintervallzeit beispielsweise 20 ms ist, wird ein Wert von 20 übertragen als die Spezialeinheit-Serviceprozeß-Initiierungsintervallzeit 43031 der Antwortdaten 4302. Andererseits zeigt die externe periphere Vorrichtung 2A von Fig. 2, die diese Antwortdaten 4302 empfangen hat, die Initiierungsintervallzeit 43021 der Antwortdaten 4302 auf den Initiierungsintervallzeit- Anzeigebereich 3603 des Schirms, wie in Fig. 36 gezeigt. Somit kann der Benutzer das Meßresultat der Spezialeinheit- Serviceprozeß-Ausführungsintervallzeit aus dem Schirm der externen peripheren Vorrichtung 2A erkennen.
Wie oben beschrieben wird in Übereinstimmung mit Ausführungsform 9 der vorliegenden Erfindung der Prozeßbetrieb zum Messen der Spezialeinheit-Serviceprozeß- Initiierungsintervallzeit im voraus vorbereitet und gespeichert im System-ROM 12A der CPU 1A. Dementsprechend braucht der Benutzer nicht das Sequenzprogramm zu messen solch einer Initiierungsintervallzeit des Spezialeinheit- Serviceprozesses 2032 hinzuzufügen und kann sie ebenfalls in korrekter Weise anders als beim herkömmlichen Sequenzprogramm messen. Der Benutzer kann schnell und korrekt die Initiierungsintervallzeit des Spezialeinheit-Serviceprozesses 2032 messen.
Obwohl die Ausführungsform der vorliegenden Erfindung beschrieben wurde, können weitere Verfahren realisiert werden durch Anwenden des oben beschriebenen Verfahrens dieser Ausführungsform. Beispielsweise kann die Prozeßzeit des Kommunikationsprozesses 2031 mit der externen peripheren Vorrichtung 2a von Fig. 2 gemessen werden. Eine detaillierte konkrete Einrichtung zum Erzielen dieser Messung ist im wesentlichen identische der der oben beschriebenen Ausführungsform, so daß diese Erklärung ausgelassen wird.
Obwohl bei dieser Ausführungsform der vorliegenden Erfindung der Bereich zum Speichern der Daten über die internen Betriebsbedingungen der CPU-Einheit 1A reserviert ist in dem Daten-RAM 13A von Fig. 1, kann der Datenspeicherbereich beispielsweise reserviert sein in dem Vorrichtungsspeicher 16 von Fig. 1. Draus resultierend können die internen Betriebsbedingungen CPU-Einheit 1A gehandhabt werden wie die Wortvorrichtung von dem Sequenzprogramm.
Es sollte bemerkt werden, daß die externe periphere Vorrichtung 2A von Fig. 1 nur eine Einrichtung enthalten kann zum Kommunizieren mit der CPU-Einheit 1A, die Einrichtung zum Anzeigen der internen Betriebsbedingungen der CPU-Einheit 1A und die Einrichtung zum Eingeben der Instruktion des Benutzers als die Tastatur 2a. Diese externe periphere Vorrichtung kann realisiert werden aus dem Personalcomputer zum allgemeinen Zweck, und die spezifische Vorrichtung zum Überwachen der internen Betriebsbedingungen CPU-Einheit 1A.
Das Speichermedium zum Speichern des Systemprogramms, das benutzt wird zum Überwachen der internen Betriebsbedingungen CPU-Einheit 1A gemäß der vorliegenden Erfindung ist nicht begrenzt auf solch ein ROM wie das System-ROM 12A von Fig. 1, sondern kann ebenfalls realisiert werden durch ein RAM oder weitere Speichermedien.
Da wie oben beschrieben gemäß der vorliegenden Erfindung die internen Betriebsbedingungen der CPU-Einheit gespeichert sind in der Datenspeichereinheit in der Datenspeichereinheit und dann überwacht werden von der externen peripheren Vorrichtung, kann der Benutzer die internen Betriebsbedingungen CPU-Einheit erkennen, ohne solch einen lästigen Betrieb durchzuführen, d. h. das Sequenzprogramm wird beim Stand der Technik hinzugefügt.
Ebenfalls wird der Zeitmeßprozeß bis zur Bedingungsänderung der spezifischen Vorrichtung in die CPU-Einheit eingegeben, so daß die Zeitmessung durchgeführt werden kann ohne Hinzufügen solch eines unnötigen Sequenzprogramms, das zum Aktivieren des Systems benutzt wird. Dementsprechend kann die Kapazität des Sequenzprogramms so klein wie möglich minimalisiert werden. Die Zeit bis zur Bedingungsänderung der Vorrichtung, gemessen durch die vorliegende Erfindung, kann den Hauptaspekt bilden zum Steuern solch eines delikaten Zeitablauf des Systems durch den Benutzer.
Weiterhin kann die Zeit, die erforderlich ist zum Verarbeiten des bezeichneten Abschnitts des Sequenzprogramms, gemessen werden durch Benutzung von nur einer Adressenvergleichsschaltung und kann ebenfalls angezeigt werden auf der externen Anzeigevorrichtung. Somit kann der bezeichnet Abschnitt gemessen werden mit einem einfacheren PC im Vergleich mit dem PC nach dem Stand der Technik. Der Benutzer kann leicht die Zeit messen, die erforderlich ist zum Verarbeiten des oben beschriebenen bezeichneten Abschnitts, ohne das Zeitmeßprogramm zu bilden und die Meßvorrichtung zu benutzen.
Ebenfalls wird der Meßprozeß der Interruptprogramm- Akkumulierungsausführungszeit, durchgeführt während eines einzelnen Scans, eingegeben an die CPU-Einheit, so daß die Messung erzielt werden kann, ohne zusätzlichermaßen solch ein unnötiges Sequenzprogramm zum tatsächlichen Betreiben des Systems hinzuzufügen. Da es keinen Zeitfehler gibt, der durch Hinzufügen des Meßprogramms zum Hauptprogramm verursacht wird, gemäß der vorliegenden Erfindung, kann die akkumulierte Ausführungszeit des Interruptprogramms korrekt gemessen werden im Vergleich zum herkömmlichen Meßverfahren. Der Benutzer kann somit in korrekter Weise die Belastungen steuern, die zwischen dem Hauptprogramm und dem Interruptprogramm gegeben sind, und zwar basierend auf dem Einfluß bezüglich der Scanzeit des gesamten Interruptprogramms im Vergleich mit der herkömmlichen Art und Weise.
Somit wird der Prozeß zum Messen der Zeit, die erforderlich ist zum Durchführen des END-Prozesses, eingegeben in die CPU- Einheit, und dann repräsentiert die CPU-Einheit das gemessene Resultat auf der externen Anzeigevorrichtung. Somit kann der Benutzer leicht die Zeit messen, die erforderlich ist zum Durchführen des END-Prozesses, und zwar ohne Bilden des unnötigen Zeitmeßprogramms, das am System betrieben wird, und Durchführen sogleich eines lästigen Betriebs der Benutzung der Meßvorrichtung.
Weiterhin wird der Prozeß zum Messen der Zeit, die erforderlich ist zum Durchführen des Serviceprozesses ansprechend auf die Anforderung von der speziellen Funktionseinheit, in die CPU-Einheit eingegeben, und ebenfalls wird die Messung, die durch die CPU-Einheit gemacht wird, angezeigt auf der externen Anzeigevorrichtung. Daraus resultierend kann der Benutzer leicht die Zeit messen, die erforderlich ist für den Serviceprozeß, und zwar ohne das unnötige Zeitmeßprogramm zu bilden, das tatsächlich an dem System betrieben wird, und solch einen lästigen Betrieb der Benutzung der Meßvorrichtung durchzuführen.
Weiterhin wird der Prozeß zum Messen der Ausführungsanzahl des Interruptprogramms in die CPU-Einheit eingegeben, und das Resultat wird angezeigt auf der externen Anzeigevorrichtung.
Somit kann der Benutzer solch eine Messung durchführen, ohne daß unnötige Ausführungszeitmeßprogramm, das tatsächlich an diesem System betrieben wird, zu bilden.
Der Prozeß zum Messen der Ausführungsanzahl des Serviceprozesses bezüglich der Verarbeitungsanforderung von der speziellen Funktionseinheit wird eingegeben in die CPU- Einheit und das Resultat wird angezeigt auf der externen Anzeigeeinheit, so daß der Benutzer die Kommunikationsbedingungen zwischen dem PC und der speziellen Funktionseinheit erfassen kann. Wenn ein Systemfehler zufällig auftritt, können die Fehlergründe leicht diskriminiert werden durch Vergleichen der gemessenen Ausführungsanzahl des Serviceprozesses mit der Anzahl der Übertragungen der Verarbeitungsanforderung von dem Computer, der mit der speziellen Funktionseinheit verbunden ist.
Ebenfalls wird der Prozeß zum Messen der Initiierungsintervallzeit des Interruptprogramms eingegeben in die CPU-Einheit und das Meßresultat wird angezeigt auf der externen peripherischen Vorrichtung. Somit kann der Benutzer die Prozeßzeit messen, ohne solch ein unnötiges Initiierungsintervallzeit-Meßprogramm zu bilden, das tatsächlich an dem System betrieben wird.
Weiterhin wird der Prozeß zum messen der Initiierungsintervallzeit des Serviceprozesses ansprechend auf die Verarbeitungsanforderung von der speziellen Funktionseinheit in Wert gestellt wird, eingegeben in die CPU-Einheit, und das Meßresultat wird angezeigt auf der externen peripheren Einheit. Deshalb kann der Benutzer die Initiierungsintervallzeit des Serviceprozesses messen, ohne ein unnötiges Meßprogramm zu bilden, das tatsächlich am System betrieben wird.

Claims (10)

1. Programmierbarer Kontroller zum Steuern einer Steuersubjektvorrichtung, wie z. B. einer industriellen Vorrichtung, basierend auf einem gespeicherten Sequenzprogramm, welcher umfaßt:
eine CPU-Einheit;
eine Schnittstelle mit einer Einrichtung zum Empfangen einer Verarbeitungsanforderung von einer externen peripheren Vorrichtung über eine Kommunikation und eine Einrichtung zum Senden einer Verarbeitungsantwort von der CPU-Einheit an die externe periphere Vorrichtung;
eine CPU, die in der CPU-Einheit vorgesehen ist, zum Ausführen eines Sequenzprogramms und von Steuerprogrammen, die die CPU-Einheit zum Betrieb veranlassen;
eine Sequenzprogramm-Speichereinheit zum Speichern des Sequenzprogramms;
eine Steuerprogramm-Speichereinheit zum Speichern der Steuerprogramme einschließlich des Steuerprogramms zum Messen eines internen Betriebszustands der CPU-Einheit;
eine Datenspeichereinheit zum Speichern von Daten, benutzt bei der Verarbeitung der CPU; und
eine Speichereinheit für einen internen Betriebszustand zum Speichern eines gemessenen internen Betriebszustandes der CPU-Einheit;
wobei das den internen Betrieb messende Steuerprogramm ermöglicht, daß der interne Betriebszustand der CPU-Einheit ansprechend auf eine Überwachungs-Verarbeitungsanforderung von einer externen peripheren Vorrichtung gemessen wird, und ein Meßresultat gesandt wird an die externe periphere Vorrichtung, um dadurch zuzulassen, daß die externe periphere Vorrichtung den internen Betriebszustand der CPU-Einheit überwacht.
2. Programmierbarer Kontroller nach Anspruch 1, gekennzeichnet durch:
eine Interrupterzeugungsschaltung zum Überwachen eines Zustandes eines Zustands einer bezeichneten Vorrichtung zum Senden eines Interruptsignals an die CPU zu einem Zeitaugenblick, wenn die bezeichnete Vorrichtung einen bezeichneten Zustand annimmt;
eine Einrichtung zum Messen eines Ein- oder Aus-Intervalls, der bezeichneten Vorrichtung;
eine Zeitmessungs-Speichereinheit zum Speichern des gemessenen Ein- oder Aus-Intervalls der bezeichneten Vorrichtung; und
eine Einrichtung zum Anzeigen von Daten der Zeitmessungs- Speichereinheit auf der externen peripheren Vorrichtung,
wodurch eine Zeitperiode, bis die bezeichnete Vorrichtung ihren Zustand ändert, gemessen werden kann.
3. Programmierbarer Kontroller nach Anspruch 1, gekennzeichnet durch eine Einrichtung zum Messen einer Prozeßzeit eines bezeichneten Abschnitts des Sequenzprogramms, wodurch ein Meßresultat der Prozeßzeit durch die externe periphere Vorrichtung überwacht werden kann.
4. Programmierbarer Kontroller nach Anspruch 1, gekennzeichnet durch:
eine Einrichtung zum Messen einer akkumulierten Ausführungszeit von Zeitperioden, während der Interruptprogramme in einem Scan des Sequenzprogramms ausgeführt werden;
eine Interruptakkumulierungs-Speichereinheit zum Speichern der gemessenen akkumulierten Ausführungszeit der Interruptprogramme; und
einer Einrichtung zum Anzeigen von Daten der Interruptakkumulierungs-Speichereinheit an der externen peripheren Vorrichtung,
wodurch ein Einfluß von Ausführungszeiten der Interruptprogramme auf eine Scanzeit gemessen werden können.
5. Programmierbarer Kontroller nach Anspruch 1, gekennzeichnet durch eine Einrichtung zum Messen einer Prozeßzeit eines End-Prozesses, wodurch ein Meßresultat der Prozeßzeit überwacht werden kann durch die externe periphere Vorrichtung.
6. Programmierbarer Kontroller nach Anspruch 1, gekennzeichnet durch eine Einrichtung zum Messen einer Prozeßzeit, während der ein Serviceprogramm ausgeführt wird ansprechend auf eine Verarbeitungsanforderung von einer speziellen Funktionseinheit, wodurch ein Meßresultat der Prozeßzeit durch die externe periphere Vorrichtung überwacht werden kann.
7. Programmierbarer Kontroller nach Anspruch 1, gekennzeichnet durch eine Einrichtung zum Messen der Anzahl von Ausführungszeiten eines Interruptprogramms, aktiviert durch ein externes Interruptsignal, wodurch ein Meßresultat der Anzahl von Ausführungszeiten durch die externe periphere Vorrichtung überwacht werden kann.
8. Programmierbarer Kontroller nach Anspruch 1, gekennzeichnet durch eine Einrichtung zum Messen der Anzahl von Ausführungszeiten eines Serviceprogramms, das ansprechend auf eine Verarbeitungsanforderung von einer speziellen Funktionseinheit ausgeführt wird, wodurch ein Meßresultat der Anzahl von Ausführungszeiten durch die externe periphere Vorrichtung überwacht werden kann.
9. Programmierbarer Kontroller nach Anspruch 1, gekennzeichnet durch eine Einrichtung zum Messen eines Aktivierungsintervalls eines Interruptprogramms, das ansprechend auf ein externes Interruptsignal aktiviert wird, wodurch ein Meßresultat des Aktivierungsintervalls durch die externe periphere Vorrichtung überwacht werden kann.
10. Programmierbarer Kontroller nach Anspruch 1, gekennzeichnet durch eine Einrichtung zum Messen eines Intervalls zwischen mannigfaltigen Verarbeitungsanforderungen von der externen peripheren Vorrichtung und einer speziellen Funktionseinheit, wodurch ein Meßresultat des Intervalls durch die externe periphere Vorrichtung überwacht werden kann.
DE19539353A 1994-10-24 1995-10-23 Programmierbarer Kontroller, der ermöglicht, daß eine externe periphere Vorrichtung einen internen Betriebszustand einer CPU-Einheit überwacht Withdrawn DE19539353A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25805694A JP3225757B2 (ja) 1994-10-24 1994-10-24 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
DE19539353A1 true DE19539353A1 (de) 1996-05-02

Family

ID=17314928

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19539353A Withdrawn DE19539353A1 (de) 1994-10-24 1995-10-23 Programmierbarer Kontroller, der ermöglicht, daß eine externe periphere Vorrichtung einen internen Betriebszustand einer CPU-Einheit überwacht

Country Status (4)

Country Link
US (1) US5889669A (de)
JP (1) JP3225757B2 (de)
KR (1) KR100218219B1 (de)
DE (1) DE19539353A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1619566A1 (de) * 2004-07-23 2006-01-25 Siemens Aktiengesellschaft Verfahren zum Betrieb eines Automatisierungsgerätes

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4152079B2 (ja) * 1999-05-25 2008-09-17 三菱電機株式会社 プログラマブルコントローラの周辺装置
JP4451010B2 (ja) * 2001-04-09 2010-04-14 三菱電機株式会社 プログラマブルコントローラ
EP1436799A4 (de) * 2001-09-13 2008-07-30 Pixia Corp Bildanzeigesystem
US6912695B2 (en) 2001-09-13 2005-06-28 Pixia Corp. Data storage and retrieval system and method
US20040187108A1 (en) * 2003-02-21 2004-09-23 Knowles W. Jeffrey Method of scheduling and event processing in computer operating system
US7243174B2 (en) * 2003-06-24 2007-07-10 Emerson Electric Co. System and method for communicating with an appliance through an optical interface using a control panel indicator
US7278066B2 (en) * 2003-10-22 2007-10-02 Honeywell International Inc Automatic fieldbus device load-mode identification
DE102004015877A1 (de) * 2004-03-31 2005-10-27 Siemens Ag Verfahren zum Betrieb eines Automatisierungsgerätes
JP4485326B2 (ja) * 2004-11-05 2010-06-23 株式会社デジタル プログラマブル表示器、表示制御プログラムおよびそのプログラムを記録した記録媒体
US7262572B2 (en) * 2005-05-24 2007-08-28 The Chamberlain Group, Inc. System and method for providing a macro for a barrier operator
DE112006003926B4 (de) * 2006-06-13 2016-12-01 Mitsubishi Electric Corp. Peripheriegerät für einen programmierbaren Logik-Controller
US8290346B2 (en) * 2008-09-25 2012-10-16 Pixia Corp. Large format video archival, storage, and retrieval system and method
US20110055838A1 (en) * 2009-08-28 2011-03-03 Moyes William A Optimized thread scheduling via hardware performance monitoring
US8411970B2 (en) 2010-03-16 2013-04-02 Pixia Corp. Method and system for determining statistical data for image pixels having a higher bit depth per band
US9407876B1 (en) 2010-09-14 2016-08-02 Pixia Corp. Method and system for encoding and decoding multiple wide-area surveillance area-of-interest video codestreams
US8532397B1 (en) 2010-09-16 2013-09-10 Pixia Corp. Method of creating a container file for large format imagery and organizing data within the container file
WO2015159365A1 (ja) * 2014-04-15 2015-10-22 富士機械製造株式会社 Nc工作機械
WO2018164678A1 (en) * 2017-03-08 2018-09-13 Hewlett-Packard Development Company, L.P. Peripheral output devices
WO2023243012A1 (ja) * 2022-06-15 2023-12-21 三菱電機株式会社 制御システム、プログラマブルロジックコントローラ、可視化方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2526688B2 (ja) * 1990-02-22 1996-08-21 三菱電機株式会社 プログラマブルコントロ―ラおよびシ―ケンスプログラムの部分実行方法
JPH04151702A (ja) * 1990-09-19 1992-05-25 Mitsubishi Electric Corp プログラマブルコントローラ
JPH05189277A (ja) * 1992-01-09 1993-07-30 Yaskawa Electric Corp プログラマブルコントローラのプログラム実行時間測定装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1619566A1 (de) * 2004-07-23 2006-01-25 Siemens Aktiengesellschaft Verfahren zum Betrieb eines Automatisierungsgerätes

Also Published As

Publication number Publication date
JP3225757B2 (ja) 2001-11-05
US5889669A (en) 1999-03-30
KR960015123A (ko) 1996-05-22
KR100218219B1 (ko) 1999-09-01
JPH08123514A (ja) 1996-05-17

Similar Documents

Publication Publication Date Title
DE19539353A1 (de) Programmierbarer Kontroller, der ermöglicht, daß eine externe periphere Vorrichtung einen internen Betriebszustand einer CPU-Einheit überwacht
EP1097460B1 (de) Integrierte schaltung mit einer selbsttesteinrichtung zur durchführung eines selbsttests der integrierten schaltung
DE2735397C2 (de) Überwachungseinrichtung für eine programmgesteuerte Maschine
DE2244402A1 (de) Datenverarbeitungsanlage
DE3727551C2 (de)
DE2359258A1 (de) Echtzeitsteuerungsanordnung fuer eine simulationsvorrichtung
EP0368190A1 (de) Verfahren zur Beobachtung des zeitlichen Ablaufs eines von einem Rechnersystem ausgeführten Objektprogrammes und Beobachtungswerkzeug zur Durchführung dieses Verfahrens
DE4400079A1 (de) Verfahren zur Prüfung von elektronischen Steuergeräten und Steuergerät zur Verwendung für das Verfahren
DE4111072A1 (de) Verfahren zum feststellen einer stoerung in einem mikrocomputersystem
DE3219896A1 (de) Verbundene datenverarbeitungsanlagen
DE102009058652A1 (de) Verfahren zur Beeinflussung eines Steuergerätes und Manipulationseinheit
DE19604251A1 (de) Microcomputersystem, Verfahren zur Erfassung einer Vielzahl von Statusdaten und Computersystem
DE4106164A1 (de) Verfahren zum suchen und beseitigen von programmfehlern durch ausfuehren eines blockmodenlaufes
DE3811658C2 (de)
DE4121637C2 (de) Verfahren zur Prüfung von Steuergeräten und Prüfeinrichtung zur Durchführung des Verfahrens
DE3017031A1 (de) Digitale steuereinrichtung fuer eine brennkraftmaschine
DE69830387T2 (de) Elektronisches Gerät mit Verfahren und Vorrichtung zur Ausführung von Befehlsbündeln
DE2725077A1 (de) Ueberwachungssystem fuer eine datenverarbeitungsanlage
DE102017005608B4 (de) Numerische Steuerung und Variablen-Ermittlungsverfahren
DE3316681A1 (de) Computersystem mit programmueberwachungsvorrichtung
EP0991984B1 (de) Programmiergerät
DE10213860A1 (de) Programmierbare Steuerung
DE3639395A1 (de) Verfahren und vorrichtung zum uebertragen von daten in einem datenverarbeitungssystem mit einer vielzahl von prozessoren
DE2817536C2 (de)
EP1297425B1 (de) Verfahren und vorrichtung für die optimierung eines testprogramms

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140501