System messages and sorting messages
These are SSI special messages that document and influence the status of the whole system. Incoming messages are intercepted by the driver on the basis of the data format (0 for system messages, 100 for sorting messages), and mapped onto elements of a component-specific internal data point (of type _SSI_SysMsg) by WinCC OA. This data point must be created at configuration for each component in the system. The name of the data point is obtained from the region number and the component number. For instance _SSI_SYS_10_3 is the name of the internal data point for the SSI driver assigned to component number 3 with region number 10. If the host receives a GA from this component then the GA query bits are passed to the GA element of the data point. The element has the name "_SSI_SYS_10_3.SysMsgIn.GA:_original.._value". Incoming messages are assigned to a _SSI_SysMsg data point on the basis of their source address (exception: Component X Failure - please refer to this message). Each message type (distinguishable by the message ID) is assigned to a dedicated element of this data point. |
Data point _SSI_SYS_10_3, data type _SSI_SysMsg
_SSI_SYS_10_3 | Data point element | Data type | ||
---|---|---|---|---|
SysMsgOut | ErrorAdjacent | Bit pattern | ||
ErrorNonAdjacent | Bit pattern | |||
CompFailure | Bit | |||
GA | Bit pattern | |||
Refresh | Bit | |||
SetTime | natural number | |||
TimeRequest | Bit | |||
TimeResponse | natural number | |||
DataResponse | natural number | |||
CounterPollRequest | Bit pattern | |||
RemoteReset | Bit | |||
PeriphCtrl | structure | |||
PeriphBits | Bit pattern | |||
PeriphVB0 | natural number | |||
PeriphVB1 | natural number | |||
TimeSetCtrl | Bit | |||
TimeSetAck | Bit | |||
TimeChange | Bit | |||
TimeInterval | Bit | |||
TimeInternalOverflow | Bit | |||
SysMsgIn | ErrorAdjacent | Bit pattern | ||
ErrorNonAdjacent | Bit pattern | |||
CompFailure | Bit | |||
GA | Bit pattern | |||
Refresh | Bit pattern | |||
SetTime | natural number | |||
TimeRequest | Bit | |||
TimeResponse | natural number | |||
DataResponse | natural number | |||
CounterPollRequest | Bit pattern | |||
RemoteReset | Bit | |||
PerphCtrl | structure | |||
PeriphBits | Bit pattern | |||
PeriphVB0 | natural number | |||
PeriphVB1 | natural number | |||
TimeSetCtrl | Bit | |||
TimeSetAck | Bit | |||
TimeChange | Bit | |||
TimeInterval | Bit | |||
TimeInternalOverflow | Bit |
The component-specific _SSI_SysMsg data point also has a corresponding branch for system and sorting messages being sent from WinCC OA. These elements in the component-specific data point can be configured for instance to make the driver generate and send a GA message to this component. The driver uses the WinCC OA region and component numbers as the source address (these numbers were specified in the hostId entry in the configuration file). Each of the sheets of the component-specific _SSI_SysMsg data point are described in greater detail in the System Messages section. |
It may be necessary to send a message to all system components (destination component number 255). For this eventuality there is an internal data point (of type _SSI_SysAll) assigned to component 255, and which only has sheets for outgoing messages. Each driver supports two data points of this type. One has the name _SSI_ALL_<KeetRegionNumber>_<KeetComponentNumber> and is assigned specifically to the driver connected to the specified keet. The other has the name _SSI_ALL_255_255 and is used by all SSI drivers in the system. By this means system messages can be sent selectively to all components in the whole system, or else to all components accessible from a specific driver. |
For compatibility with existing systems, a peripheral address can also be assigned to each sheet of the component-specific data points. This ensures that system messages created at the time as normal data messages, are automatically assigned to the elements of the system data point. |
Incoming system or sorting messages are also checked (in addition to the usual consistency check) to ensure that the given destination address is the same as the address of the device receiving it (or 255). If not, the driver considers the message to be invalid and signals it as an error. |
System messages
All system messages have a data format and data type of 0, representing a special case in the driver. In addition all system messages have a length of 21 bytes (+ 2 bytes for the length information in the header). These messages are identified by their message ID, which is specified separately for each message. It appears at the beginning of the message data area, i.e. after the data type. |
It should be possible to both receive and generate every message (unless specified otherwise). The subaddress, module number and value numbers are 0FFH. |
ID = 00 - Interface check message |
This message type is not supported by WinCC OA. |
ID = 01 - Fault message between two adjacent components |
This fault message is sent by a faulty component to its direct communications partner to signal the current (fault) status. The fault message reports or generates (for a GA) information on the occurrence of an error and its remedy. The data area of the message contains the following elements: |
length | Parameter |
---|---|
1 byte | System message ID = 01 |
1 byte | Destination region number (not checked for incoming messages, for generated messages it is the region number assigned to the _SSI_SysMsg data point) |
1 byte | Destination component number (not checked for incoming messages, for generated messages it is the component number assigned to the _SSI_SysMsg data point) |
2 bytes | Error status (= 16 error bits) |
4 bytes | reserved for expansions |
This message only concerns low-priority errors, so the individual data points for this component are not set to invalid. The error status (16 bits) is saved in the relevant element of the _SSI_SysMsg data point for the source component (bit pattern). If the situation is reversed and the error element of an _SSI_SysMsg data point is set by the Event Manager, the driver generates the fault message and sends it to the SK 1703. |
Table: Error bits between adjacent components and their meaning. |
Bit | Description |
---|---|
0 | Power up |
1 | Communication(s) failed (LAN, serial links) |
2 | Communication(s) faulty (LAN, serial lines) |
3 | Peripheral device failed |
4 | Peripheral device faulty |
5 | Real-time error (time must be reset and synchronization performed) |
6 | FIFO overflow |
7 | Error in special function(s) |
8 | Configuration error |
9 | Internal error |
10 | Sum of the user-defined error statuses |
11 | Failure of internal interface(s) |
12 | Partial failure of system components |
13 | Partial failure of its own component |
14 | Failure of its own component |
15 | Reserved |
A standard panel is provided in WinCC OA for displaying these fault states. The panel expects a parameter of type bit structure and then displays appropriate information according to the set bits. |
ID = 02 - Fault query message |
Not implemented in WinCC OA. |
ID = 03 - Response to fault query |
Not implemented in WinCC OA. |
ID = 04 - Fault-query table acknowledgement |
Not implemented in WinCC OA. |
ID = 05 - Fault messages between two non-adjacent components |
The contents of this message are the same as for the fault message exchanged between two adjacent components, the only difference being that additional components lie between the sender and the recipient. The data area of the message contains the following elements: |
length | Parameter |
---|---|
1 byte | System message ID = 05 |
1 byte | Destination region number (not checked for incoming messages, for generated messages it is the region number assigned to the _SSI_SysMsg data point) |
1 byte | Destination component number (not checked for incoming messages, for generated messages it is the component number assigned to the _SSI_SysMsg data point) |
2 bytes | Error status (= 16 error bits) |
4 bytes | reserved for expansions |
This message only concerns low-priority errors, so the individual data points for this component are not set to invalid (Exception: bit 15, see below.) |
The error status (16 bits) is saved in the relevant element of the _SSI_SysMsg data point for the source component (bit pattern). On receipt of this message no further actions are required by the driver (exception: bit 15, see below). |
If the situation is reversed and the error element of an _SSI_SysMsg data point is set by the Event Manager, the driver generates the fault message and sends it to the SK 1703. |
Table: Error bits between non-adjacent components and their meaning. |
Bit | Description |
---|---|
0 | Power up |
1 | Communication(s) failed (LAN, serial links) |
2 | Communication(s) faulty (LAN, serial lines) |
3 | Peripheral device failed |
4 | Peripheral device faulty |
5 | Real-time error (time must be reset and synchronization performed) |
6 | FIFO overflow for real-time messages |
7 | Error in special function(s) |
8 | Configuration error |
9 | Internal error |
10 | Sum of the user-defined error statuses |
11 | Failure of internal interface(s) |
12 | Partial failure of system components |
13 | Partial failure of its own component |
14 | Failure of its own component |
15 | Component failure |
In this case bit 15 indicates failure of a component, namely the source component of the message. The driver actions to be performed when bit 15 is set are specified in the next point (Component X Failure). |
The error bits are saved as a bit pattern in the associated _SSI_SysMsg data point. In addition the CompFailure element (1 bit) is set in the associated _SSI_SysMsg data point if bit 15 was sent with 1 set. |
A standard panel is provided in WinCC OA for displaying these fault states. The panel expects a parameter of type bit structure and then displays appropriate information according to the set bits. |
ID = 06 - Component X Failure |
Indicates total failure of a component. All data points under this component that are not reached via an alternative route, are set to invalid. The data area of the message contains the following elements: |
length | Parameter |
---|---|
1 byte | System message ID = 06 |
1 byte | Destination region number (not checked for incoming messages, for generated messages it is the region number assigned to the _SSI_SysMsg data point) |
1 byte | Destination component number (not checked for incoming messages, for generated messages it is the component number assigned to the _SSI_SysMsg data point) |
1 byte | Region number of the failed component |
1 byte | Component number of the failed component |
4 bytes | reserved for expansions |
This message is not generated by WinCC OA. |
The failure is recorded in the CompFailure element of the _SSI_SysMsg data point for the failed component (1 bit). This represents a special case in the driver, since for all other messages the information is saved in the corresponding data point of the source component. |
As soon as the first message is received from a failed component (component can be deduced from the source address), the CompFailure element is reset again. |
ID = 07 - GA request |
The data area of the message contains the following elements: |
length | Parameter |
---|---|
1 byte | System message ID = 07 |
1 byte | Destination region number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the region number assigned to the _SSI_SysMsg data point) |
1 byte | Destination component number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the component number assigned to the _SSI_SysMsg data point) |
1 byte |
GA selector, bits 0, 1 and 2 of which are relevant for specifying the required data more precisely. F: Bit 2, only error reports should be sent C: Bit 1, only real-time data should be sent P: Bit 0, only priority-controlled data should be set, C and P can also be set jointly. |
5 bytes | reserved for expansions |
The GA selector (bit pattern) is saved in the corresponding element of the _SSI_SysMsg data point for the failed component (GA: bit pattern in which the GA selector is saved). No further actions are taken in the driver. A Control script can configure the sending of data points. |
ID = 08 - Information refresh |
Similar to GA. Only the process data for the selected component is read from the component's internal memory. Faster than GA. The data area of the message contains the following elements: |
length | Parameter |
---|---|
1 byte | System message ID = 08 |
1 byte | Destination region number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the region number assigned to the _SSI_SysMsg data point) |
1 byte | Destination component number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the component number assigned to the _SSI_SysMsg data point) |
6 bytes | reserved for expansions |
The corresponding attribute of the _SSI_SysMsg data point assigned to the destination component is set (Refresh: bit). |
ID = 09 - Time set message |
The data area of the message contains the following elements: |
length | Parameter |
---|---|
1 byte | System message ID = 09 |
1 byte | Destination region number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the region number assigned to the _SSI_SysMsg data point) |
1 byte | Destination component number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the component number assigned to the _SSI_SysMsg data point) |
1 byte | Minutes (binary coded) |
1 byte | Hours (24 hour format) (binary coded) |
4 bytes | reserved for expansions |
When this message arrives it is recorded by the driver in the component-specific data point, but otherwise no further action is taken in the driver. Generation of this message is not supported. |
ID = 10 - Query message for date and time |
The data area of the message contains the following elements: |
length | Parameter |
---|---|
1 byte | System message ID = 10 |
1 byte | Destination region number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the region number assigned to the _SSI_SysMsg data point) |
1 byte | Destination component number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the component number assigned to the _SSI_SysMsg data point) |
6 bytes | reserved for expansions |
When this message arrives it is recorded by the driver in the component-specific data point, but otherwise no further action is taken in the driver. Generation of this message is not supported. |
ID = 11 - Response message for time |
The data area of the message contains the following elements: |
length | Parameter |
---|---|
1 byte | System message ID = 11 |
1 byte | Destination region number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the region number assigned to the _SSI_SysMsg data point) |
1 byte | Destination component number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the component number assigned to the _SSI_SysMsg data point) |
1 byte | Minutes |
1 byte | Hours (24 hour format) |
1 byte | with bit 0 for S and bit 1 for A (see above) |
3 bytes | reserved for expansions |
When this message arrives it is recorded by the driver in the component-specific data point, but otherwise no further action is taken in the driver. Generation of this message is not supported. |
ID = 12 - Response message for date |
The data area of the message contains the following elements: |
length | Parameter |
---|---|
1 byte | System message ID = 12 |
1 byte | Destination region number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the region number assigned to the _SSI_SysMsg data point) |
1 byte | Destination component number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the component number assigned to the _SSI_SysMsg data point) |
1 byte | Day of the month (1 to 31, binary coded) |
1 byte | Day of the week (1 to 7) |
1 byte | Month (1 to 12) |
1 byte | Year (only the last two digits, e.g. 96) |
2 bytes | Reserved for expansions |
This message always arrives with the response message for time. When this message arrives it is recorded by the driver in the component-specific data point, but otherwise no further action is taken in the driver. Generation of this message is not supported. |
ID = 13 - Counter poll |
The message gives a pulse count for all components (destination device = 255), or a selected destination component. The data area of the message contains the following elements: |
length | Parameter |
---|---|
1 byte | System message ID = 13 |
1 byte | Destination region number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the region number assigned to the _SSI_SysMsg data point) |
1 byte | Destination component number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the component number assigned to the _SSI_SysMsg data point) |
1 byte | Selector bits (bits 0,1: G, bit 2: S, bits 3,4: U) |
5 bytes | Reserved for expansions |
The following additional bits must be specified (and are also represented in the CounterPollRequest attribute of the _SSI_SysMsg data point): |
U-bits - Transfer code (2 bits)
|
|
|
|
G bits - Group number (2 bits)
A counter module contains n counters. Each counter can be assigned to a group to enable selective poling. |
S bit - Select bit:
The counters in a counter module can be further divided into two count records, e.g. ¼ hour values and 1 hour values. |
|
|
When a count query is received by WinCC OA, this is signaled to the Event Manager. The relevant data is then sent by a CTRL script. |
ID = 14 - Remote reset |
Remote reset of the addressed components. The data area of the message contains the following elements: |
ID = 15 - Peripheral control message |
length | Parameter |
---|---|
1 byte | System message ID = 14 |
1 byte | Destination region number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the region number assigned to the _SSI_SysMsg data point) |
1 byte | Destination component number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the component number assigned to the _SSI_SysMsg data point) |
6 bytes | reserved for expansions |
The peripheral control message is used for enabling and disabling certain functions of the peripheral devices. The data area of the message contains the following elements: |
length | Parameter |
---|---|
1 byte | System message ID = 15 |
1 byte | Destination region number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the region number assigned to the _SSI_SysMsg data point) |
1 byte | Destination component number (for incoming messages this is checked to ensure it matches its own address, for generated messages it is the component number assigned to the _SSI_SysMsg data point) |
1 byte | Control flags |
2 bytes | Virtual mode numbers |
3 bytes | reserved for expansions |
Horn Control
Table: Two bits that switch on a horn or other acoustic device in a component. |
H1 | H0 | Horn |
0 | 0 | Horn 0 |
1 | 0 | Horn 1 |
0 | 1 | Horn 2 |
1 | 1 | Horn 3 |
Light control
Table: Light and lamp control. |
Bits | Function | Target |
---|---|---|
GL | Guiding Lamp | SYBA 1 = on |
LA | Light acknowledge | PE 1 = on |
ON/OFF | Light ON/OFF for Enable Function | 0 = off, 1 = on |
SYBA = System operating and indicator group |
PE = peripheral element |
Table: Light and lamp control. |
E2 | E1 | E0 | Enable Function | Target |
---|---|---|---|---|
0 | 0 | 0 | no operation | |
0 | 0 | 1 | High Priority | PE |
0 | 1 | 0 | Lamp test | PE |
0 | 1 | 1 | Bright(on)/Dim(off) | PE |
1 | 0 | 0 | Output C5 on | SYBA |
1 | 0 | 1 | Output C6 on | SYBA |
1 | 1 | 1 | Enable horns |
Virtual module addressing: functions of the peripheral device can be directed into one or two (virtual) modules of an SK-1703 component. A module number is specified for the purpose. |
VM0 and VM1 | 0 to 19 |
EX bit | 0: VM0 and VM1 together |
1: All modules between VM0 and VM1 (area) |
Sorting system messages (EZ)
The sorting system messages are handled in a similar way to system messages (special case). All sorting messages have the data format 100. The data type is 255 (may still need to be resolved). All sorting system messages have a fixed message length of 18 bytes (+ 2 bytes for the length information in the header). |
The messages for time setting are not supported by WinCC OA. |
Incoming sorting system messages are saved in the component-specific data point and forwarded. |
Time section overrun message |
The data area of the message contains the following elements: |
Length | Parameter |
---|---|
2 bytes | milliseconds |
1 byte | seconds |
1 byte | minutes |
1 byte | hours |
1 byte | sorting message ID = 4 |
This message is only received, not generated by WinCC OA. |
Time section message |
The data area of the message contains the following elements: |
Length | Parameter |
---|---|
2 bytes | milliseconds |
1 byte | seconds |
1 byte | minutes |
1 byte | hours |
1 byte | sorting message ID = 3 |
This message is only received, not generated by WinCC OA. |
Time set acknowledge data message |
The data area of the message contains the following elements: |
Length | Parameter |
---|---|
2 bytes | milliseconds |
1 byte | seconds |
1 byte | minutes |
1 byte | hours |
1 byte | sorting message ID = 1 |
Time set acknowledge control message
The data area of the message contains the following elements: |
Length | Parameter |
---|---|
5 bytes | Time day (always set to 0) |
1 byte | sorting message ID = 0 |
Time change message |
The data area of the message contains the following elements: |
Length | Parameter |
---|---|
2 bytes | milliseconds |
1 byte | seconds |
1 byte | minutes |
1 byte | hours |
1 byte | sorting message ID = 2 |