Home FAQPricesIOServer Users

OPC Server Tags

Item Name Syntax


Everything after the Address is optional.

Device Name Name of the Device
Address Protocol specific variable name
[index] Specify array.
eg. device1.40001[10] is a ten element vector,
device1.40004[10][10] is a 10x10 array.
If no index is specified then only one item is defined.
Datatype Possible raw data types are
BOOL Boolean (1 bit)
I1 Signed byte (8 bits)
UI1 Unsigned byte (8 bits)
I2 Signed word (16 bits)
UI2 Unsigned word (16 bits)
I4 Signed long (32 bits)
UI4 Unsigned long (32 bits)
BSTR Variable Length String
I8 Signed Large (64 bits)
UI8 Unsigned Large (64 bits)

R4 Short floating point (32 bits)
R8 Long floating point (64 bits)
Currency Currency (64 bits)
Date Date (64 bits)
Int Int (32 bits)
Uint Uint (32 bits)
BCD BCD (16 bits)
LongBCD Long BCD (32 bits)
LargeBCD Large BCD (64 bits)
Low Raw Low limit of data from PLC
High Raw High limit of data from PLC
Low Eng Low limit of data from User
High Eng High limit of data from User
Requested Data Type Convert raw data type to the requested data type

The LowRaw,HighRaw,LowEng and HighEng are optional and are used to specify the scaling to be performed when reading and writing to the PLC. e.g. Modbus0.40001,,0,9999,0,100 to scale the variable to display percentage.

Adding Tags

There is usually no need to add tags to the server. The whole data address space of the device is always directly addressable. e.g. If you have a Modbus device 'Device1' and you want to access 40002. Use the itemID Device1.40002. The access path is not used. Use the built-in OPC explorer to connect to IOServer. You will see the addressing format for the device via the browser interface when you try to add an item to a group.

If the user wants to enforce their naming convention, they can drag and drop tag definitions into the "Tags List" folder in IOServer. Click on the "Tags List", then drag your tags list from Wordpad, Word, or any drag and drop enabled application and drop it into the Tags List folder. To export data from IOServer press the CTRL key, left mouse click the folder, and drag it into your document. For Tags List, the first field is the user tag name, the second field is the variable name. The type and comment fields are optional user data that are not used by IOServer. The fields are tab-separated. All user-defined tags are grouped in the "Tags" device.

eg. to configure your own tree structured tag names.

Use wordpad.exe (or Word) to type in your tag list
PID100.MODE Device1.40004
PID100.MV Device1.40001
PID100.OP Device1.40005
PID100.PV Device1.40003
PID100.SP Device1.40002

Click on the Tags List folder in IOServer. Select the above lines and drag them to the Tags List folder in IOServer. IOServer should now have the 5 User tags defined.

From Excel you should be able to see the following tags

The "Tags." prefix may be omitted when using tags from the tags list.

Edit Tag List


Input Editing box. Text can be paste in here from the clipboard.
Search Search String

Keyboard short cuts

ctr + x Delete line, Push it to deleted stack and clipboard

ctr + v Paste line, Insert before current position from deleted stack

ctr + c Copy line, Push it to deleted stack and clipboard

ctr + d Delete line
ctr + e Copy all lines to clipboard
ctr + + Increase font size by 5%
ctr + - Decrease font size by 5%
F3 Search Go to the next line that matches the characters typed in the search box

Enter Add lines to tag list
Home Go back 500 lines
Page Up Go back 50 lines
Up Move up one line
Down Move down one line
Page Down Move forward 50 lines
End Move forward 500 lines
Escape Clear input

Tag Browsing

IOServer can access the whole address space of a device. Instead of enumerating all possible variable address in the device, IOServer use a hint system to show the user what address range and type is possible for all the possible addresses of a device.


%05u(1-65536) Expect a five digit decimal number between 1 and 65536
%02u(1-32) Expect a 2 digit decimal number between 1 and 32
%01u(1-8) Expect a 1 digit decimal number between 1 and 8
%u(0-65535) Expect a decimal number between 0 and 65535
%u(0-255) Expect a decimal number between 0 and 255
%u(7-999) Expect a decimal number between 7 and 999
%o(0-277) Expect an octal number between octal 0 and octal 277
%x(0-1fff) Expect a hexadecimal number between 0 and 1fff

System Device Variables

These variables are available in every device.


Status Return a value of 0 if the device is offline. A value of 1 if the device is online. Writing a 0 to this variable will disconnect the parent port. Writing a 1 to this variable will reconnect the parent port.
Export Export the entire configuration of IOServer to the text file specified by writing to this variable
Comms Port Communication Statistics. Statistics Error to CharRx can be reset to 0 by writing any value to that variable. Individual device statistics are not available.
Error Number of communication errors
CRCError CRC/Checksum error detected
Timeout Number of timeout
Retry Number retries attempt
FrameTx Number of frames transmitted
FrameRx Number of frames received
CharTx Number of characters transmitted
CharRx Number of characters received
Bandwidth % Bandwidth usage of port.
TimeOffset Time difference in microseconds between IOServer internal clock and operating system clock. Use Long to read this variable.
Bytes Used Total number of bytes by all OPC Clients
DeviceTx Number of frames transmitted by device
DeviceRx Number of frames received by device
Interface Local IP address
IP Remote IP Address
Telephone Telephone number of active outgoing call.
Phone Number Connected to this number
Negative number Connecting to this number
1 DCD asserted with no current outgoing call
0 Not connected
Connections Number of concurrent connections
Logins Number of logins received

Using IOServer with Wonderware Intouch

© Copyright IOServer Pty Ltd. All rights reserved.
+61 2 9805 0356 (Australia)

Last updated: Thu, 16 Jun 2022 08:01:54 GMT