Real Project Experience: Modbus TCP/IP Integration Between Compressor PLC and Honeywell DCS

Introduction
Integrating Allen-Bradley PLCs with Honeywell DCS (Experion PKS) via Modbus TCP/IP is a common requirement in oil, gas, and chemical industries. While Modbus is known for its simplicity, challenges often arise during ProSoft MV169E-MBTCP configuration, especially when read and write registers overlap in the same database.
This blog post shares a true experience from leading a project to integrate a Local Compressor Panel (LCP PLC) with a Honeywell DCS, where register clashes between the PLC HMI and the DCS caused unexpected data conflicts. The goal is to highlight the root cause, troubleshooting process, and practical solutions—providing lessons for engineers facing similar integration issues.
Project Background
- Scope: Connect Compressor Local Control Panel (PLC) with Honeywell EPKS R520 DCS using ProSoft Modbus TCP/IP module.
- Data Points: Compressor start/stop commands, alarms, permissives, analog measurements (discharge pressure, lube oil temp, vibration).
- Challenge: Tight turnaround window for commissioning with zero tolerance for delays.
Everything was configured according to the Modbus map, but when both the PLC HMI and Honeywell DCS began polling, the system showed inconsistent or clashing values.
The Issue: Data Clashing Between PLC HMI and Honeywell DCS
Symptoms observed during commissioning:
- Digital points toggled unexpectedly on the HMI when DCS was polling.
- Analog values flickered or showed wrong scaling.
- DCS operators reported compressor trips even though no real fault occurred.
Root cause analysis pointed to one issue:
👉 Both read registers and write registers were configured in the same ProSoft database range.
This meant the PLC HMI and DCS were effectively overwriting each other’s values, causing data collisions.
Root Cause in Detail
1. Modbus Register Allocation
- Read Registers (3xxxx, 4xxxx) were configured for sending status/measurement data.
- Write Registers (4xxxx) were also mapped starting from the same base address.
- Without separation, when the DCS wrote to a register, the PLC HMI (reading from the same range) displayed corrupted or toggled data.
2. Lack of Tag Separation Strategy
- No clear separation between control commands (write) and status feedback (read).
- Both were set up in the same Modbus table for simplicity.
3. Gateway Configuration Limitations
- ProSoft modules rely on strict register mapping.
- If database blocks overlap, conflicts occur since Modbus is stateless, it does not distinguish between “who owns” the data.
The Solution
Step 1 – Separate Read and Write Register Blocks
- Redefined Modbus mapping:
- Write Registers (Control Commands): Start at 40001 – 40100.
- Read Registers (Status/Measurements): Start at 41001 – 41999.
- This avoided overlap between PLC HMI writes and DCS reads.
Step 2 – Align with Honeywell DCS Point Builder
- In Honeywell EPKS, SCADA points were updated with new register addresses.
- DCS database now polled only the read block, while writes were limited to the dedicated write block.
Step 3 – ProSoft Database Cleanup
- Removed redundant mappings.
- Used ProSoft diagnostics to verify correct data flow (no overwrites).
Step 4 – Testing & Validation
- Simulated DCS commands (compressor start/stop) and confirmed PLC HMI displayed correct statuses.
- Alarms and measurements were stable with no flicker or false triggers.
- System accepted load runs without any Modbus communication error.
Lessons Learned
- Always Separate Read & Write Registers
- Define exclusive ranges for each.
- Document the register map and share with both PLC and DCS teams.
- Validate with ModScan/Modbus Poll Before Live Test
- Check both read and write behavior separately to catch clashes early.
- Database Strategy is Key in ProSoft Modules
- Allocate memory blocks with enough spacing for future expansion.
- Involve Both PLC and DCS Engineers in Mapping
- Misalignment often occurs when each side assumes the other understands the Modbus map.
- Test Under Load Conditions
- Issues like data flicker often only appear under full polling load from both HMI and DCS.
Real-World Takeaway
This project taught us that even with advanced SCADA systems and high-speed Modbus TCP/IP, the simplicity of Modbus can be deceptive. Register clashes between PLC HMI and Honeywell DCS can cripple operations if not handled carefully.
The key is proper Modbus register planning:
- Separate read/write ranges.
- Validate early with ModScan.
- Keep detailed Modbus mapping documents for both vendors.
Conclusion
When integrating Allen-Bradley PLCs (via ProSoft Modbus TCP/IP) with Honeywell Experion DCS, engineers must pay careful attention to register allocation strategy. By separating read and write blocks, validating with ModScan, and aligning configurations between teams, you can avoid costly data clashes during plant turnaround.
