Login

Please login for an individual price calculation.

Forgot Password?

Always stay up to date

With our e-mailings you will receive regular information about products, events, services and Balluff.

REGISTER AS A COMPANY

We will check whether you already have a customer number with us in order to link your new online account with it.

Register
Products
Industries and Solutions
Resources
Company
Version 1.0
·
Last edited on 2024-08-21

IO-Link Master Add-On Instruction

1. Scope

This User Guide describes the installation, use and maintenance of the Add On Instruction (AOI) software module for the BNI EIP-502-105-Z015. This software module is designed for use with RSLogix5000.

2. Products

This guide was developed for use with the software module AOI_BNI004A_40_27_041.L5X. This software module is available for download at the website www.balluff.com

This software module was developed for use with the Balluff EtherNet/IP Connectivity block BNI EIP508-105-Z015 (hardware version 5.0, firmware version 3.1).

For the development of this software module and hardware configuration, the following system components were used and validated:

  • RSLogix5000, version 18.01 (or later)
  • Rockwell 1756-L63 controller

3. Instructions

This section describes the process for installing and using the AOI module. This is a three step process that must be followed sequentially: hardware configuration; import AOI module along with all associated UDTs; and create new ladder logic with AOI modules.

3.1. Hardware configuration

Balluff EtherNet/IP IO-Link Master Features

Configuring the BNI EIP-508-105-Z015 in RSLogix5000

  1. Establish 1756-ENxx communication module in I/O Configuration

     
  2. Right click 1756-ENxx and choose New Module:

     
  3. Choose ETHERNET MODULE – Generic Ethernet Module:
  4. Establish properties of BNI EIP-508-105-Z015:

    communication format: Data - SINT

     
    Input Size: 392 Bytes

    Assembly Instance: 100

    Output Size: 262 Bytes

    Assembly Instance: 101

    Configuration Size: 194 Bytes

    Assembly Instance 102

     
  5. Depending on the application and network design, verify whether a Unicast connection is required:

  6.  

3.2. Import AOI

Import Balluff IO-Link AOI

  1. Right-click on the Add-On Instructions element of the Controller Organizer to view a menu that includes “Import Add-On Instruction…” as shown below:
  2. Locate your folder containing the downloaded Balluff AOI modules, highlight AOI_BNI006A_50_31_040.L5X and click Import… 
  3.  If the operation is successful, all UDTs associated with the AOI module will be imported into the project along with the AOI. This can be verified by checking the User-Defined element under Data Types in the Controller Organizer. 

3.3. logic

Create logic using RSLogix5000

  1. Once an AOI has been imported, it can be used in the same manner as other ladder instructions. A new Element Group tab will be displayed in RSLogix5000’s Language Element toolbar. This is shown here with the hover window information displayed:
  2. The AOI module can now be added to a rung of ladder:
  3. All parameters must be defined with tags of valid data type as defined by the AOI module. The user should create each Tag Name relevant to the user’s project.
    Parameter Name Description Data Type Tag Name (User specific)
    AOI_BNI006A_50_31_040 Unique Control Tag for AOI Module AOI_BNI006A_50_31_040 Master_Control_Tag
    BNI_EIP_508_Raw_Input Data 392 byte array of raw data from Hardware Module Defined Tags SINT[392] Module_Name.I.Data
    BNI_EIP_508_Raw_Output Data 262 byte array of raw data from Hardware Module Defined Tags SINT[262] Module_Name.I.Data
    BNI_EIP_508_Raw_Config_Data 194 byte array of raw data from Hardware Module Defined Tags SINT[194] Module_Name.I.Data
    BNI_EIP_508_Port_1_Data All I/O Data Associated with IO-Link Port 1 IO_Link_Port_Data Port1_Data
    BNI_EIP_508_Port_2_Data All I/O Data Associated with IO-Link Port 2 IO_Link_Port_Data Port2_Data
    BNI_EIP_508_Port_3_Data All I/O Data Associated with IO-Link Port 3 IO_Link_Port_Data  Port3_Data
    BNI_EIP_508_Port_4_Data All I/O Data Associated with IO-Link Port 4 IO_Link_Port_Data Port4_Data
    BNI_EIP_508_Port_5_Data All I/O Data Associated with IO-Link Port 5 IO_Link_Port_Data Port5_Data
    BNI_EIP_508_Port_6_Data All I/O Data Associated with IO-Link Port 6 IO_Link_Port_Data Port6_Data
    BNI_EIP_508_Port_7_Data All I/O Data Associated with IO-Link Port 7 IO_Link_Port_Data Port7_Data
    BNI_EIP_508_Port_8_Data All I/O Data Associated with IO-Link Port 8 IO_Link_Port_Data Port8_Data
    Mapped_BNI_EIP_508_Data All Unique data associated with BNI EIP-508 module UDT_BNI006A_50_31_040 Mapped_Master_Data
     Note that in this example, Module_Name has been defined in the I/O Configuration Tree as Balluff_IO_Link_Master.

4. User-defined Data Type (UDT)

The User-Defined Data Type for the Add On Instruction defines the interface for the AOI and the user’s project. For AOI_BNI006A_50_31_040, the highest level UDT. UDT_BNI006A_50_31_040, is comprised of three sub-UDT components: Input (I), Output (O) and Configuration (C). One additional UDT is defined, IO_Link_Port_Data, for integrating data through configured IO-Link ports.

The highest level UDT (UDT_BNI006A_50_31_040) consists of the three sub-UDT components described in Sections 4.1 through 4.3 below.

4.1. Input UDT

The Input UDT (UDT_BNI006A_Inputs_50_31_040) consists of all inputs associated with the BNI004A block. A description of this UDT and its function is included here:

name information
Data this is a single 16-bit INT register that contains all discrete input data bits. If a port is configured in IO-Link mode, the indicated result is 0
Short_Circuit this is a single 16-bit register that contains all discrete short-circuit bits. These bits indicate a short circuit between pins 1 and 3 on stated port
Overload this is a single 16-bit register that contains all discrete overload bits. These bits indicate an overload has occurred on the indicated port and pin number. Note that these bits will only function if the port is configured as an output
UA_Fault this Boolean value indicates whether auxiliary power is currently applied to the BNI004A device’s output points. This bit is typically used to indicate an Emergency Stop has occurred
US_Fault this Boolean value indicates whether sensor power is currently applied to the BNI004A device
Port_x_IO_Link_Status  – (x = 1, 2, 3, or 4)  this Boolean value indicates whether the indicated Port (1-4) has been placed in IO-Link mode
Port_x_Device_Connected  – (x = 1, 2, 3, or 4)  this Boolean value indicates whether the indicated Port (1-4) has an operational IO-Link device connected to the port
Port_x_Validation_Failed  – (x = 1, 2, 3, or 4)  this Boolean value indicates whether the indicated Port (1-4) has passed the validation type as defined in the Configuration UDT (see Section 4.3)

4.2. Output UDT

The Output UDT (UDT_BNI004A_Outputs_40_27_041) consists of all outputs associated with the BNI004A block. A description of this UDT and its function is included here:

name information
Data this is a single 16-bit INT register that contains all discrete output data bits
Restart this is a single 16-bit INT register that contains all discrete Restart bits. A Restart bit must be toggled following a detected short-circuit event 
Display_RED this Boolean value transitions the Red LED display on the BNI004A block
Display_GREEN this Boolean value transitions the Green LED display on the BNI004 block
Display_LOCK this Boolean value locks the display and prevents the user or PLC from changing the display. While this bit is “high” or ON, a key icon will be indicated on the display

4.3. IO-Link configuration

The Configuration UDT (UDT_BNI004A_Configuration_40_27_041) consists of all IO-Link data associated with each port for the BNI004A block. A description of this UDT and its function is included here:

name information
Port_x_Function – (x = 1, 2, 3, or 4) this SINT value determines whether the indicated Port (1-4) will function in Standard Input/Output (=0) mode or IO-Link (=1) mode. It is important to note that after changing the value for any Port_x_Function registers, power must be cycled to the BNI004A block for the change to take effect. (Note: values of 2 or higher will adjust port into Fallback mode, which ceases all process data flow)
Port_x_Cycle_Time – (x = 1, 2, 3, or 4) this SINT value holds the cycle time for the indicated Port (1-4). Bits 0-6 hold the cycle time value while bits 7-8 represent the time base
Port_x_Validation_Type – (x = 1, 2, 3, or 4) this SINT value determines the type of validation used for each Port (1-4). If this value is 0, then no validation is used – this is the default setting. If this value is 1, then a compatible device (matching Vendor ID and Device ID) must be connected to the port. If this value is 2, then the exact device (matching Vendor ID, Device ID and Serial Number). (Note: The connected IO-Link device must support this feature)
Port_x_Vendor_ID – (x = 1, 2, 3, or 4) this SINT value indicates the Vendor ID of the device connected to the Port. For any Balluff device, this value will be 0378hex
Port_x_Device_ID – (x = 1, 2, 3, or 4)

this SINT value indicates the Device ID of the device (800) 543-8390 FAX (859) 727-8506 www.balluff.com AOI_BNI006A_50_31_040 User Guide Page 15 of 26 connected to the Port. Each device will have a unique Device ID that can be found in its corresponding manual

Port_x_Serial_Number – (x = 1, 2, 3, or 4) this 16-byte SINT array indicates the Serial Number of the device connected to the Port.
Port_x_Parameter_Upload_Enable – (x = 1, 2, 3, or 4) this Boolean value must be set “high” or ON to perform an upload of the current parameter set. ). (Note: The connected IO-Link device must support this feature)
Port_x_Parameter_Download_Enable – (x = 1, 2, 3, or 4)

this Boolean value must be set “high” or ON to perform a download of the current parameter set. ). (Note: The connected IO-Link device must support this feature)

Port_x_Parameter_Server_Enable – (x = 1, 2, 3, or 4)

this Boolean value must be set “high” or ON to allow either an upload or a download of the current parameter set. ).

(Note: The connected IO-Link device must support this feature)

4.4. IO-Link Port Data

The IO_Link_Port_Data UDT consists of the 48 input bytes (SINTs) and 48 output bytes (SINTs) that the IO-Link master allocates to each port. Under normal operating conditions, the user will not be aware of any data being passed through this UDT. The AOI automates the parsing of the data for each port and allows the user to access the data directly without mapping each of the four port’s data into the master’s single data buffer. This UDT is used for both the IO-Link master AOI as well as each IO-Link slave AOI. The master and slave must share the same tag name for the corresponding port.

name information
Inputs this 48-byte SINT array contains all raw input data values being passed from the IO-Link slave device input array to the master device input array
Outputs this 48-byte SINT array contains all raw output data values being passed from the IO-Link slave device output array to the master device output array

5. Software validation

If the preceding instructions (5.0 Instructions) have been successfully completed, the software module will be integrated into the RSLogix5000 project and it will be ready to use. The user will be able to verify the proper operation of the AOI by monitoring the transition of a controller-scoped tag and its corresponding real-world device. This section describes a sampling technique that will verify the proper operation of one input bit, one output bit, and a configuration parameter.

5.1. example controller-scoped input tag

This example describes how to validate the transition of a controller-scoped input tag

This example uses Port 6, Pin 4 (Input buffer byte 0, bit 6) although any input bit will suffice. Note that all I/O points are freely configurable as either inputs or outputs and will respond to logic accordingly. The key point of this example is to ensure that the AOI bit corresponding to the selected input bit follows it. Place a device (discrete sensor or jumper wire) between pins 1 and 4 on Port 6 to cause this Input bit to transition to ON or “high”. This bit can be viewed in the Controller scope tags as shown below:

Note that when the AOI module was used in the logic, the parameter Mapped_BNI_EIP_502_Data was assigned to a tag named “Mapped_Master_Data”.

While this bit (Mapped_Master_Data.I.Data.12) is ON or “high”, the corresponding LED on the I/O block should be lit. If this is not the case, please refer to Section 7.0 Troubleshooting.

5.2. example controller-scoped output tag

This example describes how to validate the transition of a controller-scoped output tag

This example uses Port 4, Pin 4 (Input buffer byte 0, bit 4) although any output bit will suffice. Note that all I/O points are freely configurable as either inputs or outputs and will respond to logic accordingly. The key point of this example is to ensure that the AOI bit corresponding follows the selected output bit. Place a device (pilot light, voltage meter or other discrete output device) between pins 1 and 4 on Port 4, then transition the output bit to ON or “high”. This bit can be viewed in the Controller scope tags as shown below:

Note that when the AOI module was used in the logic, the parameter Mapped_BNI_EIP_502_Data was assigned to a tag named “Mapped_Master_Data”.

While this bit is ON or “high”, the discrete output device should transition to its ON state, indicating that power is being passed to the device.

While this bit is ON or “high”, the corresponding LED on the I/O block should be lit. If this is not the case, please refer to Section 7.0 Troubleshooting.

After confirming the operation of this output bit, return the bit to “low” or OFF to ensure that the operation of logic is not affected.

5.3. example controller-scoped configuration tag

This example describes how to validate the transition of a controller-scoped configuration tag

This example uses Port 1 Vendor ID although any configuration tag will suffice. The key point of this example is to ensure that the AOI value corresponding to the selected configuration value displays properly. this example will include a two-step process:

  1. Configure Port 1 to IO-Link mode
    To configure Port 1 to IO-Link mode, set the value of the Port_1_Function tag equal to 1. After this tag has changed value, cycle the power to the BNI004A device in order for the port function change to take effect. After power is restored to the BNI004A, the Port 1 IO-Link LED will be lit steady green while an IO-Link device is connected (this LED will blink green if it is in IO-Link mode without an operational device connected). Your controller scope tags should look similar to this:  
  2. Observe Balluff’s Vendor ID
    While any Balluff device is connected to Port 1 while this port is in IO-Link mode, the displayed Vendor ID should be 0378h or in decimal of 3(120). These values bit can be viewed in the Controller scope tags as shown below (the two screen shots are identical except for the “Style” column): 

    Note that this screen shot and the following screen shot display the same information except that two tags have been changed to Hex format. 

    Note that when the AOI module was used in the logic, the parameter Mapped_BNI_EIP_502_Data was assigned to a tag named “Mapped_Master_Data”. 

While any Balluff IO-Link device is connected to Port 1 in IO-Link mode, these values will be displayed. When the IO-Link slave is disconnected from Port 1, these values will return to 0. If this is not the case, please refer to Section 6.0 Troubleshooting.

All released Balluff AOI modules have been validated according to Balluff QF 4.4.12. A copy of this validation report can be obtained by contacting Balluff Technical Support at http://www.balluff.com/go/contact

6. Troubleshooting

  • If the user does not obtain the results described in Section 5.0 above, please ensure that the following match those described in this User Guide: 
    • Hardware System layout – the system must consist of the following:
      • Rockwell Automation Logix processor 
      • Rockwell Logix EtherNet/IP network bridge
      • ODVA-compliant EtherNet/IP physical media
    • Software configurations – RSLogix5000 version 18.01 or higher must be used with this Add-On Instruction
    •  Revision levels
  • After confirming the revision levels of all system components, the next step should be to observe the raw data from the EtherNet/IP master in RSLogix5000. This can be accomplished by observing each step through the process of an input bit through the raw data into the AOI data buffers.
    • The initial step is to confirm that the IO_Link_Port_Data tag for the input is received. For the controller-scoped input tag described in Section 5.2 (Port 6, Pin 4), you must observe Input buffer byte 0, bit 6 while the input has transitioned to “high” or ON as shown here:
       
    • To confirm the raw data for this same input bit, you must observe the Input buffer of the IO-Link master. Since this BNI0039 hub is connected to Port 1 of the master, the subject bit should be byte 8, bit 6 as shown here:
       
      Note that byte 8 corresponds only to Port 1 on the BNI004A master. This input bit will be indicated in byte 56 (Port 2), byte 104 (Port 3), or byte 152 (Port 4). 
  • If all system components are consistent with those described in Section 6.1 above and the raw data is being received properly in RSLogix5000 but the user does not view AOI data as described in Section 5.1 above, additional steps can be taken to verify the proper operation of both the software configuration and the hardware system and components.
    • To validate the software configuration:
      • Ensure that the Balluff hardware is communicating properly with the Logix processor. A communication error is easily identified when RSLogix5000 is online with the processor as the network hardware will be identified with a yellow warning triangle when the communication fails.
      • Start a new RSLogix5000 project using only the Balluff hardware and AOI module. This should eliminate any potential software conflicts.
    • To validate the hardware system and components:
      • Remove all other hardware nodes from the Ethernet network so that only the Balluff module and the Logix processor are connected.
      • Verify that any switches used in the network layout are operating properly and have solid connections.
      • Identify and remove any potential sources of electrical noise or interference that might impede network communication.
  • f the system still does not respond properly, please contact the Balluff Technical Support Group at http://www.balluff.com/go/contact

7. Definitions

The following terms are used in this guide with these definitions:

7.1. Controller Organizer

Controller Organizer – the area of RSLogix5000 where all project components can be accessed. If this toolbar is not visible, it can be opened by pressing Alt+0.

7.2. AOI - Add On Instruction

AOI – Add On Instruction – reusable software module created with RSLogix5000. Balluff’s AOI modules are composed of UDTs and associated logic to implement control algorithms. This module is hardware-specific. All AOI modules contained in a project will be located in the Controller Organizer as shown below:

7.3. Controller Scoped Tag

Controller scoped tag – a tag of any valid data type that is available to all programs within a project and must be used uniformly throughout the entire project.

7.4. AOI Parameter

AOI Parameter – a tag of any valid data type that is created during the definition of the AOI module and is isolated to that AOI. Its scope is limited to the each discrete use of AOI function.

7.5. UDT - User Defined Data Type

UDT – User Defined Data Type – reusable software module created with RSLogix5000. Balluff’s UDTs define the input and output tag names to be used when implementing our AOI modules. A UDT can be composed of any combination of standard Data Types defined by RSLogix5000 or other UDTs. All UDTs contained in a project will be located in the Controller Organizer as shown below:

7.6. I/O Configuration Tree

I/O Configuration Tree – the area of RSLogix5000 where all physical, or “real world”, Inputs and Outputs associated with the controller are defined. One example of an I/O Configuration Tree is shown below:

7.7. EDS - Electronic Data Sheet

EDS – Electronic Data Sheet – software configuration file that defines how a hardware product will communicate with the network master using EtherNet/IP. The format and content of an EDS is defined by ODVA, the controlling organization for EtherNet/IP specifications.

8. Related Documents

The following Balluff documents support the release of this User Guide and its related software module. Each of these documents can be obtained at the website www.balluff.com or by contacting Balluff Technical Support at http://www.balluff.com/go/contact

  • IO-Link Master AOI User Guide
  • Balluff device-specific hardware User Guides
  • Using Explicit Messages to Configure IO-Link Devices Tech Note

Other documents – Each Balluff IO-Link device that may be connected to this IO-Link Master device will have its own User Guides, both for hardware and for the AOI module software.

Energy consumption labeling
Energy consumption labeling

EPREL - European Product Database for Energy Labeling

Free sample product

In order to add a free sample product to the cart we will need to remove all the normal products from the cart. Are you sure you want to continue