Smart Factory Control: Integrating EtherNet/IP Controllers with AI Agent ASI Biont

Introduction

Industrial automation relies on robust communication protocols to connect programmable logic controllers (PLCs), drives, and sensors. Among these, EtherNet/IP (Ethernet Industrial Protocol) stands out as one of the most widely adopted standards in manufacturing, especially in North America. Developed by Rockwell Automation and now maintained by ODVA, EtherNet/IP enables seamless data exchange between controllers and devices over standard Ethernet infrastructure.

However, configuring, monitoring, and troubleshooting EtherNet/IP networks often requires specialized software (e.g., RSLogix, Studio 5000) and deep knowledge of controller tags and addressing. What if you could manage your PLCs using natural language commands—asking your AI assistant to read a production counter, adjust a setpoint, or log diagnostic data—without writing a single line of ladder logic? This is precisely what ASI Biont makes possible.

ASI Biont is an AI agent that connects to industrial equipment through multiple protocols, including EtherNet/IP, over a simple chat interface. Instead of building custom dashboards or scripts, you describe your device and the task you want to perform; the AI writes the integration code on the fly. In this article, we'll explore how ASI Biont interacts with EtherNet/IP controllers, with a concrete example using an Allen‑Bradley CompactLogix PLC.


How ASI Biont Connects to EtherNet/IP Devices

ASI Biont does not require any pre‑installed drivers or plugins on your computer. The connection is established in two ways:
1. Via industrial_command tool – For standard read/write operations (tags, device info), the AI uses a built‑in command that wraps the pycomm3 library. The command syntax is:
industrial_command(protocol='ethernet_ip', command='read_tag', params={'ip': '192.168.1.100', 'tag': 'MyBool'})
This command is executed in the AI’s sandbox environment (no need to install anything locally).

  1. Via execute_python – For more complex logic (e.g., polling multiple tags, conditional writes, data logging), the AI writes a Python script using pycomm3 and runs it in the cloud sandbox. The sandbox has internet access, so it can reach your PLC if it’s on a routable IP. For local‑only networks, you can use a Hardware Bridge or VPN.

Important: The execute_python environment runs inside ASI Biont’s cloud (Railway) with a 30‑second timeout. It cannot directly access your COM ports or local network unless you use a bridge. For EtherNet/IP, the PLC must be reachable from the cloud (e.g., via a public IP, VPN, or a forwarding service). Many factories use a gateway to expose specific tags securely.


Supported Commands for EtherNet/IP

The industrial_command tool provides three high‑level actions:

Command Description Example usage
read_tag Read the value of a controller tag (BOOL, INT, REAL, STRING, etc.) read_tag(ip='10.0.0.5', tag='Tank1_Level')
write_tag Write a value to a controller tag write_tag(ip='10.0.0.5', tag='Valve_Open', value=1)
get_device_info Retrieve device identification (vendor, product name, serial number) get_device_info(ip='10.0.0.5')

These commands work with any CIP‑based controller that supports implicit or explicit messaging (CompactLogix, ControlLogix, MicroLogix 1100/1400, SLC‑5/05, etc.). The AI automatically handles connection and disconnection, and returns results in the chat.


Concrete Use Case: Monitoring and Controlling a Conveyor System

Imagine a packaging line where a CompactLogix PLC controls a conveyor motor (BOOL output tag Motor_Run) and a product counter (INT tag Product_Count). A sensor detects jams; when the counter stalls for more than 5 seconds, the motor should be stopped automatically. Additionally, the shift supervisor wants to check the counter value via a mobile phone chat.

Step 1: Describe the scenario to ASI Biont

In the chat, the user writes:

"Connect to my Allen‑Bradley PLC at 192.168.1.100. Read tag Product_Count every 10 seconds. If the value hasn't changed for 5 seconds, write 0 to Motor_Run to stop the conveyor. Also, when I ask, report the current count and motor status."

Step 2: AI generates the integration code

The AI decides to use execute_python because the logic requires polling and conditional writes. It writes a script using pycomm3 and executes it in the sandbox. The script runs for up to 30 seconds (enough for a few polling cycles) and prints results to the chat. Below is an example of what the AI might produce (simplified):

from pycomm3 import LogixDriver
import time

plc_ip = '192.168.1.100'
prev_count = None
start_time = time.time()

with LogixDriver(plc_ip) as plc:
    while time.time() - start_time < 25:  # stay within sandbox limit
        count = plc.read('Product_Count').value
        motor = plc.read('Motor_Run').value
        if prev_count is not None and count == prev_count:
            elapsed = time.time() - start_time
            if elapsed >= 5:
                plc.write('Motor_Run', 0)
                print("Motor stopped - count stuck for 5 seconds")
                break
        else:
            start_time = time.time()  # reset timer on change
        prev_count = count
        print(f"Count: {count}, Motor: {motor}")
        time.sleep(10)

The AI runs this code, and the chat shows live updates. If a jam occurs, the motor stops automatically—all controlled from the AI agent.

Step 3: On‑demand queries

At any later time, the user can simply ask:

"What is the current product count and motor status?"

The AI will execute a one‑shot read_tag command and reply immediately:

Product_Count: 1423 | Motor_Run: 1


Why This Approach Changes Industrial Automation

Traditionally, interacting with a PLC requires:
- A laptop with licensed programming software (e.g., Studio 5000, which costs thousands per seat)
- Knowledge of tag names and data types
- Manual ladder logic modifications for even simple changes

With ASI Biont + EtherNet/IP, the barriers vanish:
- Zero code writing – The AI understands your request and writes the correct pycomm3 code.
- Natural language interface – Ask in plain English (or any language) to read, write, or automate.
- Real‑time alerts – The AI can poll tags and notify you via Telegram, email, or SMS if thresholds are exceeded.
- No additional hardware – Works directly over Ethernet; no gateway or edge computer needed if the PLC is reachable.


Comparison: industrial_command vs. execute_python for EtherNet/IP

Aspect industrial_command execute_python (sandbox)
Use case Simple reads/writes, quick queries Complex logic, loops, conditional branching, data aggregation
Execution location AI server (Railway) – same sandbox AI server – same sandbox, but with 30‑second timeout
Library used pycomm3 (internal) pycomm3 (imported by user code)
Latency Sub‑second Depends on script complexity; network overhead similar
Best for Operators checking values, supervisors setting outputs Engineers building temporary automation routines or diagnostics

Security Considerations

When exposing a PLC to the internet (even only to ASI Biont’s cloud), follow best practices:
- Use a VPN (e.g., Tailscale, WireGuard) to create a secure tunnel between the PLC network and ASI Biont.
- Alternatively, deploy a local Hardware Bridge (bridge.py) that connects only outgoing WebSocket to ASI Biont, so your PLC remains unreachable from the outside.
- Limit tag access: Use CIP security features if available, or place a firewall that permits only the bridge’s IP.

ASI Biont itself does not store tag values permanently; data is processed only for the current conversation unless you explicitly log it to a database via script.


Conclusion

EtherNet/IP is a mature, powerful protocol that powers thousands of factories worldwide. By integrating it with an AI agent like ASI Biont, you gain the ability to control and monitor your production lines using nothing more than chat messages. Whether you're a plant manager who wants a quick status check, an engineer setting up a temporary monitoring script, or a technician troubleshooting a jam, the combination of natural language and industrial communication reduces friction and accelerates response times.

Ready to give your PLC a voice? Go to asibiont.com, start a conversation, and describe your EtherNet/IP device. The AI will handle the rest – no code, no dashboards, just results.

← All posts

Comments