Data messages

The peripheral address in WinCC OA is composed of the following elements for explicit addressing of data points:

  • Data type
  • Region number (same as that in the SSI message)
  • Component number (same as that in the SSI message)
  • Module number (same as that in the SSI message)
  • Value number (same as that in the SSI message)
  • Subaddress (currently always 0)
  • Index: to discriminate between items of data when a message contains several different items of data.

Since the index in the message constitutes part of the peripheral address, this ensures total flexibility in configuring the individual items of data in a message. Hence the each of the items of data can be combined in one data point, say, or they might form part of a larger data point, or else be distributed amongst several data points.

The index numbers for each telegram are assigned in the driver. They are listed separately under the different messages.

In principle there are several options for assigning WinCC OA data points to messages. The peripheral addresses can be configured at the data point nodes, provided the sheets under this node have the same type (i.e. for all dynamic arrays of data points of the same type, such as a bit pattern structure, bit structure), as well as on the sheets. If the peripheral address is configured at a node, then the index number of the peripheral address specifies the object in the message from which the data is distributed to all other objects on the sheets of the WinCC OA data point. Thus one could for instance distribute 16 individual messages (index 0 to 15) to two data points of type bit structure, each with 6 bits, by specifying the index of the peripheral address as 0 in the data point node of the first data point, and as 6 in the node of the second data point. Incoming messages are then distributed to the sheets of the data points. The six sheets of the first data point receive messages 0-5 (bits), and the sheets of the second data point receive messages 6-11 (also bits). Since the remaining messages (12-15) have not been configured to any WinCC OA data point, they are discarded by the driver.

In addition, indices are introduced for some messages for special handling purposes. For instance it ought to be possible to configure the 16 individual messages jointly on one data point sheet of type bit pattern; the index 20 (for 16 individual messages) has been introduced for this purpose.

Non-real-time messages

These are also called priority-controlled messages. They are not time-based and arrive more quickly than real-time messages.

DF = 01 - Digital value unsigned 32 Bit

The data area of the message contains the following elements:

length Parameter
4 bytes unsigned integer (Little Endian)

The value is configured to a dedicated data point in WinCC OA. The corresponding type of the WinCC OA variable is natural number.

SSI label Index SSI type WinCC OA type
Digital value unsigned 32 Bit 0 32 bit unsigned int natural number
DF = 02 - Digital value signed 32 Bit ( 31 Bit plus VZ )

The data area of the message contains the following elements:

length Parameter
4 bytes signed integer (no two's-complement representation)

The value is configured to a dedicated data point in WinCC OA. The corresponding type of the WinCC OA variable is integer.

SSI label Index SSI type WinCC OA type
Digital value signed 32 Bit 0 32 bit signed int Integer
DF = 03 - Transformer tap position ( digital )

The data area of the message contains the following elements:

length Parameter
1 byte Transformer setting
1 byte (Bit 1: contact indicator, Bit 0: error bit)

It is recommended to configure the three values to a common data point.

SSI label Index SSI type WinCC OA type
Transformer setting 0 8 bit unsigned int natural number
Error bit 1 bit Bit
Contact indicator 2 bit Bit
DF = 04 - Floating Point

The data area of the message contains the following elements:

length Parameter
4 bytes floating point in IEEE format

The assigned WinCC OA data point is of type floating point.

Table 1. The indices and types for "floating point" assigned to the individual items of data.
SSI label Index SSI type WinCC OA type
floating point value 0 32 bit floating point IEEE floating-point number
DF = 05 - Combination messages

The data area of the message contains the following elements:

length Parameter
4 byte signed integer in SSI format
1 byte for limit messages LI3, LI2, LI1, Li0, 1 bit each
1 byte for gradient messages GR1 and GR0, 1 bit each
SSI label Index SSI type WinCC OA type
Measurement 0 32 bit signed int Integer
Limit message LI0 1 bit Bit
Limit message LI1 2 bit Bit
Limit message LI2 3 bit Bit
Limit message LI3 4 bit Bit
Gradient message GR0 5 bit Bit
Gradient message GR1 6 bit Bit
Measurement 10 32 bit signed int Integer
Limit message 11 byte (4 bits) Bit pattern
Gradient message 12 byte (2 bits) Bit pattern
Measurement 20 32 bit signed int Integer
Limit+gradient 21 byte (6 bits) Bit pattern
DF = 06 - Computer link formats

The data area of the message contains the following elements:

length Parameter
8 bytes (64 bits) transparent data

More precise structuring of the data is not implemented.

SSI label Index SSI type WinCC OA type
Transparent data 0 8 bytes of transparent data Text
DF = 07 - String

The data area in the message consists of up to 1000 bytes of transparent data. Currently up to 57 bytes are supported. More precise structuring of the data is not implemented.

SSI label Index SSI type WinCC OA type
String (dynamic length) 0 1-1000 data bytes Text
DF = 08 - Transparent data

The data area of the message contains the following elements:

length Parameter
8 bytes transparent data

More precise structuring of the data is not implemented.

SSI label Index SSI type WinCC OA type
Transparent data 0 8 bytes of transparent data Text
DF = 09 - 16 individual messages

The data area of the message contains the following elements:

length Parameter
2 bytes Message bits
  • 2 bytes of invalid bits accompany the message bits

If all the individual messages are mapped onto a bit pattern, the associated invalid bit is obtained from logically ORing the individual invalid bits.

SSI label Index SSI type WinCC OA type
Message 0 0 bit Bit
Message 1 1 bit Bit
Message 2 2 bit Bit
Message 3 3 bit Bit
Message 4 4 bit Bit
Message 5 5 bit Bit
Message 6 6 bit Bit
Message 7 7 bit Bit
Message 8 8 bit Bit
Message 9 9 bit Bit
Message 10 10 bit Bit
Message 11 11 bit Bit
Message 12 12 bit Bit
Message 13 13 bit Bit
Message 14 14 bit Bit
Message 15 15 bit Bit
All 20 16 bit bit pattern
DF = 10 - 8 Double messages

The data area of the message contains the following elements:

length Parameter
2 bytes Switch settings (2 bits each)
2 bytes Invalid bits for the switch messages

This message indicates the state of a switch. Each switch state is described by two bits.

D Z State
0 1 ON
0 0 OFF
1 0 Intermediate
1 1 Error

If all the messages are mapped onto a bit pattern, the associated invalid bit is obtained from logically ORing the individual invalid bits.

SSI label Index SSI type WinCC OA type
Message Z0 0 bit Bit
Message D0 1 bit Bit
Message Z1 2 bit Bit
Message D1 3 bit Bit
Message Z2 4 bit Bit
Message D2 5 bit Bit
Message Z3 6 bit Bit
Message D3 7 bit Bit
Message Z4 8 bit Bit
Message D4 9 bit Bit
Message Z5 10 bit Bit
Message D5 11 bit Bit
Message Z6 12 bit Bit
Message D6 13 bit Bit
Message Z7 14 bit Bit
Message D7 15 bit Bit
Message 0 20 2 bit Bit pattern
Message 1 21 2 bit Bit pattern
Message 2 22 2 bit Bit pattern
Message 3 23 2 bit Bit pattern
Message 4 24 2 bit Bit pattern
Message 5 25 2 bit Bit pattern
Message 6 26 2 bit Bit pattern
Message 7 27 2 bit Bit pattern
All 30 16 bit Bit pattern
DF = 11 - 4 Double messages with command feedback

The data area of the message contains the following elements:

length Parameter
2 bytes Command feedback messages (4 bits each)
2 bytes Invalid bits for the command feedback messages

This message is used to return information on the effects of a command. 4 bits describe the state of a switch (relays, NC contacts)

Bit Bit Switch state
Z 0 Off
1 On (switch state)
D 0 ok
1 Switch fault
SF 0 ok
1 Z bit changes because of external events (not because of command)
SL 0 defined state
1 Z switching between states
SSI label Index SSI type WinCC OA type
Message Z0 0 bit Bit
Message D0 1 bit Bit
Message SF0 2 bit Bit
Message SL0 3 bit Bit
Message Z1 4 bit Bit
Message D1 5 bit Bit
Message SF1 6 bit Bit
Message SL1 7 bit Bit
Message Z2 8 bit Bit
Message D2 9 bit Bit
Message SF2 10 bit Bit
Message SL2 11 bit Bit
Message Z3 12 bit Bit
Message D3 13 bit Bit
Message SF3 14 bit Bit
Message SL3 15 bit Bit
Message 0 20 4 bit Bit pattern
Message 1 21 4 bit Bit pattern
Message 2 22 4 bit Bit pattern
Message 3 23 4 bit Bit pattern
All 30 16 bit Bit pattern

If all the messages are mapped onto a bit pattern, the associated invalid bit is obtained from logically ORing the individual invalid bits.

DF = 12 - 1 Individual data point message

The data area of the message contains the following elements:

length Parameter
1 byte Feedback message (4 bits, 0 to 3)
SSI label Index SSI type WinCC OA type
Message Z 0 bit Bit
Message D 1 bit Bit
Message SF 2 bit Bit
Message SL 3 bit Bit
Total message 10 4 bit Bit pattern
DF = 13 Command

The data area of the message contains the following elements:

length Parameter
1 bytes Command number
1 bytes Switching time

This message constitutes the pulse command of the SSI protocol. It contains a single command. A relay (switch) is switched for the given switching time, and then returns to an idle state. Normally two different command numbers would be required to switch a peripheral device between "ON" and "OFF". Unlike the usual data formats, data points of type pulse command must be signaled to the Event Manager by means of a single registration (in the command direction). All other data points are registered as a group. Provided the peripheral address is configured in the configuration panel then the correct form of registration will be set automatically. If configuration is from ASCII files, however, then the attribute address.._mode must be set to 5 (= single registration) for these commands, and to 1 (in the command direction) or 2 (in the message direction) for all other commands.

The message contains the switching time in addition to the command number. The switching time is coded in a byte, where the individual bits have the following meaning:

Time (bits 0 and 1) 0 for 50 ms, 1 for 500 ms, 10 for 1 sec, 11 for 10 sec.
Factor (bits 2-6) 1...31 switching time = time x factor
OW (bit 7) 1... overwrites command already running
0...Overwriting not permitted

The switching time can be specified in two different ways. For most commands it is adequate to use a system-wide switching time that applies to all commands. A default value for the switching time is provided for this purpose in the SSI driver. This can be set using the defaultImpulseTime entry in the configuration file (see chapter on Configuration file entries). If this entry does not appear, then 8 is used by default (equals 100 mS). If other switching times need to be set for individual commands, then these can be specified in the data point _SSI_Impulse_Times (this contains a dynamic array of bit patterns in which the required switching times can be set - the simplest way of doing this is in the Pulse times panel of the Peripheral address panel). In order to then assign a switching time from this array to a command data point, the index for this switching time in the _SSI_Impulse_times data point is added to the peripheral address as an extension to the data type (separated by a colon). One should note that this extra index is only allowed for data points of type command.

Example

The peripheral address 13:2.255.3.4.1.0 assigns to the data point the switching time contained in the second array item of the _SSI_Impulse_Time data point.

SSI label Index SSI type WinCC OA type
Command 0 0 coded in bytes. Bit
Command 1 1 coded in bytes. Bit
Command 2 2 coded in bytes. Bit
Command 3 3 coded in bytes. Bit
Command 4 4 coded in bytes. Bit
Command 5 5 coded in bytes. Bit
Command 6 6 coded in bytes. Bit
Command 7 7 coded in bytes. Bit
Command 8 8 coded in bytes. Bit
Command 9 9 coded in bytes. Bit
Command 10 10 coded in bytes. Bit
Command 11 11 coded in bytes. Bit
Command 12 12 coded in bytes. Bit
Command 13 13 coded in bytes. Bit
Command 14 14 coded in bytes. Bit
Command 15 15 coded in bytes. Bit
Real-time messages

For every priority-controlled message there is an equivalent real-time message. This contains a 5-byte time field in front of the data, indicating the time the supplied data was generated. This time information has the following format:

length Parameter
2 bytes milliseconds (lower significant byte of the msec before the higher significant byte)
1 bytes seconds
1 bytes minutes
1 bytes hours (24 hour format)
DF = 101 Digital value unsigned 32 Bit with time

This message otherwise has the same action as the analog NEZ message.

DF = 102 Digital value signed 32 Bit ( 31 Bit plus VZ ) with time

This message otherwise has the same action as the analog NEZ message.

DF = 03 - Transformer tap position ( digital ) with time

This message otherwise has the same action as the analog NEZ message.

DF = 104 Floating point with time

This message otherwise has the same action as the analog NEZ message.

DF = 105 Combination message with time

This message otherwise has the same action as the analog NEZ message.

DF = 106 Computer link formats with time

This message otherwise has the same action as the analog NEZ message.

DF = 107 String with time

This message otherwise has the same action as the analog NEZ message.

DF = 108 Transparent data with time

This message otherwise has the same action as the analog NEZ message.

DF = 109 16 Single messages with time

This message otherwise has the same action as the analog NEZ message.

DF = 110 8 Double messages with time

This message otherwise has the same action as the analog NEZ message.

DF = 111 4 Double messages with command feedback with time

This message otherwise has the same action as the analog NEZ message.

DF = 112 1 Single data point message with time

This message otherwise has the same action as the analog NEZ message.

DF = 113 Command with time

This message otherwise has the same action as the analog NEZ message.