Specify I/O Addresses in iFIX Process Database

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:

  • !SWITCH:NAME
  • !MODE:NAME
  • !POLL:NAME
  • !SEND:ITEM
  • !START

Where NAME is the name of the server, group, or item you want to perform the event on.

Special Address Events

!SWITCH

Toggles between Asynchronous and Synchronous I/O communications on groups. This address has no functionality for servers and items.

!MODE

Enables polling to the server, group, or item specified when a value of 1 is written to a Digital Output block. (Analog Output blocks are not supported.) Disabling a specified object occurs when a value of 0 is written to a Digital Output block.

!POLL

Triggers a demand (one-shot) poll of:

  • A server and all of its groups and items,
  • A group and all its items, or
  • A specified item

when any value is written to the Digital Output or Analog Output block.

!SEND

Sends a special command to the specified item when any value is written to a Digital Output block. The command is sent only if the Block Writes option is enabled for the item and the item is configured as a data array. The command instructs the driver to send the entire data array in a single message to the OPC server.

When the OPC Client sends the data array, it also sends any unmodified values in the array using the last known value.

You cannot use an Analog Output block to trigger block writes.

!START

Starts and stops the drivers I/O server. Writing a value of 1 to a Digital Output or Analog Output block starts the driver. Writing a value of 0 stops the driver.

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:

  • !QUALITY:NAME
  • !TIME:NAME

Where NAME is the name of the item with the property you want to view.

Property Address Functionality

!QUALITY

Displays the data quality for the selected item. This setting is latched. Consequently, if communication is lost to the item, the Text block will display the last value it received and not a series of question marks (?????).

!TIME

Displays the last read time and date stamp for the item. This setting is latched. Consequently, if communication is lost to the item, the Text block will display the last value it received and not a series of question marks (?????).

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

  1. In the Power Tool, add an OPC Server connected to the RSLinx OPC Server and create a group with default parameters.
  2. 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.

  1. 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

  1. In the Power Tool, add an OPC Server connected to the Siemens S7 SIMATIC NET Server and create a group with default parameters.
  2. 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.

  1. 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

  1. In the Power Tool, add an OPC Server connected to the OFS Server and create a group with default parameters.
  2. 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.

  1. 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.

  1. In the Power Tool, create an item with:

Item Name:

DR0

ITEMID:

Integer_Array[0],L20

Access Path:

CLogix1

Requested Data Type:

Server

  1. 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.