_address

Attribute (neutral) Type Description
_active bool

You can set the peripheral address active or inactive by using the attribute _address.._active. An inactive address exists and attributes can be set or queried but the driver does not use them.

If the address is inactive, It is not possible to send values to the PLC or to receive them. A connection to the PLC is not built for this datapoint. Conflicts with other addresses are not checked.

_connection string Used by some drivers.
_datatype int Specifies the data type of the value in the periphery and determines the necessary type conversion (Transformation) of the value between WinCC OA and periphery. The meaning of the values is driver specific. See the tables further below.
_direction int Sets the input or output mode of the address. The different modes are described in the table peripheral address "_address.._direction" further below. The attribute represents the bits 0-4 of the _mode attribute.
_drv_ident string This attribute contains the driver type (for example "MODBUS" for the Modbus driver).
_internal bool

Sets the internal bit. Possible values: TRUE/FALSE.

This bit can be used to handle an address specially. Whether the address is used and how it is used, depends on the specific driver. This attribute represents the bit 5 of the _mode attribute.

_interval time Interval. Obsolete.
_lowlevel bool Sets the low level filter bit. Possible values: TRUE/FALSE. By using this bit, the low level Old/New comparison is activated or deactivated. This attribute presents the bit 6 of the _mode attribute.
_mode char This attribute contains the address mode. It combines the attributes _direction, _internal and _lowlevel. Thus, the attribute mode is replaced by the attributes _direction, _internal and _lowlevel.
_offset uint16 This attribute is used for saving optional address information of the used driver.
_poll_group dpid

This attribute contains the reference to a poll group. The polling parameters are defined in this poll group. Thus, the attributes _interval and _start are obsolete. See chapter Poll groups.

Note that when creating poll groups it might be necessary to reopen the _address panel since the new poll group is not necessarily shown immediately.

The poll group is only set if it is correctly specified by using the system name + data point name for the destination system. Otherwise the poll group is not displayed in the para either.

_reference string The reference string specifies the address of the data in the periphery. The format of the address string is driver specific. See for example Defining the peripheral addresses of the Modbus/TCP driver.
_start time Start time. This attribute is obsolete.
_subindex uint The subindex allows you to access data of a peripheral address, for example, the individual bits in a 16Bit word.
_type type Type of the peripheral connection.

Constants for the ".._type" attribute

CTRL Constant Int Value Description
DPCONFIG_NONE 0 No peripheral address
DPCONFIG_PERIPH_ADDR_MAIN 16 General peripheral address

"_address.._datatype" peripheral address

In the following the integer constants of the transformation types for the different drivers are listed. These constants are set in the respective address panel of the driver and are then interpreted by the driver. This means that the driver executes the appropriate transformation.

BACnet

Transformation type Integer Description
DEFAULT 800 Default. The necessary transformation is determined automatically.
BOOLEAN 801 Boolean
UNSIGNED INTEGER 802 32-bit unsigned integer
SIGNED INTEGER 803 32-bit signed integer
REAL 804 32-bit floating point number
DOUBLE 805 64bit double precision floating point number
OCTETS 806 Byte string
STRING 807 Text string
BITSTRING 808 Bit string
ENUMERATED 809 Enumeration type
DATE 810 BACnet date
TIME 811 BACnet time
DATETIME 822 BACnet date time

DNP3

Transformation type Integer Description
ANALOGINPUT 210 Analog input
ANALOGOUTPUT 211 Analog output
BINARYINPUT 212 Binary output
BINARYCOMMAND 213 Command
COUNTER 214 Counter
ASSIGNCLASS 215 Assign class

EIP

Transformation type Integer Description
UNDEFINED 770 Undefined
INT16 771 16-bit Integer signed
INT32 772 32-bit Integer signed
UINT16 773 16-bit Integer unsigned
UINT32 774 32-bit Integer unsigned
CHAR 775 Character
FLOAT 776 Floating-point number
BIT 777 Bit
Bit in WORD 778 Bit of a 16Bit word
BIT in DWORD 779 Bit of a 32Bit word
STRING 780 String
BLOB 781 Blob

IEC

Transformation type Integer Description
UNDEFINED 520 Undefined
SIQ 521 Single point information with quality descriptor
DIQ 522 Double point information with quality descriptor
VTI 523 Value with transient state indication
NVA 524 Normalized value
SVA 525 Scaled value
R32 526 R32-IEEE, short floating point number
BCR 527 Binary counter reading
SEP 528 Single event of protection equipment
SPE 529 Start events of protection equipment
OCI 530 Output circuit information of protection equipment
BSI 531 Binary state information
SCO 532 Single command
DCO 533 Double command
RCO 534 Regulating step command
SCD 535 Status and status change detection
COI 536 Cause of initialization
PRIVAT 537 Private user data with application specific structure.
EMPTY 538 Transformation type for a telegram that does not contain any user data.
INTERROGATION 539 GQ, Counter Request
FBP 540 Fixed test bit pattern
CP16 541 2 byte time
CP24 542 3 byte time
CP56 543 7 byte time
DBCR 545 Counter value 6 Octet BCD
FBCR 546 8 Octet floating-point number

MODBUS

Transformation type Integer Description
UNDEFINED 560 undefined
INT16 561 16-bit integer signed
INT32 562 32-bit integer signed
INT64 571 64-bit integer signed
UINT16 563 16-bit integer unsigned
UINT32 564 32-bit integer unsigned
UINT64 574 64-bit integer unsigned
CHAR 565 Character
FLOAT 566 Floating-point value
BIT 567 Bit
BOOLEAN_AS _BYTE 568 Boolean as byte
STRING 569 Text
BLOB 570 Blob
DOUBLE 572 64 Bit IEEE 754 Floating-point number
FLOAT with timestamp 573 Floating-point number with time stamp
MOD10 SIZE 2 575 PLC specific transformation type MOD10 with a size of 2 registers.
MOD10 SIZE 3 576 PLC specific transformation type MOD10 with a size of 3 registers.
MOD10 SIZE 4 577 PLC specific transformation type MOD10 with a size of 4 registers.

OPC

Transformation type Integer Description
DEFAULT 0 Default
UNDEFINED 480 Undefined
INT16 481 16-bit integer signed
INT32 482 32-bit integer signed
UCHAR 483 Character unsigned
FLOAT32 484 32-bit float
FLOAT64 485 64-bit float
BOOL 486 Bool
STRING 487 String
UINT16 488 16-bit integer unsigned
UINT32 489 32-bit integer unsigned
TIME 490 Time
BITSTRING 491 Bit pattern

OPC UA

Transformation type Integer Description
DEFAULT 750 Default
BOOLEAN 751 Boolean
SBYTE 752 Short Byte
BYTE 753 Byte
INT16 754 16-bit Integer signed
UINT16 755 16-bit Integer unsigned
INT32 756 32-bit Integer signed
UINT32 757 32-bit Integer unsigned
INT64 758 64 Bit Integer signed
UINT64 759 64 Bit Integer unsigned
FLOAT 760 Floating-point value
DOUBLE 761 Floating-point value, double precision
STRING 762 String
DATETIME 763 Date & Time
GUID 764 Unique Identifier
BYTESTRING 765 Byte String
XMLELEMENT 766 XML Element
NODEID 767 Node ID
LOCALIZEDTEXT 768 Localized Text

RK512

Transformation type Integer Description
UNDEFINED 240 Undefined
BYTE 241 Byte
UBYTE 242 Unsigned byte
WORD 243 Word
UWORD 244 Unsigned word
DWORD 245 Double word
UDWORD 246 Double word unsigned
FLOAT 247 Float
BCD 248 2 byte BCD
BCD4 249 4 byte BCD
KC 250 Counter format
KT 251 Timer format
BIT 252 Bit
STRING 253 String
LBYTE 254 Lower byte of a word
RBYTE 255 Upper byte of a words

SBUS

Transformation type Integer Description
UNDEFINED 1001 Undefined
BOOLEAN 1002 16-bit Integer signed
INT32 1003 32-bit Integer signed
UINT32 1004 32-bit Integer unsigned
FLOAT 1005 Floating-point number
STRING 1006 String

SIM

Transformation type Integer Description
UNDEFINED 0 Undefined
BOOLEAN 1 Bit (bool value)
INT8 2 8-bit integer signed
INT16 3 16-bit integer signed
INT32 4 32-bit integer signed
UINT8 5 8-bit integer unsigned
UINT16 6 16-bit Integer unsigned
UINT32 7 32-bit Integer unsigned
FLOAT 8 Floating-point value
VISIBLE 9 Text
OCTET 10 Octet string
DATE 11 Date
TIME 12 Time
TIME DIFF 13 Time difference
BITSTRING 14 Bit string
REVERSE BITSTRING 15 Bit string in reversed bit order

SINAUT

Transformation type Integer Description
DEFAULT 720 Default
BIT 721 Bit
BIT32 722 32-bit
FLOAT32 723 32-bit Floating-point value
INT16 724 16-bit Integer
INT32 725 32-bit Integer
UINT28 726 28 Bit Integer unsigned

SNMP

Transformation type Integer Description
UNDEFINED 660 Undefined
INT32 661 32-bit integer signed
UINT32 662 32-bit integer unsigned
UINT64 663 64-bit integer unsigned
OID 664 Object Identifier (int-array or string)
OCTET 665 Octal number
DISPLAYSTRING 666 Octet string, c-style string 0-255, string representation, non printable characters ignored.
DATETIME 667 Octet string, length: 8 or 11
MACADDRESS 668 Octet string, length: 6
IPADDRESS 669 Octet string, length: 4
BITS 670 Bitstring (SNMP v2)
DISPLAYHEXSTRING 673 Octet, c-style string 0-255, hex representation

SSI

Transformation type Integer Description
UNDEFINED 40 Undefined
UINT32 41 32-bit integer unsigned
INT32 42 32-bit integer signed
TRAFO 43 Transformer tap position
FLOAT 44 Floating-point value
COMBVAL 45 Combination message
STRTRANSP 46 String with transparent data
SINGLEALARMS 47 16 individual messages
8DOUBLEIND 48 8 double messages
4DOUBLEIND 49 4 double messages
1DOUBLEIND 50 Individual data point message
BINARYCOMMAND 51 Command

S7

Transformation type Integer Description
UNDEFINED 700 Default
INT16 701 16-bit Integer signed
INT32 702 32-bit Integer signed
UINT16 703 16-bit Integer unsigned
BYTE 704 Byte
FLOAT 705 Floating-point value
BIT 706 Boolean
STRING 707 Text
UINT32 708 32-bit Integer unsigned
DATETIME 709 Date/Time variable (used for S7 300 and S7 400 models)
BLOB 710 Blob
BITSTRING 711 Bit pattern
TimeOfDay 713 Time
S5Time 714 Time for S5 compatibility
DATETIMELONG 718 Date/Time variable (used for S7 1200 models)
Int32WithQuality 719 32-Bit Integer signed with (optional) quality information
UInt32WithQuality 720 32-Bit Integer unsigned with (optional) quality information
FloatWithQuality 721 Floating-point value with (optional) quality information

S7Plus

Transformation type Integer Description
DEFAULT 1001 Default
BOOL 1002 Boolean
BYTE 1003 8-bit integer unsigned
WORD 1004 Bit field (16-bit)
DWORD 1005 Bit field (32-bit)
LWORD 1006 Bit field (64-bit)
USINT 1007 8-bit integer unsigned
UINT 1008 16-bit integer unsigned
UDINT 1009 32-bit integer unsigned
ULINT 1010 64-bit integer unsigned
SINT 1011 8-bit integer signed
INT 1012 16-bit integer signed
DINT 1013 32-bit integer signed
LINT 1014 64-bit integer signed
REAL 1015 32-bit float
LREAL 1016 64-bit float
DATE 1017 Date, number of days since 1.1.1970
DATETIME 1018 Date and time
TIME 1019 Time in milliseconds (32-bit), value range from -24d 20h 31m 23s 648ms to +24d 20h 31m 23s 647ms
TIME_OF_DAY 1020 Number of milliseconds since start of the day (32-bit)
LDATETIME 1021 Date and time
LTIME 1022 Time in nanoseconds (64-bit), value range from -106751d 23h 47m 16s 854ms 775us 808ns to +106751d 23h 47m 16s 854ms 775us 807ns
LTOD 1023 Number of milliseconds since start of the day (64-bit)
DTL 1024 12 Byte struct, value range from 1970-01-01-00:00:00.0 to 2554-12-31-23:59:59.999999999
S5TIME 1025 Time in milliseconds (16-bit), value range from 0h 0m 0s 0ms to 2h 46m 30s 0ms
STRING 1026 String
WSTRING 1027 String

"_address.._direction" peripheral address

CTRL constant Int value Description
DPATTR_ADDR_MODE_UNDEFINED 0 Undefined.
DPATTR_ADDR_MODE_OUTPUT 1

Output is connected with a group . If a subindex changes, the driver gets all values of all subindeces in a hotlink and builds a telegram with these values for the periphery.

In other words, the driver always receives all values when one of the subindices changes.

This is the standard mode for outputs.

DPATTR_ADDR_MODE_INPUT_SPONT 2 Input for spontaneous data
DPATTR_ADDR_MODE_INPUT_SQUERY 3 Input for single queries
DPATTR_ADDR_MODE_INPUT_POLL 4 Input for polling (cyclic query).
DPATTR_ADDR_MODE_OUTPUT_SINGLE 5 Output for single queries. If a subindex changes, the driver only receives the value of the changed subindex in a hotlink. I.e. if the message consists of several subindeces, the data of the missing subindeces is allocated with 0.
DPATTR_ADDR_MODE_IO_SPONT 6 Input/output for spontaneous data
DPATTR_ADDR_MODE_IO_POLL 7 Input/output for polling (cyclic query).
DPATTR_ADDR_MODE_IO_SQUERY 8 Input/output for single queries
DPATTR_ADDR_MODE_AM_ALERT 9 Hardware alert handling. External alerts are triggered via this address.
DPATTR_ADDR_MODE_INPUT_ON_DEMAND 10 Currently not in use.
DPATTR_ADDR_MODE_INPUT_CYCLIC_ON_USE 11 Input, Value is polled only if a query (e.g. dpConnect() oder dpQueryConnect() ) exists for the element.
DPATTR_ADDR_MODE_IO_ON_DEMAND 12 Currently not in use.
DPATTR_ADDR_MODE_IO_CYCLIC_ON_USE 13 Input/output, Value is polled only if a query (e.g. dpConnect() oder dpQueryConnect() ) exists for the element.
DPATTR_ADDR_MODE_INTERNAL 32 Driver internal. Specific address for driver internal use. The use depends on the specific driver.
DPATTR_ADDR_MODE_LOW_LEVEL_FLAG 64 Low level Old/new comparison

Example

Adds an "_address" config, which can be used to configure the parameters for the peripheral address of a DPE. The example also sets the driver type to "ABB".

main()
{
  dpSetWait("TestDP_1.element:_address.._type",
  DPCONFIG_PERIPH_ADDR_MAIN,
  "TestDP_1.element:_address.._drv_ident","ABB");
}

For more details on the _address config, see chapter Module PARA - _address (peripheral address).