-
Die
Erfindung betrifft eine Softwareschutzvorrichtung für eine Textilmaschine,
sowie eine Textilmaschine, welche zum Zusammenwirken mit einer derartigen
Vorrichtung ausgebildet ist. Die Vorrichtung kann als multifunktionales
Gerät konzipiert
bzw. realisiert werden, d.h. sie kann zusätzlich mit Software bzw. Vorrichtungen
versehen werden, welche die Erfüllung
anderer Anforderungen, z. B. die Speicherung bzw. Wiedergabe von
maschinenspezifischen Daten, ermöglicht.
-
Praktisch
jede Textilmaschine wird heute als eine Maschine mit einer programmierbaren
Steuerung hergestellt, d.h. die Maschine ist mit mindestens einem
(normalerweise mit mehreren) Rechner versehen und braucht Software,
um diese(n) Rechner betreiben zu können. Mit der fortschreitenden
Entwicklung dieser „intelligenten" Maschinen steigen
ständig die
Anforderungen an die Software, insbesondere an die Software, die
eigens für
die Maschine vorgesehen ist und vom Maschinenhersteller durch Eigenentwicklung
und/oder Auftragsentwicklung („proprietary" software) zur Verfügung gestellt
werden muß.
Damit steigt auch die Versuchung, derartige Software zu kopieren
bzw. ohne Befugnisse zu verwenden.
-
Diese
Situation ist in der Software-Industrie allgemein schon lang bekannt
und es sind für
größere Computer-Netzwerke
Konzepte entwickelt worden, mittels eines sogenannten „Dongles", die nicht-autorisierte
(Mit)Benutzung zu unterbinden. Es sind aber keine Produkte käuflich erhältlich,
die für den
Software-Schutz in einzelnen industriellen Produkten, wir Textilmaschinen,
konzipiert bzw. geeignet sind.
-
Weiter
ist es bekannt, gewisse, einer bestimmten Maschine zugeordneten
(Kennzeichnungs-)Daten in einem speziell dafür vorgesehenen Speicher abrufbar
abzulegen. In der EP-A-1194887 ist z. B. vorgeschlagen worden, ein
traditionelles Typenschild (Träger
für schriftliche
und/oder grafische Informationen) mit einer elektronischen Speichereinrichtung
zusammenzufassen. Zu diesem Zweck soll das Typenschild mit einem
Speicherchip versehen werden, welcher insbesondere dazu benutzt
werden soll, Informationen über
den Betrieb der Maschine nach deren Fertigstellung zu speichern,
wie z. B. Laufzeit, Drehzahlen und Belastung.
-
Bei
bekannten Textilmaschinen, bei denen maschinenspezifische Daten,
wie etwa Seriennummer, Konfiguration, Softwareversion und/oder Betriebstunden,
elektronisch gespeichert werden, erfolgt die Speicherung innerhalb
der Steuerung bzw. einer Komponente der Steuerung der Textilmaschine.
Bei einem Defekt der Steuerung sind diese maschinenspezifischen
Daten häufig
nicht mehr auslesbar. Nach einer Reparatur bzw. einem Austausch
der Steuerung ist es dann sehr aufwendig, diese maschinenspezifischen
Daten zu erneuern.
-
Weiterhin
ist es üblich,
Textilmaschinen mit Betriebsstundenzählern zu versehen. Die Betriebszeit
kann beispielsweise als Grundlage für Wartungspläne oder,
falls die Textilmaschine vermietet wird, für die Berechnung von Mietpreisen
dienen. Die bisher bekannten, vorwiegend elektrisch oder mechanisch ausgebildeten
Betriebsstundenzähler
sind jedoch verhältnismäßig leicht
manipulierbar, da lediglich die Zufuhr des der Betriebsstundenzählung zu
Grunde liegende Eingangssignal des Betriebsstundenzählers unterbrochen
werden muß.
-
Aufgabe
der vorliegenden Erfindung ist es, die genannten Nachteile des Standes
der Technik zu beseitigen. Insbesondere soll ein wirksamer Schutz der
Software einer Textilmaschine erzielt werden. In bevorzugten Ausführun gen
der vorliegenden Erfindung werden elektronische „Typenschild"-Konzepte mit der vorerwähnten Softwareschutz-Funktion
vorteilhaft kombiniert. Dabei soll eine steuerungsunabhängige Abspeicherung
maschinenspezifischer Daten in Kombination mit einer Softwareschutzvorrichtung
vorgeschlagen werden. Aufgabe einer weiteren Ausführungsform
der vorliegenden Erfindung ist es, in Verbindung mit einer Softwareschutzvorrichtung eine
verbesserte Betriebsstundenzählung
bei einer Textilmaschine vorzuschlagen.
-
Die
Aufgabe wird gelöst
durch eine Softwareschutzvorrichtung mit den Merkmallen des Patentanspruches
1, eine Textilmaschine mit den Merkmalen des Anspruches 27 und durch
ein Steuerungsverfahren mit den Merkmalen des Anspruches 38.
-
Die
erfindungsgemäße Softwareschutzvorrichtung
für eine
Textilmaschine mit einer programmierbaren Steuerung weist einen
Datenspeicher zur Aufnahme von Softwarefreigabedaten und eine Datenschnittstelle
auf, welche zur Datenübertragung zwischen
dem Datenspeicher und der Steuerung der Textilmaschine an die Steuerung
der Textilmaschine verwendbar ist. Softwarefreigabedaten sind Daten, welche
von einer programmierbaren Steuerung zum Aufrufen einer bestimmten
Software erforderlich sind. Sofern die erfindungsgemäße Softwareschutzvorrichtung
an die betreffende Textilmaschine angebunden ist, können die
in dem Datenspeicher hinterlegten bzw. abgespeicherten Softwarefreigabedaten an
die Steuerung übertragen
werden, welche dann in der Lage ist, eine bestimmte Softwareoption
aufzurufen bzw. zu starten.
-
Mittels
der erfindungsgemäßen Softwareschutzvorrichtung
ist es möglich,
verschiedene Programmversionen oder verschiedene Programmkomponenten
der Textilmaschine selektiv freizugeben. Hierzu ist es lediglich
erforderlich, im Datenspeicher selektive Softwarefreigabedaten zu
hinterlegen. Die erfindungsgemäße Softwareschutzvorrichtung
kann grundsätzlich
in Verbindung mit jeder Textilmaschine eingesetzt werden, welche
eine programmier bare Steuerung aufweist. Hierbei ist es unerheblich,
ob die Steuerung zentral oder dezentral mit mehreren Steuerungskomponenten
ausgebildet ist. Wesentlich ist lediglich, daß die Schutzvorrichtung und
die Steuerung der Textilmaschine aufeinander abgestimmt sind.
-
Vorteilhafterweise
weist die Softwareschutzvorrichtung einen Mikrocontroller zur Steuerung
der Datenübertragung
und/oder zur Verarbeitung von ein- oder abgehenden Daten auf. Mittels
eines Mikrocontrollers lassen sich auf kostengünstige und einfache Weise eine
Vielzahl von Funktionen der Softwareschutzvorrichtung verwirklichen.
Der Mikrocontroller wird durch eine eigene Software der Softwareschutzvorrichtung
gesteuert, welche derart gestaltet ist, daß es einem Dritten unmöglich ist,
einen funktionstüchtigen
Nachbau der Softwareschutzvorrichtung herzustellen. Auch ist die
Software so zu gestallten, daß es
einem Dritten unmöglich
ist, hinterlegte Softwarefreigabedaten auszulesen.
-
Dabei
ist es vorteilhaft, wenn die Software, welche die Mikrocontroller
steuert, in einem OTP-Speicher abgelegt ist. Die Verwendung eines nur
einmal beschreibbaren OTP-Speichers stellt sicher, daß Dritte
in unbefugter Weise eine eigene Software in die Softwareschutzvorrichtung
einspielen, welche einen Mißbrauch,
insbesondere das Auslesen der hinterlegten Softwarefreigabedaten,
ermöglichen
könnte.
-
Vorteilhafterweise
sind die Softwarefreigabedaten und wenn gewünscht auch weitere Daten in dem
Speicher der Softwareschutzvorrichtung verschlüsselt gespeichert bzw. hinterlegt.
In diesem Fall können
diese Daten auch dann nicht durch unberechtigte Dritte in Besitz
gebracht werden, wenn diese den Speicher aus der Softwareschutzvorrichtung herausnehmen
und durch ein entsprechendes Werkzeug auslesen.
-
Zur
weiteren Verbesserung des Softwareschutzes ist es vorteilhaft, wenn
der Mikrocontroller zur Verschlüsselung
abgehender Daten, insbesondere von Freigabedaten und/oder zur Entschlüsselung verschlüsselt eingehender
Daten ausgebildet ist. So ist es nicht möglich, daß Dritte den Datenverkehr zwischen
der Softwareschutzvorrichtung und der Textilmaschine zum Zwecke
des Mißbrauchs
analysieren können.
Prinzipiell kann jedes bekannte Verschlüsselungsverfahren zum Einsatz
kommen, wesentlich ist lediglich, das die Verschlüsselungsverfahren
von Textilmaschinen und Softwareschutzvorrichtung kompatibel sind.
-
Wenn
es gewünscht
ist, die Softwareschutzvorrichtung in einer räumlichen Distanz von der jeweils
betroffenen Textilmaschine anzuordnen, beispielsweise also in einer
Anlagenzentrale, von der aus mehrere Textilmaschinen überwacht
werden, so kann die Softwareschutzvorrichtung so ausgebildet sein,
daß sie über eine
Punkt zu Punkt Verbindung an die Textilmaschine anbindbar ist. Hierzu
kann die Datenschnittstelle der Softwareschutzvorrichtung beispielsweise
als Modem oder als ISDN-Schnittstelle ausgebildet sein.
-
Vorteilhafterweise
kann die Anbindung über ein
vorhandenes Datennetz erfolgen. Hierzu ist prinzipiell jedes Nahverkehrs-
oder Weitverkehrsnetzwerk geeignet, wobei die Softwareschutzvorrichtung dann
mit einer an das jeweilige Datennetz angepaßten Datenschnittstelle ausgerüstet ist.
In besonders vorteilhafter Weiterbildung ist die Softwareschutzvorrichtung
derart ausgebildet, daß sie
an eine intern bestehende Datenverbindung der Textilmaschine anbindbar
ist. Hierbei ist insbesondere an einen Maschinenbus zu denken. Die
Anbindung kann dann an einem beliebigen Punkt der Textilmaschine
erfolgen, an dem der Maschinenbus zugänglich ist.
-
Wenn
der Maschinenbus der Textilmaschine ein CAN-Bus ist, so ist es besonders
vorteilhaft, wenn der Mikrocontroller der Softwareschutzvorrichtung
einen integrierten CAN-Controller aufweist und die Datenschnittstelle
ein CAN-Treiber ist. In diesem Fall kann die Datenverbindung zwischen
Steuerung der Textilmaschine und der Softwareschutzvorrichtung in besonders
einfacher und kostengünstiger
Weise realisiert werden.
-
Vorteilhaft
hierbei ist es, wenn die Datenschnittstelle zur galvanisch getrennten
Einbindung in die Datenverbindung der Textilmaschine ausgebildet ist.
Hierdurch können
Probleme durch ein unterschiedliches elektrisches Potential zwischen
Softwareschutzvorrichtung und Textilmaschine vermieden werden.
-
Grundsätzlich kann
jeder bekannte Speichertyp zur Speicherung der Softwarefreigabedaten verwendet
werden. Besonders vorteilhaft ist es jedoch, wenn ein nicht flüchtiger
Speicher, insbesondere ein serieller FRAM verwendet ist. Ein FRAM
(ferromagnetischer RAM) eignet sich insbesondere zur sicheren Langzeitspeicherung
von Daten, da er zur Speicherung von Daten keine Energieversorgung
benötigt,
also nicht flüchtig
ist.
-
Vorteilhafterweise
sind der Datenspeicher, der Mikrocontroller und die Datenschnittstelle
auf einer gemeinsamen Platine angeordnet. Hierdurch läßt sich
eine besonders kompakte Bauform realisieren. Auch wird so eine erhöhte mechanische
Stabilität
der Softwareschutzvorrichtung gewährleistet.
-
Weiterhin
ist es vorteilhaft, wenn ein Gehäuse
mit Befestigungsmitteln zum Anbringen der Softwareschutzvorrichtung
an der Textilmaschine vorgesehen ist. Das Gehäuse schützt die Elektronik der Softwareschutzvorrichtung
vor äußeren Einflüssen, welche
beim bestimmungsgemäßen Gebrauch
der Softwareschutzvorrichtung auftreten. Weiterhin bietet das Gehäuse einen
gewissen Schutz vor Manipulationsversuchen Dritter. Zum Schutz der
Softwareschutzvorrichtung kann das Gehäuse so ausgeführt sein,
daß bei
einem Öffnungsversuch
die Softwareschutzvorrichtung zerstört wird. Zum selben Zwecke ist
es möglich,
die Elektronik im Inneren des Gehäuses zu vergießen. Hierzu
kann beispielsweise ein Giesharz verwendet werden.
-
Häufig wird
es von Vorteil sein, die Softwareschutzvorrichtung in einem Steuerungsschrank
der jeweiligen Textilmaschine anzuordnen. Dort kann die Softwareschutzvorrichtung
an einer im Regelfall vorhandenen Hutschiene angeordnet werden.
Dazu ist es von Vorteil, wenn die Befestigungsmittel des Gehäuses der
Softwareschutzvorrichtung zur Montage an einer solchen Hutschiene
ausgebildet sind.
-
Zur
Versorgung der Elektronik der Softwareschutzeinrichtung kann diese
ein Netzteil aufweisen, welches beispielsweise über eine Versorgungsleitung
an ein Energieversorgungsnetz der Textilmaschine anschließbar ist.
Hierbei dient das Netzteil insbesondere zur Anpassung einer bereitgestellten elektrischen
Spannung an die erforderliche Eingangsspannung der Softwareschutzvorrichtung.
-
Vorteilhaftrweise
ist dem Netzteil ein Überwachungsmodul
zugeordnet, welches beispielsweise das Anliegen der externen Spannung
und/oder die Funktion des Netzteils überwacht.
-
Weiterhin
ist es vorteilhaft, wenn ein Mittel zur Anzeige von Betriebszuständen der
Softwareschutzvorrichtung vorgesehen ist. Dieses Mittel, beispielsweise
eine Leuchtdiode, kann beispielsweise Funktionszustände der
Datenschnittstelle oder des Netzteiles anzeigen. Damit ist eine
einfache Überwachungsmöglichkeit
der Funktionen der Softwareschutzvorrichtung und somit eine Möglichkeit
der schnellen Fehlerdiagnose gegeben.
-
Auch
kann vorgesehen sein, daß Mittel
zur Anpassung der Softwareschutzvorrichtung an physikalische Parameter
der Textilmaschine vorgesehen sind. In Betracht kommen insbesondere
Jumper, DIP-Schalter oder Lötbrücken. Damit
ist es möglich, baugleiche
Softwareschutzvorrichtungen an unterschiedliche Textilmaschinen
anzupassen. So kann beispielsweise die Softwareschutzvorrichtung
an die Baudrate der Datenverbindung der Textilmaschine ohne Eingriff
in die Hardware oder Software angepaßt werden.
-
Solche
Mittel wie Jumper, DIP-Schalter oder Lötbrücken können ebenfalls zur Einstellung
eines Parameters, welcher der Steuerung der Datenübertragung
zwischen Softwareschutzvorrichtung und der Textilmaschine dient,
vorgesehen sein. Beispielsweise kann der Softwareschutzvorrichtung
mittels dieser Mittel eine Bus- oder Netzwerkadresse zugewiesen werden.
Im Falle eines CAN- Busses kann hier ein Identifier eingestellt
werden, anhand dessen die Softwareschutzvorrichtung für sie relevante
Datenpakete auf dem CAN-Bus erkennt.
-
Wenngleich
im Regelfall vorgesehen ist, daß eine
Schutzvorrichtung für
genau eine Textilmaschine vorgesehen ist, so kann es doch von Vorteil
sein, wenn eine Softwareschutzvorrichtung zum Zusammenwirken mit
mehreren Textilmaschinen ausgebildet ist. So ist es beispielsweise
möglich,
mit einer einzigen Softwareschutzvorrichtung die Software einer ganzen
Produktionslinie, welche aus hintereinander angeordneten Textilmaschinen
besteht, zu schützen. Auch
ist es denkbar, eine gesamte Anlage mit mehreren parallel angeordneten
Produktionslinien zu schützen.
In diesem Fall ist die Softwareschutzvorrichtung so auszubilden,
daß ein
individueller Datenaustausch mit jeder anschließbaren Textilmaschine möglich ist.
-
Besonders
vorteilhaft ist es, wenn die Softwareschutzvorrichtung derart ausgebildet
ist, daß maschinenspezifische
Daten der Textilmaschine hinterlegbar sind. Maschinespezifische
Daten der Textilmaschine sind insbesondere der Maschinentyp, die Maschinenkonfiguration,
die Seriennummer und die Softwareversion der Steuerungssoftware
der Textilmaschine.
-
Daten
wie Maschinentyp und Seriennummer sollen im Regelfall während der
ganzen Lebenszeit der Textilmaschine erhalten bleiben. Andere Daten wie
Maschinenkonfiguration oder Softwareversion können sich hingegen während der
Lebenszeit einer Textilmaschine – gegebenenfalls mehrfach – verändern: Zwischen
derartigen Veränderungen
sollen diese Daten ebenfalls sicher gespeichert werden.
-
Die
Speicherung dieser maschinenspezifischen Daten in der Softwareschutzvorrichtung
bewirkt eine unabhängige
Speicherung von der Steuerung der jeweils Textilmaschine. Bei einem
Fehler in der Steuerung der Textilmaschine bleiben die Daten folglich
erhalten. Dabei ist ein Ausfall der Softwareschutzvorrichtung relativ
unwahrscheinlich, da diese im Vergleich zur Steuerung einer Textilmaschine
eine wesentlich geringere Komplexität aufweist.
-
Die
Ausbildung der Softwareschutzvorrichtung als externer Speicher für maschinenspezifischen
Daten einer Textilmaschine erfordert keine oder nur geringe Anpassungen
bzgl. der Hardware der Softwareschutzvorrichtung. Wesentliche Elemente,
wie eine Datenschnittstelle zur Anbindung an die betreffende Textilmaschine
sowie mindestens ein Speicher sind ohnehin an der Softwareschutzvorrichtung
vorhanden und können
für die
Speicherung der Maschinendaten genutzt werden. Hierzu ist im Allgemeinen
lediglich eine Anpassung der Software der Softwareschutzvorrichtung
erforderlich. Sofern der Speicher der Softwareschutzvorrichtung
zur Speicherung der Softwarefreigabedaten nicht flüchtig ist, können die
maschinenspezifischen Daten langfristig und sicher abgelegt werden.
Denkbar ist jedoch auch, einen flüchtigen Speicher zu verwenden,
welcher beispielsweise durch einen Akku mit Spannung versorgt wird,
wenn die Softwareschutzvorrichtung vom Netz getrennt ist.
-
Die
hinterlegten maschinenspezifischen Daten können überdies zur Verbesserung der
Softwareschutzfunktion der Vorrichtung verwendet werden. So kann
die Vorrichtung beispielsweise so ausgebildet sein, daß in Abhängigkeit
von der Seriennummer bestimmte Softwarefreigabedaten abgegeben oder nicht
abgegeben werden. Hierdurch kann eine mißbräuchliche Verwendung der Softwareschutzvorrichtung
wirkungsvoll verhindert werden.
-
Weiterhin
ist es besonders vorteilhaft, wenn die Softwareschutzvorrichtung
alternativ oder zusätzlich
zur Berechnung der Betriebsstunden der Textilma schine ausgebildet
ist. Hierzu kann ein Signaleingang an der Softwareschutzvorrichtung
vorgesehen sein, der über
eine Signalanleitung derart mit der Textilmaschine verbindbar ist,
daß an
der Softwareschutzvorrichtung ein Betriebssignal anliegt, wenn die
Textilmaschine in Betrieb ist. Zur Vermeidung von Manipulationen
der Betriebsstundenzählung
kann vorgesehen sein, daß Softwarefreigabedaten
nur bei anliegendem Betriebssignal abgegeben werden können. Hierdurch
kann verhindert werden, das die Signalleitung der Betriebssignals
einfach von der Softwareschutzvorrichtung getrennt wird und damit
die Betriebsstundenzählung
unterbrochen wird. Die ermittelten Betriebsstunden der Textilmaschine
können in
gleicher Weise wie maschinenspezifische Daten in der Softwareschutzvorrichtung
gespeichert werden. Maschinenspezifische Daten und Betriebsstunden können an
der Softwareschutzvorrichtung selbst zur Anzeige gebracht werden,
vorteilhafterweise können sie
jedoch über
die Datenschnittstelle an eine Anzeigeeinrichtung der Textilmaschine übertragen
und dort zur Anzeige gebracht werden. Ebenso können sie an der Steuerung der
Textilmaschine übertragen werden
und dort zur Steuerung der Textilmaschine herangezogen werden.
-
Um
die in der Softwareschutzvorrichtung hinterlegten Daten vor einem
unbefugten Auslesen zu schützen,
kann vorgesehen sein, daß die
Daten paßwortgeschützt sind.
Dabei kann beispielsweise vorgesehen sein, daß ein entsprechendes Paßwort in der
Steuerung der Textilmaschine gespeichert ist. Sofern dann Softwarefreigabedaten
angefordert werden, so wird das entsprechende Paßwort zunächst von der Textilmaschine
an die Softwareschutzvorrichtung übermittelt. Diese Übermittlung
erfolgt dann vorzugsweise in verschlüsselter Form. Alternativ kann
vorgesehen werden, daß geforderte
Paßwörter durch
einen Bediener manuell an der Softwareschutzvorrichtung oder an
einer Eingabeeinheit der zugeordneten Textilmaschine eingeben werden
müssen.
-
Es
ist eine Vielzahl von Situationen denkbar, bei denen es erforderlich
ist, eine Softwareschutzvorrichtung umzukonfigurieren. Dies ist
beispielsweise bei einer Umkonfigurierung der Textilmaschine in softwaretechnischer
oder hardwaretechnischer Hinsicht erforderlich. Ebenso kann es erforderlich
sein, die gespeicherten Betriebsstunden an die tatsächlichen
Betriebsstunden anzupassen, etwa wenn einer bestehenden Textilmaschine
eine neue Softwareschutzvorrichtung zugewiesen werden soll. In solchen
Fällen
ist es zweckmäßig, wenn
die entsprechenden Daten im Datenspeicher der Softwareschutzvorrichtung
nach Übertragung
eines entsprechenden Paßwortes
veränderbar
sind. Eine erforderliche Umkonfigurierung einer Softwareschutzvorrichtung
erfolgt vorzugsweise mit einer Konfigurierungseinrichtung, an welche
die Softwareschutzvorrichtung anbindbar ist. Eine derartige Einrichtung
kann beispielsweise in die Steuerung einer Textilmaschine integriert
sein. Denkbar ist aber auch, daß ein
portabler Rechner, beispielsweise ein Laptop, zur Umkonfigurierung
von Softwareschutzvorrichtungen der erfindungsgemäßen Art
ausgebildet ist.
-
Eine
Textilmaschine der erfindungsgemäßen Art
weist eine programmierbare Steuerung auf, welche geeignet ist anhand
mindestens einer vorgebaren Softwareoption zu arbeiten. Sie ist
zum Datenaustausch mit einer Softwareschutzvorrichtung ausgebildet,
wobei die Softwareschutzvorrichtung einen Datenspeicher aufweist
und im Datenspeicher Softwarefreigabedaten gespeichert werden können. Die Steuerung
der Textilmaschine ist derart ausgebildet, daß sie eine Softwareoption erst
dann zur Geltung bringen kann, wenn sie für diese Softwareoption entsprechende
Softwarefreigabedaten aus dem Datenspeicher der Softwareschutzvorrichtung
erhalten hat. Die Softwareschutzvorrichtung mit den gespeicherten
Freigabedaten wird dem Betreiber der Textilmaschine von dem Hersteller
der Textilmaschine zur Verfügung
gestellt. Hierdurch ist es dem Hersteller der Textilmaschine möglich, die
Nutzung von Softwareoptionen, für
welche der Betreiber der Textilmaschine keine Lizenz eingeräumt wurde,
zu unterbinden. Auch entfällt
hierdurch ein Anreiz zur unberechtigten Erstellung von Kopien einer
Software einer Textilmaschine.
-
Besonders
vorteilhaft ist die Textilmaschine derart ausgebildet, daß der Datenverkehr
zwischen der Textilmaschine und der Softwareschutzvorrichtung verschlüsselt erfolgt.
Die Verschlüsselung
umfaßt
insbesondere die Softwarefreigabedaten, ist aber nicht darauf beschränkt. Die
Steuerung der Textilmaschine ist zum Verschlüsseln von an die Softwareschutzvorrichtung
zu versendenden Daten und zum Auflösen der durch die Softwareschutzvorrichtung
verschlüsselt
versendeten Daten ausgebildet. Unabhängig vom Übertragungsweg ist so gewährleistet,
daß Dritte
nicht in den Besitz von Softwarefreigabedaten gelangen können, selbst
wenn sie den Datenverkehr zwischen der Textilmaschine unter Softwareschutzvorrichtung überwachen.
-
Vorteilhafterweise
ist die Steuerung der Textilmaschine derart ausgebildet, daß sie erforderliche Freigabedaten
selbständig
aus dem Datenspeicher der Softwareschutzvorrichtung anfordert. Vorteilhaft ist
es auch, wenn die Steuerung der Textilmaschine zum Umkonfigurieren
der Softwareschutzvorrichtung heranziehbar ist. Auf separate Mittel
zum Konfigurieren einer Softwareschutzvorrichtung kann dann verzichtet
werden.
-
Bevorzugt
ist weiterhin, daß die
Steuerung der Textilmaschine derart ausgelegt bzw. programmiert
ist, daß der
Aufruf von Softwarefreigabedaten während der Übertragung verschlüsselt ist.
Dabei steht der Datenspeicher der Softwareschutzvorrichtung mit
einem Mikroprozessor in Verbindung, der zum Auflösen der Verschlüßlung programmiert
ist.
-
Wenn
die Textilmaschine zur internen Datenübertragung während ihres
Betriebes mit mindestens einer internen Datenverbindung, insbesondere
mit einem Maschinenbus, versehen ist, so ist die Textilmaschine
vorteilhafterweise so gestaltet, daß der Datenspeicher der Softwareschutzvorrichtung
mit der internen Datenverbindung in Verbindung bringbar ist.
-
Dabei
kann diese interne Datenverbindung insbesondere ein CAN-Bus sein.
Dieser kann vorteilhafterweise zur Datenübertragung zwischen der Steuerung
und dem Datenspeicher verwendet werden.
-
Um
zu verhindern, daß nach
der erfolgten Freigabe einer Softwareoption die Softwareschutzvorrichtung
von der Textilmaschine getrennt wird und dann in mißbräuchlicher
Form mit einer anderen Textilmaschine verbunden wird, ist es vorteilhaft,
die Steuerung derart auszubilden, daß die Freigabe beispielsweise
periodisch wiederholt werden muß.
Wird die wiederholte Freigabe nicht durchgeführt, weil beispielsweise die
Softwareschutzvorrichtung entfernt wird, kann die Funktion der entsprechenden
Softwareoptionen durch die Steuerung der Textilmaschine außer Kraft
gesetzt werden.
-
Vorteilhafterweise
ist die Textilmaschine derart ausgebildet, daß die Softwareschutzvorrichtung mit
der zentralen Maschinensteuerung der Textilmaschine zusammenwirkt.
Dabei wird die Anwendungssoftware der Textilmaschine erst dann frei
gegeben, wenn die zentrale Maschinensteuerung entsprechende Softwarefreigabedaten
erhalten halt. In vorteilhafter Weise ist die Textilmaschine zur Übermittlung
eines betriebsindizierenden Signals an die Softwareschutzvorrichtung
ausgebildet. Hierdurch ist es möglich,
die Betriebsstundenerfassung durch die Softwareschutzvorrichtung
durchzuführen.
-
Ebenfalls
ist es von Vorteil, wenn die Textilmaschine zum Auslösen von
maschinenspezifischen Daten aus dem Datenspeicher der Softwareschutzvorrichtung
ausgebildet ist.
-
Ausführungsbeispiele
der Erfindung sollen nun anhand der Figuren näher erläutert werden. Es zeigt:
-
1 eine
Kopie der 1 aus DE-A-10153457;
-
2 eine
schematische Darstellung einer ersten Ausführung der Erfindung, wobei
diese Darstellung auch zur Erläuterung
verschiedener Software-Typen in einer Textilmaschine verwendet wird;
-
3 eine
Softwareschutzvorrichtung, welche mit mehreren Textilmaschinen zusammenwirkt.
-
1 zeigt
als schematisches Blockschaltbild die Kommunikationsstruktur einer
Rotorspinnmaschine mit einer Vielzahl von Spinnstellen („Längsteilmaschine"), wobei die Rotorspinnmaschine
hier grundsätzlich
bloß als
Beispiel für
eine Textilmaschine mit einer programmierbaren Steuerung dient. Praktisch
alle Textilmaschinen, insbesondere
- – Ringspinnmaschinen
z. B. gemäß EP-B-832997
- – Luftspinnmaschinen
z. B. gemäß ...
- – Strecken
z. B. gemäß DE-A-10153999
und andere Faserverarbeitungsmaschinen der Spinnereivorbereitung
- – Spulautomaten
z. B. gemäß DE-A-19907684 weisen
heutzutage eine derartige Steuerung auf, wobei auch diese Liste
keineswegs vollständig
zu verstehen ist.
-
Die
Rotorspinnmaschine 10 in der 1 hat eine
zentrale Maschinensteuerung 20, die über eine externe Kommunikationsverbindung 11 mit
einer Anlagesteuerung 12 in Verbindung steht. Auf die Anlagesteuerung 12 wird
hier nicht näher
eingegangen. Die Maschinensteuerung 20 steuert und überwacht die
Produktion an der Spinnmaschine 10. Über eine interne Kommunikationsverbindung 21 ist
die Maschinensteuerung 20 mit einem Bus-Verteiler 22 verbunden.
Der Bus-Verteiler 22 treibt einen Maschinen-Bus 25 und übernimmt
zur Datenkommunikation unter anderem Router-Funktionen. Zum Daten-Austausch
mit dem Bus-Verteiler 22 ist ein Anspinnroboter 24 über eine
Kommunikationsleitung 23 mit dem Maschinen-Bus 25 verbunden,
wobei als Alternative eine direkte Kommunikationsleitung (gestrichelt
angedeutet) zwi schen dem Bus-Verteiler 22 und dem Anspinnroboter 24 vorgesehen
werden kann.
-
Vom
Maschinen-Bus 25 zweigt eine Kommunikationsverbindung 27 ab,
die den Bus 25 mit einer Triebgestellsteuerung 26 verbindet.
Die Triebgestellsteuerung 26 steuert auf an sich bekannte
Weise die Hauptantriebe der Spinnmaschine 10. Die Spinnstellen
der Maschine 10 sind zu Sektionen 30a–d zusammengefaßt, wobei
pro Sektion beispielsweise 16 oder 20 Spinnstellen
vorhanden sind. Jede der Sektionen 30a–d weist einen zentralen Sektionscontroller 31a–d auf.
Jeder Sektionscontroller 31a–d ist über eine Kommunikationsverbindung 32a–d mit dem
Maschinen-Bus 25 verbunden. In 1 sind beispielhaft vier
Sektionscontroller 31a–d
dargestellt, wobei bei einer Spinnmaschine in der Regel wesentlich
mehr als vier Sektionscontroller vorgesehen sind.
-
Die
Einzelheiten der Sektion 30a sind repräsentativ für die anderen Sektionen näher dargestellt. Der
Sektionscontroller 31a arbeitet unter anderem als Kommunikationseinrichtung
zwischen dem Maschinen-Bus 25 und einem Sektions-Bus 40,
wobei der Sektionscontroller 31a als Treiber Routerfunktionen
für den
Sektions-Bus 40 übernimmt.
Kommunikationsfähige
Baueinheiten bzw. Baugruppen jeder Spinstelle 41a, 41b der
Sektion 30a sind über
Kommunikationsverbindungen 62, 63, 64, 65 mit
dem Sektions-Bus 40 verbunden. So ist z. B. in der Sektion 30a ein
Fadenwächter 42 über die
Kommunikationsverbindung 62, ein Garnreiniger 43 über die
Kommunikationsverbindung 63, eine Faserbandauflösevorrichtung 44 über die
Kommunikationsverbindung 64 und eine Spinnstellensteuerung 45 über die
Kommunikationsverbindung 65 mit dem Bus 40 verbunden.
-
Jede
der Einheiten 42, 43, 44, 45 weist
einen Kommunikationssteuereinrichtung 52, 53, 54, 55 auf, die
die Kommunikation mit dem Bus 40 steuert. Die Kommunikationseinrichtungen
können
dabei als reine Empfangseinrichtungen ausgelegt sein, beispielsweise
für ein
Stellelement bzw. einen Aktor, das lediglich auf Informations- oder
Steuerdaten reagiert. Oder die Kommunikationssteuereinrichtungen
können
als reine Sendeeinrichtungen ausgelegt sein, beispielsweise bei
einer Sensoreinrichtung, die lediglich Informations- oder Steuerdaten
an den Bus 40 sendet. Vorzugsweise sind jedoch die Kommunikationssteuereinrichtungen
bidirektional, so daß sowohl Befehle
oder Informationen empfangen als auch Informations- und Steuerdaten
gesendet werden können.
Für die
Arbeitweise des dargestellten Systems als ganzes wird auf die Beschreibung
in DE-A-10153457 hingewiesen.
-
In
der bevorzugten Ausführung
wird jeder Bus 25 bzw. 40 als CAN-Bus realisiert
(CAN = Controller Area Network). Der CAN-Bus verbindet Bekannterweise
mehrere gleichberechtigte Komponenten (sogenannte Knoten bzw. Nodes)
miteinander, z. B. mittels einer 2-Draht Buseinrichtung oder mittels Lichtwellenleitern.
Bei der Datenübertragung
in einem CAN-Bus werden keine Knoten adressiert, sondern der Inhalt
einer Nachricht wird innerhalb des Controller Area Networks durch
einen eindeutigen „Identifier" gekennzeichnet.
Neben der Inhaltskennzeichnung legt der Identifier auch die Priorität der Nachricht
fest. Mittels einer Akzeptanzprüfung
stellen alle Stationen nach korrektem Empfang der Nachricht anhand
des Identifiers fest, ob die empfangenen Daten für sie relevant sind oder nicht.
Auf einem CAN-Bus darf jeder Teilnehmer Daten ohne besondere Aufforderung
eines Masters verschicken. Sofern es zu Kollisionen kommt, werden
diese per Hardware und durch Wiederholung behoben. Eine Kollision wird
dadurch erkannt, daß ein
Sender den gesendeten Identifier selbst zurückliest und vergleicht. Bei Ungleichheit
war ein Teilnehmer mit höherer
Priorität da,
welcher die Leitung für
sich beansprucht hat. Der vom Bus „ausgeschlossene" Sender versucht
dann wieder, seine Botschaft zu übertragen,
bis ihm dies gelingt.
-
Eine
CAN-Nachricht wird in einem CAN-Bus eigenen Form verpackt. Die Verpackung
wird als eine „Frame" bezeichnet und besteht
aus 7 Kennfeldern, je mit einer eigenen, fest-zugeordneten Funktion
(z. B. „Message
Identifier").
-
Der
Datenfluß auf
einem CAN-Bus wird normalerweise mittels eines weitgehend standardisierten
Zugriffsverfahrens (Protokolls) – „CANopen" – gesteuert.
Die Zuordnung der Message-Identifier erfolgt hierbei automatisch
anhand der am teilnehmenden Knoten eingestellten Knotennummer.
-
Die
Erfindung ist nicht auf die Verwendung in Kombination mit einem
CAN-Bus eingeschränkt. Der CAN-Bus
ist aber für
seine hohe Störsicherheit
und geringe Kosten, z. T. wegen breiter Akzeptanz und entsprechendes
Standardisierungsgrads, bekannt, und wird dementsprechend häufig in
Textilmaschinen eingesetzt. Gerade wegen des hohen Standardisierungsgrads
ist es aber besonders leicht festzustellen, was jederzeit auf einem
CAN-Bus vor sich geht – zu diesem
Zweck sind sogar spezielle Einrichtungen ("CAN-Analyser") entwickelt und
käuflich
zur Verfügung
gestellt worden. Dies erleichtert die „Aufgabe" des Software-Kopierens.
-
Im
Beispiel der 1 umfaßt der Begriff Steuerung die
Maschinensteuerung 20, die Triebgestellsteuerung 26 und
die Sektionscontroller 31a bis 31d. Prinzipiell
können
auch weitere Steuerungskomponenten, etwa auf Arbeitsstellenebene
vorgesehen sein. Wenigstens eine Komponente der Steuerung ist programmierbar
ausgebildet, umfaßt
also eine CPU (Central Processor Unit).
-
Eine
moderne Textilmaschine mit einer programmierbaren Steuerung muß mit verschiedenen Software-Typen
versehen werden, wie nun anhand der 2 erläutert werden
soll. In der 2 ist zur besseren Übersicht
von der Steuerung 28 nur die Maschinensteuerung 20 sowie
ein Sektionscontroller 31 gezeigt, welche beide nach dem
gleichen Prinzip aufgebaut sind und insbesondere eine CPU umfassen.
Gleichwohl kann die Steuerung 28 weitere Komponenten umfassen,
welche programmierbar oder nicht programmierbar sind. Zum Zweck
der Erklärung werden
in der 2 verschiedene Datentypen (inkl. Software bzw.
Programme) verschiedenen „Kästen" zugeord net – dies ist
aber nur zur Erleichterung des Darstellung bzw. Erklärung so
gemacht worden. Ob die Daten in der Praxis so getrennt verwaltet
werden, oder nicht, hängt
vom gewählten
Computer-System ab, und hat mit der vorliegenden Erfindung prinzipiell nichts
zu tun.
-
In
der 2 werden drei Datentypen schematisch angedeutet,
nämlich
- – ein
Betriebssystem, das grundsätzlich
für den Betrieb
des Computer-Systems
erforderlich ist und normalerweise vom Computer-Hersteller gewählt und
spezifiziert wird. Das Betriebssystem wird aufgerufen und kommt
dementsprechend zur Geltung, jedes Mal als erster Schritt nachdem
das Computer-System eingeschaltet wird:
- – Anwendungsprogramme
(kollektiv Anwendungssoftware), die vom Maschinenhersteller gewählt und
spezifiziert werden, und im Betrieb für das geordnete Steuern der
Maschinenhardware nach einem vorgegebenen Konzept zuständig sind.
- – Arbeitsdaten,
die im Betrieb quasi-kontinuierlich von der Maschine geliefert bzw.
gewonnen werden, und die gemäß der Anwendungssoftware
anhand vorgegebener Routinen (Schleifen) verarbeitet werden müssen, um
das Aufrechterhalten der verschiedenen Maschinenfunktionen kontinuierlich
zu gewährleisten.
-
Die
Anwendungssoftware ist vom speziellen Interesse im Zusammenhang
mit dieser Erfindung. Die gesamte, in einer bestimmten Maschine
gespeicherte Anwendungssoftware kann viele verschiedene Einzelprogramme
umfassen, beispielsweise: a) verschiedene Versionen des gleichen
Grundprogramms, beispielsweise um verschiedene Entwicklungsstufen
der Maschine selbst zu berücksichtigen. Die
DE-A-10212712 zeigt z. B. eine Weiterentwicklung der Anordnung,
die in der DE-A-10153457 und in der 1 der vorliegenden
Anmeldung beschrieben wird. Es können
beide Programme (d.h. sowohl ein Programm gemäß DE-A-10153456 als auch ein „Nachfolgerprogramm" gemäß DE-A-10212712)
in der gleichen Anwendungssoftware vorhanden sein, wobei für eine gegebene
Maschine nur eine Programmvari ante zur Geltung gebracht werden soll,
sei es, weil nur diese Variante für die gegebene Maschine geeignet
ist, oder sei es, weil sich der Benutzer der Maschine diese Variante
gewählt
und sich verpflichtet hat, die Lizenzgebühren zu bezahlen (bzw. die
Gebühren
beim Kauf der Maschine pauschal bezahlt hat). Ohne Aufruf und in
Kraft-Setzen eines Grundprogramms ist eine moderne Textilmaschine 10 nicht
effektiv lauffähig,
d.h. der Benutzer muß sich für ein bestimmtes
Grundprogramm entscheiden oder kann sogar seine Maschine nur anhand
eines bestimmten Grundprogramms arbeiten lassen. Ein Grundprogramm
für die
ganze Maschine enthält
z. B. Start- bzw. Stopproutine und Routine für den Normalbetrieb, wobei
die Routine für
den Normalbetrieb verschiedene, vom Benutzer wählbare Einstellmöglichkeiten
vorsehen wird. Das gleiche Prinzip gilt aber für ein quasi-autonomes Arbeitsaggregat,
wie ein Ansetzroboter für
eine Rotorspinnmaschine.
- (b) verschiedene Optionen (Ergänzungsprogramme), die
nicht zur Grundausrüstung
der Anwendungssoftware gehören,
sondern zum Betreiben spezifischer technischen oder technologischen
Funktionen erforderlich sind. Der Maschinenbenutzer kann dann wählen, ob
er für
seine Maschine eine derartige Funktion vorsehen will. Beispiele
sind aus den folgenden Schriften zu entnehmen:
DE-A-10153999 „Simulationsverfahren
für eine
Spinnereimaschine";
DE-A-10143875 „Verfahren
zum Einstellen von Betriebsparameter einer Textilmaschine";
DE-A-4131247 „Verfahren
zum Unterstützen
von Wartungsarbeiten";
DE-A-10
2004 014257 „Rezeptverwaltung
in einer Textilmaschine";
DE-A-10340234 „Fernbedienung
in einer Textilmaschinenanlage"
wobei
dem Fachmann klar sein wird, daß diese
Liste keineswegs vollständig
ist. Die effektiven Möglichkeiten
in einem konkreten Fall hängen
vom Maschinentyp und von seiner Ausrüstung ab. Die Maschine bzw. das
autonome Aggregat ist grundsätzlich
ohne diese Optionen lauffähig,
wobei die der Option entsprechenden Funktion nicht ausgeführt werden
kann.
-
Es
besteht nun oft Interesse seitens verschiedener Parteien (Maschinenbenutzer,
Konkurrenten des Maschinenherstellers, Softwareentwicklungsfirmen
...) Anwendungssoftware unbefugt zu kopieren bzw. zum Laufen zu
bringen, wobei der Maschinenhersteller daran interessiert ist, dies
möglichst
zu verhindern. Die vorliegende Erfindung befaßt sich mit dieser Aufgabe.
-
Die
bevorzugte Lösung
der Aufgabe besteht nun darin, die Maschine 10 einerseits
mit einer Softwareschutzvorrichtung, einem sogenannten „Dongle", bzw. mit einer „Dongle-Funktion" auszurüsten, wie
dies schematisch in der 2 gezeigt ist, andererseits
die Anwendungssoftware derart zu speichern, daß sie nur nach Freigabe durch
den Dongle 100 steuerungswirksam gemacht werden kann. Der Dongle 100 gemäß der 2 ist
grundsätzlich
als Datenspeicher realisiert, wobei diese Funktion in der 2 mittels
des Speichers 102 ausgeführt wird. Der Dongle 100 ist
ein selbständiges
Modul, welches innerhalb oder außerhalb der Maschine 10 angeordnet sein
kann. Wesentlich ist lediglich, daß die Maschine 10 und
der Dongle 100 zum Datenaustausch ausgebildet sind. Der
Dongle 100 kann mit Daten geladen werden, welche Software-Freigabe-Codes
darstellen. Der Datenspeicher 102 soll daher für die nichtflüchtigen
Langzeit-Speicherung der Freigabe-Daten ausgeführt sein und kann zu diesem
Zweck beispielsweise in der Form eines ferromagnetischen RAMs realisiert
werden.
-
Die
Freigabe der Anwendungssoftware bzw. eines bestimmten Software-Programms erfolgt
dann dadurch, daß die
Maschinensteuerung 20 bzw. eine weitere Komponente der
Steuerung 28, welche ein bestimmtes Programm braucht, um
ihre Steuerroutinen arbeiten zu lassen, eine „Anfrage" an den Dongle 100 sendet und
als Antwort darauf, die im Dongle 100 gespeicherten Freigabecodes
erhält.
Sofern die vom Dongle 100 erhaltenen Daten plausibel sind
und Programme entsprechen, die der abfragenden Steuerung 28 zur
Verfügung
stehen, ruft die Steuerung 28 selbst die entsprechenden
Einzelprogramme aus dem Speicher auf und bringt sie zur Geltung.
Die Steuerung 28 ist daher dazu programmiert, die vom Datenspeicher 102 erhaltenen
Da ten auf ihre Plausibilität
zu kontrollieren. Falls keine brauchbaren Freigabecodes vom Dongle 100 erhalten
werden, oder falls die erhaltenen Freigabecodes Programmen entsprechen,
die der abfragenden Steuerungseinheit 20, 31 nicht
zur Verfügung
stehen, kann das Ausführen
der entsprechenden Maschinenfunktion unterbrochen bzw. nicht eingeleitet
werden. Sofern eine Komponente der Steuerung 28, also beispielsweise die
zentrale Maschinensteuerung 20 (1), eine Abfrage
sendet und keine brauchbaren Angaben zurückerhält, kann der Hochlauf der Maschine
als ganzes unterbrochen bzw. unterbunden werden.
-
Der
Dongle 100 ist daher mit einem eigenen Mikroprozessor (Controller) 117 und
einem Datenport 104 versehen, womit der Mikroprozessor μP117 für den bilateralen
Austausch von Daten mit mindestens einer Steuerungseinheit 20, 31 der
Maschine über
einen Maschinenbus 106 (beispielsweise Bus 25 und/oder
Bus 40, 1) angeordnet ist. Sofern der
Dongle 100 zur Zusammenarbeit mit einem CAN-Bus 106 vorgesehen
ist, kann der Mikroprozessor 117 mit einem CAN-Controller 105 und
einem CAN-Treiber 104 versehen werden. Der Dongle 100 kann
dadurch unmittelbar in den CAN-Bus 106 eingebunden werden,
er wird also gleichberechtigter Teilnehmer bezüglich des Datenverkehrs auf
dem Bus 106. Dabei ist es vorteilhaft, wenn der CAN-Treiber 104 derart
ausgebildet ist, daß eine
galvanisch getrennte Einbindung in den CAN-Bus erfolgt, da sich so
Unterschied des elektrischen Potentials zwischen Textilmaschine 10 und
Dongle 100 nicht negativ auswirken können.
-
Zur
Versorgung der Elektronik umfaßt
der Dongle vorzugsweise auch ein Netzteil 114, das über eine
Versorgungsleitung 116 elektrische Energie von der Maschine
aufnehmen kann und mit einem Wandler zur Anpassung der Maschinenspannung
an die Arbeitsspannung der Dongle-Elektronik versehen ist. Vorzugsweise
ist dem Netzteil 114 eine Überwachungsmodul 112 zugeordnet.
Beim Fehlen der Netzspannung kann dann beispielsweise eine Alarmfunktion
ausgelöst
werden.
-
Der
Abruf der Freigabedaten erfolgt vorzugsweise nach Inbetriebnahme
des Betriebssystems aber vor der Inbetriebnahme irgendwelcher Anwendungssoftware
und führt
auch vorzugsweise zum Abbruch der bzw. nicht Eintreten auf die Startroutine
des Grundprogramms falls die Freigabe vom Dongle nicht gegeben wird.
Wenigstens eine der Steuerungseinheiten (21, 31)
mit ihrem Rechner (CPU) kann entsprechend programmiert werden. Es
kann aber mit Vorteil regelmäßig während des
Normalbetriebs nach einer Bestätigung
der Freigabe gefragt werden – damit
erfolgt eine Bestätigung,
daß der
die Software freigebende Dongle 100 noch mit dem Bus 106 gekoppelt
ist. Das Software-Freigabeverfahren wird vorzugsweise derart konzipiert,
daß es
nicht durch ein allgemein (standardmäßig) verwendetes Verfahren
zur Untersuchung vom Geschehen auf dem Bus 106 (z. B. an
der Schnittstelle 104) analysiert werden kann. Um die Analyse
des Verfahrens mittels eines mit dem Bus 106 gekoppelten
Bus-Analysers zu erschweren, werden die Daten der Freigabe-Abfrage
vorzugsweise auch durch die Steuerungseinheit 20, 31 verschlüsselt, wobei
diese Daten vom Dongle 100 dekodiert werden müssen.
-
Die
vom Dongle 100 gelieferten Softwarefreigabedaten werden
daher vorzugsweise verschlüsselt abgegeben
und die Programmierung des Dongles 100 kann einen entsprechenden
Verschlüsselungsalgorithmus
umfassen. Die Verschlüsselung
kann z. B. mit Hilfe eines Zufallsgenerators erfolgen und der Dongle
kann entsprechend programmiert werden. Die Steuerungseinheit 20, 31 der
Maschine 10 muß derart
programmiert sein, daß ihr
Rechner CPU in der Lage ist, die Verschlüsselung aufzulösen und
die Freigabedaten daraus zu gewinnen.
-
Soll
nun eine Anwendungssoftware zum Betrieb der Textilmaschine 10 von
einer programmierbaren Steuerungseinheit 20, 31 gestartet
werden, so wird bevorzugt in dieser oder einer anderen Steuerungseinheit
zunächst
eine spezielle Abfrageprozedur (also ein Softwareprogramm) zum Abfragen
von Softwarefreigabedaten, welche in der Softwareschutzvorrichtung 100 hinter legt
sind, aufgerufen. Diese Abfrageprozedur erstellt eine verschlüsselte (codierte)
Abfrage, welche an den Dongle 100 übertragen und dort mittels
einer Software, welche den Mikrocontroller 117 des Dongles 100 steuert,
entschlüsselt
(decodiert) wird. Die Verschlüsselung durch
die Steuerungseinheit 20, 31 kann Elemente, beispielsweise
Zahlen, umfassen, die jedes Mal neu innerhalb der Steuerung 28 (z.
B. mittels eines Zufallsgenerators) erzeugt werden.
-
Die
Software des Dongles 100 überprüft nun, welche Softwarefreigabedaten
zurückgegeben
werden sollen. Hierbei kann beispielsweise eine Berechtigungsüberprüfung anhand
der bisherigen Betriebsdauer und/oder anhand von maschinenspezifischer Daten,
etwa anhand des Maschinentyps, der Maschinenkonfiguration, der Seriennummer
und/oder der Softwareversion der Textilmaschine 10 erfolgen.
Sofern eine Softwarelizenz zeitlich befristet erteilt wurde, kann
auch das jeweils aktuelle Datum bei der Berechtigungsüberprüfung herangezogen
werden.
-
Um
eine Umgehung der Berechtigungsüberprüfung zu
verhindern, können
beispielsweise die hierzu herangezogenen Daten von der Abfrageprozedur
der Textilmaschine 10 verschlüsselt in die Abfrage integriert
werden und dann mit in dem Datenspeicher 102 des Dongles 100 geschützt hinterlegten Daten
verglichen werden.
-
Nach
der Berechtigungsüberprüfung werden die
ausgewählten
Softwarefreigabedaten verschlüsselt
und an die betroffene Steuerungseinheit übertragen, wo sie dann decodiert
werden. Die Antwort des Dongles 100 kann Elemente enthalten,
die sowohl aus der verschlüsselten
Abfrage als auch aus zufällig erzeugten
Daten entstammen. Nun kann die feigegebene Anwendungssoftware gestartet
und genutzt werden.
-
Durch
dieses Abfrageverfahren ist sichergestellt, daß es unberechtigten Personen
nicht möglich ist,
Softwarefreigabedaten ohne Kenntnis des Source- Codes der Abfrageprozedur auszulesen,
um Sie dann zum mißbräuchlichen
Freischalten von Softwareoptionen der Textilmaschine 10 zu
nutzen.
-
Zur
weiteren Erhöhung
der Datensicherheit können
die Softwarefreigabedaten in dem Datenspeicher 102 verschlüsselt hinterlegt,
also abgespeichert werden.
-
Auch
ist es sinnvoll, die Software des Dongles 100 in einem
OTP-Speicher (One Time Programmable Memory) abzulegen. Ein OTP-Speicher kann
nur einmal beschrieben werden, so daß die einmal aufgespielte Software
des Dongles 100 nicht mehr veränderbar ist. Hierdurch kann
eine Manipulation am Dongle 100, welche ein unberechtigtes
Auslesen von Softwarefreigabeoptionen ermöglichen könnte, verhindert werden.
-
Das
bei der Abfrage von Softwarefreigabedaten verwendete Verschlüsselungsverfahren
kann prinzipiell frei gewählt
werden, wesentlich ist nur, daß die
jeweilige Steuerungseinheit 20, 31 und der Dongle 100 zur
Durchführung
des selben Verschlüsselungsverfahrens
ausgebildet sind.
-
Die
Softwareschutzvorrichtung ist vorteilhafterweise zusätzlich zur
Berechnung der Betriebsstunden der Textilmaschine ausgebildet. Hierzu
wird ihr über
die Leitung 115 ein Signal zugeführt, sofern sich die Maschine
im Betrieb befindet. Bei Verwendung der vom Bus 116 unabhängigen Leitung 115 wird
der Datenverkehr auf dem Bus 106 nicht durch die Betriebsstundenerfassung
beeinträchtigt.
Grundsätzlich
kann das Betriebssignal jedoch auch über den Bus 106 übertragen
werden.
-
Das
Betriebssignal gelangt über
einen Signaleingang 113 zum Mikrocontroller 117.
Dieser ruft bei Betriebsbeginn die bisher gespeicherte Betriebszeit
aus dem Datenspeicher 102 ab und zählt die laufende Betriebszeit,
beispielsweise im Sekundentakt, hinzu. Bei Betriebsende oder nach
einer be stimmten Zeit wird die inkrementierte Betriebszeit im Datenspeicher 102 abgelegt.
-
Um
Manipulationen an der Betriebsstundenzahl zu verhindern, kann die Übertragung
von Softwarefreigabedaten von dem Anliegen des Betriebssignals abhängig sein.
-
Vorzugsweise
ist der Dongle 100 zusätzlich zur
Abspeicherung maschinenspezifischer Daten wie Maschinentyp, Maschinenkonfiguration,
Seriennummer und/oder Softwareversion der Steuerungssoftware der
Maschine 10 ausgebildet. Derartige Daten sollen langfristig,
nämlich
für die
gesamte Lebenszeit der Maschine, gespeichert und auslesbar sein.
Gegenüber
Konzepten, bei denen derartige maschinenspezifische Daten in einer
Komponente der Steuerung (20, 31) der Textilmaschine 10 gespeichert
werden, bietet die Speicherung in dem Dongle 100 den Vorteil
einer höheren
Verläßlichkeit
der Speicherung. Dies wiederum beruht auf der im Vergleich zur Steuerung
der Textilmaschine geringen Komplexität des Dongles 100,
was zu einer geringeren Fehleranfälligkeit des Dongles 100 führt. Mit
anderen Worten: Es ist wesentlich wahrscheinlicher, daß während der
Lebensdauer der Textilmaschine 10 eine Komponente der Steuerung
(20, 31) der Textilmaschine ausfällt, als
daß eine
Störung
im verhältnismäßig einfach
aufgebauten Dongle 100 auftritt. Im Ergebnis ist die Verfügbarkeit
der gespeicherten maschinenspezifischen Daten deutlich erhöht.
-
In
einer Maschine 10 mit einem CAN-Bus 116 kann der
Dongle 100 ohne weiteres mit diesem Bus 116 gekoppelt
und abgefragt werden. Für
die Abfrage kann ein entsprechender Message-Identifier definiert
werden und im CAN-Message-Frame integriert werden, wobei die Abfrage
vorzugsweise eine hohe Priorität
zugeordnet wird. Wird eine Abfrage über den CAN-Bus 116 verschickt,
so wird sie zwar von allen Bus-Teilnehmern empfangen, aber nur vom Dongle 100 als
relevant erkannt und verarbeitet. Dieser Message-Identifier korrespondiert bei der Verwendung
des CANopen-Protokolls mit der voreingestellten Knotennummer des
Dongles 100. In anderen Fällen ist der Identifier individuell
zu definieren.
-
Für Maschinen
mit anderen Bus-Systemen muß dem
Dongle 100 allenfalls eine eigene Adresse zugeordnet werden,
die dann bei jedem Abrufvorgang von der abrufenden Steuerung gemäß dem jeweiligen
Bus-Protokoll verwendet werden muß. Knotennummer, relevante
Identifier oder Bus-Adresse, können
vorzugsweise über
ein Mittel 109, insbesondere über Jumper, DIP-Schalter oder Lötbrücken an dem
Dongle 100 einstellbar sein, um so Konflikte mit Knotennummern,
Identifiern oder Adressen anderer Bus-Teilnehmer zu lösen bzw.
um eine eindeutige Zuordnung zwischen den auf dem Bus 116 verschickten Daten
und dem als Empfänger
vorgesehenen Teilnehmer sicherzustellen.
-
Ein
Dongle 100 nach dieser Erfindung kann an jeder geeigneten
Stelle in der Maschine 10 vorgesehen werden, wo die Datenkoppelung
am Bus 106 möglich
bzw. zweckmäßig ist.
Die Gestaltung des Dongles 100 muß prinzipiell nur die Anforderung
der Datenspeicherung bzw. der Ankoppelung am Bus 106 erfüllen. In
der bevorzugten Ausführung
wird der Dongle 100 aber als ein separates Gerät gebildet
und an der Maschine möglichst
fest angebracht. Die Elektronik des Dongles kann auf einer geeigneten
Leiterplatte 119 aufgebaut werden, die in einem Gehäuse 108 untergebracht
wird, wobei das Gehäuse 108 selbst
mit Mitteln 110 zur Befestigung des Dongles 100 an
einer ausgewählten
Stelle in der Maschine 10 versehen ist. Eine geeignete
Stelle (in der 2 nicht gezeigt) ist die Energieverteilstelle
(der Schaltschrank) der Maschine (z. B. gemäß DE-A-4316999 oder DE-A-19535310).
Die Energieverteilstelle umfaßt
normalerweise mindestens ein Modulträger, z. B. mindestens einer
sogenannten „Hutschiene" (Top-Hat Rail),
der oft gemäß einem
DIN bzw. ISO-Norm gestaltet wird. Die Befestigungsmittel 110 am
Gehäuse 108 kann
zur Zusammenarbeit mit einem derartigen Modulträger gestaltet werden. Geräte dieser
Art sind, für
andere Aufgaben, prinzipiell bekannt – siehe z. B. DE-A-19937515,
welche, für
die Anlageüberwachung, einen „Einplatinen-Microcontroller" bestehend aus einer
Prozessoreinheit, Speichermittel und Kommunikationsschnittstelle
beschreibt, wobei dieses Modul zur Befestigung an einer Hutschiene
vorgesehen ist.
-
Die
Anordnung von Datenspeicher 102, Mikrocontroller 117 und
Datenschnittstelle 104 auf einer gemeinsamen Platine 119 ermöglicht eine
kompakte Bauform des Dongles. Vorteilhafterweise sind auch weitere
Hardwarekomponenten, hier das Netzteil 114 mit Überwachungsmodul 112,
das Mittel 107 zur Anzeige von Betriebszuständen des
Dongles 100, das Mittel 109 zur Hardwareanpassung
des Dongles 100 an die Textilmaschine 10 sowie
das Mittel 111 zur Einstellung eines Parameters zur Datenübertragung, auf
der gemeinsamen Platine 119 angeordnet.
-
Die
Softwarefreigabedaten (Codes) sind soweit praktisch möglich geheim
zu halten, d.h. sie sollten nur einem möglichst kleinen Kreis von ausgewählten Personen
zugänglich
gemacht werden. Die Software eines Dongles 100 ist vorzugsweise
in dem OTP-Speicher 120 unveränderlich abgelegt. Die vorzugsweise
im FRAM-Speicher abgelegten Werte oder Daten, also insbesondere
maschinenspezifische Daten wie Maschinentyp, Maschinenkonfiguration,
Seriennummer und/oder Softwareversion der Steuerungssoftware der
Maschine 10 oder die Softwarefreigabedaten können aber
veränderbar
sein, z. B. durch Servicepersonal mit besonderen Befugnissen unter
zu Hilfenahme der Steuerung 28 der Textilmaschine 10 oder
spezieller Einrichtungen. Allenfalls erfordert die Änderung
der hinterlegten Werte (Umkonfigurierung) den Zugang zum Speicher 102 mittels
mehrerer Paßwörter, die
normalerweise verschiedenen Personen zugeordnet werden, d.h. es müßten normalerweise
mehrere Personen gleichzeitig an der Umkonfigurierung beteiligt
sein. Durch eine derartige Umkonfigurierung kann der Dongle 100 mit neuen
Softwarefreigabedaten versehen werden, welche neue Software-Befugnisse
in einer bestehenden Maschine darstellen oder sogar die Wieder-
bzw. Weiterverwendung auf einer anderen Maschine ermöglichen.
Der Zugang zum Datenspeicher 102 zwecks Neubelegung kann über den
Bus 106 oder über
ein speziell dafür
konzipiertes Datenaustauschmittel (nicht gezeigt) erfolgen. Es kann
weiterhin vorgesehen sein, daß zumindest
ein Teil der im Datenspeicher (102) hinterlegten Daten,
insbesondere der Softwarefreigabedaten, der maschinenspezifischen Daten
und/oder der Betriebsstunden, gegen unbefugtes Auslesen paßwortgeschützt ist.
Hierzu kann vorgesehen sein, daß der
Bediener vor dem Abrufen der betreffenden Daten zur Eingabe eines
Paßwortes an
der Steuerung 28 aufgefordert wird.
-
So
ist es beispielsweise möglich,
daß bestimmte
Softwareoptionen nur durch autorisierte Personen aktivierbar sind.
Hierbei ist etwa an Softwarefunktionen zu denken, welche im normalen
Betrieb der Maschine 100 nicht benötigt werden, jedoch für die Fehlerdiagnose
und/oder Wartung durch speziell geschultes Servicepersonal erforderlich
sind. Hierdurch kann beispielsweise eine unsachgemäße Wartung
verhindert werden.
-
3 zeigt
einen Dongle 100 der zum zusammenwirken mit mehreren Textilmaschinen 10, 10', 10'' ausgebildet ist. Hierzu ist der
Dongle 100 über
ein Datennetz 122 mit den Textilmaschinen 10, 10', 10'' verbunden. Er umfaßt eine
Schnittstelle 104', welche
an die Ausführung
des Datennetzes 122 angepaßt ist. Das Datennetz 122 kann
beispielsweise ein LAN (Local Area Network) oder ein WAN (Wide Area
Network) sein. Dann ist die Schnittstelle als entsprechende Netzwerkschnittstelle
auszubilden.
-
Alternativ
könnte
der Dongle 100 über
Punkt zu Punkt Datenleitungen mit den Textilmaschinen 10, 10', 10'' verbunden sein. Dann könnte die
Schnittstelle 104' beispielsweise
als Modem oder ISDN-Schnittstelle ausgeführt sein.
-
Die
Textilmaschinen 10, 10' und 10'' stehen ihrerseits über angepaßte Schnittstellen 121, 121' und 121'' mit dem jeweiligen Datennetz 122 oder
entsprechenden Datenleitungen in Verbindung, wobei die Schnittstellen 121, 121' und 121'' über Busse 106, 106' und 106'' oder in anderer Weise mit den nicht
dargestellten Steuerungen der Textilmaschinen verbunden sind.
-
Auf
diese Weise ist es beispielsweise möglich, einen Dongle 100 für ein Maschinengruppe
oder eine gesamte Anlage zu verwenden. Beispielsweise kann der Dongle 100 an
einer zentralen Überwachungseinrichtung,
beispielsweise an einer übergeordneten
Anlagensteuerung angeordnet sein.
-
Die
Erfindung ist nicht auf die dargestellten Ausführungsbeispiele beschränkt. Es
sind zahlreiche Abwandlungen der Erfindung und insbesondere Kombinationen
im Rahmen der Patentansprüche möglich.