|
(11) | EP 2 049 954 B1 |
| (12) | EUROPEAN PATENT SPECIFICATION |
|
|
| (54) |
DEVICES, SYSTEMS, AND METHODS REGARDING A PLC VORRICHTUNGEN, SYSTEME UND VERFAHREN IN ZUSAMMENHANG MIT EINER SPS DISPOSITIFS, SYSTÈMES ET PROCÉDÉS CONCERNANT UN CONTRÔLEUR PLC |
|
|
|||||||||||||||||||||||||||||||
| Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention). |
Cross-References to Related Applications
Background
Summary
Brief Description of the Drawings
FIG. 2 is a block diagram of an exemplary embodiment of a rack 2000;
FIG. 3 is a top side view of an exemplary embodiment of an IO expansion module printed wiring board 3000;
FIG. 4 is a bottom view of an exemplary embodiment of a communications annex module printed wiring board 4000;
FIG. 5 is a top view of an exemplary embodiment of a communications annex module printed wiring board 5000;
FIG. 6 is a block diagram of an exemplary embodiment of a system 6000;
FIG. 7 is signaling diagram of an exemplary embodiment of a system 7000;
FIG. 8 is a block diagram of an exemplary embodiment of a system 8000;
FIG. 9 is a block diagram of an exemplary embodiment of a system 9000;
FIG. 10 is a block diagram of an exemplary embodiment of a system 10000;
FIG. 11 is a flowchart of an exemplary embodiment of a method 11000; and
FIG. 12 is a block diagram of an exemplary embodiment of an information device 12000.
Detailed Description
| Pin No. | Slide Connector Signal Name | Receptacle Signal Name | |
| 1 | +5V | 9 | +5V |
| 2 | GND | 10 | GND |
| 3 | CPU_L_Tx+ | 11 | MOD_R_Tx+ |
| 4 | CPU_L_Tx- | 12 | MOD_R_Tx- |
| 5 | +5V | 13 | +5V |
| 6 | GND | 14 | GND |
| 7 | CPU_L_Rx+ | 15 | MOD_R_Rx+ |
| 8 | CPU_L_Rx- | 16 | MOD_R_Rx- |
| Shield | GND | Shield | GND |
| Pin No. | Receptacle Signal Name | Plug Signal Name | |
| 1 | Not used | 17 | Not used |
| 2 | 5V | 18 | 5V |
| 3 | 3.3V | 19 | 3.3V |
| 4 | GND | 20 | GND |
| 5 | GND | 21 | GND |
| 6 | Not used | 22 | Not used |
| 7 | Not used | 23 | Not used |
| 8 | Not used | 24 | Rx (Receive Data - input) |
| 9 | Not used | 25 | CTS(Clear to Send - RS232 input) |
| 10 | MOD_L_Rx+ | 26 | CPU_L_Rx+ |
| 11 | MOD_L_Rx- | 27 | CPU_L_Rx- |
| 12 | Not used | 28 | Tx (Transmit Data - output) |
| 13 | Not used | 29 | RTS (Request to Send - output) |
| 14 | MOD_L_Tx+ | 30 | CPU_L_Tx+ |
| 15 | MOD_L_Tx- | 31 | CPU_L_Tx- |
| 16 | C_GND (Chassis GND) | 32 | C_GND (Chassis GND) |
Request / Response
| most significant bit | least significant bit | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| r | r | r | r | s | s | s | s |
| 0x00 - | Rack 0, slot 0 - can be an address reserved for a PLC. |
| 0x0m - | Rack 0, slot m - can be an address of a module, where m = 1 to 15. |
| 0xF0 - | Can be an un-configured address used during address assignment. |
| 0xF3 - | Can broadcast message to a set of modules. |
communications controllers 6130, 6230, 6430, 6530, and 6630;
reception switches 6110, 6210, 6410, 6510, and 6610;
transmission switches 6150, 6250, 6450, 6550, and 6650;
reception repeaters and/or delay circuits 6120, 6220, 6420, 6520, and 6620; and/or
transmission repeaters and/or delay circuits 6140, 6240, 6440, 6540, and 6640.
| xxxxxxxx(-) |
| DA = 0x00 |
| LEN = 0x0D |
| SA = aa |
| MT = original MT OR 0x80 |
| DEV_CLS = dd |
| DEV_TYP = tt |
| DEV_STAT = ss |
| ERR_CLS = 0x7F |
| ERR_COD = ee |
| Field | Value | Description |
| DA | 0x00 | The destination address (CPU) |
| SA | Aa | The address of the responding device |
| MT | original MT OR 0x80 | Message Type Response - requested command not accepted |
| DEV_CLS | Dd | Code identifying the device class |
| DEV_TYP | Tt | Code identifying the device type |
| DFV_STAT | Ss | Device status - (see SET_ADD_RSP(+) for complete description) |
| ERR_CLS | 0x7F | Device non-fatal error |
| ERR_COD | Ee | Unsupported message type |
| (E_UNSUPPORTED_CMD) or | ||
| Unsupported message type in current operating mode | ||
| (E_UNSUPPORTED_INMODE) |
| Error | Code | Description |
| E_UNSUPPORTED_CMD | 0x80 | Request message contains unsupported message type |
| E_UNSUPPORTED_INMODE | 0x81 | Request message contains message type unsupported in current operating mode |
| E_ILLEGAL_ADDR | 0x82 | Illegal address specified in address assignment |
| E_REPEAT_ALREADY_ENABLED | 0x83 | Message pass-through already enabled |
| E_INCORRECT_IO_COUNT | 0x84 | Incorrect I/O count - I/O read/write request not consistent with module's actual I/O count |
| E_ILLEGAL_COMP_NUMBER | 0x85 | Specified component number is illegal |
| E_ILLEGAL_COMP_INMODE | 0x86 | Specified component number is illegal in current operating mode |
| E_WRITE_TO_MEMORY_FAILED | 0x87 | Write operation to memory device failed |
| E_UPDATE_NOT_IN_PROGRESS | 0x88 | A component update operation is not in progress |
| E_UPDATE_EN_PROGRESS | 0x89 | A component update operation is already in progress |
| E_ILLEGAL_MSG_FORMAT | 0x8A | Illegal message format (e.g. payload length not expected, ...) |
| E_ILLEGAL_CONTENT | 0x8B | Illegal downloaded content |
| E_ILLEGAL_COMPONENT | 0xFx | Illegal component discovered (boot mode only) |
| bit 0: 1=illegal IID | ||
| bit 1: 1=illegal MID | ||
| bit 2: 1=illegal FWA |
| Digital Input | Analog Input | Digital Input |
| Present State | Voltage | Next State |
| 0 | >8V | 1 |
| 1 | <6V | 0 |
that a message type of the first message is an unsupported message type for the module;
that the first message attempted to assign an invalid address for an address of the module;
that the first message attempted to enable communications with a communicatively coupled second module, and such communication had been previously enabled;
that an incorrect input/output count was referenced by the transmitted first message;
that an invalid component number was referenced by the transmitted first message;
that a write operation to a memory comprised by the module failed;
that a component update operation is in progress at the module;
of an invalid message format in the transmitted first message; and/or
of invalid downloaded content, of an invalid component, and/or of a disallowed memory access.
Definitions
Note
there is no requirement for the inclusion of any particular described or illustrated characteristic, function, activity, or element, any particular sequence of activities, or any particular interrelationship of elements;
any elements can be integrated, segregated, and/or duplicated;
any activity can be repeated, performed by multiple entities, and/or performed in multiple jurisdictions; and
any activity or element can be specifically excluded, the sequence of activities can vary, and/or the interrelationship of elements can vary.
a programmable logic controller (1100);
a first module (1200) of a first chain of modules (1040), each adjacent pair of said first chain of modules (1040) communicatively coupled in series, said first module (1200) communicatively coupled to the programmable logic controller (1100), said first module (1200) comprising a transmission circuit and a reception circuit, characterized by said first module (1200) adapted to communicate with said programmable logic controller (1100) via 8B/10B encoded frames that maps 8-bit symbols to 10-bit symbols, a frame of said 8B/10B encoded frames comprising a message type field of a size of eight bits, a value stored in said message type field indicative of content of a data field of each of said frames, said message type field following a first ordered sequence of fields comprised by said frame, said first ordered sequence of fields comprising, in the following order, a preamble field, a start-of-frame field, a destination address field, a length field specifying the number of bytes in the message, and a source address field, said message type field followed by a second ordered sequence of fields comprised by each frame, said second ordered sequence comprising, in the following order, a data field, a cyclic redundancy check field of a size of 32 bits, and an end of frame field.
a second chain of modules (1080), each adjacent pair of said second chain of modules (1080) communicatively coupled in series.
an 8B/10B encoded frame that maps 8-bit symbols to 10-bit symbols, used for communication between said module (1200) and said programmable logic controller (PLC) (1100), said 8B/10B encoded frame comprising message type field of a size of eight bits, a value stored in said message type field indicative of content of a data field of said frame, characterized by said message type field following a first ordered sequence of fields comprised by said frame, said first ordered sequence of fields comprising, in the following order, a preamble field, a start-of-frame field, a destination address field, a length field specifying the number of bytes in the message, and a source address field, said message type field followed by a second ordered sequence of fields comprised by each frame, said second ordered sequence comprising, in the following order, a data field, a cyclic redundancy check field of a size of 32 bits, and an end of frame field.
encoding a message via 8B/10B encoded frames that map 8-bit symbols to 10-bit symbols, said message used for communication in hard real-time providing an absolute deterministic response to an event between an Input/Output module (1200) and a programmable logic controller (PLC) (1100), said Input/Output module (1200) being one of a first chain of Input/Output modules (1040) communicatively coupled in series to said programmable logic controller (1100), said Input/Output module (1200) comprising a transmission circuit and a receiving circuit, said programmable logic controller (1100) communicatively coupled in series to a second chain of communications modules (1080), at least one of said second chain of communications modules (1080) adapted to be communicatively coupled to an information device (1540), said 8B/10B encoded frames comprising a message type field of a size of eight bits, a value stored in said message type field indicative of content of a data field of a given frame, characterized by said message type field following a first ordered sequence of fields comprised by each of said frames, said first ordered sequence of fields comprising, in the following order, a preamble field, a start-of-frame field, a destination address field of a size of eight bits, a length field specifying the number of bytes in the message and a source address field of a size of eight bits, said message type field followed by a second ordered sequence of fields comprised by each frame, said second ordered sequence comprising, in the following order, a data field, a cyclic redundancy check field of a size of 32 bits, and an end of frame field.
encoding a message via 8B/10B encoded frames, that map 8-bit symbols to 10-bit symbols, said message used for communication between a module (1200) and a programmable logic controller (PLC) (1100), said 8B/10B encoded frames comprising a message type field of a size of eight bits, a value stored in said message type field indicative of content of a data field of said frame, characterized by said message type field following a first ordered sequence of fields comprised by each of the frames, said first ordered sequence of fields comprising, in the following order, a preamble field, a start-of-frame field, a destination address field, a length field specifying the number of bytes in the message, and a source address field, said message type field followed by a second ordered sequence of fields comprised by each frame, said second ordered sequence comprising, in the following order, a data field, a cyclic redundancy check field of a size of 32 bits, and an end of frame field.
eine speicherprogrammierbare Steuerung (1100);
ein erstes Modul (1200) von einer ersten Kette von Modulen (1040), wobei jedes benachbarte Paar der ersten Kette von Modulen (1040) kommunikativ in Reihe gekoppelt ist, wobei das erste Modul (1200) kommunikativ an die speicherprogrammierbare Steuerung (1100) gekoppelt ist, wobei das erste Modul (1200) eine Sendeschaltung und eine Empfangsschaltung umfasst, dadurch gekennzeichnet, dass das erste Modul (1200) angepasst ist, um mit der speicherprogrammierbaren Steuerung (1100) über 8B/10B-codierte Rahmen zu kommunizieren, die 8-Bit-Symole auf 10-Bit-Symbole abbilden, wobei ein Rahmen der 8B/10B-codierten Rahmen ein Nachrichtentypfeld mit einer Größe von acht Bit umfasst, wobei ein Wert, der in dem Nachrichtentypfeld gespeichert ist, Inhalt eines Datenfelds von jedem von den Rahmen angibt, wobei das Nachrichtentypfeld einer ersten geordneten Folge von Feldern folgt, die in dem Rahmen enthalten sind, wobei die erste geordnete Folge von Feldern in der folgenden Reihenfolge ein Präambelfeld, ein Rahmenanfangsfeld, ein Zieladressfeld, ein Längenfeld, das die Anzahl Bytes in der Nachricht angibt, und ein Ursprungsadressfeld umfasst, wobei auf das Nachrichtentypfeld eine zweite geordnete Folge von Feldern folgt, die in jedem Rahmen enthalten sind, wobei die zweite geordnete Folge in der folgenden Reihenfolge ein Datenfeld, ein zyklisches Redundanzprüfungsfeld mit einer Größe von 32 Bits und ein Rahmenendfeld umfasst.
eine zweite Kette von Modulen (1080), wobei jedes benachbarte Paar von der zweiten Kette von Modulen (1080) kommunikativ in Reihe gekoppelt ist.
einen 8B/10B-codierten Rahmen, der 8-Bit-Symbole auf 10-Bit-Symbole abbildet, der zur Kommunikation zwischen dem Modul (1200) und der speicherprogrammierbaren Steuerung (1100) verwendet wird, wobei der 8B/10B-codierte Rahmen ein Nachrichtentypfeld mit einer Größe von acht Bits umfasst, wobei ein Wert, der in dem Nachrichtentypfeld gespeichert ist,
Inhalt von einem Datenfeld des Rahmens angibt, dadurch gekennzeichnet, dass das Nachrichtentypfeld einer ersten geordneten Folge von Feldern folgt, die in dem Rahmen enthalten sind, wobei die erste geordnete Folge von Feldern in der folgenden Reihenfolge ein Präambelfeld, ein Rahmenanfangsfeld, ein Zieladressfeld, ein Längenfeld, das die Anzahl Bytes in der Nachricht angibt, und ein Ursprungsadressfeld umfasst, wobei auf das Nachrichtentypfeld eine zweite geordnete Folge von Feldern folgt, die in jedem Rahmen enthalten sind, wobei die zweite geordnete Folge in der folgenden Reihenfolge ein Datenfeld, ein zyklisches Redundanzprüfungsfeld mit einer Größe von 32 Bits und ein Rahmenendfeld umfasst.
Codieren einer Nachricht über 8B/10B-codierte Rahmen, die 8-Bit-Symbole auf 10-Bit-Symbole abbilden, wobei die Nachricht zur Kommunikation in harter Echtzeit verwendet wird, wobei eine absolut deterministische Reaktion auf ein Ereignis zwischen einem Eingangs/Ausgangs-Modul (1200) und einer speicherprogrammierbaren Steuerung (1100) bereitgestellt wird, wobei das Eingangs/Ausgangsmodul (1200) eines von einer ersten Kette von Eingangs/Ausgangsmodulen (1040) ist, die mit der speicherprogrammierbaren Steuerung (1100) kommunikativ in Reihe gekoppelt sind, wobei das Eingangs/Ausgangsmodul (1200) eine Sendeschaltung und eine Empfangsschaltung umfasst, wobei die speicherprogrammierbare Steuerung (1100) mit einer zweiten Kette von Kommunikationsmodulen (1080) kommunikativ in Reihe gekoppelt ist, wobei mindestens eines von der zweiten Kette von Kommunikationsmodulen (1080) angepasst ist, um kommunikativ an eine Informationsvorrichtung (1540) gekoppelt zu werden, wobei die 8B/10B-codierten Rahmen ein Nachrichtentypfeld mit einer Größe von acht Bits umfassen, wobei ein Wert, der in dem Nachrichtentypfeld gespeichert ist, Inhalt eines Datenfelds eines gegebenen Rahmens angibt, dadurch gekennzeichnet, dass das erste Nachrichtentypfeld einer ersten geordneten Folge von Feldern folgt, die in jedem der Rahmen enthalten sind, wobei die erste geordnete Folge von Feldern in der folgenden Reihenfolge ein Präambelfeld, ein Rahmenanfangsfeld, ein Zieladressfeld mit einer Größe von acht Bits, ein Längenfeld, das die Anzahl Bytes in der Nachricht angibt, und ein Ursprungsadressfeld mit einer Größe von acht Bits umfasst, wobei auf das Nachrichtentypfeld eine zweite geordnete Folge von Feldern folgt, die in jedem Rahmen enthalten sind, wobei die zweite geordnete Folge in der folgenden Reihenfolge ein Datenfeld, ein zyklisches Redundanzprüfungsfeld mit einer Größe von 32 Bits und ein Rahmenendfeld umfasst.
Codieren einer Nachricht über 8B/10B-codierte Rahmen, die 8-Bit-Symbole auf 10-Bit-Symbole abbilden, wobei die Nachricht zur Kommunikation zwischen einem Modul (1200) und einer speicherprogrammierbaren Steuerung (1100) verwendet wird, wobei die 8B/10B-codierten Rahmen ein Nachrichtentypfeld mit einer Größe von acht Bits umfassen, wobei ein Wert, der in dem Nachrichtentypfeld gespeichert ist, Inhalt eines Datenfelds des Rahmens angibt, dadurch gekennzeichnet, dass das Nachrichtentypfeld einer ersten geordneten Folge von Feldern folgt, die in jedem der Rahmen enthalten sind, wobei die erste geordnete Folge von Feldern in der folgenden Reihenfolge ein Präambelfeld, ein Rahmenanfangsfeld, ein Zieladressfeld, ein Längenfeld, das die Anzahl Bytes in der Nachricht angibt, und ein Ursprungsadressfeld umfasst, wobei auf das Nachrichtentypfeld eine zweite geordnete Folge von Feldern folgt, die in jedem Rahmen enthalten sind, wobei die zweite geordnete Folge in der folgenden Reihenfolge ein Datenfeld, ein zyklisches Redundanzprüfungsfeld mit einer Größe von 32 Bits und ein Rahmenendfeld umfasst.
un automate programmable industriel (1100) ;
un premier module (1200) d'une première chaîne de modules (1040), chaque paire adjacente de ladite première chaîne de modules (1040) étant couplée en communication en série, ledit premier module (1200) étant couplé en communication à l'automate programmable industriel (1100), ledit premier module (1200) comportant un circuit de transmission et un circuit de réception, caractérisé en ce que ledit premier module (1200) est apte à communiquer avec ledit automate programmable industriel (1100) par le biais de trames codées 8B/10B qui mettent en correspondance des symboles de 8 bits avec des symboles de 10 bits ;
une trame desdites trames codées 8B/10B comportant un champ de type de message d'une taille de huit bits, une valeur stockée dans ledit champ de type de message étant indicative du contenu d'un champ de données de chacune desdites trames, ledit champ de type de message suivant une première séquence ordonnée de champs constitués par ladite trame, ladite première séquence ordonnée de champs comportant, dans l'ordre suivant, un champ de préambule, un champ de début de trame, un champ d'adresse de destination, un champ de longueur spécifiant le nombre d'octets dans le message, et un champ d'adresse de source, ledit champ de type de message étant suivi d'une seconde séquence ordonnée de champs constitués par chaque trame, ladite seconde séquence ordonnée comportant, dans l'ordre suivant, un champ de données, un champ de contrôle de redondance cyclique d'une taille de 32 bits et un champ de fin de trame.
une seconde chaîne de modules (1080), chaque paire adjacente de ladite seconde chaîne de modules (1080) étant couplée en communication en série.
une trame codée 8B/10B qui met en correspondance des symboles de 8 bits avec des symboles de 10 bits, utilisée dans le cadre de la communication entre ledit module (1200) et ledit automate programmable industriel (1100), ladite trame codée 8B/10B comportant un champ de type de message d'une taille de huit bits, une valeur stockée dans ledit champ de type de message étant indicative du contenu d'un champ de données de ladite trame, caractérisée en ce que ledit champ de type de message suit une première séquence ordonnée de champs constitués par ladite trame, ladite première séquence ordonnée de champs comportant, dans l'ordre suivant, un champ de préambule, un champ de début de trame, un champ d'adresse de destination, un champ de longueur spécifiant le nombre d'octets dans le message, et un champ d'adresse de source, ledit champ de type de message étant suivi d'une seconde séquence ordonnée de champs constitués par chaque trame, ladite seconde séquence ordonnée comportant, dans l'ordre suivant, un champ de données, un champ de contrôle de redondance cyclique d'une taille de 32 bits et un champ de fin de trame.
coder un message par l'intermédiaire de trames codées 8B/10B qui mettent en correspondance des symboles de 8 bits avec des symboles de 10 bits, ledit message étant utilisé dans le cadre de la communication en temps réel dur fournissant une réponse déterministe absolue à un événement entre un module d'entrée / sortie (1200) et un automate programmable industriel (1100), ledit module d'entrée / sortie (1200) correspondant à un module d'une première chaîne de modules d'entrée / sortie (1040) couplée en communications en série audit automate programmable industriel (1100), ledit module d'entrée / sortie (1200) comportant un circuit de transmission et un circuit de réception, ledit automate programmable industriel (1100) étant couplé en communication en série avec une seconde chaîne de modules de communication (1080), au moins un module de ladite seconde chaîne de modules de communication (1080) étant apte à être couplé en communication à un dispositif d'information (1540), lesdites trames codées 8B/10B comportant un champ de type de message d'une taille de huit bits, une valeur stockée dans ledit champ de type de message étant indicative du contenu d'un champ de données d'une trame donnée, caractérisé en ce que ledit champ de type de message suit une première séquence ordonnée de champs constitués par chacune desdites trames, ladite première séquence ordonnée de champs comportant, dans l'ordre suivant, un champ de préambule, un champ de début de trame, un champ d'adresse de destination d'une taille de huit bits, un champ de longueur spécifiant le nombre d'octets dans le message, et un champ d'adresse de source d'une taille de huit bits, ledit champ de type de message étant suivi d'une seconde séquence ordonnée de champs constitués par chaque trame, ladite seconde séquence ordonnée comportant, dans l'ordre suivant, un champ de données, un champ de contrôle de redondance cyclique d'une taille de 32 bits et un champ de fin de trame.
coder un message par l'intermédiaire de trames codées 8B/10B qui mettent en correspondance des symboles de 8 bits avec des symboles de 10 bits, ledit message étant utilisé dans le cadre de la communication entre un module (1200) et un automate programmable industriel (1100), lesdites trames codées 8B/10B comportant un champ de type de message d'une taille de huit bits, une valeur stockée dans ledit champ de type de message étant indicative du contenu d'un champ de données de ladite trame, caractérisé en ce que ledit champ de type de message suit une première séquence ordonnée de champs constitués par chacune des trames, ladite première séquence ordonnée de champs comportant, dans l'ordre suivant, un champ de préambule, un champ de début de trame, un champ d'adresse de destination, un champ de longueur spécifiant le nombre d'octets dans le message, et un champ d'adresse de source, ledit champ de type de message étant suivi d'une seconde séquence ordonnée de champs constitués par chaque trame, ladite seconde séquence ordonnée comportant, dans l'ordre suivant, un champ de données, un champ de contrôle de redondance cyclique d'une taille de 32 bits, et un champ de fin de trame.
REFERENCES CITED IN THE DESCRIPTION
Patent documents cited in the description