Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
OPEN-LOOP AND/OR CLOSED-LOOP CONTROL DEVICE
Document Type and Number:
WIPO Patent Application WO/2013/020844
Kind Code:
A1
Abstract:
The invention relates to an open-loop and/or closed-loop control device (10) having a memory (20) in which a control program (25) is stored, and a computing device (15) which is connected to the memory (20) and can carry out the control program (25) for the operation of the open-loop and/or closed-loop control device (10), wherein the control program (25) defines the method of operation of the open-loop and/or closed-loop control device (10) and is programmed with programming instructions (PB) in a predefined programming language. The invention provides that the open-loop and/or closed-loop control device (10) has a test module (40) which permits an external test by means of an external test device (50) via a communication interface (30) of the open-loop and/or closed-loop control device (10), wherein the test module (40) is configured in such a way that it permits the reception of a transaction code (TC), which defines a programming instruction (PB) in the predefined programming language, by the external test device (50) and causes the computing device (15) to carry out this program instruction (PB) after reception of the transaction code (TC) for test purposes.

Inventors:
KALBITZ TINO (DE)
Application Number:
PCT/EP2012/064819
Publication Date:
February 14, 2013
Filing Date:
July 27, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
KALBITZ TINO (DE)
International Classes:
G05B19/042
Foreign References:
DE3630959A11988-03-24
EP0450116A11991-10-09
Other References:
None
Attorney, Agent or Firm:
SIEMENS AKTIENGESELLSCHAFT (DE)
Download PDF:
Claims:
Patentansprüche

1. Steuerungs- und/oder Regelungseinrichtung (10) mit

- einem Speicher (20), in dem ein Steuerprogramm (25) abgespeichert ist, und

- einer Recheneinrichtung (15), die mit dem Speicher (20) in Verbindung steht und das Steuerprogramm (25) für den Betrieb der Steuerungs- und/oder Regelungseinrichtung (10) ausführen kann,

- wobei das Steuerprogramm (25) die Arbeitsweise der Steue¬ rungs- und/oder Regelungseinrichtung (10) festlegt und mit Programmierbefehlen (PB) einer vorgegebenen Programmiersprache programmiert ist,

d a d u r c h g e k e n n z e i c h n e t, dass

- die Steuerungs- und/oder Regelungseinrichtung (10) ein

Testmodul (40) aufweist, das einen externen Test durch eine externe Testeinrichtung (50) über eine Kommunikations¬ schnittstelle (30) der Steuerungs- und/oder Regelungsein¬ richtung (10) ermöglicht,

- wobei das Testmodul (40) derart ausgestaltet ist, dass es den Empfang eines Transaktionscodes (TC) , der einen Pro¬ grammierbefehl (PB) der vorgegebenen Programmiersprache definiert, von der externen Testeinrichtung (50) ermöglicht und die Recheneinrichtung (15) veranlasst, diesen Programmierbefehl (PB) nach Empfang des Transaktionscodes (TC) zu Testzwecken auszuführen.

2. Steuerungs- und/oder Regelungseinrichtung nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t, dass

das Testmodul (40) derart ausgestaltet ist, dass es die Steu¬ erungs- und/oder Regelungseinrichtung (10) befähigt, über die Kommunikationsschnittstelle (30) zumindest einen Transak¬ tionswert (TW) , der sich auf den durch den Transaktionscode (TC) definierten Programmierbefehl (PB) bezieht, zu empfan- gen, den Programmierbefehl (PB) auf den zumindest einen

Transaktionswert (TW) unter Bildung eines Transaktionsergeb¬ nisses (TE) anzuwenden und das Transaktionsergebnis (TE) an die externe Testeinrichtung (50) zurückzumelden.

3. Steuerungs- und/oder Regelungseinrichtung nach Anspruch 2, d a d u r c h g e k e n n z e i c h n e t, dass

das Testmodul (40) derart ausgestaltet ist, dass es die Steu- erungs- und/oder Regelungseinrichtung (10) befähigt, über die Kommunikationsschnittstelle (30) ein Testtelegramm (TTG) zu empfangen und auszuwerten, das den Transaktionscode (TC) und den zumindest einen Transaktionswert (TW) enthält, und ein Ergebnistelegramm (ETG) an die externe Testeinrichtung (50) zu senden, das das Transaktionsergebnis (TE) enthält.

4. Steuerungs- und/oder Regelungseinrichtung nach einem der voranstehenden Ansprüche,

d a d u r c h g e k e n n z e i c h n e t, dass

das Testmodul durch ein Softwaremodul (41) gebildet ist, das in dem Speicher (20) oder einem anderen Speicher (21) der Steuerungs- und/oder Regelungseinrichtung (10) gespeichert ist . 5. Steuerungs- und/oder Regelungseinrichtung nach einem der voranstehenden Ansprüche,

d a d u r c h g e k e n n z e i c h n e t, dass

es sich bei der Programmiersprache um die AWL (Anweisungs¬ liste) -Programmiersprache, die KOP (Kontaktplan) -Programmier- spräche, die FBS (Funktionsbaustein) -Programmiersprache, die AS (AblaufSteuerung) -Programmiersprache oder die ST (Struk¬ turierter Text ) -Programmiersprache handelt.

6. Anordnung mit einer Steuerungs- und/oder Regelungseinrich- tung (10) nach einem der voranstehenden Ansprüche und einer daran angeschlossenen externen Testeinrichtung (50),

d a d u r c h g e k e n n z e i c h n e t, dass

- die externe Testeinrichtung (50) geeignet ist, ein

Testtelegramm (TTG) zu erzeugen und an die Steuerungs- und/oder Regelungseinrichtung (10) zu übermitteln,

- wobei das Testtelegramm (TTG) einen Transaktionscode (TC) enthält, der einen Programmierbefehl (PB) der vorgegebenen Programmiersprache, in der das Steuerprogramm (25) der Steuerungs- und/oder Regelungseinrichtung (10) programmiert ist, definiert und

- wobei die externe Testeinrichtung (50) außerdem geeignet ist, ein Ergebnistelegramm (ETG) der Steuerungs- und/oder Regelungseinrichtung (10) zu empfangen und auf Korrektheit der Anwendung des Programmierbefehls (PB) zu überprüfen.

7. Anordnung nach Anspruch 6,

d a d u r c h g e k e n n z e i c h n e t, dass

- die externe Testeinrichtung (50) geeignet ist, ein

Testtelegramm (TTG) , das einen Transaktionscode (TC) und zumindest einen Transaktionswert (TW) , der sich auf den durch den Transaktionscode (TC) definierten Programmierbe¬ fehl (PB) bezieht, zu erzeugen und an die Steuerungs- und/oder Regelungseinrichtung (10) zu senden, und

- die externe Testeinrichtung (50) außerdem geeignet ist zu prüfen, ob ein in einem Ergebnistelegramm (ETG) der

Steuerungs- und/oder Regelungseinrichtung (10) enthaltenes Transaktionsergebnis (TE) die korrekte Anwendung des Pro- grammierbefehls (PB) auf den zumindest einen Transaktions¬ wert (TW) anzeigt.

8. Anordnung nach Anspruch 7

d a d u r c h g e k e n n z e i c h n e t, dass

die externe Testeinrichtung (50) derart ausgestaltet ist, dass sie mindestens einen Transaktionscode (TC) mit jeweils zumindest einem Transaktionswert (TW) für jeden Programmierbefehl (PB) erzeugt, der einen Transaktionswert (TW) verarbeiten kann und in dem Steuerprogramm (25) der Steuerungs- und/oder Regelungseinrichtung (10) zumindest einmal verwendet wird .

9. Testeinrichtung für eine Anordnung nach einem der voranstehenden Ansprüche 6-8,

d a d u r c h g e k e n n z e i c h n e t, dass

- die externe Testeinrichtung (50) geeignet ist, ein

Testtelegramm (TTG) zu erzeugen und an die Steuerungs¬ und/oder Regelungseinrichtung (10) zu übermitteln, - wobei das Testtelegramm (TTG) einen Transaktionscode (TC) enthält, der einen Programmierbefehl (PB) der vorgegebenen Programmiersprache, in der das Steuerprogramm (25) der Steuerungs- und/oder Regelungseinrichtung (10) programmiert ist, definiert und

- wobei die externe Testeinrichtung (50) außerdem geeignet ist, ein Ergebnistelegramm (ETG) der Steuerungs- und/oder Regelungseinrichtung (10) zu empfangen und auf Korrektheit der Anwendung des Programmierbefehls (PB) zu überprüfen.

10. Verfahren zum Testen einer Steuerungs- und/oder Regelungseinrichtung (10) nach einem der voranstehenden Ansprüche,

d a d u r c h g e k e n n z e i c h n e t, dass

- ein Testtelegramm (TTG) erzeugt wird und an die Steuerungs¬ und/oder Regelungseinrichtung (10) übermittelt wird, wobei das Testtelegramm (TTG) einen Transaktionscode (TC) ent¬ hält, der einen Programmierbefehl (PB) der Programmiersprache, in der das Steuerprogramm (25) der Steuerungs- und/oder Regelungseinrichtung (10) programmiert ist, definiert,

- der Programmierbefehl (PB) der Programmiersprache von der Steuerungs- und/oder Regelungseinrichtung (10) ausgeführt wird und

- ein Ergebnistelegramm (ETG) der Steuerungs- und/oder Regelungseinrichtung (10) empfangen und auf Korrektheit der Anwendung des Programmierbefehls (PB) überprüft wird.

Description:
Beschreibung

Steuerungs- und/oder Regelungseinrichtung

Die Erfindung bezieht sich auf eine Steuerungs- und/oder Re ¬ gelungseinrichtung mit einem Speicher, in dem ein Steuerprogramm abgespeichert ist, und einer Recheneinrichtung, die mit dem Speicher in Verbindung steht und das Steuerprogramm für den Betrieb der Steuerungs- und/oder Regelungseinrichtung ausführen kann, wobei das Steuerprogramm die Arbeitsweise der Steuerungs- und/oder Regelungseinrichtung festlegt und mit Programmierbefehlen einer vorgegebenen Programmiersprache programmiert ist.

Steuerungs- und/oder Regelungseinrichtungen dieser Art werden fachsprachlich auch kurz speicherprogrammierbare Steuerungen (SPS) genannt. Diese speicherprogrammierbaren Steuerungen werden gemäß der europäischen Norm EN61131 bzw. der entsprechenden internationalen Norm IEC61131 üblicherweise mit standardisierten Programmiersprachen programmiert, zu denen beispielsweise die AWL (Anweisungsliste) -Programmiersprache, die KOP (Kontaktplan) -Programmiersprache, die FBS (Funktionsbau ¬ stein) -Programmiersprache, die AS (Ablaufsteuerung) -Programmiersprache und die ST ( Strukturierter Text ) -Programmierspra ¬ che gehören.

Der Erfindung liegt die Aufgabe zugrunde, eine Steuerungs ¬ und/oder Regelungseinrichtung anzugeben, die sich besonders einfach von außen testen lässt.

Diese Aufgabe wird erfindungsgemäß mit einer Steuerungs ¬ und/oder Regelungseinrichtung mit den Merkmalen gemäß Patentanspruch 1 gelöst. Vorteilhafte Ausgestaltungen der erfindungsgemäßen Steuerungs- und/oder Regelungseinrichtung sind in Unteransprüchen angegeben.

Danach ist erfindungsgemäß vorgesehen, dass die Steuerungs ¬ und/oder Regelungseinrichtung ein Testmodul aufweist, das einen externen Test durch eine externe Testeinrichtung über eine Kommunikationsschnittstelle der Steuerungs- und/oder Re ¬ gelungseinrichtung ermöglicht, wobei das Testmodul derart ausgestaltet ist, dass es den Empfang eines Transaktionsco- des, der einen Programmierbefehl der vorgegebenen Programmiersprache definiert, von der externen Testeinrichtung ermöglicht und die Recheneinrichtung veranlasst, diesen Pro ¬ grammierbefehl nach Empfang des Transaktionscodes zu Test ¬ zwecken auszuführen.

Ein wesentlicher Vorteil der erfindungsgemäßen Steuerungsund/oder Regelungseinrichtung besteht darin, dass sich über die erfindungsgemäß vorgesehene Kommunikationsschnittstelle und das erfindungsgemäß vorgesehene Testmodul die Rechenein- richtung der Steuerungs- und/oder Regelungseinrichtung mit

Blick auf die korrekte Abarbeitung der Programmierbefehle ge ¬ zielt testen lässt. Mit Hilfe des Testmoduls ist es somit möglich, nicht die Arbeitsweise der Steuerungs- und/oder Re ¬ gelungseinrichtung insgesamt, sondern statt dessen nur eine Teilkomponente, nämlich die Recheneinrichtung, auf eine korrekte Arbeitsweise hin zu testen. Wird ein Fehler festge ¬ stellt, so steht unmittelbar fest, dass die Recheneinrich ¬ tung, also die Hard- und/oder Firmware der Steuerungs ¬ und/oder Regelungseinrichtung, defekt ist; ein festgestellter Fehler wird nicht auf dem Steuerprogramm der Steuerungsund/oder Regelungseinrichtung basieren, da das Steuerprogramm zum Test nicht herangezogen wird. Getestet wird lediglich die Reaktion der Recheneinrichtung auf Programmierbefehle der Programmiersprache, in der das Steuerprogramm programmiert ist.

Ein weiterer wesentlicher Vorteil der erfindungsgemäßen Steuerungs- und/oder Regelungseinrichtung ist darin zu sehen, dass ein Test der Recheneinrichtung sehr schnell durchführbar ist, da die Anzahl der Programmierbefehle einer Programmier ¬ sprache sehr begrenzt ist und daher in relativ kurzer Zeit alle Programmierbefehle der Programmiersprache für einen Test der Recheneinrichtung herangezogen werden können. Es lässt sich somit sehr schnell feststellen, ob die Recheneinrichtung in der Lage ist, die Programmiersprache, die in dem Steuer ¬ programm der Steuerungs- und/oder Regelungseinrichtung benutzt wird, korrekt anzuwenden.

Als besonders vorteilhaft wird es angesehen, wenn das Testmo ¬ dul derart ausgestaltet ist, dass es die Steuerungs- und/oder Regelungseinrichtung befähigt, über die Kommunikations ¬ schnittstelle zumindest einen Transaktionswert, der sich auf den durch den Transaktionscode definierten Programmierbefehl bezieht, zu empfangen, den Programmierbefehl auf den zumindest einen Transaktionswert unter Bildung eines Transaktions ¬ ergebnisses anzuwenden und das Transaktionsergebnis an die externe Testeinrichtung zurückzumelden. Bei dieser Ausgestal- tung lässt sich sehr einfach feststellen, ob die Recheneinrichtung den Programmierbefehl richtig angewandt hat; es muss nämlich lediglich das Transaktionsergebnis mit einem parallel

- beispielsweise mit Hilfe eines "sicheren Referenzrechners"

- gebildeten Referenztransaktionsergebnis verglichen werden, um eine Aussage über die richtige oder falsche Bearbeitung durch die Recheneinrichtung der Steuerungs- und/oder Regelungseinrichtung treffen zu können.

Besonders einfach und damit vorteilhaft lassen sich die

Transaktionscodes und die Transaktionswerte in Form von Test ¬ telegrammen an die Kommunikationsschnittstelle der Steue ¬ rungs- und/oder Regelungseinrichtung übermitteln. Demgemäß wird es als vorteilhaft angesehen, wenn das Testmodul derart ausgestaltet ist, dass es die Steuerungs- und/oder Regelungs- einrichtung befähigt, über die Kommunikationsschnittstelle ein Testtelegramm zu empfangen und auszuwerten, das den

Transaktionscode und den zumindest einen Transaktionswert enthält, und ein Ergebnistelegramm an die externe Testeinrichtung zu senden, das das Transaktionsergebnis enthält.

Das Testmodul der Steuerungs- und/oder Regelungseinrichtung kann beispielsweise durch ein Testsoftwaremodul gebildet sein, das in dem Speicher oder einem anderen Speicher der Steuerungs- und/oder Regelungseinrichtung gespeichert ist.

Alternativ kann das Testmodul auch durch ein Softwaremodul gebildet sein, das in der Firmware der Recheneinrichtung der Steuerungs- und/oder Regelungseinrichtung implementiert ist.

Auch ist es denkbar, das Testmodul in Form eines Testsoft ¬ waremoduls in das Steuerprogramm der Steuerungs- und/oder Re- gelungseinrichtung zu integrieren. In diesem Fall bildet das Testmodul also einen Bestandteil des Steuerprogramms.

Bezüglich der Programmiersprache wird es als vorteilhaft an ¬ gesehen, wenn die Programmiersprache die AWL (Anweisungs- liste) -Programmiersprache, die KOP (Kontaktplan) -Programmier ¬ sprache, die FBS (Funktionsbaustein) -Programmiersprache, die AS (AblaufSteuerung) -Programmiersprache oder die ST (Struktu ¬ rierter Text ) -Programmiersprache ist. Die Erfindung bezieht sich darüber hinaus auch auf eine Anordnung mit einer Steuerungs- und/oder Regelungseinrichtung, wie sie oben beschrieben worden ist, sowie einer daran angeschlossenen externen Testeinrichtung. Erfindungsgemäß ist diesbezüglich vorgesehen, dass die externe Testeinrichtung geeignet ist, ein Testtelegramm zu erzeugen und an die

Steuerungs- und/oder Regelungseinrichtung zu übermitteln, wobei das Testtelegramm einen Transaktionscode enthält, der einen Programmierbefehl der vorgegebenen Programmiersprache, in der das Steuerprogramm der Steuerungs- und/oder Regelungs- einrichtung programmiert ist, definiert und wobei die externe Testeinrichtung außerdem geeignet ist, ein Ergebnistelegramm der Steuerungs- und/oder Regelungseinrichtung zu empfangen und auf Korrektheit der Anwendung des Programmierbefehls zu überprüfen .

Bezüglich der Vorteile der erfindungsgemäßen Anordnung sei auf die oben aufgeführten Vorteile der erfindungsgemäßen Steuerungs- und/oder Regelungseinrichtung verwiesen, da die Vorteile der erfindungsgemäßen Anordnung denen der erfindungsgemäßen Steuerungs- und/oder Regelungseinrichtung im Wesentlichen entsprechen. Bei der "externen" Testeinrichtung handelt es sich um eine Testeinrichtung, die von der Recheneinrichtung der Steuerungs- und/oder Regelungseinrichtung unabhängig arbeitet. Die räumliche Anordnung der externen Testeinrichtung relativ zu der Recheneinrichtung der Steuerungs- und/oder Regelungsein- richtung ist beliebig: Die externe Testeinrichtung kann einen großen räumlichen Abstand aufweisen und in einem anderen Gehäuse als die Recheneinrichtung der Steuerungs- und/oder Regelungseinrichtung untergebracht sein; alternativ können die Testeinrichtung und die Recheneinrichtung der Steuerungs- und/oder Regelungseinrichtung aber auch räumlich sehr nah sein und in ein und demselben Gehäuse untergebracht sein. Der Begriff "extern" ist hier also auf die externe Arbeitsweise der Testeinrichtung bezogen. Bezüglich der Ausgestaltung der Testeinrichtung wird es als vorteilhaft angesehen, wenn die externe Testeinrichtung geeignet ist, ein Testtelegramm, das einen Transaktionscode und zumindest einen Transaktionswert, der sich auf den durch den Transaktionscode definierten Programmierbefehl bezieht, zu erzeugen und an die Steuerungs- und/oder Regelungseinrichtung zu senden, und die externe Testeinrichtung außerdem geeignet ist zu prüfen, ob ein in einem Ergebnistelegramm der Steuerungs- und/oder Regelungseinrichtung enthaltenes Transaktionsergebnis die korrekte Anwendung des Programmierbefehls auf den zumindest einen Transaktionswert anzeigt. Wie bereits erwähnt, ist eine Übertragung von Testsignalen in Form von Telegrammen besonders einfach und damit vorteilhaft.

Darüber hinaus wird es als vorteilhaft angesehen, wenn die externe Testeinrichtung derart ausgestaltet ist, dass sie mindestens einen Transaktionscode mit jeweils zumindest einem Transaktionswert für jeden Programmierbefehl erzeugt, der einen Transaktionswert verarbeiten kann und in dem Steuerpro- gramm der Steuerungs- und/oder Regelungseinrichtung zumindest einmal verwendet wird.

Um die Geschwindigkeit beim Testen der Steuerungs- und/oder Regelungseinrichtung zu erhöhen, wird es als vorteilhaft angesehen, wenn die externe Testeinrichtung derart ausgestaltet ist, dass sie mindestens einen Transaktionscode mit jeweils zumindest einem Transaktionswert ausschließlich für alle sol ¬ chen Programmierbefehle erzeugt, die einen Transaktionswert verarbeiten können und in dem Steuerprogramm der Steuerungsund/oder Regelungseinrichtung zumindest einmal verwendet worden sind. Bei dieser Ausgestaltung wird also nur der Teil der Programmierbefehle der Programmiersprache zu einem Test herangezogen, nämlich der Teil, der tatsächlich in dem Steu- erprogramm der Steuerungs- und/oder Regelungseinrichtung tatsächlich eingesetzt worden ist.

Die Erfindung bezieht sich darüber hinaus auf eine Testeinrichtung für die oben beschriebene Anordnung. Erfindungsgemäß ist diesbezüglich vorgesehen, dass die externe Testeinrichtung geeignet ist, ein Testtelegramm zu erzeugen und an die Steuerungs- und/oder Regelungseinrichtung zu übermitteln, wobei das Testtelegramm einen Transaktionscode enthält, der einen Programmierbefehl der vorgegebenen Programmiersprache, in der das Steuerprogramm der Steuerungs- und/oder Regelungseinrichtung programmiert ist, definiert und wobei die externe Testeinrichtung außerdem geeignet ist, ein Ergebnistelegramm der Steuerungs- und/oder Regelungseinrichtung zu empfangen und auf Korrektheit der Anwendung des Programmierbefehls zu überprüfen.

Bezüglich der Vorteile der erfindungsgemäßen Testeinrichtung sei auf die obigen Ausführungen im Zusammenhang mit der erfindungsgemäßen Anordnung sowie im Zusammenhang mit der er- findungsgemäßen Steuerungs- und/oder Regelungseinrichtung verwiesen . Die Erfindung bezieht sich darüber hinaus auf ein Verfahren zum Testen einer Steuerungs- und/oder Regelungseinrichtung, wie sie oben beschrieben worden ist. Erfindungsgemäß ist vor ¬ gesehen, dass ein Testtelegramm erzeugt wird und an die Steu- erungs- und/oder Regelungseinrichtung übermittelt wird, wobei das Testtelegramm einen Transaktionscode enthält, der einen Programmierbefehl der Programmiersprache, in der das Steuerprogramm der Steuerungs- und/oder Regelungseinrichtung programmiert ist, definiert, der Programmierbefehl der Program- miersprache von der Steuerungs- und/oder Regelungseinrichtung ausgeführt wird und ein Ergebnistelegramm der Steuerungs ¬ und/oder Regelungseinrichtung empfangen und auf Korrektheit der Anwendung des Programmierbefehls überprüft wird. Bezüglich der Vorteile des erfindungsgemäßen Verfahrens sei auf die obigen Ausführungen im Zusammenhang mit der erfindungsgemäßen Steuerungs- und/oder Regelungseinrichtung verwiesen . Die Erfindung wird nachfolgend anhand von Ausführungsbeispie ¬ len näher erläutert; dabei zeigen beispielhaft

Figur 1 ein erstes Ausführungsbeispiel für eine

erfindungsgemäße Anordnung, die ein Ausführungs ¬ beispiel für eine erfindungsgemäße Steuerungs ¬ und/oder Regelungseinrichtung sowie ein Ausführungsbeispiel für eine erfindungsgemäße Testein ¬ richtung aufweist,

Figur 2 ein zweites Ausführungsbeispiel für eine erfin ¬ dungsgemäße Anordnung, bei der die Testeinrichtung durch ein in der Firmware der Steuerungsund/oder Regelungseinrichtung gespeichertes

Softwaremodul gebildet ist,

Figur 3 ein drittes Ausführungsbeispiel für eine erfin ¬ dungsgemäße Anordnung, bei der die Testeinrich- tung durch ein in einem Speicher gespeichertes Testsoftwaremodul gebildet ist, und

Figur 4 ein viertes Ausführungsbeispiel für eine erfin ¬ dungsgemäße Anordnung, bei der die Testeinrichtung ebenfalls durch ein in einem Speicher gespeichertes Testsoftwaremodul gebildet ist.

In den Figuren werden der Übersicht halber für identische oder vergleichbare Komponenten stets dieselben Bezugszeichen verwendet .

Die Figur 1 zeigt eine Steuerungs- und/oder Regelungseinrichtung 10, die eine Recheneinrichtung 15 umfasst. An die Re- cheneinrichtung 15 ist ein Speicher 20 angeschlossen, in dem ein Steuerprogramm 25 abgespeichert ist. Das Steuerprogramm 25 ist durch eine Vielzahl an Programmierbefehlen einer vorgegebenen Programmiersprache gebildet, von denen beispielhaft sechs Programmierbefehle in der Figur 1 dargestellt und mit dem Bezugszeichen PB gekennzeichnet sind.

Die Recheneinrichtung 15 steht mit einer Kommunikations ¬ schnittstelle 30 in Verbindung, an die ein oder mehrere Ge ¬ räte 35 angeschlossen werden können, die von der Steuerungs- und/oder Regelungseinrichtung 10 gesteuert und/oder geregelt werden sollen.

Darüber hinaus ist die Steuerungs- und/oder Regelungseinrichtung 10 mit einem Testmodul 40 ausgestattet, das sowohl mit der Recheneinrichtung 15 als auch mit der Kommunikationsschnittstelle 30 in Verbindung steht. Die Aufgabe des Testmo ¬ duls 40 besteht darin, die Recheneinrichtung 15 dahingehend zu testen, ob diese in der Lage ist, die Programmierbefehle PB, auf denen das Steuerprogramm 25 basiert, richtig auszu- führen.

In der Figur 1 lässt sich darüber hinaus eine externe Test ¬ einrichtung 50 erkennen, die mit einer Referenzrecheneinrich- tung 55 sowie einem Referenzspeicher 60 ausgestaltet ist. In dem Referenzspeicher 60 befindet sich ein Testprogramm 65, das die Referenzrecheneinrichtung 55 zum Testen der Steue- rungs- und/oder Regelungseinrichtung 10 ausführen kann.

Die Anordnung gemäß Figur 1 lässt sich beispielsweise wie folgt betreiben:

Soll die Steuerungs- und/oder Regelungseinrichtung 10 getes- tet werden, so wird die Referenzrecheneinrichtung 55 das

Testprogramm 65 ausführen. Bei der Ausführung des Testprogramms 65 wird die Referenzrecheneinrichtung 55 im Rahmen eines jeden Testschrittes jeweils einen Programmierbefehl PB auswählen, der in dem Steuerprogramm 25, das in dem Speicher 20 gespeichert ist, verwendet worden ist. Dabei wird die Re ¬ ferenzrecheneinrichtung 55 dem Programmierbefehl PB einen oder mehrere Transaktionswerte TW zuordnen, auf die der Pro ¬ grammierbefehl PB angewandt werden soll. Die Referenzrecheneinrichtung 55 ordnet dem Programmierbefehl PB einen Transak- tionscode TC zu, der den Programmierbefehl PB definiert und erzeugt ein Testtelegramm TTG, das den Transaktionscode TC sowie den oder die Transaktionswerte TW enthält. Das Testte ¬ legramm TTG(TC, TW) wird von der Referenzrecheneinrichtung 55 über eine Kommunikationsverbindung 70 zu der Kommunikations- Schnittstelle 30 der Steuerungs- und/oder Regelungseinrich ¬ tung 10 übersandt. Die Kommunikationsschnittstelle 30 extra ¬ hiert den Transaktionscode TC sowie den oder die Transak ¬ tionswerte TW und übermittelt diese an das Testmodul 40. Das Testmodul 40 erkennt anhand des Transaktionscodes TC, welcher Programmierbefehl PB von der externen Testeinrichtung 50 ausgewählt worden ist und fordert die Recheneinrichtung 15 auf, den entsprechenden Programmierbefehl PB auszuführen und diesen auf den oder die Transaktionswerte TW anzuwenden. Die Recheneinrichtung 15 wird - unabhängig von dem Steuerprogramm 25 - den Programmierbefehl PB ausführen und auf den oder die Transaktionswerte TW anwenden und ein Transaktions ¬ ergebnis TE bilden, das zu dem Testmodul 40 zurückgesandt wird. Das Testmodul 40 leitet das Transaktionsergebnis TE zur Kommunikationsschnittstelle 30, die mit dem Transaktionser ¬ gebnis TE ein Ergebnistelegramm ETG(TE) bildet und dieses zu der externen Testeinrichtung 50 übersendet.

Die Referenzrecheneinrichtung 55 hat parallel zur Recheneinrichtung 15 ebenfalls den Programmierbefehl PB auf den oder die Transaktionswerte TW angewandt und ein Referenztransak ¬ tionsergebnis TE' gebildet; alternativ kann das Referenz- transaktionsergebnis TE' auch in einem Speicher, beispiels ¬ weise dem Referenzspeicher 60, hinterlegt sein und von der Referenzrecheneinrichtung 55 zu Vergleichszwecken lediglich ausgelesen werden. Sobald das Transaktionsergebnis TE des Testmoduls 40 in der Referenzrecheneinrichtung 55 eingetrof- fen ist, kann diese das Transaktionsergebnis TE mit dem selbst gebildeten oder ausgelesenen Referenztransaktionsergebnis TE' vergleichen und prüfen, ob beide Transaktionsergebnisse übereinstimmen. Ist dies der Fall, so schließt die Referenzrecheneinrichtung 55 daraus, dass die Recheneinrich- tung 15 der Steuerungs- und/oder Regelungseinrichtung 10 in der Lage ist, den Programmierbefehl PB richtig anzuwenden. In diesem Fall wird sie, gesteuert von dem Testprogramm 65, ent ¬ weder einen anderen Programmierbefehl der Programmiersprache für einen weiteren Test auswählen oder aber alternativ anhand desselben Programmierbefehls einen weiteren Testschritt durchführen, bei dem derselbe Programmierbefehl PB mit einem oder mehreren anderen Transaktionswerten durchgeführt wird.

Stellt die Referenzrecheneinrichtung 55, gesteuert von dem Testprogramm 65, hingegen fest, dass das selbst gebildete Re ¬ ferenztransaktionsergebnis TE' von dem Transaktionsergebnis TE der Recheneinrichtung 15 abweicht, so erzeugt es an einem Ausgang 50a ein Fehlersignal F. In der beschriebenen Weise wird die Referenzrecheneinrichtung 55 vorzugsweise alle Pro- grammierbefehle PB testen, die in dem Steuerprogramm 25 der

Steuerungs- und/oder Regelungseinrichtung 10 verwendet worden sind. Solche Programmierbefehle, die zwar zu der vorgegebenen Programmiersprache des Steuerprogramms 25 gehören, jedoch in diesem Steuerprogramm 25 nicht verwendet worden sind, müssen von der Referenzrecheneinrichtung 55 nicht getestet werden. Selbstverständlich ist es dennoch möglich, dass die Referenzrecheneinrichtung 55 - gesteuert von dem Testprogramm 65 - einen erweiterten Test vornimmt, um die richtige Arbeitsweise der Recheneinrichtung 15 zu prüfen, und in diesem Zusammenhang auch die übrigen Programmierbefehle der Programmierspra ¬ che für einen Test heranzieht, die in dem Steuerprogramm 25 nicht verwendet worden sind.

Die Figur 2 zeigt eine weitere Anordnung mit einer Steue- rungs- und/oder Regelungseinrichtung 10 sowie einer externen Testeinrichtung 50. Im Unterschied zu dem Ausführungsbeispiel gemäß Figur 1 ist das Testmodul 40 keine separate Komponente, die mit der Recheneinrichtung 15 in Verbindung steht; statt dessen wird das Testmodul durch ein Testsoftwaremodul 41 ge ¬ bildet, das in der Firmware 151 der Recheneinrichtung 15 implementiert ist. Bei diesem Ausführungsbeispiel werden also die Transaktionscodes TC sowie die Transaktionswerte TW von der Kommunikationsschnittstelle 30 unmittelbar zur Rechenein ¬ richtung 15 übertragen. Die Recheneinrichtung 15 wird, gesteuert durch das Testsoftwaremodul 41, den Transaktionscode TC auswerten und den durch den Transaktionscode TC definierten Programmierbefehl PB auf den oder die Transaktionswerte TW anwenden. Das dabei entstehende Transaktionsergebnis TE gelangt zu der Kommunikationsschnittstelle 30 und wird in Form eines Ergebnistelegramms ETG(TE) an die externe Testein ¬ richtung 50 übersandt, die das rückgemeldete Testergebnis TE mit dem selbst gebildeten Referenztransaktionsergebnis TE' vergleicht. Stimmen beide Transaktionsergebnisse überein, so wird der Test fortgesetzt. Andernfalls wird an dem Ausgang 50a der Testeinrichtung 50 ein Fehlersignal F erzeugt.

Die Figur 3 zeigt ein Ausführungsbeispiel für eine externe Testeinrichtung 50 sowie eine Steuerungs- und/oder Regelungs ¬ einrichtung 10, bei der das Testsoftwaremodul 41 nicht in der Firmware 151 der Recheneinrichtung 15 implementiert ist, son ¬ dern statt dessen in einem weiteren Speicher 21 der Steue- rungs- und/oder Regelungseinrichtung 10 gespeichert ist.

Führt die Recheneinrichtung 15 das Testsoftwaremodul 41 in dem Speicher 21 aus, so wird - gesteuert von der externen Testeinrichtung 50 - ein Test durchgeführt, wie er im Zusam- menhang mit den Figuren 1 und 2 bereits oben beispielhaft er ¬ läutert worden ist. Bezüglich des Testablaufs kann also auf die obigen Ausführungen verwiesen werden.

Die Figur 4 zeigt ein Ausführungsbeispiel mit einer Steue- rungs- und/oder Regelungseinrichtung 10, bei der das Testsoftwaremodul 41 in dem Speicher 20 gespeichert ist, in dem auch das Steuerprogramm 25 der Steuerungs- und/oder Regelungseinrichtung abgespeichert ist. Führt die Recheneinrichtung 15 das Testsoftwaremodul 41 aus, so wird in Zusammenar- beit mit der externen Testeinrichtung 50 ein Testmodus möglich, mit dem die Testeinrichtung 50 die korrekte Arbeits ¬ weise der Recheneinrichtung 15 mit Blick auf die korrekte Ab ¬ arbeitung der Programmierbefehle PB testen kann. Der Testablauf kann dem Testablauf entsprechen, wie er beispielhaft im Zusammenhang mit den Figuren 1-3 erläutert worden ist.

Bei den Ausführungsbeispielen gemäß den Figuren 1 bis 4 können beispielsweise alle arithmetischen, Schiebe- und Rotiere- Funktionen sowie auch alle logischen Verknüpfungen in einfa- eher Weise getestet werden.

Soll beispielsweise der Programmierbefehl "+I " ( INT-Addition) getestet werden, so kann für diesen Befehl beispielsweise der Transaktionscode "1" gewählt werden. Wird mit dem Program- mierbefehl ein erster Transaktionswert = 100 und ein zweiter Transaktionswert = 1 an die Recheneinrichtung 15 übersandt, so wird diese bei korrekter Abarbeitung zu dem Transaktions ¬ ergebnis "101" kommen und dieses zurücksenden. In entsprechender Weise können die Programmierbefehle "-I"

(INT-Subtraktion) , "*I" ( INT-Multiplikation) oder "/I" (INT- Division) getestet werden. Soll der Programmierbefehl "SLW" (Schiebe links wortweise) getestet werden, so kann beispielsweise der Transaktionscode "20" verwendet werden. Mit den beiden Transaktionswerten "255" und "2" muss die Recheneinrichtung 15 bei korrekter Ab- arbeitung beispielsweise zu dem Transaktionsergebnis "1020" kommen und dieses zurückliefern.

Soll der Programmierbefehl "UND" (UND-Verknüpfung) getestet werden, so kann beispielsweise der Transaktionscode "25" ver- wendet werden. Mit den beiden Transaktionswerten "1" und "1" muss die Recheneinrichtung 15 bei korrekter Abarbeitung beispielsweise zu dem Transaktionsergebnis "1" kommen und dieses zurückliefern . Obwohl die Erfindung im Detail durch die bevorzugten Ausführungsbeispiele näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.