You are on page 1of 22

1

Virtual I/O Module


The DeltaV S-series Virtual I/O Module (VIM) provides an interface to plant Ethernet networks and
devices that use the Modbus TCP/IP or Ethernet/IP protocols. DeltaV S-series controllers can read and
write signals from plant floor devices such as PLC's, Motor Control Centers, and Weigh Scales that are
connected to these plant Ethernet networks.
The VIM represents the integration of the Mynah Technologies Virtual I/O Module (VIM) with the DeltaV
system S-series hardware. Each VIM is seen by the DeltaV S-series controller as four DeltaV Serial
Cards, allowing up to 128 serial datasets (with 100 registers per dataset) over 32 TCP/IP addresses and
128 Modbus addresses per VIM. Commissioned VIMs are auto-sensed by the DeltaV controller just as
other DeltaV I/O Cards. I/O signals can be used in DeltaV Control Modules and displayed on DeltaV
Operate graphics. Each DeltaV controller can have one redundant or two simplex VIMs.
Use the Mynah VIMNet Explorer to configure the plant Ethernet network. Graphical, drag-and-drop
functionality makes setting up the plant Ethernet network quick and easy. VIMNet Explorer is integrated
with DeltaV Explorer to make setup of the VIM easy and intuitive. With a DeltaV workstation connected
to the plant Ethernet network, you can configure the VIM and the VIM interface to the plant Ethernet
network and store the device configuration files in the DeltaV Version Control and Audit Trail database.
Configure the devices from the PLC engineering workstation connected to the plant Ethernet network.
Overview
The following figure is a simple example of a VIM implementation.

Simplex Virtual I/O Module (VIM) Installation
2

On the DeltaV Network the minimum requirement is to have enough Vim to simulate your I/O needs.
Each VIM simulates four DeltaV serial cards. The general steps to configure the VIM are:
1. Install the VIMs and other hardware as needed.
Each VIM requires a DeltaV 2-wide carrier and power supply.
2. Install the VIMNet Explorer software on a workstation connected to the plant Ethernet network.
3. Launch the VIMNet Explorer software.
In the VIMNet Explorer the VIM is called VIM.
If the VIMNet Explorer is installed on the DeltaV workstation, you can launch the VIMNet
Explorer software from DeltaV Explorer file menu under the Applications tab.
The first time VIMNet Explorer is launched, a dialog appears from which you enter the IP
Address of the plant Ethernet network. You can also open this dialog from the Physical Network
context menu. Refer to the VIMNet documentation for information on completing the dialog.
In VIMNet Explorer, the VIMs installed appear as decommissioned VIMs.
4. From the I/O Net folder context menu, select New Controller. Rename the controller to match an
existing controller in the DeltaV database.
5. From the controller node context menu select New I/O VIM.
A dialog appears from which you specify information about the VIM you are creating. Refer to
the VIMNet Explorer documentation for information on completing the dialog.
The VIM created contains four simulated simplex or redundant DeltaV serial cards in the slots
you specify. (57 through 60 and 61 through 64 for simplex VIMs; 57 through 64 for redundant
VIMs).
6. From the VIM context menu, commission the VIM by selecting the appropriate decommissioned
VIM.
7. Select a Serial Card.
8. Select a Port (P01 or P02).
9. From the Port's context menu, select Add Device.
10. From the Add Device dialog, specify the device address and IP address of the device. Refer to
the VIMNet Explorer documentation for more information on completing this dialog.
For generic Ethernet devices:
a. Add or Import a Connection Definition (available VIM definition files (VDF) are in the
folder where VIMNet Explorer was installed).
b. Add the Connection Definition of the newly added Ethernet device. The Connection
Definition defines the messaging type and data to retrieve from a field device.
c. When a Connection Definition exists, auto-sensing the VIMs from DeltaV explorer creates
datasets automatically.
11. From the VIM context menu, upload the VIM configuration.
12. Use DeltaV Explorer to auto-sense the VIMs you configured in the VIMNet Explorer software.
13. Use DeltaV Explorer to configure the serial card ports.
14. Use DeltaV Explorer to add and configure the serial I/O devices.
15. Use DeltaV Explorer to add and configure the serial card datasets.
3

Step 1 is explained in the DeltaV Hardware manual. This topic explains steps 2, 3, and 12 through 15.
For information on steps 4 through 11, refer to the VIMNet software documentation.
Installing and Launching the VIMNet software
Install the VIMNet software on a computer connected to the PLC network. To install the VIMNet
software:
1. Insert the DeltaV installation disk #1 DVD into a drive on the target computer.
2. Navigate to \DV_Extras\VIMNetExplorer.
3. Double click the *.msi file in the directory.
4. Follow the instructions on the dialogs that appear.
If the DeltaV installation disk #1 is not available, you can copy the *.msi file from the directory
\DeltaV\bin\VIMNetExplorer from any DeltaV workstation.
To launch the VIMNet software select Start | All Programs | Mynah | VIMNet Explorer. If you installed it
on a DeltaV Professional or ProfessionalPLUS workstation, you can launch it from DeltaV Explorer from
the Applications menu or from the Launch VIMNet Explorer button on the toolbar.
Now use the VIMNet software to create and commission VIMs using the VIMNet documentation as a
guide.
Configuring Serial Cards and Ports
The following are the instructions for configuring serial cards, ports, devices, and datasets. These
instructions are the same for Ethernet I/P, Generic Ethernet I/P, and Modbus TCP.
For each VIM module, you must configure four Programmable Serial Cards in DeltaV Explorer. A
maximum of two VIM modules can be used with each DeltaV controller. Redundant serial cards must be
configured in pairs in slots 57/58, 59/60, 61/62, and 63/64. Simplex cards must be configured in slots 57
through 60 or 61 through 64. You can also create cards by auto-sensing them from DeltaV Explorer. You
must configure all four cards even if not all are used. In addition, disable all unused serial card ports.
4

Create a Serial Card
Create a card by right clicking the I/O folder under a controller and selecting New Card from the context
menu. If you can auto-sense the VIM it is not necessary to manually create the cards.

On the Add card dialog so the following:
1. Enter a description if desired
2. In the Card class field, select Serial Cards
3. In the Card type field, select 2 Ports, Programmable, RS232|RS485
4. In the Card series field, select Series 2
5. Select the Card is redundant check box if you are configuring a redundant card.
6. Select the correct Slot position for the card.
7. Click OK to accept your changes and close the dialog.
5

Configure a Port
In DeltaV Explorer right click on a card port and select Properties.

On the Port tab, select the enabled check box and enter a description if desired.

Note Enable only the ports you are using. Do not enable unused ports

Open the Advanced tab.

6

On the Advanced tab:
1. In the Mode field, select Master.
2. Select values for the Retry count, Message timeout, and Transmit delay fields. For most
applications configure the port as shown above.
3. Do not select the Send outputs on startup check box.
Open the Communications tab. The fields on the Communications tab are not used. Accept the default
values and click OK.
Create a Device
Create a serial device by right clicking a port and selecting New Serial Device from the context menu.

On the Properties dialog that appears:
1. Enter a description if desired
2. Specify the Device Address. The device address is the PLC device address.
3. Click OK to accept your changes and create the device.
7

Configure Datasets
Each port can have as many as 16 datasets associated with it. These can all be configured for one
device or you can have several devices with one or more datasets each. To create a dataset right click
on the device and select New Dataset.

On the General tab of the Create dataset dialog:
1. Enter a description if desired.
2. Select the Data direction.
3. If you selected Output, enter an Output mode:
o 0 indicates the entire dataset is written to the PLC if any dataset register changes.
o 1 indicates only the value that has changed is written.
4. If you want the output dataset to be read back into the Serial Card's input scan, select the Output
read back checkbox.
The values that are read back update the current output values. If this box is not checked, no
output read back is performed.
8

Open the DeltaV tab of the dialog.

On the DeltaV tab:
1. Select the DeltaV data type this dataset contains.
2. Enter or browse to a Dataset Tag.
A Dataset Tag, together with a specific register, is a Device Signal Tag (DST). You use DSTs to
configure DeltaV control modules that read from or write to a serial device.
This concludes the common configuration tasks. The following sections contain the instructions for
completing the configuration of the three different device types.
Completing Modbus TCP/IP Device Configuration
At this point you should have configured the serial cards, ports, devices, and datasets through the
DeltaV tab of the Dataset properties dialog.
9

Open the PLC tab of the dialog.

In this dialog you map DeltaV data types to PLC (or external device) data types. PLC data type values
and corresponding PLC registers are shown in the table.
Device Data Type Device Register
0 COILS
1 INPUT STATUS
2 INPUT REGISTERS
3 HOLDING REGISTERS
6 VIM STATISTICS
All other values Reserved
The Data start address specifies where in the PLC to read the data. This can be any PLC specific
address. The following table describes examples of PLC registers and corresponding start addresses in
the dataset.
PLC Address Start Address Description
1 0 First coil in the PLC
501 500 PLC coil number 501
400001 0 First holding register
400950 949 Only the offset for the register is specified
10

For example, If the starting address is 0, the data type is 3 (Holding Registers) and the maximum
number of values is 50, the DeltaV registers would be as shown in the table.
DeltaV Register PLC or External Device Registers
R1
0
1
R2
2
3
R3
4
5
... ...
R50
99
100
Each dataset has a maximum of 100 16-bit values of DeltaV data type (as configured in the previous
dialog). Each DeltaV value is mapped to one or more PLC registers. If two registers are required, as is
the case for floating point values, the registers must be consecutive. The following table describes the
mapping.
DeltaV Data Type PLC Register Type PLC Registers
Required
Max Number
of Values
Boolean Coils
Input Status
1 Bit 100
Discrete Coils
Input Status
1 Bit 100
Signed 8 bit Integer Coils
Input Status
1 Bit or Byte 100
Signed 16 bit Integer Coils
Input Status
Input Registers
Holding Registers
1 - 16 bit word 100
Signed 32 bit Integer Holding Registers 2 - 16 bit words 50
Unsigned 8 bit Integer Coils
Input Status
1 - 16 bit word 100
Unsigned 16 bit
Integer
Coils
Input Status
Input Registers
Holding Registers
1 - 16 bit word 100
Unsigned 32 bit
Integer
Holding Registers 2 - 16 bit word 50
Floating Point Holding Registers 2 - 16 bit word 50
String Holding Registers 1 byte 100
11

Finally, open the Special data tab.

Special data 1 value is used when transferring data for Floating point, signed 32-bit integer and
unsigned 32-bit integer registers. Special data 2 is used to indicate the number of registers used for
Floating point and 32-bit integer values. Details of Special data usage are provided below.
You can customize ModbusTCP communications and representation of data with the VIM firmware.
Modification of data representation is typically only required when reading/writing Floating Point or
Signed/Unsigned 32-bit Integer registers. However, in some cases, you may need to use Special data 1
for 16-bit byte swapping as well.
To customize data representation in a data set, you can use the Special data 1 and 2 registers as flags.
To customize communications for a specific data set, the Special data 3 and 4 registers are used. This is
described below.
Assume a Floating-point number 123.45, and its representation in IEEE 754 format as follows:
Floating Point Number Representation as 2 16-bit
words
Representation as 4 bytes
123.45 58982, 17142 230, 102, 66, 246
The following table explains the use of the Special Data registers.
Special
Data
Value and Description
1 0 Default is no customization Floating Point and 32-bit data is
represented as received. The transmitted byte order is 230, 102, 66, 246
12

1 The transmitted byte order is 66, 246, 230, 102
2 The transmitted byte order is 246, 66, 102, 230
3 The transmitted byte order is 102, 230, 246, 66
2 0 Default setting where 2 Modbus 16-bit registers are equivalent to 1
Floating Point or 32-bit value in DeltaV. There is a 1-2 correspondence
between DeltaV value and read values.
1 Data is not read as 2 MODBUS 16-bit registers but as individual Floating
Point or 32-bit values. There is a 1-1 correspondence between DeltaV value
and read value.
3 This is a delay parameter specified in 5ms units. When specified, it overrides
the port Transmit delay for this dataset. The driver will delay for this amount
of time before reading/writing the dataset.
4 This is a delay parameter specified in 5ms units. It applies only to datasets
configured as Output, and Output mode 0 (block output). When specified, it
provides a cyclic write of current dataset values from the VIM database to
external devices. Note that normal functionality is for the VIM to write output
data only when a change of state is detected.
5 Not Used
Configure the remaining datasets the device requires.
You can also create datasets for VIM diagnostics.
Configure the data direction to be input or output, as required for your application.
13

Next, click on the DeltaV tab as show below.

On the DeltaV tab:
1. In the DeltaV data type field select 32 bit unit w/Status.
2. Click OK.
Open the PLC tab:

14

On the PLC tab:
1. Configure the Device data type. For VIM Diagnostics, enter the Device data type as 6.
2. The Data start address is always 0.
3. The Number of values is 30.
4. The Special data tab is not used for this dataset. Click OK to close the dialog.
The following table shows the data available in the VIM diagnostics dataset.
Register Diagnostics Value
R1 VIM Mode
O Normal Online
1 FailSafe Mode
R2 Number of Network devices
R3 Data Poll Queue
R4 Pending Message Queue
R5 Railbus Message Queue
R6 Counter - Serial Bus Poll
R7 Counter Dataset Value Reads
R8 Counter Dataset Value Writes
R9 Counter Default Reads
R10 Counter Pending Data Reads
R11 Counter Pending Data Writes
R12 Total number of Datasets
R13 Maximum DS Scan
R14 Minimum DS Scan
R15 Average DS Scan
R16 Maximum Messages
R17 Minimum Messages
R18 Average Messages
R19 Maximum Scan Time
R20 Minimum Scan Time
R21 Average Scan Time
R22 Ticker - Railbus message handler
15

R23 Ticker Plug and Play message handler
R24 Ticker Dataset handler
R25 Rate of DS changes detected
R26 Rate of DS Polls received
R27 Logger IP address
R28 VIM Application type
R29 CurrentredundancyState
Bits 0-3 are the VIMState as follows:
0000 Decommissioned
0001 Commissioned
0010 Flash Mode
0011 Configuration Mode
Bits 4-5 are the Redundancy state as follows:
00 Simplex
01 Redundant Active
02 Redundant Backup
Note that DeltaV always reads the Active VIM. Consequently this value should always be
0x11.
R30 VIM Revision number
16

A special case of this dataset is to control redundancy switching at the DeltaV Control Module level. This
capability is enabled only if the VIM is configured as redundant. In this case, this dataset should be
configured with Data direction as Output, and the Output read back checkbox should be checked as
follows:

Completing Ethernet and Generic Ethernet Device Configuration
At this point you should have configured the serial cards, ports, devices, and datasets through the
DeltaV tab of the Dataset properties dialog.
Open the PLC tab of the dialog.

17

On this tab specify the DF1 command type to be used to read/write the dataset:
1. Enter a Device data type that matches the PLC you are communicating with. The following table
details available command types:
Device Data
Type
Command Type PLC Type
0-3 Reserved
4 Typed (Logical ASCII Addressing) PLC5 & Logix
5 Ranged (Logical ASCII Addressing) PLC5 & Logix
6 Diagnostic PLC5 & Logix
7 Read-Mod-Write (Logical ASCII Addressing) PLC5
8 Typed (Logical Binary Addressing) PLC5 & Logix
9 Ranged (Logical Binary Addressing) PLC5 & Logix
10 Read-Mod-Write (Logical Binary Addressing) PLC5
11 Protected Typed Logical R/W with 3 address fields SLC 505 & Logix
12-14 Reserved
15 Generic ENBT Logix
255 VIMNet Diagnostics data (see notes at end of Section) All
2. Enter a Data start address. The Data start address specifies where in the PLC table where data is
read. This can be any valid PLC specific table address.
3. Enter a Number of values. The number of values parameter determines the registers read or
written. Start address plus the number of values must not exceed the maximum table size.
18

Open the Special data tab.

The following table lists the meanings of Special data values.
SpecialData1
PLC-5 /SLC File Type
For ControlLogix devices, you must map internal
native tags to PLC5/SLC file types and file
numbers when using DF1 DeviceDataTypes.
When using Generic ENBT communications
(DeviceDataType=15), special data values are not
used.
0 =Output File Type, O
1 =Input File Type, I
2 =Status File Type, S
3 =Binary File Type, B
4 =Timer File Type, T
5 =Counter File Type, C
6 =Control File Type, R
7=Integer File Type, N
8 =Floating File Type, F
SpecialData2
PLC-5 /SLC File Number
0 65535 file number
For example, when reading/writing Integer file
N15, configure special data 1 as 7, and special
data 2 as 15. Similarly, when reading/writing
Floating point file 8, configure special data 1 as 8
and special data 2 as 8.
19

SpecialData3 Reserved
SpecialData4 For Logix, this parameter is configured
such that the low byte is always set to 1,
and the high byte is the Logix CPU slot
number in the chassis. The slot number is
zero based. For example, if the CPU is in
the first slot (slot 0), configure a 1 for this
parameter. If the CPU is in second slot,
configure a 257 for this parameter. The
parameter is calculated as (256 X slot) +1.
For SLC 505 and PLC5/XXe, this
parameter should be set to 0.
SpecialData5 Reserved
DeltaV Data Type
This attribute defines how data is stored in the DeltaV dataset. The following tables describes available
options for PLC5/XXE, SLC 5XX, and ControlLogix processors.
PLC 5/XXE Data Tables
PLC Data
Type
Available DeltaV Data
Types
Access Restrictions
O Table
B Table
Boolean with Status
Discrete with Status
16-bit Int with Status
16-bit Uint with Status
R/W a. 16-bit aligned dataset Start
Address. For example: 0, 16, 32, etc.
b. Number of values is multiple of 16,
and refers to bits. Maximum 96
registers. Each dataset register is a
bit.
Maximum registers are 100. Starting
address is any 16-bit word
I Table Boolean with Status
Discrete with Status
16-bit Int with Status
16-bit Uint with Status
R a. 16-bit aligned dataset Start
Address. For example: 0, 16, 32, etc.
b. Number of values is multiple of 16,
and refers to bits. Maximum 96
registers. Each dataset register is a
bit.
Maximum registers are 100. Starting
address is any 16-bit word.
N-Table
C-Table
16-bit Int with Status
16-bit Uint with Status
R/W Maximum registers are 100. Starting
address is any 16-bit word.
20

PLC Data
Type
Available DeltaV Data
Types
Access Restrictions
T-Table
S-Table
R-Table
F-Table Floating Point with
Status
R/W Maximum registers are 50. Starting
address is any floating point register.

SLC 5/XX and ControlLogix Data Tables
PLC Data
Type
Available DeltaV Data
Types
Access Restrictions
O Table
B - Table
Boolean with Status
Discrete with Status
16-bit Int with Status
16-bit Uint with Status
R/W a. 16-bit aligned dataset Start
Address. For example: 0, 16, 32, etc.
b. Number of values is multiple of 16,
and refers to bits. Maximum 96
registers. Each dataset register is a
bit.
Maximum registers are 100. Starting
address is any 16-bit word.
I Table Boolean with Status
Discrete with Status
16-bit Int with Status
16-bit Uint with Status
R a. 16-bit aligned dataset Start
Address. For example: 0, 16, 32, etc.
b. Number of values is multiple of 16,
and refers to bits. Maximum 96
registers. Each dataset register is a
bit.
Maximum registers are 100. Starting
address is any 16-bit word.
N-Table
C-Table
T-Table
S-Table
R-Table
16-bit Int with Status
16-bit Uint with Status
R/W Maximum registers are 100. Starting
address is any 16-bit word.
F-Table Floating Point with
Status
R/W Maximum registers are 50. Starting
address is any floating point register.
21

Device Data Type
This attribute defines what type of transaction will be performed for the Dataset between the Serial Card
and the Allen-Bradley device Values from 0 to 11 are listed in the above table. They are briefly described
below:
Types 4 (Typed Transaction with ASCII addressing) and 8 (Typed Transaction with binary
addressing):
The typed transactions treat each data type as an element and automatically adjust the memory address
to accommodate the defined element type. Therefore, the starting address points to different memory
location depending on the data type. It points to the word address for integer data and double word
address for floating point data.
For Binary data type, it points to the word, not the bit, address within the Binary file. The number of
element denotes the number of bits to be included in the Dataset starting at the specified word address.
The bit position is relative to the starting word address. Therefore, every seventeenth bit will start at the
next word. For example, a starting address of 8 with 32 elements means the Dataset starts at the eighth
word in the binary file and contains 32 bits. The seventeenth bit will start at the ninth word. The bit
position in the PLC is specified by a slash (/) after the word address. Therefore, the first bit in the above
Dataset has an address of B3:8/0. Although each Dataset can contain 100 elements, it is recommended
that the maximum number to be 96 to ensure the Dataset ends on a word address boundary.
Both single and block output modes are supported for integer, binary, and floating point file type.
Types 5 (Ranged Transaction with ASCII addressing) and 9 (Ranged Transaction with binary
addressing):
Unlike Typed operations that automatically adjust the memory address to accommodate the defined
element type, the Ranged operations use word address exclusively. It performs consecutive memory
word read and write. The driver takes care of address adjustment for floating point file type, making it
transparent to the user and DeltaV. Therefore, the Ranged operation on integer, binary and floating point
file types is the same as the Typed operation.
Both single and block output modes are supported for integer, binary, and floating point file type.
Unlike the Typed read which only accesses the accumulator or position attribute, the Ranged read
always starts at the first attribute and includes all three attributes in the data file.
Types 7 (Read-Modify-Write with ASCII addressing) and 10 (Read-Modify-Write with binary
addressing):
When communicating with a PLC-5, Read-Modify-Write (RMW) is used to set/reset a single bit in the
binary file. User can set any bit in the Dataset. It is different from writing to the binary file with Typed
write. The Typed write will write all 16 bits in the word. The RMW let user write a single bit in any word,
leaving other bit unaffected. The block output mode is not supported in RMW. Therefore, single output
mode (1) must be used with RMW.
RMW is for output only. The data direction parameter in the Dataset configuration must be output.
Configuring RMW as input to Serial Card will cause error and undesirable results.
22

Type 11 (SLC 500, SLC 5/03 and SLC 5/04 Protected Typed Logical Read/Write with three address
fields):
This DeviceDataType is used to read/write all available tables (including the Input and Output tables) of
the SLC processors listed. The reads and writes are from/to the logical address generated based on the
starting address of the dataset. The following describes the parameters and their usage:
Input, Output, and Binary tables can be defined as Boolean, Discrete or 16-bit UINT. When using
Boolean or Discrete, the starting address is always a 16-bit word address (0, 16, 32, etc.), and the
Number of Values refers to bits. For example, a Dataset with starting address at 0 and 32 values gives
you 32 bits. When using 16-bit UINT, the starting address can be anywhere in the table, and the Number
of Values refers to 16-bit registers.
Input tables are read only. Output tables can be read and written. When performing reads/writes to the
Output table, the driver will access the SLC on a 16-bit word basis. If the Output mode in DeltaV is 0
(i.e., Block), the entire block will be written if any bit in the Dataset changes. On the other hand, if the
Output mode is 1 (i.e., Single Value), then on a single bit change, the 16-bit word containing that bit will
be written.
For floating point values, the starting address refers to the register number and a 4-byte value is
read/written. For all other tables, the starting address refers to the register number and a 2-byte value is
read/written.

Note When using Device Data Type of 255 for VIMNet diagnostics, configure the dataset as
Input; 32-bit UINT; Start Address=0; and Number of values=50, No Special Data parameters
are needed..
DeviceDataTypes 7 and 10 are only valid with file type 3 and output mode 1.
Output Modes: 0- block output; 1- single data output.
Floating Point file types, 32-bit Integer, and 32-bit unsigned Integer require 2 16-bit registers
per value, thus reducing the registers per dataset to 50 (maximum 16-bit registers per
dataset is 100). When addressing registers, DeltaV Serial Card register numbers are 1
based, whereas PLC and SLC registers are 0 based.


For information on how to connect I/O registers in a Logix controller to DeltaV datasets using Class1 and
Class3 Ethernet/IP messaging, refer to the Mynah Ethernet/IP Master Driver for DeltaV Virtual I/O
Module User's Manual.
Auto-sensing VIMs
1. From DeltaV Explorer, navigate to the I/O folder under a controller associated with the VIM cards.
2. Right-click and select Auto-sense I/O cards.
The VIMs appear as serial cards in the controller card slots you configured in the VIMNet software.

You might also like