-
Die
Erfindung betrifft ein Verfahren zur Aktualisierung eines Steuerungsablaufes
einer Maschinensteuerung sowie eine Vorrichtung zur Durchführung des
Verfahrens.
-
Aus
der
WO 2005/12484
A1 ist eine Anwendungsumgebung für eine speicherprogrammierbare Steuerung
in Form eines PLC (Programable Logic Controler) bekannt.
-
Die
Fachartikel von Ganguly et al. „Reducing Complexity of Software
Deployment with Delta Configuration”, 10th IFIP/IEEE
International Symposium an Integrated Network Management, 21 May
2007, 729–732,
Doi: 10, 1109/INM.2007.374699 und Zhao et al. ”Dynamic Reconfiguration Planning
with Influence Control”,
2007. 6th IEEE/ACIS International Conference
on Computer and Information Science, 2007. ICIS 11–13 July
2007, 867–872,
Doi: 10.1109/ICIS.2007.93 befassen sich mit theoretischen Ansätzen zur
Software-Implementierung bzw. -konfigurierung.
-
Der
Steuerungsablauf einer Maschinensteuerung wird bei bisher bekannten
Aktualisierverfahren durch das Aufspielen beispielsweise eines neuen
Betriebssystems oder einer neuen Software oder neuer, auf die Hardware
oder die Software bezogener Steuerungsparameter realisiert. Dabei
kommt es vor, dass das Betriebssystem oder das Ablaufprogramm nicht
zur Steuerungshardware passen. Es kommt auch vor, dass Steuerungsparameter
oder auch Anwenderprogramme sowie Anwenderprogrammdaten nicht korrekt
auf die jeweilige Steuerungshardware zugeschnitten sind. Unerwünschte Fehlfunktionen oder
Steuerungsausfälle
sind die Folge.
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren
zur Aktualisierung eines Steuerungsablaufs einer Maschinensteuerung
derart weiterzubilden, dass derartige Störungen oder Ausfälle der
Steuerung, bedingt durch fehlerhafte oder fehlgeschlagene Aktualisierungen,
vermieden sind.
-
Diese
Aufgabe ist erfindungsgemäß gelöst durch
ein Verfahren mit den im Anspruch 1 angegebenen Merkmalen.
-
Erfindungsgemäß wurde
erkannt, dass ein für
den Benutzer sehr komfortables Aktualisierverfahren bereitgestellt
werden kann, wenn dem Benutzer die Verantwortung abgenommen wird,
die vorzunehmenden Aktualisier schritte in eine geeignete Reihenfolge
zu bringen. Der Benutzer kann die Aktualisierschritte in einem Stapelablauf
in beliebiger Reihenfolge vorgeben. Das erfindungsgemäße Verfahren
stellt durch die Sortierung sicher, dass bei der Aktualisierung
zunächst
die grundlegenden Eingriffe vorgenommen werden, auf die die nachfolgenden Aktualisierschritte
dann aufsetzen. So wird beispielsweise vermieden, Programmdaten
zu einem Anwenderprogramm zunächst
zu überspielen,
welche durch anschließende
Neuinstallation des Anwenderprogramms oder durch Umkonfiguration
anzusteuernder Komponenten oder durch Aktualisierung des Betriebssystems
wieder überschrieben
würden.
Mit dem erfindungsgemäßen Aktualisierverfahren
erfolgt das Abarbeiten der Aktualisierschritte gemäß einer festgelegten
und einen reibungslosen Ablauf gewährleistenden Hierarchie der
Aktualisierschritte. Der abzuarbeitende Stapelablauf muss nicht
notwendigerweise zu jeder der im Anspruch 1 angegebenen Aktualisierschritt-Hierarchien Inhalte
aufweisen. Es ist genauso möglich,
dass der Stapelablauf nur einzelne Aktualisierschritte oder im Grenzfall
nur einen einzigen Aktualisierschritt beinhaltet. Der Stapelablauf
kann in Form einer selbstausführenden
Datei (Autorun-Datei) bereitgestellt werden.
-
Eine
Prüfung
nach Anspruch 2 kann vor den Folgen einer nicht an die Steuerungshardware
angepassten Aktualisierung schützen.
Zu prüfende
Hardware-Voraussetzungen sind beispielsweise das Vorhandensein anzusteuernder
Komponenten, eine Prüfung
der erforderlichen Speichergröße von Permanentspeichereinheiten
oder Arbeitsspeichern, die beschrieben werden sollen, sowie die
Abfrage einer erforderlichen Prozessorleistung.
-
Bei
der Variante nach Anspruch 3 wird im Falle, dass die Hardware-Voraussetzungen nicht ausreichen,
die Aktualisierung einfach nicht durchgeführt.
-
Bei
der Variante nach Anspruch 4 erfolgt eine Anpassung des ansonsten
nicht abarbeitbaren Aktualisierschritts.
-
Ein
Zurverfügungstellen
von Statusinformationen nach Anspruch 5 gewährleistet, dass der Anwender
den jeweiligen Aktualisierstatus entweder nach dem Abarbeiten des
Stapelablaufs oder auch während
des Abarbeiten verfolgen kann. Hierbei wird der Anwender insbesondere über vorgenommene Anpassungen,
d. h. Veränderungen
des vorgegebenen Stapelablaufs, in Kenntnis gesetzt. Der Abgleich der
Statusinformationen ermöglicht
beispielsweise die Prüfung,
ob bestimmte Aktualisierschritte schon vorgenommen wurden und verhindert
somit das unnötige
Mehrfach-Abarbeiten von Aktualisierschritten. Die Statusinformationen
können
entweder den reinen Momentan-Status der Aktualisierung wiedergeben
oder nach Art eines Log-Files den gesamten Aktualisierablauf festhalten.
Die Statusinformationen können
auf dem Datenträger
in Form einer Datei gespeichert werden. Die Statusinformationen
zum aktuellen Stand der Aktualisierung, also die Update-Historie,
kann zum Beispiel in einer zentralen Datenbank des Datenträgers oder
auch in eine einfache Tabelle eingelesen werden und über ein
Datenverarbeitungsgerät
ausgewertet werden. Ein Benutzer kann entsprechend vorliegender
Arbeitspläne
zum Einsatz der Maschinensteuerung einen Update-Plan vorbereiten
und diesen mit den Rückmeldungen
zur Aktualisierung, also mit den Statusinformationen auf dem Datenträger abgleichen.
Hierbei ist bevorzugt, wenn jede Maschinensteuerung ein eindeutiges
und vom Betriebssystem des Steuerungsablaufes einlesbares Identifikationsmerkmal
wie beispielsweise eine Seriennummer, eine Leiterplattennummer oder
eine Typennummer aufweist. Alternativ zur Speicherung der Statusinformationen
zum aktuellen Stand der Aktualisierung auf dem Datenträger kann
eine derartige Speicherung auch in einem entsprechenden Speicher
der Maschinensteuerung selbst erfolgen. Der aktuelle Stand der Aktualisierung
ist dann in der Maschinensteuerung unabhängig vom jeweiligen Aktualisierungs-Datenträger hinterlegt.
Es können
dann beispielsweise verschiedene Datenträger mit dort abgelegten, automatisch
abzuarbeitenden Stapelabläufen
mit Aktualisierschritten vorgesehen sein, die unabhängig voneinander
genutzt werden können.
Aufgrund der Speicherung der Statusinformationen zum aktuellen Stand
der Aktualisierung in der Maschinensteuerung selbst wird vermieden,
dass bereits innerhalb der Maschinensteuerung durchgeführte Aktualisierschritte
beim Abarbeiten eines Stapelablaufs eines neuen Datenträgers unerwünscht ein
zweites Mal und somit doppelt durchgeführt werden. Grundsätzlich ist
es auch möglich,
die Statusinformationen zum aktuellen Stand der Aktualisierung redundant sowohl
im Datenträger
als auch in einem Speicher der Maschinensteuerung abzulegen und
ggf. abzugleichen.
-
Eine
weitere Aufgabe der Erfindung ist es, eine Vorrichtung zur Durchführung des
erfindungsgemäßen Verfahrens
anzugeben.
-
Diese
Aufgabe ist erfindungsgemäß gelöst durch
eine Vorrichtung mit den im Anspruch 6 angegebenen Merkmalen.
-
Die
Vorteile dieser Vorrichtung entsprechen denen, die vorstehend in
Bezug auf das erfindungsgemäße Verfahren
bereits erläutert
wurden.
-
Ein
Datensatz mit einem editierbaren Klartext-Abschnitt nach Anspruch
8 ermöglicht
ein für
den Anwender einfaches Vorgeben der Aktualisierschritte. Der Klartext-Abschnitt
kann auch vom Anwender beispielsweise in einer Programmier-Hochsprache geschriebene
Anwenderprogramme beinhalten.
-
Ein
Identifikationsmuster bzw. ein Zugangscode nach Anspruch 9 schützt vor
unautorisiertem Benutzen der Vorrichtung.
-
Eine
USB-Schnittstelle nach Anspruch 10 ist eine robuste Standard-Schnittstelle. Der
Datenträger kann
dann insbesondere als USB-Memory-Stick
ausgeführt
sein. Auch ein anderer Datenträger,
beispielsweise eine SD-Karte, eine CF-Karte oder eine MC-Karte,
kann eingesetzt werden.
-
Ein
Ausführungsbeispiel
der Erfindung wird nachfolgend anhand der Zeichnung näher erläutert. In
dieser zeigen:
-
1 schematisch
ein Blockschaltbild einer Maschinensteuerung zusammen mit einer
Vorrichtung zur Aktualisierung eines Steuerungsablaufes der Maschinensteuerung;
-
2 schematisch
einen Ablauf von Aktualisierschritten im Rahmen der Aktualisierung
des Steuerungsablaufs zusammen mit zugehörigen steuerungsinternen Abläufen.
-
Eine
in der 1 stark schematisch dargestellte Maschinensteuerung 1 hat
eine Hauptsteuerung 2 und eine Mehrzahl von untergeordneten
Steuerungen 3, von denen in der 1 insgesamt
drei dargestellt sind. Je nach den Anforderungen, die an die Maschinensteuerung 1 gestellt
sind, kann auch nur eine solche untergeordnete Steuerung oder es können zwei
oder auch mehr als drei untergeordnete Steuerungen 3 vorgesehen
sein. Über
einen Datenbus 4 steht die Hauptsteuerung 2 mit
den untergeordneten Steuerungen 3 in Signalverbindung.
Die Hauptsteuerung 2 und zumindest eine der untergeordneten
Steuerungen 3 können
auch innerhalb eines gemeinsamen Steuerungsmoduls, insbesondere auch
auf einer gemeinsamen Platine untergebracht sein.
-
Die
Hauptsteuerung 2 hat eine Permanentspeichereinheit 5 in
Form einer Flash-Memoryeinheit. Alternativ können als Permanentspeichereinheit 5 auch
ein VRAM oder ein EEPROM vorgesehen sein. Die Permanentspeichereinheit 5 hat
im hier beschriebenen Ausführungsbeispiel
einen gesonderten, geschützten
Speicherbereich. Weiterhin umfasst die Hauptsteuerung 2 einen
flüchtigen
Arbeitsspeicher 6, der auch als RAM bezeichnet wird. Weiterhin umfasst
die Hauptsteuerung 2 einen Haupt-Steuerprozessor 7, der auch
als Mikrokontroller bezeichnet wird. Die Hauptsteuerung 2 umfasst
ferner eine Standard-Schnittstelle 8, die im Ausführungsbeispiel
nach 1 als USB-Schnittstelle ausgeführt ist.
-
Die
Permanentspeichereinheit 5, der Arbeitsspeicher 6,
der Haupt-Steuerprozessor 7 und die
Standard-Schnittstelle 8 stehen über einen internen Datenbus 9 miteinander
in Signalverbindung.
-
Über eine
Signalleitung 10 steht die Hauptsteuerung 2 mit
einer externen anzusteuernden Komponente 11, beispielsweise
einem Antrieb in Form eines Elektromotors, in Signalverbindung. über entsprechende
Signalleitungen kann die Hauptsteuerung 2 auch mit weiteren
externen anzusteuernden Komponenten in Signalverbindung stehen,
so dass beispielsweise eine Mehrzahl von Antrieben angesteuert werden
kann. Bei den externen anzusteuernden Komponenten 11 kann
es sich insbesondere um einen Motor, beispielsweise um einen DC-Motor,
zum Antrieb einer Armwelle einer Nähmaschine handeln. Als externe
anzusteuernde Komponente kann auch ein Aktuator zum Einsatz kommen.
-
Über eine
weitere Signalleitung 12 steht die Hauptsteuerung 2 mit
einem externen Aus- und Eingabegerät 13, beispielsweise
einem Terminal oder einem Display oder einem Touch-Screen, in Signalverbindung.
-
Als
externes Aus- bzw. Eingabegerät 13 kann
auch ein Sensor, beispielsweise ein optischer Wegesensor, eine Bilderfassungseinrichtung
oder ein Sensor zur Messung von Umgebungsparametern wie der Temperatur
zum Einsatz kommen.
-
Die
untergeordneten Steuerungen 3 weisen ebenfalls eine Permanentspeichereinheit 14,
einen Arbeitsspeicher 15 und einen Steuerprozessor 16 auf,
die vom grundsätzlichen
Aufbau her den Komponenten 5 bis 7 der Hauptsteuerung 2 entsprechen. Der
Haupt-Steuerprozessor 7 arbeitet mit den Steuerprozessoren 16 in
einer Master/Slave-Konfiguration zusammen, weswegen die Steuerprozessoren 16 der
untergeordneten Steuerungen 3 auch als Neben-Steuerprozessoren
bezeichnet werden.
-
Auch
die untergeordneten Steuerungen 3 stehen über Signalleitungen 10, 12 einerseits
mit externen anzusteuernden Komponenten 11 und andererseits
mit externen Aus- bzw. Eingabegeräten 13 in Signalverbindung.
Diese Bauelemente entsprechen denen, die vorstehend in Bezug auf
die Hauptsteuerung 2 schon erläutert wurden.
-
Über die
Standard-Schnittstelle 8 kann die Hauptsteuerung 2 mit
einem Datenträger 17 verbunden
werden, der bei der Ausführung
nach 1 als USB-Memory-Stick ausgebildet ist. Eine Standard-Schnittstelle 18 des
Datenträgers 17 ist
zur Standard-Schnittstelle 8 komplementär und mit dieser kompatibel.
-
Der
Datenträger 17 weist
ein Aktualisier-Modul 19 in Form einer automatisch abzuarbeitenden Stapeldatei
auf. Weiterhin hat der Datenträger 17 ein Interpreter-Modul 20 zum
Sortieren von nachfolgend noch erläuterten Aktualisierschritten.
Ferner hat der Datenträger 17 ein
Status-Modul 21 zum Erfassen von Statusinformationen zum
aktuellen Stand einer Aktualisierung der Maschinensteuerung 1.
Die Module 19 bis 21 stehen untereinander in Signalverbindung.
-
Die
Module 19 bis 21 können als Programmeinheiten
in einem Datenspeicher des Datenträgers 17 implementiert
sein. Es ist auch möglich, einzelne
oder alle der Module 19 bis 21 hardwaremäßig zu implementieren,
wobei zumindest das Aktualisier-Modul 19 und das Status-Modul 21 dann
eine wiederbeschreibbare Speichereinheit aufweisen. Das Interpreter-Modul 20 kann,
und dies ist der Regelfall, auch ein Bestandteil der Permanentspeichereinheit 5 der
Hauptsteuerung 2 sein. Einzelne der Module 19 bis 21 können auch
anderweitig zusammengefasst und insbesondere auch in untergeordneten
Modulen implementiert sein.
-
Das
Aktualisier-Modul 19 hat einen Datensatz mit einem editierbaren
Klartext-Abschnitt. Das Aktualisier-Modul 19 weist ferner
einen Zugangscode bzw. ein Identifikationsmuster auf, insbesondere
in der Form, dass nur ein autorisierter Benutzer, der nachfolgend
auch als Ausrüster
bezeichnet wird, über
die Eingabe eines diese Benutzer identifizierenden Kennwortes das
Aktualisier-Modul, insbesondere dessen Klartext-Abschnitt, modifizieren
kann.
-
Der
Ausrüster
kann in der Maschinensteuerung 1 einen Zugangscode hinterlegen,
mit dem das Einspielen von nicht korrekt lauffähiger Software, von außerhalb
von zulässigen
Betriebsbereichen liegenden Parameter, von auf den Anwendungszweck
nicht zugeschnittenen Betriebssystemen sowie von auf den Anwendungszweck
nicht zugeschnittenen Ablaufprogrammen verhindert werden kann. Hierdurch wird
verhindert, dass eine Anlage, die mit der Maschinensteuerung 1 gesteuert
wird, mit anderen als den gewünschten
Steuerbefehlen versorgt wird.
-
Der
Benutzer bzw. der Ausrüster
kann beispielsweise verschiedene Zugangsmuster in der Steuerung
hinterlegen. Dies wird nachfolgend anhand eines über die Maschinensteuerung 1 anzusteuernden
Hosenbundautomaten erläutert.
Für ein Ablaufprogramm
des Hosenbundautomaten kann ein erstes Zugangsmuster hinterlegt
werden. Für
verschiedene Parametersätze
des Hosenbundautomaten können
weitere Zugangsmuster hinterlegt werden.
-
Für jeden
möglichen
Download der Hauptsteuerung 2 vom Datenträger 17 über eine
selbstausführende
Datei (Autorun-Datei) kann der Benutzer interpretierbare Datenwerte
hinterlegen.
-
Um
die Zugangscodes zu setzen, kann der Benutzer Autorun-Dateien für jeden
mit der Maschinensteuerung 1 zu steuernden Anlagentyp erzeugen. Diese
Autorun-Dateien werden im Datenträger 17 gespeichert
und können
vor Ort, also beispielsweise in einer Produktionshalle, in die Maschinensteuerung 1 der
zu steuernden Anlage geladen werden. Die Maschinensteuerung 1 reagiert
auf eine mit der Autorun-Datei übergebene
Autorun-Funktion
nur dann, wenn die hierfür
zulässigen
Zugangscodes in der Autorun-Datei mit übergeben werden. Als Zugangscode kann
ein Identifikationsmuster oder ein Sicherheitscode genutzt werden.
Beim Download der Autorun-Dateien ist über die Maschinensteuerung 1 auch
eine Auswahl nach erfassten dynamischen Bedingungen möglich. So
ist es möglich,
ab hängig
von der Anzahl der an der Maschinensteuerung 1 extern angeschlossenen
Komponenten, beispielsweise der Anzahl der angeschlossenen untergeordneten
Steuerungen 3 oder der Anzahl der extern angeschlossenen
Komponenten 11, verschiedene über den Datenträger 17 verfügbare Autorun-Dateien
zu laden.
-
Die
Abfrage des konkreten Komponentenaufbaus der Maschinensteuerung 1 kann
auch innerhalb einer einzigen Autorun-Datei erfolgen, wobei abhängig vom
Vorhandensein bestimmter Steuerungsparameter bestimmte Programmroutinen
der Autorun-Datei aufgerufen werden oder nicht. Hierdurch ist es
möglich,
unterschiedliche Anlagen, die mit ein und derselben Maschinensteuerung 1 gesteuert
werden können,
mit Hilfe eines Datenträgers,
nämlich des
Datenträgers 17 und
einer einzigen Autorun-Datei zu aktualisieren oder zu parametrisieren.
-
Der
Steuerungsablauf der Maschinensteuerung 1 wird mithilfe
des Datenträgers 17 folgendermaßen aktualisiert:
Zunächst
wird der Datenträger 17 bereitgestellt,
also es wird das Aktualisier-Modul 19 in Form eines automatisch
abzuarbeitenden Stapelablaufs, insbesondere einer automatisch abzuarbeitenden
Stapeldatei mit Aktualisierschritten, bereitgestellt und der Datenträger 17 wird über die
Standard-Schnittstellen 8, 18 mit der Hauptsteuerung 2 der
Maschinensteuerung 1 verbunden.
-
Nun
wird im Interpreter-Modul 20 zunächst der Stapelablauf ausgelesen
und es werden die Aktualisierschritte sortiert. Es wird also eine
Einlesepriorität
der zu verarbeitenden Aktualisierschritte festgelegt. Die Prioritätsabfolge
wird nachfolgend anhand der 2 erläutert.
-
Aktualisierschritte 22 mit
der Priorität
1 sind solche, die die Programmierung der Hauptsteuerung 2 betreffen.
Es handelt sich um Aktualisierschritte, die ein Betriebssystem 23 der
Hauptsteuerung und ggf. der nachfolgenden untergeordneten Steuerungen 3 betreffen,
dieses also ersetzen oder verändern. Das
Betriebssystem 23 verwaltet die Speicherorganisation, Ein-Ausgabegeräte der Maschinensteuerung 1,
eine Regelung der extern anzusteuernden Komponenten 11 sowie
die Ausführung
von Anwenderprogrammen. Das Betriebssystem 23 wird vom
Maschinenhersteller der mit der Maschinensteuerung 1 zu steuernden
Maschine bzw. Anlage erstellt und in der Flash-Memory-Einheit der
Hauptsteuerung 2 abgelegt. Eine Software des Betriebssystems 23 kann vom
Benutzer nur komplett mit Hilfe eines Downloads über den Datenträger 17 ausgetauscht
werden. Eine Veränderung
einer Funktion des Betriebssystems 23 ist nur durch Parameter
möglich,
die das Betriebssystem 23 selbst dem Benutzer zur Verfügung stellt, nicht
jedoch über
vom Benutzer unabhängig
davon gesetzte Parameter. Im Rahmen der Abarbeitung der Aktualisierschritte 22 wird
die Permanentspeichereinheit 5 in der Hauptsteuerung 2 zumindest
teilweise überschrieben,
was auch als Update (Verfahrensschritt 23a) bezeichnet
wird.
-
Aktualisierschritte 24 mit
der Priorität
2 betreffen die Programmierung der untergeordneten Steuerungen 3 über den
Datenbus 4. Es handelt sich hier ebenfalls um Aktualisierschritte,
die das Betriebssystem 23, diesmal der untergeordneten
Steuerung 3, betreffen. Zudem können die Aktualisierschritte 24 Steuerungsparameter 25 der
Ansteuerung der extern anzusteuernden Komponenten 11 betreffen.
Bei den Steuerungsparametern bzw. Parameterdaten 25 handelt
es sich um Einstellwerte, die in der Flash-Memory-Einheit der Hauptsteuerung 2 hinterlegt
sind und einen Programmablauf nach Vorgabe des Betriebssystems 23 beeinflussen
können. Die
Steuerungsparameterdaten 25 haben vorgegebene Minimal-
und Ma ximalwerte, die vom Benutzer nicht über- oder unterschritten werden
können.
Damit wird erreicht, dass immer ein betriebssicherer Zustand programmiert
ist. Es werden die Steuerungsparameterdaten 25 sowohl vom
Betriebssystem 23 als auch von einem Anwenderprogramm zur
Verfügung
gestellt. Das Betriebssystem 23 stellt nachfolgend noch
näher erläuterten
Anwenderprogrammen eine bestimmte Anzahl von Parameterspeichern
zur Verfügung,
die der Benutzer für
sein Programm nutzen kann. Über
die Steuerungsparameter 25 kann die Maschinensteuerung 1 hinsichtlich
des Typs sowie der Anzahl der extern anzusteuernden Komponenten 11 konfiguriert
werden. Schließlich
betreffen die Aktualisierschritte 24 Anwender-Programmdaten 26,
also Daten, die vom Benutzer insbesondere in den Klartext-Abschnitt
des Aktualisier-Moduls 19 editiert wurden und mit denen
der Anwender Einfluss auf die Programmierung der untergeordneten
Steuerungen 3 nehmen kann. Die Aktualisierschritte 24 mit
der Priorität
2 werden beim Abarbeiten zunächst
im Arbeitsspeicher 6 der Hauptsteuerung 2 zwischengespeichert
(Verfahrensschritt 27). Anschließend erfolgt eine Übertragung
der Betriebssystemdaten 23, der Steuerungsparameterdaten 25 und
der Anwender-Programmdaten 26 vom Arbeitsspeicher 6 über den
Datenbus 4 zu den untergeordneten Steuerungen 3 (Verfahrensschritt 28).
-
Zu
Aktualisierschritten 29 mit der Priorität 3 gehören solche, die die Programmierung
der angeschlossenen externen Aus- bzw. Eingabegeräte 13 betreffen.
Diese Aktualisierschritte 29 beinhalten Anwender-Programmdaten 30.
Letztere werden beim Abarbeiten der Aktualisierschritte 29 zunächst in
der Permanentspeichereinheit 5 der Hauptsteuerung 2 abgespeichert
(Verfahrensschritt 31). Anschließend erfolgt eine Datenübertragung
von der Permanentspeichereinheit 5 über den Datenbus 9 und ggf.
den Datenbus 4 zu den externen Aus- bzw. Eingabegeräten 13 (Verfahrensschritt 32).
-
Zu
Aktualisierschritten 33 der Priorität 4 gehören solche, die der Programmierung
von Steuerungsparametern der externen anzusteuernden Komponenten 11 dienen.
Diese Aktualisierschritte 33 betreffen Steuerungsparameterdaten 34 sowie,
falls es sich bei den externen anzusteuernden Komponenten 11 um
Komponenten von Nähmaschinen oder
Nähautomaten
handelt, Nähablaufdaten 35.
Bei der Abarbeitung der Aktualisierschritte 33 mit der
Priorität
4 werden die Daten 34, 35 in der Permanentspeichereinheit 5 der
Hauptsteuerung 2 abgespeichert (Verfahrensschritt 36).
-
Zu
Aktualisierschritten 37 mit der Priorität 5 gehören solche, die ein Identifikationsmuster 38 des Aktualisier-Moduls 19 betreffen.
Bei dem Identifikationsmuster 38 kann es sich um einen
Sicherheitscode handeln. Bei der Abarbeitung der Aktualisierschritte 37 erfolgt
ein Abspeichern des Identifikationsmusters 38 in einen
geschützten
Bereich der Permanentspeichereinheit 5 der Hauptsteuerung 2 (Verfahrensschritt 39).
-
Die Übertragung
des Identifikationsmusters 38 oder des Sicherheitscodes
kann in einem gesonderten Schritt oder innerhalb des gesamten Ablaufs eines
Downloads einer Autorun-Datei vorgenommen werden. Bei der Zusammenfassung
eines derartigen Ablaufs bestimmt der Nutzer, zu welchem Zeitpunkt das
Identifikationsmuster 38 bzw. der Sicherheitscode oder
auch weitere Codes übertragen
werden. Werden das Identifikationsmuster 38 bzw. die Codes in
einem ersten Schritt des Downloads übertragen, können oder
müssen
alle folgenden Anweisungen, die im Rahmen des Abarbeitens der Autorun-Datei erfolgen,
mit dem Identifikationsmuster 38 oder den Codes freigegeben
werden. Alternativ ist es möglich, zunächst alle
Daten zu aktualisieren und anschließend das Identifikationsmuster
bzw. die Codes zu setzen, sodass der Download an sich schneller
erfolgt und die Zulässigkeit
der Daten anschließend
innerhalb der Maschinensteuerung 1 vergleichsweise schnell
geprüft
werden kann.
-
Zu
Aktualisierschritten 40 mit der Priorität 6 gehören solche, die die Programmierung
von Anwenderprogrammen betreffen. Hierzu gehören Anwenderprogramme 41,
die der Benutzer beispielsweise in einer Programmier-Hochsprache
in den Klartext-Abschnitt des Aktualisier-Moduls 19 editieren
kann, sowie Anwenderdaten 42, d. h. insbesondere Parameter,
die in den Anwenderprogrammen 41 gesetzt werden sollen.
Während
das Betriebssystem 23 sehr nahe an der Hardware der Maschinensteuerung 1 Grundfunktionen
der Maschinensteuerung 1 zur Verfügung stellt, kann der Benutzer
zur Anpassung eines funktionellen Ablaufes an ein Gesamtsystem einen eigenen
Softwareablauf, also einen eigenen Ablauf der Anwenderprogramme 41,
an einem externen Rechner programmieren und über den Datenträger 17 auf
die Maschinensteuerung 1 übertragen. Das Anwenderprogramm 41 oder
die Anwenderprogramme 41 werden in der Flash-Memory-Einheit der Hauptsteuerung 2 abgelegt.
Das Betriebssystem 23 verwaltet bzw. führt das Anwenderprogramm 23 aus und
beeinflusst hierüber
beispielsweise die externen anzusteuernden Komponenten 11 sowie
die externen Aus- bzw. Eingabegeräte 13. Beim Abarbeiten der
Aktualisierschritte 40 mit der Priorität 6 werden die Anwenderprogramme 41 und
die Anwenderdaten 42 in der Permanentspeichereinheit 5 der
Hauptsteuerung 2 abgespeichert (Verfahrensschritt 43).
-
Die
Klassifizierung der im Aktualisier-Modul 19 abgelegten
Aktualisierschritte in die Aktualisierschritte 22, 24, 29, 33, 37, 40 mit
den Prioritäten
1 bis 6 übernimmt
das Interpreter-Modul 20. Die Aktualisierschritte wer den
also gruppiert nach Aktualisierschritten 22, die die Programmierung
der Hauptsteuerung betreffen (Priorität 1), Aktualisierschritten 24, die
die Programmierung untergeordneter Steuerungen oder Schnittstellen
betreffen (Priorität
2), Aktualisierschritten 29, die die Programmierungen von
angeschlossenen Aus- und Eingabegeräten betreffen (Priorität 3), Aktualisierschritten 33,
die die Programmierung der Steuerungsparameter betreffen (Priorität 4), Aktualisierschritten,
die die Programmierung eines Zugangscodes für Anwenderprogramme betreffen
(Priorität
5) und Aktualisierschritte 40, die die Programmierung der
Anwenderprogramme betreffen (Priorität 6). Falls nicht zu jeder
der sechs Prioritäten Aktualisierschritte
vorliegen, bleibt die entsprechende Prioritätsklasse leer.
-
Nach
dieser, vom Interpreter-Modul 20 durchgeführten Sortierung
werden die Aktualisierschritte 22, 24, 29, 33, 37, 40 in
der sortierten Reihenfolge abgearbeitet.
-
Jeweils
vor dem Abarbeiten der Aktualisierschritte 22, 24, 29, 33, 37, 40 prüft das Interpreter-Modul 20,
ob die Maschinensteuerung 1 die Hardware-Voraussetzungen
zur jeweils abzuarbeitenden Aktualisierung aufweist. Hierbei fragt
das Interpreter-Modul ab, ob für
die Durchführung
des jeweiligen Aktualisierschritts erforderliche anzusteuernde Komponenten
vorhanden sind, ob eine ausreichende Speichergröße vorhanden ist oder ob eine
ausreichende Prozessorleistung bereitgestellt wird.
-
Falls
die Prüfung
durch das Interpreter-Modul 20 ergibt, dass diese Hardware-Voraussetzungen nicht
vorliegen, wird die Aktualisierung schon vor Ausführung des
ersten Aktualisierschritts 22 abgebrochen.
-
Bei
einer alternativen Variante kann ein Aktualisierschritt 22, 24, 29, 33, 37, 40,
bei dem die Prüfung
durch das Interpreter-Modul 20 ergeben hat, dass die Hardware-Voraussetzungen
hierfür
nicht vorliegen, durch das Interpreter-Modul so angepasst werden,
dass die angepasste Aktualisierung die Hardware-Voraussetzungen
erfüllt.
Falls beispielsweise als Steuerungsparameter eine Armwellendrehzahl
von X Umdrehungen pro Minute gefordert ist, die angeschlossene Nähmaschine
jedoch nur zu einer maximalen Armwellendrehzahl von X-100 Umdrehungen
pro Minute in der Lage ist, so passt das Interpreter-Modul den zugehörigen Aktualisierschritt,
mit dem die Armwellendrehzahl gesetzt werden soll, auf X-100 an,
wobei der Benutzer über
diese Anpassung informiert wird.
-
Auch
zu dieser Information dienen Statusinformationen zum aktuellen Stand
der Aktualisierung, die während
der Aktualisierung in das Status-Modul 21 des
Datenträgers 17 eingeschrieben
werden. Vor jedem neuen Aktualisierschritt werden die im Status-Modul 21 abgelegten
Statusinformationen mit dem im Aktualisier-Modul 19 festgelegten
Stapelablauf verglichen, so dass jeweils über das Interpreter-Modul 20 entschieden
werden kann, ob bestimmte Aktualisierschritte des Stapelablaufs
bereits vorgenommen wurden, die dann übersprungen werden können. Auf
diese Weise ist beispielsweise vermieden, dass bei einem während der
Aktualisierung notwendigen Reset der Maschinensteuerung 1 der
Stapelablauf immer wieder mit dem ersten abzuarbeitenden Aktualisierschritt
beginnt und auf diese Weise eine unerwünschte Endlosschleife produziert
wird. Entsprechende Statusinformationen zum aktuellen Stand der
Aktualisierung können
auch in einem entsprechenden Speicher der Maschinensteuerung 1 selbst,
also unabhängig
vom Datenträger 17,
gespeichert sein. Bei einer weiteren Ausführung ist es möglich, derartige
Statusinformationen zum aktuellen Stand der Aktualisierung sowohl
im Datenträger 17 als
auch unabhängig
hiervon in einem Speicher der Maschinensteuerung 1 selbst
abzulegen.
-
Die
Aktualisierung des Steuerungsablaufs erfolgt nach dem Einstecken
des Datenträgers 17, also
nach der Verbindung des Datenträgers 17 mit der
Hauptsteuerung 2 über
die Standard-Schnittstellen 8, 18, vollautomatisch.