You are here: EtherNet/IP > DeltaV Dataset Configuration > Dataset PLC Tab

Dataset PLC Tab

This dataset properties tab controls the message address mode and the size of the dataset.

Figure 1 - Dataset Properties - PLC Tab

Device Data Type

This parameter controls the messaging mode of the VIM. The supported messaging modes of the PLC dictate which mode should be used.

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 ControlLogix String Read Logix
13-14 Reserved  
15 Generic ENBT Logix
255 VIMNet Diagnostics data All

Table 1 - Device Data Type Specifications

This attribute defines what type of transaction will be performed for the Dataset between the PSIC 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.

Type 6 (Diagnostic data)

This messaging type will read diagnostic data from the PLC.

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 PSIC will cause error and undesirable results.

Device Data Types 7 and 10 are only valid with file type 3 (Special Data 1) and Output Mode 1.

Type 11 (SLC 500, SLC 5/03 and SLC 5/04 Protected Typed Logical Read/Write with three address fields):

This Device Data Type 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.

Type 12 (ControlLogix String Read)

This messaging type is used when reading or writing string data from a ControlLogix. See String Datasets - ControlLogix for more information.

Type 15 (Class 1 ENBT Messaging)

In this messaging mode, the VIM is an IO Adapter, and is therefore waiting for a scanner to connect to it. The IO Scanner should be a Logix-based PLC (e.g., ControlLogix).

The majority of the configuration for this mode is in the PLC configuration. The VIM needs to have datasets configured in DeltaV Explorer with the proper sizes.

Class 1 ENBT Messaging can only be used with a Simplex VIM

Assembly Instance

Input and Output Assembly Instances are the dataset index numbers. Valid range for these parameters is 1-128. This parameter is calculated based on the target card/dataset to which the ENBT is mapped. For example, if the VIM is emulating serial cards 57-60, then the following applies, where each card has 32 datasets:

Serial Card Serial Card Calculated Assembly Instance Range













Table 2 - Assembly Instance Specification


Configuration Instance

The VIM does not use a configuration instance. If the IO Scanner requires an instance number, use 129. The data size for the instance should be zero.

EDS File

The VIM does not have an EDS file that describes the possible connections. The primary reason for not including this file is that the meaning of each assembly instance is determined at configuration time by the user. MYNAH cannot know the definition of Assembly Instance 1, for example, until it is configured in VIMNet Explorer and DeltaV Explorer.

Logix Connection Status

The first four bytes of DeltaV output are overwritten in the Logix processor when the communications are lost.

When the IO Scanner is a Allen Bradley Logix processor, special care must be taken with the DeltaV output data. The Logix processor will use the first four bytes of the output data from DeltaV as status. When the connection is online, the first four bytes will be the values of the first 1, 2, or 4 registers (depending on data type). When the connection is offline, the Logix processor will overwrite all the bits in the first four bytes with 1. This overwriting is internal to the Logix; the data in DeltaV is not altered. The program in the Logix must expect this behavior. This behavior cannot be controlled by the VIM or DeltaV.

For example, suppose the first bit of the first byte in the DeltaV output controls a start/stop signal and that a value of 1 is start and a value of zero is stop. If the Logix program is not properly handling the connection status behavior described above, a loss of communications could cause the device to start.

The simplest method to handle this is to not place any data in the first four bytes of the DeltaV output. This would mean skipping the first 1, 2, or 4 registers , depending on DeltaV data type (32-bit Integer, 16-bit Integer, or 8-bit Integer, respectively). The Logix can now overwrite the first four bytes and it would not affect the system.

Start Address

This controls the offset from the beginning of the data file that the VIM will read from.

For Device Data Type 15 (ENBT) this value only sets the visible register number in DeltaV, it does not affect the communications.

When addressing registers, DeltaV PSIC register numbers are 1 based, whereas PLC and SLC registers are 0 based.

Number of Values

This determines the size of the dataset. The value is given in the number of registers based on the DeltaV Data Type. The maximum number of registers is 100, or 50 for Floating Point.

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

ControlLogix v16 32-bit aligned B-Table Access

When Special Data 1 is set to 13, the VIM accesses the B-Table based on 32-bit alignment. Versions of ControlLogix prior to v16 used 16-bit data alignment for B-Table access. In ControlLogix v16 the data width was changed to 32-bit.

Note the following dataset configuration tips:

  1. If the dataset is configured as Boolean or Discrete, the dataset Start Address is the bit number, and the Number of Values is the number of bits to read/write. When DeltaV writes to the ControlLogix, the minimum unit of data is 32 bits. Consequently, the Start Address should be chosen to be on a 32-bit boundary, and the Number of Values should be a multiple of 32 (with a maximum of 96). For example. A Start Address of 0 and 96 values reads the first 96 bits of the B-Table. Similarly, a Start Address of 480 and 96 values reads bits starting with bit number 480.
  2. If the dataset is configured as 16-bit INT or UINT, the dataset Start Address is the 16-bit group number, and should be configured as an even number. The group number is simply a number assigned to consecutive groups of 16-bits, starting with group 0. The Number of Values is the number of 16-bit groups to read/write. When the VIM accesses the B-Table, it converts the Start Address into a 32-bit aligned boundary address first. On DeltaV writes to the ControlLogix, the minimum unit of data is 32 bits, or 2 16-bit registers. Hence the need for an even numbered start address. The maximum number of values may be configured as 100 (i.e., 1600 bits).