_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).