EP1362269B1

Method and device for programming a safety controller

Abstract

A method for programming a failsafe control system comprises the steps of defining logical interconnections between input signals of the failsafe control system and of assigning interconnection products to output signals of the failsafe control system. The steps of defining and assigning take place on the basis of predefined function-specific program modules, which are selected from a set of such program modules. According to one aspect, each selected program module is uniquely assigned to a defined functional group, with a first functional group containing program modules which pick up input signals of the failsafe control system and provide first interim variables in response thereto, a second functional group containing program modules which logically interconnect the first interim variables to one another and provide second interim variables in response thereto, and a third functional group containing program modules which assign the second interim variables to the output signals of the failsafe control system. A corresponding programming device is also disclosed.

EP1362269B1, drawing sheet 1
Sheet 1 of 2

Term

Term ended

Expired 6 February 2022, 4.6 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

14 claims: 14 independent, 0 dependent

  1. 1
    A method of programming a failsafe control system (18), comprising the steps of:- defining logical interconnections between input signals (28) of the failsafe control system (18) and- assigning interconnection products (M4, M5) to output signals (32) of the failsafe control system (18), with the definition of the interconnections and the assignment taking place on the basis of predefined function-specific program modules (62-72, 76-80), which are selected from a set (60) of such program modules, characterized in that each selected program module (76, 78, 80) is uniquely assigned to a defined functional group (54, 56, 58), a first functional group (54) containing program modules (76) which pick up input signals (28) of the failsafe control system (18) and, in dependence on them, provide first interim variables (M1, M2, M3), a second functional group (56) containing program modules (78) which logically interconnect the first interim variables (M1, M2, M3) to one another and, in dependence on them, provide second interim variables (M4, M5), and a third functional group (58) containing program modules (80) which assign the second interim variables (M4, M5) to the output signals (32) of the failsafe control system (18), with each program module (76) of the first functional group (54) evaluating a defined signal source (30) in a failsafe manner. Procédé de programmation d'une commande de sécurité (18), comprenant les étapes de : - définition des combinaisons logiques entre des signaux d'entrée (28) de la commande de sécurité (18), et- affectation des produits de la combinaison (M4, M5) aux signaux de sortie (32) de la commande de sécurité (18),    la définition des liaisons et l'affectation étant effectuées à l'appui de modules de programme (62-72, 76-80), prédéfinis, spécifiques aux fonctions, qui ont été sélectionnés parmi un ensemble (60) de tels modules de programme, caractérisé en ce que chaque module de programme (76, 78, 80) sélectionné est affecté de manière univoque à un groupe fonctionnel (54, 56, 58) défini, un premier groupe fonctionnel (54) contenant des modules de programme (76) qui reçoivent des signaux d'entrée (28) de la commande de sécurité (18) et, en fonction de cela, délivrent des premiers paramètres intermédiaires (M1, M2, M3), un deuxième groupe fonctionnel (56) contenant des modules de programme (78) qui effectuent la combinaison logique entre les premiers paramètres intermédiaires (M1, M2, M3) et, en fonction de cela, délivrent des deuxièmes paramètres intermédiaires (M4, M5), un troisième groupe fonctionnel (58) contenant des modules de programme (80) qui affectent les deuxièmes paramètres intermédiaires (M4, M5) aux signaux de sortie (32) de la commande de sécurité (18), et chaque module de programme (76) du premier groupe fonctionnel (54) exploitant de manière protégée contre les erreurs une source de signaux (30) définie. Verfahren zum Programmieren einer Sicherheitssteuerung (18), mit den Schritten: - Festlegen von logischen Verknüpfungen zwischen Eingangssignalen (28) der Sicherheitssteuerung (18) und- Zuordnen von Verknüpfungsprodukten (M4, M5) zu Ausgangssignalen (32) der Sicherheitssteuerung (18), wobei das Festlegen der Verknüpfungen und das Zuordnen anhand vordefinierter funktionsspezifischer Programmodule (62-72, 76-80) erfolgt, die aus einer Menge (60) derartiger Programmodule ausgewählt werden, dadurch gekennzeichnet, daß jedes ausgewählte Programmodul (76, 78, 80) eindeutig einer definierten Funktionsgruppe (54, 56, 58) zugeordnet wird, wobei eine erste Funktionsgruppe (54) Programmodule (76) enthält, die Eingangssignale (28) der Sicherheitssteuerung (18) aufnehmen und in Abhängigkeit davon erste Zwischengrößen (M1, M2, M3) bereitstellen, wobei eine zweite Funktionsgruppe (56) Programmodule (78) enthält, die die ersten Zwischengrößen (M1, M2, M3) logisch miteinander verknüpfen und in Abhängigkeit davon zweite Zwischengrößen (M4, M5) bereitstellen, wobei eine dritte Funktionsgruppe (58) Programmodule (80) enthält, die die zweiten Zwischengrößen (M4, M5) den Ausgangssignalen (32) der Sicherheitssteuerung (18) zuordnen, und wobei jedes Programmodul (76) der ersten Funktionsgruppe (54) eine definierte Signalquelle (30) fehlersicher auswertet.
  2. 2
    Procédé selon la revendication 1, caractérisé en ce que chaque module de programme (62-72, 76-80) est affecté précisément à un groupe parmi un total de trois groupes fonctionnels (54, 56, 58) définis. The method of claim 1, characterized in that each program module (62 - 72, 76 - 80) is assigned to precisely one of a total of three defined functional groups (54, 56, 58). Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jedes Programmodul (62-72, 76-80) genau einer von insgesamt drei definierten Funktionsgruppen (54, 56, 58) zugeordnet wird.
  3. 3
    Procédé selon la revendication 1 ou 2, caractérisé en ce que, au moment de la sélection de chaque module de programme (62-72, 76-80), un appel de fonctionnement du module de programme est généré et enregistré dans une table de traitement. The method of claim 1 or 2, characterized in that a program-module function call is generated and stored in a sequence table, whenever a program module (62-72, 76-80) is selected. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß beim Auswählen eines jeden Programmoduls (62-72, 76-80) ein Programmodul-Funktionsaufruf generiert und in einer Ablauftabelle abgespeichert wird.
  4. 4
    Procédé selon la revendication 3, caractérisé en ce que les appels de fonctionnement du module de programme sont enregistrés dans la table de traitement séparément selon les groupes fonctionnels (54, 56, 58). The method of claim 3, characterized in that the program-module function calls are stored in the sequence table separately according to the functional groups (54, 56, 58). Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die Programmodul-Funktionsaufrufe nach den Funktionsgruppen (54, 56, 58) getrennt in der Ablauftabelle abgespeichert werden.
  5. 5
    Procédé selon la revendication 3 ou 4, caractérisé en ce que les appels de fonctionnement du module de programme sont enregistrés dans l'ordre de succession des groupes fonctionnels (54, 56, 58). The method of claim 3 or 4, characterized in that the program-module function calls are stored in the sequence of the functional groups (54, 56, 58). Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, daß die Programmodul-Funktionsaufrufe in der Reihenfolge der Funktionsgruppen (54, 56, 58) abgespeichert werden.
  6. 6
    Procédé selon l'une des revendications 1 à 5, caractérisé en ce que les modules de programme (62-72, 76-80) sont représentés par des icônes sur une interface graphique (50). The method of any of claims 1 to 5, characterized in that the program modules (62 - 72, 76 - 80) are represented by means of graphic symbols on a graphic user interface (50). Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Programmodule (62-72, 76-80) mittels graphischer Symbole auf einer graphischen Benutzeroberfläche (50) dargestellt werden.
  7. 7
    Procédé selon la revendication 6, caractérisé en ce que les modules de programme (62-72, 76-80) sont sélectionnés au moyen d'une fonction glisser-déposer (74). The method of claim 6, characterized in that the program modules (62 - 72, 76 - 80) are selected by means of a drag & drop function (74). Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die Programmodule (62-72, 76-80) mittels einer Drag & Drop-Funktion (74) ausgewählt werden.
  8. 8
    Procédé selon l'une des revendications 1 à 7, caractérisé en ce que les groupes fonctionnels (54, 56, 58) sont représentés par des icônes sur une interface graphique (50). The method of any of claims 1 to 7, characterized in that the functional groups (54, 56, 58) are represented by means of graphic symbols on a graphic user interface (50). Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die Funktionsgruppen (54, 56, 58) mittels graphischer Symbole auf einer graphischen Benutzeroberfläche (50) dargestellt werden.
  9. 9
    Procédé selon l'une des revendications 6 à 8, caractérisé en ce que la représentation d'un module de programme (76, 78, 80) sur l'interface graphique (50) est générée à partir d'un appel de fonctionnement du module de programme associé enregistré. The method of any of claims 6 to 8, characterized in that the representation of a selected program module (76, 78, 80) on the user interface (50) is generated from a stored, associated program-module function call. Verfahren nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, daß die Darstellung eines ausgewählten Programmoduls (76, 78, 80) auf der Benutzeroberfläche (50) aus einem abgespeicherten, zugehörigen Programmodul-Funktionsaufruf generiert wird.
  10. 10
    A device for programming a failsafe control system (18), having first means (12, 14, 16) for selecting and parameterizing predefined function-specific program modules (62-72, 76-80), by means of which logical interconnections can be defined between input signals (28) of the failsafe control system (18) and connection products (M4, M5) can be assigned to output signals (32) of the failsafe control system (18), characterized by further means (52), which uniquely assign a selected program module (76, 78, 80) to a defined functional group (54, 56, 58), a first functional group (54) containing program modules (76) which pick up input signals (28) of the failsafe control system (18) and, in dependence on them, provide first interim variables (M1, M2, M3), a second functional group (56) containing program modules (78) which logically interconnect the first interim variables (M1, M2, M3) to one another and, in dependence on them, provide second interim variables (M4, M5), and a third functional group (58) containing program modules (80) which assign the second interim variables (M4, M5) to the output signals (32) of the failsafe control system (18), wherein the program modules (76) of the first functional group (54) are configured to evaluate a defined signal source (30) in a failsafe manner. Dispositif de programmation d'une commande de sécurité (18), comportant des premiers moyens (12, 14, 16) pour sélectionner et paramétrer des modules de programme (62-72, 76-80), prédéfinis, spécifiques aux fonctions, qui permettent de définir des combinaisons logiques entre des signaux d'entrée (28) de la commande de sécurité (18) et d'affecter des produits de la combinaison (M4, M5) aux signaux de sortie (32) de la commande de sécurité (18), caractérisé en ce que.d'autres moyens (52) sont prévus pour affecter de manière univoque un module de programme (76, 78, 80) sélectionné à un groupe fonctionnel (54, 56, 58) défini, un premier groupe fonctionnel (54) contenant des modules de programme (76) qui reçoivent des signaux d'entrée (28) de la commande de sécurité (18) et, en fonction de cela, délivrent des premiers paramètres intermédiaires (M1, M2, M3), un deuxième groupe fonctionnel (56) contenant des modules de programme (78) qui effectuent la combinaison logique entre les premiers paramètres intermédiaires (M1, M2, M3) et, en fonction de cela, délivrent des deuxièmes paramètres intermédiaires (M4, M5), un troisième groupe fonctionnel (58) contenant des modules de programme (80) qui affectent les deuxièmes paramètres intermédiaires (M4, M5) aux signaux de sortie (32) de la commande de sécurité (18), et chaque module de programme (76) du premier groupe fonctionnel (54) étant conçu de manière à exploiter de manière protégée contre les erreurs une source de signaux (30) définie. Vorrichtung zum Programmieren einer Sicherheitssteuerung (18), mit ersten Mitteln (12, 14, 16) zum Auswählen und Parametrieren vordefinierter funktionsspezifischer Programmodule (62-72, 76-80), mit deren Hilfe logische Verknüpfungen zwischen Eingangssignalen (28) der Sicherheitssteuerung (18) festgelegt und Verknüpfungsprodukte (M4, M5) zu Ausgangssignalen (32) der Sicherheitssteuerung (18) zugeordnet werden können, dadurch gekennzeichnet, daß weitere Mittel (52) vorhanden sind, die ein ausgewähltes Programmodul (76, 78, 80) eindeutig einer definierten Funktionsgruppe (54, 56, 58) zuordnen, wobei eine erste Funktionsgruppe (54) Programmodule (76) enthält, die Eingangssignale (28) der Sicherheitssteuerung (18) aufnehmen und in Abhängigkeit davon erste Zwischengrößen (M1, M2, M3) bereitstellen, wobei eine zweite Funktionsgruppe (56) Programmodule (78) enthält, die die ersten Zwischengrößen (M1, M2, M3) logisch miteinander verknüpfen und in Abhängigkeit davon zweite Zwischengrößen (M4, M5) bereitstellen, wobei eine dritte Funktionsgruppe (58) Programmodule (80) enthält, die die zweiten Zwischengrößen (M4, M5) den Ausgangssignalen (32) der Sicherheitssteuerung (18) zuordnen, und wobei die Programmodule (76) der ersten Funktionsgruppe (54) dazu ausgebildet sind, eine definierte Signalquelle (30) fehlersicher auszuwerten.
  11. 11
    Dispositif selon la revendication 10, caractérisé par une mémoire (42) pour enregistrer un appel de fonctionnement du module de programme en fonction d'un module de programme (76, 78, 80) sélectionné, ainsi que par une unité d'affichage (14, 44) qui, en fonction de l'appel de fonctionnement du module de programme enregistré, génère une représentation du module de programme (76, 78, 80) sélectionné. The device of claim 10, characterized by a memory (42) for storing a program-module function call in dependence on a selected program module (76, 78, 80) and also a display unit (14, 44), which generates a representation of the selected program module (76, 78, 80) in dependence on the stored program-module function call. Vorrichtung nach Anspruch 10, gekennzeichnet durch einen Speicher (42) zum Abspeichern eines Programmodul-Funktionsaufrufs in Abhängigkeit von einem ausgewählten Programmodul (76, 78, 80) sowie eine Anzeigeeinheit (14, 44), die in Abhängigkeit von dem abgespeicherten Programmodul-Funktionsaufruf eine Darstellung des ausgewählten Programmoduls (76, 78, 80) generiert.
  12. 12
    A computer program having program coding means for carrying out a method of any of claims 1 to 9 when the computer program (16) is executed on a computer (12). Computerprogramm mit Programmcodemitteln zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 9, wenn das Computerprogramm (16) auf einem Computer (12) ausgeführt wird. Programme machine comportant des moyens de codage du programme, destiné à la mise en oeuvre d'un procédé selon l'une des revendications 1 à 9, lorsque le programme machine (16) est exécuté sur un ordinateur (12).
  13. 13
    A user program for a failsafe control system (18), having function calls for program modules (76, 78, 80), the processing of which in a processor unit (20, 22) of the fail-safe control system (18) achieves a logical interconnection of input signals (28) and an assignment to output signals (32) of the failsafe control system (18), characterized in that each program module (76, 78, 80) is uniquely assigned to one of at least three defined functional groups (54, 56, 58), and in that said function calls are grouped into said at least three functional groups (54, 56, 58), a first functional group (54) comprising program modules (76) which pick up input signals (28) of the failsafe control system (18) and, in dependence on them, provide first interim variables (M1, M2, M3), a second functional group (56) comprising program modules (78) which logically interconnect the first interim variables (M1, M2, M3) to one another and, in dependence on them, provide second interim variables (M4, M5), and a third functional group (58) comprising program modules (80) which assign the second interim variables (M4, M5) to the output signals (32) of the failsafe control system (18), wherein the program modules (76) of the first functional group (54) are configured to evaluate a defined signal source (30) in a fail-safe manner. Anwenderprogramm für eine Sicherheitssteuerung (18), mit Funktionsaufrufen für Programmodule (76, 78, 80), deren Abarbeitung in einer Prozessoreinheit (20, 22) der Sicherheitssteuerung (18) eine logische Verknüpfung von Eingangssignalen (28) sowie eine Zuordnung zu Ausgangssignalen (32) der Sicherheitssteuerung (18) bewirkt, dadurch gekennzeichnet, daß jedes Programmmodul (76, 78, 80) eindeutig einer von zumindest drei definierten Funktionsgruppen (54, 56, 58) zugeordnet ist und daß die Funktionsaufrufe in den zumindest drei Funktionsgruppen (54, 56, 58) geordnet sind, wobei eine erste Funktionsgruppe (54) Programmmodule (76) beinhaltet, die Eingangssignale (28) der Sicherheitssteuerung (18) aufnehmen und in Abhängigkeit davon erste Zwischengrößen (M1, M2, M3) bereitstellen, wobei eine zweite Funktionsgruppe (56) Programmmodule (78) beinhaltet, die die ersten Zwischengrößen (M1, M2, M3) logisch miteinander verknüpfen und in Abhängigkeit davon zweite Zwischengrößen (M4, M5) bereitstellen, wobei eine dritte Funktionsgruppe (58) Programmmodule (80) beinhaltet, die die zweiten Zwischengrößen (M4, M5) den Ausgangssignalen (32) der Sicherheitssteuerung (18) zuordnen, und wobei die Programmmodule (76) der ersten Funktionsgruppe (54) dazu ausgebildet sind, eine definierte Signalquelle (30) fehlersicher auszuwerten. Programme utilisateur pour une commande de sécurité (18), comportant des appels de fonctionnement pour des modules de programme (76, 78, 80), dont le traitement dans un processeur (20, 22) de la commande de sécurité (18) entraîne une combinaison logique entre des signaux d'entrée (28), ainsi qu'une affectation aux signaux de sortie (32) de la commande de sécurité (18), caractérisé en ce que chaque module de programme (76, 78, 80) est affecté de manière univoque à un groupe parmi au moins trois groupes fonctionnels (54, 56, 58) définis et en ce que les appels de fonctionnement sont ordonnés dans lesdits au moins trois groupes fonctionnels (54, 56, 58), un premier groupe fonctionnel (54) contenant des modules de programme (76) qui reçoivent des signaux d'entrée (28) de la commande de sécurité (18) et, en fonction de cela, délivrent des premiers paramètres intermédiaires (M1, M2, M3), un deuxième groupe fonctionnel (56) contenant des modules de programme (78) qui effectuent la combinaison logique entre les premiers paramètres intermédiaires (M1, M2, M3) et, en fonction de cela, délivrent des deuxièmes paramètres intermédiaires (M4, M5), un troisième groupe fonctionnel (58) contenant des modules de programme (80) qui affectent les deuxièmes paramètres intermédiaires (M4, M5) aux signaux de sortie (32) de la commande de sécurité (18), et les modules de programme (76) du premier groupe fonctionnel (54) étant conçus de manière à exploiter de manière protégée contre les erreurs une source de signaux (30) définie.
  14. 14
    A computer program product having a storage medium (36), on which a computer program (16) according to claim 12 or a user program (38) according to claim 13 is stored. Computerprogrammprodukt mit einem Speichermedium (36), auf dem ein Computerprogramm (16) nach Anspruch 12 oder ein Anwenderprogramm (38) nach Anspruch 13 gespeichert ist. Produit pour programme machine, comportant un support de mémoire (36) sur lequel est enregistré un programme machine (16) selon la revendication 12 ou un programme utilisateur (38) selon la revendication 13.
Independent claims14