DeltaV S-series controllers can read and write signals from plant floor devices that use the Modbus TCP / IP or Ethernet / IP protocols. Each VIM is seen by the DeltaV controller as four DeltaV serial Cards, allowing up to 128 serial datasets (with 100 registers per dataset) each controller can have one redundant or two simplex VIMs.
DeltaV S-series controllers can read and write signals from plant floor devices that use the Modbus TCP / IP or Ethernet / IP protocols. Each VIM is seen by the DeltaV controller as four DeltaV serial Cards, allowing up to 128 serial datasets (with 100 registers per dataset) each controller can have one redundant or two simplex VIMs.
DeltaV S-series controllers can read and write signals from plant floor devices that use the Modbus TCP / IP or Ethernet / IP protocols. Each VIM is seen by the DeltaV controller as four DeltaV serial Cards, allowing up to 128 serial datasets (with 100 registers per dataset) each controller can have one redundant or two simplex VIMs.
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.