-
Die
Erfindung betrifft allgemein ein Softwareobjekt-Verifiziersystem
für ein
Echtzeitsystem wie eine durch einen Computer realisierte Steuerungsvorrichtung
zum Ausführen
einer Echtzeitsteuerung. Softwareobjekte sind z.B. Viruserkennungssoftware, eine
Erkennungsmusterdatei sowie Update-Software für Grundsoftware.
-
Steuerungsvorrichtungen
auf PC-Basis haben einhergehend mit der Verbreitung von PCs ebenfalls
weite Verbreitung gefunden. Für
PCs existiert eine Vielzahl von Anwendungen z.B. zum Produktionsmanagement,
zur Konstruktion, zur automatischen Programmierung und dergleichen,
und sie stehen zur IT-Einführung an
Arbeitsplätzen
zur Verfügung.
PCs sind immer stärker
durch Netzwerke vernetzt, wodurch sich auf PCs abzielende Computerviren
schnell ausbreiten können,
was ein schwerwiegendes Problem bildet. Dies gilt auch für PCs, die
an Bearbeitungsorten zur Echtzeitsteuerung eingesetzt werden, weswegen
prompte Maßnahmen
gegen Computerviren zu ergreifen sind.
-
Wenn
Antivirusmaßnahmen
in einer eine Echtzeitsteuerung ausführenden Steuerungsvorrichtung
ergriffen werden, könnte
die Zuverlässigkeit
der Steuerung beeinträchtigt
werden, da dabei Daten zu aktualisieren sind, die die Software oder
den stabilen Betrieb des Betriebssystems beeinflussen, wenn diese
Maßnahmen
ergriffen werden, ohne dass vorher geklärt wird, dass der Betrieb der
Steuerungsvorrichtung nicht durch das Softwareobjekt beeinträchtigt wird.
-
Z.B.
werden dann, wenn im Hauptsystem eines Unternehmens ein Fehler auftritt,
die Aktivitäten des
Unternehmens beeinträchtigt.
Daher wird auch nur eine sehr kleine Softwareaktualisierung nach sorgfältiger Voruntersuchung
ausgeführt.
-
Bei
einer Echtzeit-Steuerungsvorrichtung sind zwar Einflüsse verschieden
von solchen bei einem Hauptsystem, jedoch besteht die Möglichkeit, dass
ein anormaler Betrieb der Software zu einem Unfall führt. Daher
sollte, wie im Hauptsystem, auch bei einem Softwareobjekt für eine Steuerungsvorrichtung
jedes auch noch so kleine Softwareupdate sorgfältig geprüft werden.
-
Softwareobjekte
wie Viruserkennungssoftware, Erkennungsmusterdateien und Updatesoftware
für Grundsoftware
werden häufig
neu ausgegeben, und es muss eine Bewertung ohne Verzögerung ausgeführt werden,
um zu gewährleisten,
dass die neuen Softwareobjekte bei einer Echtzeitsteuerung, wie
sie bei einer Echtzeit-Steuerungsvorrichtung eines Kunden anwendbar
ist, ohne jedes Problem arbeiten. Wenn eine Verzögerung auftritt, besteht die Möglichkeit,
dass ein Computervirus während
dieser die Echtzeit-Steuerungsvorrichtung befällt und ihre Echtzeitsteuerung
beeinträchtigt.
Wenn dagegen die Situation auftritt, dass ein ungeeignetes Softwareobjekt
mit irgendwelchen Problemen bei der Echtzeit-Steuerungsvorrichtung
angewandt wird, kann diese anormal zu arbeiten beginnen, was erhebliche Folgekosten
nach sich zieht, um die Vorrichtungen wieder arbeitsfähig zu machen.
-
Da
es viel Arbeit erfordert, Softwareobjekte nach vollständiger Ausführung von
Untersuchungen zur Unbedenklichkeit anzuwenden, sind die Untersuchungskosten
hoch, wobei häufig
auch Ziele und angemessene Bewertungskriterien nicht klar sind,
was es erschwert, die erforderliche Verifizierung ausreichend auszuführen.
-
Der
Erfindung liegt die Aufgabe zugrunde, ein Softwareobjekt-Verifizierverfahren
für ein
Echtzeitsystem zu schaffen, mit dem die Verifizierung von Softwareobjekten
schnell ausgeführt
werden kann.
-
Diese
Aufgabe ist durch die Verfahren gemäß den beigefügten unabhängigen Ansprüchen 1 und
2 gelöst.
Vorteilhafte Ausgestaltungen und Weiterbildungen sind Gegenstand
abhängiger
Ansprüche.
-
Bei
der Erfindung wird als Erstes ein sich auf einer ersten Website
befindliches Softwareobjekt in eine verifizierende Echtzeit-Steuerungsvorrichtung, die
eine Echtzeitsteuerung ausführt,
heruntergeladen, und es werden die Eigenschaften beim Anwenden des
Softwareobjekts beurteilt. Der Lieferant des jeweiligen Softwareobjekts,
wie derjenige von Antivirus-Software
und Grundsoftware, positionieren die Softwareobjekte auf der ersten
Website, die der Lieferant selbst erstellt, und die Softwareobjekte
werden z.B. automatisch an die verifizierende Echtzeit-Steuerungsvorrichtung
heruntergeladen. Dann wird das Softwareobjekt für eine vorbestimmte Zeit auf
dieser Vorrichtung betrieben, um dadurch die Eigenschaften beim
Anwenden der Software und/oder einer Musterdatei auf Grundlage eines
Beurteilungsstandards für objektive
Bewertung zu beurteilen. Demgemäß ist es möglich, wenn
die Software und/oder die Musterdatei bei der Echtzeit-Steuerungsvorrichtung
angewandt werden, innerhalb kurzer Zeit zu verifizieren, ob die Echtzeitsteuerung
weiterhin stabil läuft
oder nicht.
-
Darüber hinaus
wird, wenn beurteilt wird, dass die Software und/oder die Musterdatei
anwendbar sind, die Software, die Musterdatei oder ein Beurteilungsergebnis
zu einer zweiten Website hochgeladen, und sie kann bei der Steuerungsvorrichtung
eines Kunden angewandt werden. Hierbei kann die zweite Website z.B.
von einer Person erstellt werden, die subjektiv das erfindungsgemäße Verfahren
zu implementieren wünscht.
Demgemäß können Antivirusmaßnahmen
ab dem Auffinden eines Virus innerhalb einer kurzen Zeitperiode
abgeschlossen wer den.
-
Darüber hinaus
wird die verifizierende Echtzeit-Steuerungsvorrichtung durch einen
Beobachtungscomputer unterstützt
und beobachtet, der darauf achtet, dass die genannte Verifizierung
normal abläuft.
Wenn erkannt wird, dass keine normale Verifizierung abläuft, teilt
der Beobachtungscomputer diese Tatsache z.B. durch Senden einer
Email an das Terminal eines Verwalters oder dergleichen mit. Demgemäß wird,
wenn die Verifizierung nicht normal ausgeführt wird, das Auftreten eines
Problems unmittelbar an das Terminal des Verwalters oder dergleichen
mitgeteilt. So kann dort das Problem ohne Verzögerung gehandhabt werden.
-
Darüber hinaus
kann, da die Effekte der Echtzeitsteuerung objektiv in Bezug auf
Zeittoleranzen beurteilt werden, eine strenge Beurteilung innerhalb
einer kurzen Zeit ausgeführt
werden, und es kann deutlich gezeigt werden, dass keine Effekte
auf die Echtzeitsteuerung existieren. Demgemäß kann der Benutzer (der Kunde)
der Echtzeit-Steuerungsvorrichtung die Software und/oder die Musterdatei ohne
Befürchtungen
anwenden.
-
Darüber hinaus
wird, wenn die Echtzeit-Steuerungsvorrichtung eine numerisch gesteuerte
Vorrichtung ist, durch diese ein vorbestimmtes Teilprogramm interpretiert
und ausgeführt,
und es wird ausgewertet, ob die Programminterpretation z.B. immer
rechtzeitig für
eine Funktionserzeugung erfolgt. Demgemäß muss der Benutzer der numerisch
gesteuerten Vorrichtung keine Befürchtungen hinsichtlich einer
Veränderung
des Funktionsvermögens
derselben haben, die z.B. zu einer Beeinträchtigung der Oberflächenrauigkeit
bei einem bearbeiteten Werkstück
führen
würde,
wenn eine fehlerhafte Software und/oder Musterdatei angewandt würde.
-
Die
Erfindung wird nachfolgend anhand von durch Figuren veranschaulichten
Ausführungsformen
näher erläutert.
-
1 ist
eine schematische Ansicht eines Gesamtsystems, bei dem ein Schutzverfahren
gegen ein Computervirus bei einem Echtzeitsystem und ein Softwareupdateverfahren
gemäß einer
Ausführungsform
der Erfindung angewandt werden können;
-
2 ist
ein Flussdiagramm zum Veranschaulichen einer Verifizierprozedur
für ein
Softwareobjekt bei der Ausführungsform
der Erfindung;
-
3 ist
ein Flussdiagramm zum Veranschaulichen einer Beobachtungsprozedur
bei der Ausführungsform
der Erfindung;
-
4 ist
ein zeitbezogenes Diagramm zum Veranschaulichen der Ausführungszustände von Tasks
bei der Ausführungsform
der Erfindung;
-
5 ist
ein Blockdiagramm eines Computersystems zum Realisieren einer numerisch
gesteuerten Vorrichtung bei der Ausführungsform der Erfindung;
-
6 ist
ein Konfigurationsdiagramm der numerisch gesteuerten Vorrichtung
bei der Ausführungsform
der Erfindung;
-
7 ist
ein Flussdiagramm zum Veranschaulichen des Betriebs einer Programminterpretiereinheit
bei der Ausführungsform
der Erfindung;
-
8 ist
ein Flussdiagramm zum Veranschaulichen des Betriebs eines Funktionsgenerators bei
der Ausführungsform
der Erfindung;
-
9 ist
ein Flussdiagramm zum Veranschaulichen des Be triebs einer Zeittoleranz-Erkennungseinheit
bei der Ausführungsform
der Erfindung; und
-
10 ist
ein Flussdiagramm zum Veranschaulichen des Betriebs einer Programm-Interpretier/Beobachtungs-Einheit
bei der Ausführungsform der
Erfindung.
-
Nachfolgend
wird ein Softwareobjekt-Verifizierverfahren für ein Echtzeitsystem gemäß einer Ausführungsform
der Erfindung zunächst
unter Bezugnahme auf das Überblicksdiagramm
der 1 beschrieben. Es ist eine erste Website 1 vorhanden, bei
der es sich um eine solche handelt, die der Lieferant z.B. einer
Viruserkennungssoftware oder einer Grundsoftware erstellt. Wenn
der Lieferant der ersten Website 1 ein solcher für Viruserkennungssoftware ist,
lädt dieser
dieselbe oder eine Viruserkennungsmuster-Datei an die erste Website 1.
Wenn er der Lieferant von Grundsoftware ist, lädt er Updatesoftware zur ersten
Website 1 hoch. Dadurch ermöglichen es die Lieferanten
einem Benutzer, diese Software oder diese Datei unmittelbar über das
Internet von der ersten Website 1 herunterzuladen. Demgemäß kann der
Benutzer schnell Maßnahmen
gegen Viren und Probleme ergreifen.
-
Ein
Verifiziersystem 2 ist ein System, das bei der Erfindung
eine zentrale Rolle spielt, und es wird durch eine Person aufgebaut,
die die Dienstleistung der Beurteilung der Eigenschaften beim Anwenden eines
Softwareobjekts bei der Echtzeit-Steuerungsvorrichtung 6 eines
Kunden erbringt. In vielen Fällen sollten
das Verifiziersystem 2 vom Lieferanten der Echtzeit-Steuerungsvorrichtung 6 des
Kunden erstellt werden. Eine verifizierende Echtzeit-Steuerungsvorrichtung 3 lädt ein Softwareobjekt
von der ersten Website 1 herunter (Fluss A) und dann prüft es dieses,
wobei eine vorbestimmte Zeit dazu erforderlich ist, automatisch
zu verifizieren, dass mit dem heruntergeladenen Softwareobjekt keine
Probleme beim Ausführen
einer Echtzeitsteuerung entstehen, sondern diese stabil aufrechterhalten
werden kann. Wenn die verifizierende Echtzeit-Steuerungsvorrichtung 3 geklärt hat,
dass mit dem Softwareobjekt keine Probleme entstehen, lädt sie dasselbe
auf eine zweite Website 5 hoch (Fluss B). Die Echtzeit-Steuerungsvorrichtung 6 des
Kunden lädt
das hochgeladene Softwareobjekt von der zweiten Website 5 herunter
(Fluss C) und wendet sie an. Im Ergebnis erfolgt das Aktualisieren
der Viruserkennungssoftware, der Viruserkennungsmuster-Datei und
der Updatesoftware für
die Echtzeit-Steuerungsvorrichtung 6 des Kunden auf schnelle
Weise, wobei stabiler Betrieb derselben gewährleistet ist.
-
Jedoch
besteht eine gewisse Wahrscheinlichkeit dafür, dass die verifizierende
Echtzeit-Steuerungsvorrichtung 5 nicht immer arbeitet,
wodurch die Verifizierung betreffend die Anwendung des Softwareobjekts
unmöglich
gemacht ist. Dabei kann sich die verifizierende Echtzeit-Steuerungsvorrichtung 3 sogar
in einem Zustand befinden, in dem sie noch nicht einmal die Tatsache
ihrer Beeinträchtigung
an andere Vorrichtungen mitteilen kann. Daher teilt die verifizierende
Echtzeit-Steuerungsvorrichtung 3 den Beginn und den Abschluss
der Verifizierung an einen Beobachtungscomputer 4 mit (Fluss
D). Der Beobachtungscomputer 4 beobachtet den Start und
das Ende der Verifizierung durch die verifizierende Echtzeit-Steuerungsvorrichtung 3.
Wenn die Verifizierung nicht innerhalb einer vorbestimmten Zeit
gestartet wird, oder wenn sie selbst dann nicht innerhalb einer vorbestimmten
Zeit abgeschlossen wird, wenn sie gestartet wurde, sendet der Beobachtungscomputer 4 eine
den Zeitablauf mitteilende Email an den Computer 7 eines
Verwalters, um diesen über
das Auftreten eines anormalen Zustands zu informieren.
-
Nachfolgend
wird die verifizierende Echtzeit-Steuerungsvorrichtung 3 beschrieben.
Hierbei wird beispielhaft eine NC- (numerisch gesteuerte)-Vorrichtung als
eine Art einer Echtzeit-Steuerungsvorrichtung angegeben.
-
Gemäß dem Konfigurationsdiagramm
der 6 erfolgt die Interpretation eines Teilprogramms in
der NC-Vorrichtung durch eine Programminterpretiereinrichtung 203.
Dann führt
ein Funktionsgenerator 204, auf Grundlage des Ergebnisses
der Programminterpretation, mit konstanter Periode eine Funktionserzeugung
aus. Anschließend
wird eine Regelungseinheit 205 entsprechend dem Funktionserzeugungsergebnis
betrieben, und es wird ein Servomotor 206 angesteuert,
wobei Rückkopplung
von einem Positionsdetektor 207 vorliegt. So werden eine Positionsregelung
einer Motorantriebsachse und dergleichen ausgeführt. Eine Softwareobjekt-Verifiziersteuereinheit 211,
eine Zeittoleranz-Erkennungseinheit 212 und eine Programm-Interpretier/Beobachtungs-Einheit 213 sind
für die
verifizierende Echtzeit-Steuerungsvorrichtung 3 spezifische
Systeme, die für
die Echtzeit-Steuerungsvorrichtung G des Kunden nicht erforderlich
sind. Darüber
hinaus verfügen
die verifizierende Echtzeit-Steuerungsvorrichtung 3 und
die Echtzeit-Steuerungsvorrichtung 6 des Kunden außer den
o.g. Elementen im Wesentlichen über
dieselben Elemente. Die für
die verifizierende Echtzeit-Steuerungsvorrichtung 3 spezifischen
Elemente werden später
detailliert beschrieben.
-
Die
in der 6 dargestellte NC-Vorrichtung wird in der Praxis
durch ein Computersystem mit dem in der 5 dargestellten
Blockdiagramm realisiert. Dieses ist mit einer CPU 101 als
Zentrum des Systems, einem ROM 102 und einem RAM 103 als
Speichern sowie einer Festplatte 104 als Hilfsspeicher versehen.
Das Computersystem kann über
eine Kommunikationsschnittstelleneinheit 110 mit anderen
Computern und Websites im Internet kommunizieren. Außerdem besteht
das Computersystem aus einer PLC-Steuereinheit 105, einer
Grafikanzeige-Steuereinheit 107 zum
Steuern eines Displays 109, einer Be dienkonsole-I/F-Einheit 111,
bei der es sich um eine Schnittstellenschaltung zu einer Bedienkonsole 112 handelt,
der Regelungseinheit 205, dem Servomotor 206,
dem Positionsdetektor 207 und dergleichen. Dieselben Elemente,
wie sie in der 6 dargestellt sind, sind hier
mit denselben Symbolen wie dort gekennzeichnet. Obwohl es in der 5 nicht
dargestellt ist, befindet sich das Computersystem unter einer Multitasksteuerung
durch ein Echtzeit-Betriebssystem, und die Programminterpretiereinheit 203 und
der Funktionsgenerator 204 der NC-Vorrichtung der 6 sind
als voneinander verschiedene Taskarten realisiert.
-
Nun
werden die Operationen der Programminterpretiereinheit 203 und
des Funktionsgenerators 204, die Zentren der Echtzeitsteuerung
oder numerischen Steuerung sind, unter Verwendung der Flussdiagramme
der 7 und 8 beschrieben.
-
Die 7 ist
ein Flussdiagramm zum Veranschaulichen des Betriebs der Programminterpretiereinheit 203.
Wenn das Teilprogramm der NC-Vorrichtung gestartet wird, startet
die Programminterpretiereinheit 203 eine Programminterpretieroperation (S71),
und sie empfängt
einen Block des Teilprogramms (S72). Dann interpretiert die Programminterpretiereinheit 203 den
empfangenen einen Block (S73), und sie beurteilt, ob der Block durch
M02 (Programmende) ein Ende anweist (S74). Wenn der Block der Endanweisung
entspricht, beendet die Programminterpretiereinheit 203 die
Operation (S76).
-
Andernfalls überträgt sie das
Interpretationsergebnis an den Funktionsgenerator 204 (S75). Dann
kehrt die Verarbeitung durch die Programminterpretiereinheit 203 zum
Schritt S72 zurück,
und sie wiederholt die Prozesse ab diesem bis zum Schritt S75.
-
Die 8 ist
ein Flussdiagramm zum Veranschaulichen des Betriebs des Funktionsgenerators 204.
Dieser wird jeweils mit einer vorbestimmten Zeitperiode Tcyc gestartet,
und er ist so eingestellt, dass seine Verarbeitung innerhalb einer
vorbestimmten Zeit endet. Zunächst
wird die Verarbeitung mit jeder vorbestimmten Zeitperiode Tcyc gestartet
(S81). Wenn ein Funktionserzeugungsflag nicht gesetzt ist (S82),
beurteilt der Funktionsgenerator 204, ob ein Interpretationsergebnis
vorliegt oder nicht, d.h., ob ein vom Schritt S75 der Verarbeitung
durch die Programminterpretiereinheit 203 übertragenes
Interpretationsergebnis vorliegt oder nicht (S83). Wenn kein Interpretationsergebnis
vorliegt, setzt der Funktionsgenerator 204 ein diesem entsprechendes
Flag (S89), und er beendet seinen Betrieb (S80). Wenn im Schritt
S83 ein Interpretationsergebnis vorliegt, empfängt der Funktionsgenerator 204 dasselbe
(S84), und er führt
eine Funktionserzeugungs-Initialisierung für einen Block aus (S85). Bei
dieser berechnet und speichert der Funktionsgenerator 204,
im Fall einer Anweisung G00 (schneller Vorschub) oder im Fall einer
Anweisung G01 (Schneidvorschub), den Weg in eine Zielposition sowie
den Verstellweg für
jede Achse für
jede vorbestimmte Zeitperiode Tcyc bis zur Zielposition (S85). Dann
setzt der Funktionsgenerator 204 das Funktionserzeugungsflag
(S86). Anschließend überträgt er eine
Verstellanweisung für eine
erste feste Zeitperiode Tcyc an die Regelungseinheit 205 (S87),
und er setzt, entsprechend dem Interpretationsergebnis, ein Flag
zurück
(S88). Dann beendet der Funktionsgenerator 204 die Verarbeitung
für jede
vorbestimmte Zeitperiode Tcyc (S80).
-
Darüber hinaus
führt der
Funktionsgenerator 204, wenn im Schritt S82 das Funktionserzeugungsflag
gesetzt ist, eine Funktionserzeugung für einen Block aus (S90). Bei
der Funktionserzeugung für
einen Block addiert der Funktionsgenerator 204, im Fall
der Anweisung G00 oder der Anweisung G01, den Verstellweg für jede Achse
für jede
vorbestimmte Zeitpe riode Tcyc zur aktuellen Position, und er speichert
das Additionsergebnis ab. Dann überträgt der Funktionsgenerator 204 die
Verstellanweisung für
die feste Zeitperiode Tcyc an die Regelungseinheit 205 (S87),
und er beendet die Verarbeitung für jede feste Zeitperiode Tcyc
(S80).
-
Die
Programminterpretiereinheit 203 und der Funktionsgenerator 204 sind
als eine Anzahl von durch das Echtzeit-Betriebssystem auf dem in
der 5 dargestellten Computersystem als eine Anzahl von
Tasks realisiert, wie oben angegeben. Der Funktionsgenerator 204 wird
als Echtzeittask verarbeitet, die mit jeder vorbestimmten Zeitperiode
Tcyc startet, und die Programminterpretiereinheit 203 wird
als Nicht-Echtzeittask
verarbeitet. Die 4 ist ein zeitbezogenes Diagramm
zum Veranschaulichen des Ausführungszustands
für diese
Tasks. Die Abszisse kennzeichnet die Zeit, und ein Zustand, in dem
eine jeweilige Task die CPU 101 nutzt, ist als Rechteck dargestellt.
Die Echtzeittask wird mit jeder vorbestimmten Zeitperiode Tcyc gestartet,
und es wird ihre Verarbeitung ausgeführt. Die Nicht-Echtzeittask
hat geringere Priorität
im Vergleich zur Echtzeittask, und die Verarbeitung einer solchen
Nicht-Echtzeittask wird zu einem Zeitpunkt ausgeführt, zu
dem die Echtzeittask nicht die CPU 101 benutzt.
-
Hierbei
wird die Echtzeittask mit jeder vorbestimmten Zeitperiode Tcyc gestartet.
Während
zwei Zeitpunkten t0 und t1 beträgt
die Betriebszeit Trun und die Nicht-Betriebszeit Tslp (= Tcyc-Trun).
Die Betriebszeit Trun der Echtzeittask darf die vorbestimmte Zeitperiode
Tcyc nicht überschreiten,
wobei es sich um das Startwiederholungsintervall handelt. Hierbe ist
die Nicht-Betriebszeit Tslp eine Zeittoleranz Tmgn, die die Toleranz
für die
Echtzeittask ist. Wenn die Zeittoleranz nicht ausreicht, nimmt die
Möglichkeit zu,
dass die Betriebszeit Trun für
die Echtzeittast die feste Zeitpe riode Tcyc überschreitet. D.h., dass die Möglichkeit
zunimmt, dass die normale Funktionserzeugung nicht fortgesetzt werden
kann, und diese Situation kann nicht als sicher bezeichnet werden. Demgemäß wird die
Echtzeittask für
eine vorbestimmte Zeit wiederholt abgearbeitet, und es wird die Zeittoleranz
Tmgn gemessen. Dann wird beurteilt, ob der Fall vorliegt oder nicht,
gemäß dem die
Zeittoleranz Tmgn unter einem vorbestimmten Wert, d.h. einem Zeittoleranz-Schwellenwert
Tmgnth, für
alle gestarteten Echtzeittasks, liegt. Dies ist eine der Beurteilungen
im Schritt S7 zum Verifizieren eines Softwareobjekts, wie dies später unter
Bezugnahme auf die 2 beschrieben. Das Flussdiagramm
der 9 veranschaulicht den Betrieb. Die Zeittoleranz-Erfassungseinheit 212 wird
mit jeder definierten Zeitperiode Tcyc, wie der Funktionsgenerator 204, gestartet
(S91), und sie berechnet die Zeittoleranz Tmgn zum Zeitpunkt t (S92).
Wenn die berechnete Zeittoleranz Tmgn unter dem Zeittoleranz-Schwellenwert
Tmgnth liegt, setzt die Zeittoleranz-Erfassungseinheit 212 ein
Beurteilungsflag 1 (S93 und S94), und sie zeichnet es auf,
dass die Zeittoleranz unter dem Schwellenwert liegt.
-
Andererseits
wird die Programminterpretiereinheit 203 durch eine Nicht-Echtzeittask
abgearbeitet. Wie oben beschrieben, erfolgt die Verarbeitung der
Programminterpretiereinheit 203 zu einem Zeitpunkt, zu
dem der Funktionsgenerator 204, der als Echtzeittask abgearbeitet
wird, die CPU 101 nicht benutzt. Demgemäß wird, wenn die Verarbeitung
der Programminterpretiereinheit 203 Zeit erfordert, die Übertragung
des Interpretationsergebnisses der im Schritt S75 in der Programminterpretierverarbeitung (7)
ausgeführten
Programminterpretation zu spät
für den
Zeitpunkt der Vorliegensbeurteilung des Interpretationsergebnisses
des Funktionsgenerators 204 (S83). Im Ergebnis wird die Übertragung
der Verstellanweisung zur Regelungseinheit 205 (S87) nicht ausgeführt, und
dann wird der Betrieb des Servomotors 206 weniger gleichmäßig, was
im Ergebnis die Qualität
der Verarbeitung an einem Material in einer Werkzeugmaschine beeinträchtigt.
Ein derartiges Problem wird dadurch hervorgerufen, dass die CPU 101 durch
die Nicht-Echtzeittask niedriger Priorität belegt wird, die die Programminterpretiereinheit 203 realisiert.
Außerdem
ist die Nutzung der CPU 101 für Echtzeittasks unzureichend
zugeordnet. Die Verspätung
der Übertragung
des Interpretationsergebnisses kann dadurch erkannt werden, dass
beurteilt wird, ob ein Flag entsprechend dem Interpretationsergebnis im
Schritt S89 (8) gesetzt ist oder nicht. Dies
gilt auch für
eine der Beurteilungen im Schritt S7 bei der Verifizierung des Softwareobjekts
( 2), was später
beschrieben wird.
-
Das
Flussdiagramm der 10 veranschaulicht den Betriebsablauf.
Die Programminterpretier-Beobachtungseinheit 213 wird mit
jeder vorbestimmten Zeitperiode Tcyc, wie der Funktionsgenerator 204,
gestartet (S101), und sie setzt ein Beurteilungsflag 2,
wenn ein Flag entsprechend dem Interpretationsergebnis gesetzt wird
(S103). Im Ergebnis wird das Auftreten der verspäteten Übertragung des Interpretationsergebnisses
der Programminterpretiereinheit 203 in Bezug auf das Timing
der Vorliegensbeurteilung zum Interpretationsergebnis des Funktionsgenerators 204 aufgezeichnet.
-
Es
ist günstig,
beim Ausführen
dieser Beurteilungen der NC-Vorrichtung
eine möglichst
schwere Belastung aufzuerlegen. Z.B. ist, hinsichtlich des Teilprogramms
zum Ausführen
der Bearbeitung eines Formwerkzeugs eine schwere Belastung der Ausführung hunderter
von Programminterpretationsblöcken pro
Sekunde zum Erzeugen von Funktionen besser. D.h., dass sowohl die
Programminterpretiereinheit 203 als auch der Funktionsgenerator 204 Bewertungen
unter Verwendung eines Teilprogramms ausführen, durch das der Nutzungsumfang
der CPU 101, d.h. die Belastung derselben maximal wird.
-
Vorstehend
wurde die Maßnahme
zum Bewerten der Steuerung in der Echtzeit-Steuerungsvorrichtung,
oder der NC-Vorrichtung, beschrieben.
-
Als
Nächstes
wird unter Bezugnahme auf das Flussdiagramm der 2 die
Verifizierprozedur für
ein Softwareobjekt beschrieben.
-
In
der verifizierenden Echtzeit-Steuerungsvorrichtung 3, oder
der NC-Vorrichtung mit dem Konfigurationsdiagramm der 6,
beschäftigt
sich die Softwareobjekt-Verifiziersteuereinheit 211 mit
der Verifizierung eines Softwareobjekts. Wenn die Verifizierung
des Softwareobjekts gestartet wird (Softwareobjekt), beurteilt die
Softwareobjekt-Verifiziersteuereinheit 211, ob ein neues
Softwareobjekt auf die erste Website 1 hochgeladen ist
(S2).
-
Wenn
ein neues Softwareobjekt hochgeladen ist, lädt die Softwareobjekt-Verifiziersteuereinheit 211 dasselbe
von der ersten Website 1 herunter (S3), und sie teilt den Start
einer Bewertung an den Beobachtungscomputer 4 mit (S4).
Dann wendet die Softwareobjekt-Verifiziersteuereinheit 211 das
neue Softwareobjekt an, und sie startet die Bewertung desselben
(S5). Hierbei bedeuten die Anwendung des Softwareobjekts und der
Start der Bewertung, dass die CPU 101 auf Grundlage des
heruntergeladenen Softwareobjekts dadurch ausführt, dass sie dieses auf der
Festplatte 104 speichert und das in den RAM 103 geladene
Programm zur Ausführung
neu startet. Als Nächstes
wartet die Softwareobjekt-Verifiziersteuereinheit 211 auf
das Verstreichen einer vorbestimmten Zeit während der Ausführung des
Programms (S6), und sie führt
während
des Wartens die zwei oben beschriebenen Bewertungen aus. Dann beendet
die Softwareobjekt-Verifiziersteuereinheit 211; wenn die vorbestimmte
Zeit verstrichen ist, die Bewertung, und sie führt eine Beurteilung aus (S7).
Die Softwareobjekt-Verifiziersteuereinheit 211 beurteilt,
ob das Bewertungsergebnis gut oder schlecht ist, d.h. sie beurteilt,
ob beide Beurteilungsflags 1 und 2 gesetzt sind oder
nicht (S8). Wenn beide Beurteilungsflags 1 und 2 nicht
gesetzt sind und das Bewertungsergebnis als gut beurteilt wird,
lädt die
Softwareobjekt-Verifiziersteuereinheit 211 das Softwareobjekt
auf die zweite Website 5 hoch (S9), und sie ermöglicht es
der Echtzeit-Steuerungsvorrichtung 6 des Kunden, dasselbe herunterzuladen.
Dann teilt die Softwareobjekt-Verifiziersteuereinheit 211 die
Beendung der Bewertung an den Beobachtungscomputer 4 (S10).
Wenn das Beurteilungsergebnis im Schritt S8 nicht gut ist, teilt die
Softwareobjekt-Verifiziersteuereinheit 211 die anormale
Beendigung der Bewertung an den Beobachtungscomputer 4 mit
(S11).
-
Vorstehend
wurde beschrieben, dass die Verifizierung des Softwareobjekts durch
die Softwareobjekt-Verifiziersteuereinheit 211 ausgeführt wird.
-
Als
Nächstes
wird auf Grundlage des Flussdiagramms der 3 die Beobachtungsprozedur durch
den Beobachtungscomputer 4 beschrieben, bei der es darum
geht, zu klären,
ob die verifizierende Echtzeit-Steuerungsvorrichtung 3 eine
Verifizierung korrekt ausführt
oder nicht.
-
Wenn
der Beobachtungscomputer 4 die Beobachtung startet (S21),
wartet er auf das Hochladen eines neuen Softwareobjekts auf die
erste Website 1 (S22, dieser Schrittablauf ist in der 1 weggelassen).
Wenn ein neues Softwareobjekt auf die erste Website 1 hochgeladen
ist, wartet der Beobachtungscomputer 4 auf eine Mitteilung
zum Start einer Bewertung von der verifizierenden Echtzeit-Steuerungsvorrichtung 3 (S23).
Wenn keine Mitteilung vorliegt, beurteilt der Beobachtungscomputer 4,
ob ein Zeitablauf aufgetreten ist oder nicht (S24). Wenn im Schritt
S23 der Start der Bewertung mitgeteilt wird, wartet der Beobachtungscomputer 4 als
Nächstes auf
die Mitteilung der Beendigung der Bewertung von der verifizierenden
Echtzeit-Steuerungsvorrichtung 3 (S25). Wenn im Schritt
S25 keine Mitteilung vorliegt, beurteilt der Beobachtungscomputer 4,
ob ein Zeitablauf vorliegt (S26).
-
Wenn
eine Mitteilung zu normaler Beendigung vorliegt (S27), kehrt die
Verarbeitung durch den Beobachtungscomputer 4 zum Schritt
S22 zurück, um
auf das Hochladen eines neuen Softwareobjekts auf die erste Website 1 zu
warten. Wenn im Schritt S27 beurteilt wird, dass die Beendigung
nicht normal ist, überträgt der Beobachtungscomputer 4 eine Email,
die den Computer 7 des Verwalters darüber informiert, dass ein nicht
passendes Softwareobjekt erkannt wurde (S28).
-
Wenn
kein Bericht zum Start oder zur Beendigung der Bewertung von der
verifizierenden Echtzeit-Steuerungsvorrichtung 3 vorliegt
und in den Schritten S24 und S26 ein Zeitablauf aufgetreten ist, überträgt der Beobachtungscomputer 4 die
Email, die den Computer 7 des Verwalters über das
Auftreten des Zeitablauffehlers informiert (S29).
-
Vorstehend
wurde die Prozedur des Beobachtungscomputers 4 zum Beobachten,
ob die verifizierende Echtzeit-Steuerungsvorrichtung 3 die
Verifizierung korrekt ausführt,
beschrieben. In der bisherigen Beschreibung wurde von der Annahme
ausgegangen, dass die verifizierende Echtzeit-Steuerungsvorrichtung 3 bei
der vorliegenden Ausführungsform ein
Softwareobjekt auf die zweite Website hochlädt, jedoch kann auch davon
ausgegangen werden, dass der Beobachtungscomputer 4 das
Softwareobjekt hochlädt.
-
Darüber hinaus
wurde in der vorigen Beschreibung beschrieben, dass die Softwareobjekt-Verifiziersteuereinheit
211 im Schritt S9 der 2 ein Softwareobjekt auf die
zweite Website 5 hochlädt,
jedoch kann sie ein Beurteilungsergebnis zu dieser hochladen. In
diesem Fall kann die Echtzeit-Steuerungsvorrichtung 6 des
Kunden ein Softwareobjekt von der ersten Website 1 auf
Grundlage des auf die zweite Website 5 hochgeladenen Beurteilungsergebnisses
herunterladen. Alternativ kann eine Konfiguration verwendet werden,
die das Kopieren des Softwareobjekts von der ersten Website 1 auf die
zweite Website 5 ermöglicht
und es der Echtzeit-Steuerungsvorrichtung 6 des Kunden
ermöglicht,
das Softwareobjekt auf Grundlage des auf die zweite Website 5 hochgeladenen
Beurteilungsergebnisses von dieser herunterzuladen.
-
Obwohl
es in der obigen Beschreibung angegeben ist, dass die erste Website 1 und
die zweite Website 5 voneinander verschieden sind, kann
es sich um dieselbe Website handeln. Hierbei kann eine Website eine
Site sein, die so konfiguriert ist, dass sie ein Softwareobjekt über das
Internet herunterladen kann, und demgemäß besteht für die Website keine Einschränkung auf
eine solche unter HTTP(Hyper Text Transfer Protocol)-Verwendung.
Demgemäß kann die
Website so konfiguriert sein, dass sie mittels eines Kommunikationsprotokolls
wie des FTP (file transfer protocol) ein Herunterladen ausführen kann.