You can specify the item address that the database block accesses in the Process Database I/O Address setting. OPC I/O addresses typically consist of the server name or Prog ID, a group name, and the item ID or item name. The I/O address is specific to the driver. This setting is not case sensitive.
OPC I/O addresses to items configured as data arrays require the syntax:
servername;groupname;itemid,length;accesspath;[address]
For more information about using this syntax, refer to Access Data Arrays with a Database Block.
OPC I/O addresses to single items use the following syntax:
SERVER_NAME;GROUP_NAME;ITEM_ID [;ACCESS_PATH]
Where:
- SERVER_NAME is the name of the OPC server defined in the Power Tool. You can enter the servers Prog ID in place of the server name. If you enter a Prog ID that does not exist in the drivers configuration, the driver adds the OPC server to its configuration.
- GROUP_NAME is the name of the group that the item belongs to. If you enter a group name that does not exist, the driver automatically adds the group to the server.
- ITEM_ID is a fully qualified Item ID. If you enter an item ID that does not exist, the driver automatically adds the item to the group. If you are creating a database block for an item that already exists, you can substitute the item name for the item ID.
- ACCESS_PATH is a fully qualified access path for the given item ID. Specifying an access path is optional because not all OPC servers require or support their use. Access paths are OPC-server specific. If no access path is required, you can omit this portion of the address.
If you enter an I/O address that is not defined by a group and item ID, the driver performs the following operations if you enabled the Auto Create option:
- Adds the group to the server if the group does not exist.
- Adds the item to the group.
If you have not enabled the Auto Create option, Process Database prompts you to start the Power Tool so that you can add the nonexistent group or item to your driver configuration. You can then continue configuring the database block.
Refer to FIX DBB I/O Address Delimiter to determine valid delimiters that can be used in Process Database.
Event I/O Addresses
You can enter the following special addresses into the I/O Address field of a Digital Output or Analog Output block to perform certain events:
Where NAME is the name of the server, group, or item you want to perform the event on.
Special Address Events
Item Property I/O Addresses
In addition to event addresses, Text blocks also allow you to substitute the following address for any item in the driver:
Where NAME is the name of the item with the property you want to view.
Property Address Functionality
Setting Up a Database Tag for Bit Read/Write Within an Analog Data (16-Bit Integer) Value
You can configure a database Digital tag (DI/DO) and address an item that has Analog data.
The following address formats allow you to access bits within an Analog data (16-bit integer) value, by adding a ";/" (semi-colon and forward slash) and specifying the Bit Offset at the end of the I/O address string. The Bit Offset has a range of 0 to 15.
/0 = lowest significant bit within a 16-bit integer value
/15 = most significant bit within a 16-bit integer value
NOTE: All address formats shown must be entered without any spaces in between. Spaces are shown here for readability purposes only.
- Server ; Group ; ItemID ;;; /BitOffset assumes that there is no access path defined, the item is not set up as an array, and you want to read a Bit Offset within a single Analog data.
- Server ; Group ; ItemID ; AccessPath ;;/BitOffset assumes that there is an access path defined, the item is not set up as an array, and you want to read a Bit Offset within a single Analog data.
- Server ; Group ; ItemID; AccessPath ; [ArraySubscript] ; /BitOffset assumes that there is an access path defined, the item is set up as an array, and you want to read a Bit Offset of the ArraySubscript element within an array of Analog data.
- Server ; Group ; ItemID ;; [ArraySubscript] ; /BitOffset assumes that there is no access path defined, the item is set up as an array, and you want to read a Bit Offset of the ArraySubscript element within an array of Analog data.
NOTE: The OPC Client driver attempts to resolve the address when an invalid syntax is used for a Digital database tag. This results in a 0 bit offset for the address. For example, entering Server1;Group1;Device1;40001 for a DI/DO block results in an address of Server1;Group1;Device1;40001;No Access Path;;/0.
Examples
Example 1: Using a Rockwell Software RSLinx Server
- In the Power Tool, add an OPC Server connected to the RSLinx OPC Server and create a group with default parameters.
- In the Power Tool, create an item with the following properties:
Item Name: |
Item1 |
ITEMID: |
Sign_Int_Array[20],L100 |
Access Path: |
CLogix1 |
Item Start: |
20 |
Item Length: |
100 |
Array: |
Yes |
Requested Data Type: |
Server |
This specifies that the client will read an item Sign_Int_Array[20],L100 (with access path CLogix1) defined as an array in the server with the starting array subscript as 20 and the length of the array as 100 elements of 16-bit integer data. This will read data from the server for Sign_Int_Array, elements 20 to 119.
- In the iFIX Process Database, create an AI (Analog Input) tag with the following parameters:
Tag Name: |
AI1 |
Device: |
OPC |
Hardware Options: |
Server |
I/O Address: |
RSLinxV22;SignIntGroup1;Sign_Int_Array[20],L100;CLogix1;[20] |
This specifies that the AI tag will read Analog data from the OPC Client Driver from Server RSLinxV22, Group SignIntGroup1, Item Sign_Int_Array[20], Access Path CLogix1, defined as an array in the client.
You can also create a DI (Digital Input) tag with the following parameters:
Tag Name: |
DI1 |
Device: |
OPC |
Hardware Options: |
Server |
I/O Address: |
RSLinxV22;SignIntGroup1;Sign_Int_Array[20],L100;CLogix1;[20];/0 |
This specifies that the DI tag will read Digital data from the OPC Client Driver from Server RSLinxV22, Group SignIntGroup1, Item Sign_Int_Array[20] / Bit Offset 0, access path CLogix1, defined as an array in the client.
Example 2: Using a Siemens S7 SIMATIC NET OPC Server
- In the Power Tool, add an OPC Server connected to the Siemens S7 SIMATIC NET Server and create a group with default parameters.
- In the Power Tool, create an item with:
Item Name: |
Item2 |
ITEMID: |
S7:[S7_300|VFD1|CP5613_5614(PROFIBUS)]DB1,INT10,3 |
Access Path: |
No Access Path |
Item Start: |
10 |
Item Length: |
3 |
Array: |
Yes |
Requested Data Type: |
Server |
This specifies that the client will read an item S7:[S7_300|VFD1|CP5613_5614(PROFIBUS)]DB1,INT10,3 (with no Access Path) defined as an array in the server with the starting array subscript as 10 and the length of the array as 3 elements of 16-bit integer data. This will read data for elements 10 to 12 from the server.
You can specify the data type as Server so that the server returns the data with the correct data type for the array.
- In the iFIX Process Database, create an AI (Analog Input) tag with the following parameters:
Tag Name: |
AI2 |
Device: |
OPC |
Hardware Options: |
Server |
I/O Address: |
Server1;Group1;S7:[S7_300|VFD1|CP5613_5614(PROFIBUS)]DB1,INT10,3;No Access Path;[10] - Or - Server1;Group1;S7:[S7_300|VFD1|CP5613_5614(PROFIBUS)]DB1,INT10,3;;[10] |
This specifies that the AI tag will read data from the OPC Client Driver from Server1, Group1, Item S7:[S7_300|VFD1|CP5613_5614(PROFIBUS)]DB1,INT10,3, Element 10 of the array, with no Access Path.
You can also create a DI (Digital Input) tag with the following parameters:
Tag Name: |
DI2 |
Device: |
OPC |
Hardware Options: |
Server |
I/O Address: |
Server1;Group1;S7:[S7_300|VFD1|CP5613_5614(PROFIBUS)]DB1,INT10,3;No Access Path;[10];/2 - Or - Server1;Group1;S7:[S7_300|VFD1|CP5613_5614(PROFIBUS)]DB1,INT10,3;;[10];/2 |
This specifies that the DI tag will read Digital Data from the OPC Client Driver from Server1, Group1, Item S7:[S7_300|VFD1|CP5613_5614(PROFIBUS)]DB1,INT10;3; Element10 Bit Offset 2 of the array, with no Access Path.
Example 3: Using a Schneider Automation OFS OPC Server
- In the Power Tool, add an OPC Server connected to the OFS Server and create a group with default parameters.
- In the Power Tool, create an item with the following parameters:
Item Name: |
Item1 |
ITEMID: |
MBT:1.2.3.4!400001 |
Access Path: |
No Access Path |
Item Start: |
N/A |
Item Length: |
N/A |
Array: |
No |
Requested Data Type: |
Server |
This specifies that the client will read an item MBT:1.2.3.4!400001 (with no Access Path), defined as a single item in the server. This will read data for element 1 for 4x-based holding registers (i.e., 400001 from the PLC).
NOTE: In the Schneider Documentation for the current version of the server, the ItemID uses the 6-digit notation regardless of the settings in the PLC. Therefore, if you are reading 40001 (5-digit notation) from the PLC, you must enter it as 400001 in the ItemID configuration.
- In the iFIX Process Database, create an AI (Analog Input) tag with the following parameters:
Tag Name: |
AI4 |
Device: |
OPC |
Hardware Options: |
Server |
I/O Address: |
Server1;Group1;MBT:1.2.3.4!400001 |
This specifies that the AI tag will read data from the OPC Client Driver from Server1, Group1, Item MBT:1.2.3.4!400001 (which will be 400001 from the PLC), with no Access Path.
You can also create a DI (Digital Input) tag with the following parameters:
Tag Name: |
DI4 |
Device: |
OPC |
Hardware Options: |
Server |
I/O Address: |
Server1;Group1;MBT:1.2.3.4!400001;;;/15 |
This specifies that the DI tag will read Digital data from the OPC Client Driver from Server1, Group1, Item MBT:1.2.3.4!400001 Bit Offset 15 (which will be 400001:15 from the PLC), no Access Path, defined as a single item in the client.
NOTE: The OPC Client supports iFIX Digital Register Block (DR) offsets for accessing digital bit data for items defined as single items, or items defined as arrays, if used in the above mentioned formats for Bit Offsets for 16-bit integer data values only.
Example 4: Using a DR tag to access digital offsets with an RSLinx Server
NOTE: Refer to Example 1 above for the syntax for entering the I/O address for a database point for accessing bit-offsets to Analog 16-bit Integer Data.
- In the Power Tool, create an item with:
Item Name: |
DR0 |
ITEMID: |
Integer_Array[0],L20 |
Access Path: |
CLogix1 |
Requested Data Type: |
Server |
- In the Process Database, create a Digital Register (DR) tag with the following parameters:
Tag Name: |
DR0 |
Device: |
OPC |
Hardware Options: |
Server |
I/O Address: |
RSLinxV22;IntegerGroup1;Integer_Array[0],L20;CLogix1;[0];/0 |
This specifies that the DR0 tag will read data from the OPC Client Driver from Server RSLinxV22,IntegerGroup1, Item Integer_Array [0], Bit Offset 0, and Access Path CLogix1, defined as an array of integers in the server.
In iFIX Pictures, you can create a link to the tag DR0 and specify the offset to the tag to read the corresponding data values, as follows:
DR0.F_0 will read data from Integer_Array[0];Bit Offset 0 |
DR0.F_1 will read data from Integer_Array[0];Bit Offset 1 |
DR0.F_2 will read data from Integer_Array[0];Bit Offset 2 |
& |
DR0.F_15 will read data from Integer_Array[0];Bit Offset 15 |
DR0.F_16 will read data from Integer_Array[1];Bit Offset 0 |
DR0.F_17 will read data from Integer_Array[1];Bit Offset 1 |
& |
DR0.F_303 will read data from Integer_Array[18];Bit Offset 15 |
DR0.F_304 will read data from Integer_Array[19];Bit Offset 0 |
DR0.F_305 will read data from Integer_Array[19];Bit Offset 1 |
& |
DR0.F_318 will read data from Integer_Array[19];Bit Offset 14 |
DR0.F_319 will read data from Integer_Array[19];Bit Offset 15 |
Any digital offset greater than 319 will return an error because the item is defined as an array of 20 elements each of which is a 16-bit integer.