Products
Service & Support
Industries & Solutions
Company
Version 1.0
·
Last edited on 2025-11-06

AOI - BNI006A_BNI00HM AB V34 and higher

1. Introduction

Welcome to the User Guide for the BNI006A and BNI00HM Add-On Instruction (AOI) module. This guide is designed to assist users in effectively implementing and utilizing the AOI software module with the BNI006A and BNI00HM, a component that enhances the capabilities of Logix5000 systems.

In this document, you will find comprehensive instructions that cover its installation, configuration, and maintenance. The guide is structured to provide step-by-step procedures ensuring a smooth integration process, optimal usage, and effective troubleshooting methods to address any potential issues.

Our goal is to empower you with all the necessary information and tools to maximize the functionality and performance of your system using the AOI software module. Whether you are setting up the module for the first time or looking to troubleshoot an existing installation, this guide will serve as a valuable resource.

Thank you for choosing Balluff products. We are committed to providing you with high-quality solutions and support to meet your automation needs.

1.1. BNI006A/BNI00HM AOI General Data

This is a comprehensive manual provided by Balluff Inc., detailing the installation, usage, and maintenance of the AOI software module designed for the BNI006A and BNI00HM, compatible with Logix5000. This guide includes detailed instructions on hardware configuration, importing and using the AOI module, and creating ladder logic. It also covers user-defined data types, software validation, and troubleshooting tips to assist users in effectively integrating and utilizing the software module with the specified hardware components. The guide is structured to ensure users can easily navigate through the setup process, validate the software, and troubleshoot any issues encountered during usage and integration with Logix5000.

1.2. Recommended Usage of AOI

Add-On Instructions (AOIs) are designed to streamline your programming by allowing you to create custom instructions for frequently used logic sequences. These instructions offer a standardized interface and acompanying documentation, making them ideal for encapsulating common functions or device controls. However, it is important to note that AOIs are not designed for high-level hierarchical programming. Instead, they are best utilized for specific, repeatable tasks within your applications.

For broader application structures, such as those needed at the area or unit levels, traditional programming with routines is more appropriate. Below, we outline the key benefits of integrating Add-On Instructions into your programming environment, emphasizing their optimal use cases to enhance efficiency and maintainability.

1.3. Logix5000 Version Disclaimer

Studio 5000 version 36 introduces significant updates to the handling of Electronic Data Sheets (EDS) that affect the application of some EDS files. These updates are designed to streamline the integration and management of device profiles within the software environment.

When you upgrade to version 36, these changes in EDS handling are not only applicable to the new version but are also retroactively applied to versions 34 and 35, provided they are installed on your computer. This ensures consistency across different versions of the software, facilitating a smoother transition and maintaining compatibility across projects that may span multiple versions of Studio 5000.

This backward compatibility feature is particularly beneficial for users who operate in environments where multiple versions of the software are in use, allowing for seamless project management and reduced complexity in handling EDS files across updates. It is important for users to be aware of these changes to understand how their existing and future projects might be impacted by the upgrade to version 36.

2. Disclaimer of Liability

This AOI module is provided free of charge and serves as a universal application example. It is designed to assist in programming and configuring PLC applications and to offer potential solutions.

Users should note that there is no entitlement to warranty claims, error corrections, or updates regarding this demo function block. Specifically, Balluff GmbH disclaims any liability for damages that may arise from the use of this demo program, except for: (a) damages resulting from injury to life, body, or health; (b) liability under the German Product Liability Law; and (c) cases of intentional misconduct.

Before implementing this AOI in your systems or machinery, please verify its suitability for your specific application.

By utilizing this Logix5000 sample, which is made available at no cost, you agree to this limitation of warranty and liability.

3. Start-Up/Commissioning

You can locate the AOI module for the BNI006A or BNI00HM by visiting the device's specific page on our website. Once there, click on the 'Downloads' tab. Scroll down to the 'Software' section, and look for the 'Function Block (FB)' category. Here, you will find a zip file containing the AOI module available for download.

3.1.1. User Defined Tags (UDTs)

The User-Defined Data Type (UDT) for the Add-On Instruction establishes the interface between the AOI and the user's project. For the BNI006A and BNI00HM AOI, the primary UDT, UDT_BNI006A_50_31_040, includes three subordinate UDT components: Input (I) and Output (O). Additionally, a separate UDT named IO_Link_Port_Data is specified to facilitate the integration of data through configured IO-Link ports.

Input Data

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 the 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 BNI006A and BNI00HM 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 BNI006A and BNI00HM device.
Port_x_IO_Link_Status – (x = 1-8) This Boolean value indicates whether the indicated Port (1-8) has been placed in IOLink
mode.
Port_x_Device_Connected – (x = 1-8) This Boolean value indicates whether the indicated Port (1-8) has an operational IOLink device connected to the port.
Port_x_Validation_Failed – (x = 1-8) This Boolean value indicates whether the indicated Port (1-8) has passed the validation type as defined in the Configuration UDT.

Output Data

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 BNI006A and BNI00HM block.
Display_GREEN – This Boolean value transitions the Green LED display on the BNI006A and BNI00HM 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.

IO_Link_Port_Data UDT

The IO_Link_Port_Data UDT comprises 48 input bytes (SINTs) and 48 output bytes (SINTs) allocated by the IO-Link master to each port. Typically, users are not directly aware of the data flow through this UDT during normal operations. The AOI simplifies the data handling by automating the parsing process for each port, enabling direct user access to the data without the need to individually map the data of each of the four ports into a single data buffer of the master. This UDT is utilized by both the IO-Link master AOI and each IO-Link slave AOI. It is essential that the master and slave share the same tag name for the corresponding port to ensure proper data synchronization and management.

Inputs – This 48-byte SINT array holds all raw input data values transferred 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 transmitted from the IO-Link slave device output array to the master device output array.

4.1.1. Integrate EDS File (up to V33)

Select Tools, Choose EDS Hardware Installation Tool.

Select Next.

Register an EDS file(s) and next.

Select Next

On the Change Graphic Image pane, select next.

Final Task Summary, select next.

Select Finish to close the EDS Import Tool.

Right Click on the Ethernet node under I/O Configuration at the bottom of the Controller Organizer. Select New Module...

Type 'BALLUFF' in the filter feild and select the BNI006A and click create.

Give the block a name and enter the address of the block. Select OK.

Save and Download to PLC. At this point the Controller Tags should contain C, I, and O data tags. See section 3.1 for more information on UDTs.

 

4.1.2. Integrate EDS File (V34 and up)

This section addresses the modifications introduced in version 36, which also impact versions 35 and 34 once this version is installed. Due to these changes, the C data is now in a defined state, rendering it incompatible with this AOI.
Please refer to the alternative AOI included in the package, which is designed to work with these updates.

Starting from version 34, the EDS Tool has been superseded by the Device Description Installation Tool.

4.1.3. Integrating Generic Ethernet Module

Under the Controller Organizer, right click and select New Module...

Type 'Generic' in the filter field to narrow the selection fast. Select 'Generic Ethernet Module' and Create.

Name the block and match the IP with the preconfigured block address. Also ensure the Comm Format is 'Data - SINT'

  • Details of Each Instance:
    Input Instance: ID 100, Size 392 bytes
    Output Instance: ID 101, Size 262 bytes
    Configuration Instance: ID 102, Size 194 bytes

 

4.2. Adding AOI to Logic

Make sure Logix5000 is offline from the PLC and right click Add-On Instructions under Assets in the Controller Organizer.

Select Import Add-On instruction...

Navigate to the unzipped folder containing the AOI. Select Open.

Select Ok to add the AOI to the project.

Here are the UDTs that are imported with the AOI.

Go to the location of your logic where you want to add the AOI. In this case we are adding it to the main routine.

5.1. Add to Rung

Go to the location of your logic where you want to add the AOI. In this case we are adding it to the main routine.

 

5.2. Create Tags, Save, and Download

You will need to create the tags for the AOI_BNI006A_50_31_040, BNI_EIP_508_Port_(1-8)_Data, and Mapped_BNI_EIP_508_Data.

The input, output, and config data need to be mapped to *:I.Data, *:O.Data, and *:C.Data. Please note that these are not new tags that need to be created; they are the tags that were already established when the module was incorporated into the I/O Configuration as described in section 3.1 and 4.1.1.

Once all tags are created, you can save and download the project to verify a connection to the BNI006A.

To specify port function, go to the Controller Tags at the top of the Controller Organizer and locate the ModuleName:C UDT and expand down to the Modulename:C.Port_x_Mode_0 section.

6. Error Codes & Troubleshooting

If the user does not achieve the results described in the previous section, please ensure that the following components conform to the specifications outlined in this User Guide:

Hardware System Layout – The system must include:

  • A Rockwell Automation Logix processor
  • A Rockwell Logix EtherNet/IP network bridge
  • ODVA-compliant EtherNet/IP physical media

Software Configurations – The system must use Logix5000 version 18.01 or higher for this Add-On Instruction.

Revision Levels – Please check and match the revision levels as required.

After verifying the revision levels of all system components, the next step is to monitor the raw data from the EtherNet/IP master in Logix5000. This involves tracking the progression of an input bit through the raw data into the AOI data buffers, observing each step of the process.

In the Controller Organizer, open the controller tags tab to view live data. Pictured below is pin 2 made on port 4.

If all system components align with those described above and the raw data is being properly received in Logix5000, but the AOI data does not appear as expected per Section 5.2, further steps can be taken to ensure the correct functioning of both the software configuration and the hardware system and components.

To validate the software configuration:

  • Confirm that the Balluff hardware is communicating effectively with the Logix processor. A communication error can be easily spotted in Logix5000 when online with the processor, as any network hardware issues will be indicated by a yellow warning triangle if communication fails.
  • Initiate a new Logix5000 project using only the Balluff hardware and AOI module to rule out any potential software conflicts.

To validate the hardware system and components:

  • Disconnect all other hardware nodes from the Ethernet network, leaving only the BNI006A and the PLC connected.
  • Ensure that any switches used in the network layout are functioning correctly and have solid connections.
  • Identify and eliminate any potential sources of electrical noise or interference that could disrupt network communication.

If the system still does not function correctly after these steps, please contact the Balluff Technical Support Group for further assistance. [email protected]

7. Definitions and References

Controller Organizer – This is the area of Logix5000 where all project components can be accessed. If this toolbar is not visible, it can be opened by pressing Alt+0.
AOI – Add On Instruction – A reusable software module created with Logix5000. 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.
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.
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 each discrete use of AOI function.
UDT – User Defined Data Type – A reusable software module created with Logix5000. 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 Logix5000 or other UDTs. All UDTs contained in a project will be located in the Controller Organizer.
I/O Configuration Tree – The area of Logix5000 where all physical, or “real world”, Inputs and Outputs associated with the controller are defined.
EDS – Electronic Data Sheet – A 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.

9. Disclaimer

This description has been compiled with the greatest care, but is only suitable for information purposes. When using this description, the user is obliged to observe the due diligence required for use and to report any contradictions or inconsistencies immediately in text form. The user of this description is not entitled to a guarantee. In particular, Balluff assumes no liability for technical and typographical errors and reserves the right to make changes to this description at any time and without notice. After the description has been made available free of charge, Balluff is only liable for damages due to deficiencies in this description or due to the breach of other contractual or non-contractual obligations in the event of intent or gross negligence. The above limitation of liability does not apply to malice, injury to life, limb or health, the assumption of a guarantee or liability under the Product Liability Act.

Before using it in systems and machines, always check whether the description provided here is suitable for your application.

 

 

Energy consumption labeling
Energy consumption labeling

EPREL - European Product Database for Energy Labeling

Do you have any questions or suggestions? We are at your disposal.

For all questions concerning commercial topics such as quotations, orders, and delivery times, our inside sales department will be happy to support you: [email protected]

For Aftersales, Technical Support, Applications and
Product Inquiries we will be happy to support you: [email protected]

Feel free to contact us directly by telephone:

Inside Sales 859-727-2200 - press 1
Presales Tech Support 859-727-2200 - press 2
Aftersales Tech Support 859-727-2200 - press 3


Balluff Inc.

8125 Holton Dr.
Florence, KY 41042

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