How to Configure Honeywell EPKS R515 SCADA Points When Allen-Bradley PLC Uses 16-Bit Signed Integers for Digital Points

Integrating Allen-Bradley PLCs with Honeywell Experion PKS (EPKS) R515 SCADA is a common requirement in the process industry. However, engineers often face a frustrating issue: when the PLC is configured to send digital points using 16-bit signed integers, the values are not displayed correctly in ModScan or within Honeywell SCADA.

This article explains the root cause of the problem, the configuration steps required, and best practices to ensure smooth communication between Allen-Bradley PLCs and Honeywell EPKS SCADA systems.


Understanding the Problem

  1. Allen-Bradley PLC Setup
    • Digital points (ON/OFF signals) are sometimes mapped as 16-bit signed integers in Modbus.
    • Example:
      • 0 = OFF
      • 1 = ON
    • But because the register is defined as signed, the PLC still allocates a full 16-bit word.
  2. ModScan Observation
    • When you test using ModScan, the digital point appears as a raw integer (word).
    • Instead of a simple ON/OFF, you may see values like 0001, FFFF, or 32767, depending on how the PLC packs the bits.
  3. Honeywell EPKS Issue
    • Honeywell DCS expects a clear Boolean (0/1) or a well-defined integer point.
    • Without proper configuration, SCADA cannot interpret the signed integer as a digital status.

Root Cause

  • The mismatch arises because Allen-Bradley CompactLogix/ControlLogix PLCs store digital states in INT (16-bit signed) registers, while Honeywell EPKS expects Boolean or Unsigned Integer mapping.
  • Without proper scaling or bit extraction, the SCADA system fails to recognize the digital state correctly.

Step-by-Step Configuration in Honeywell EPKS R515

1. Verify PLC Mapping

  • Check the Modbus register mapping in the Allen-Bradley PLC (via RSLogix/Studio 5000).
  • Confirm if digital points are stored as:
    • Bit-packed inside a single 16-bit register
    • Or as individual signed integers

👉 Best practice: For digital points, map them as Coils (0xxxx) if possible, instead of Holding Registers (4xxxx).


2. Configure Modbus Slave Address in Honeywell SCADA

  • In Honeywell EPKS Control Builder, configure the PLC Modbus slave with the correct:
    • Device address
    • Communication speed (baud rate, parity, stop bits)
    • Function codes (FC01 for coils, FC03 for registers)

3. Define the SCADA Point Type

  • Create a new SCADA point in Honeywell Point Builder.
  • Choose Integer Point if reading raw signed integers.
  • Or define a Binary Point if you plan to extract only ON/OFF states.

4. Apply Data Conversion

  • If the PLC sends 16-bit signed integers, apply one of the following:
    1. Masking/Bit Extraction – Configure Honeywell to look only at the least significant bit (LSB) for ON/OFF.
    2. Expression Mapping – Use Honeywell EPKS calculation blocks to convert -32768 to +32767 values into simple Boolean logic.
      • Example: If Value > 0 → ON, Else → OFF

5. Test Using ModScan

  • Recheck the data with ModScan:
    • If the PLC sends 0001, ensure SCADA interprets it as ON.
    • If the PLC sends 0000, ensure SCADA interprets it as OFF.
  • Validate communication speed and register alignment.

Example: Configuration Walkthrough

Scenario:

  • Allen-Bradley PLC digital output → Mapped to Holding Register 40001
  • Data Type → 16-bit Signed Integer

SCADA Setup in Honeywell EPKS:

  1. Point Type → Integer Point
  2. Data Conversion → Apply mask to extract Bit 0
  3. Logic in SCADA:
    • If Register & 0x0001 = 1 → Digital Point = ON
    • Else → OFF

Best Practices

  1. Use Coils for Digital Points
    • Always map digital ON/OFF states to coils (0xxxx) in Modbus if both systems support it.
    • This avoids unnecessary integer-to-Boolean conversions.
  2. Bit Packing Strategy
    • When hundreds of digital alarms are needed, pack them into holding registers for efficiency.
    • Document mapping carefully for SCADA engineers.
  3. Check Function Codes
    • Some Honeywell SCADA versions do not support FC05 (write single coil).
    • Always test compatibility during FAT (Factory Acceptance Test).
  4. Validate During Turnaround
    • Integration projects often have tight deadlines during plant turnaround.
    • Pre-validate Modbus communication in a staging/test system before live cutover.

Real Case Study

During a chemical plant turnaround, engineers faced the issue where Allen-Bradley PLC digital points were mapped as signed integers. Honeywell EPKS R515 SCADA could not interpret the values correctly, and ModScan displayed non-binary results.

Solution:

  • Engineers applied bit masking in Honeywell EPKS to extract the lowest bit from each register.
  • Digital points were then correctly displayed as ON/OFF statuses.
  • The fix avoided project delays and allowed SCADA monitoring to go live within the turnaround deadline.

Troubleshooting Table: Modscan Test Results for 16-bit Signed Integer Points

Test CaseModscan ObservationPossible CauseStep-by-Step Fix
1. Normal Read (Expected 0/1)Modscan shows “0000” for OFF, but no change when PLC point turns ONSCADA configured as Unsigned Integer instead of Signed1. Open Honeywell EPKS Point Builder.
2. Edit point type → select INT16 (Signed).
3. Redeploy database and retest in Modscan.
2. Negative Values SeenModscan shows -32768 or negative values for simple ON/OFF bitWrong data interpretation – SCADA reads as signed, but point should be Boolean1. Configure SCADA point as Digital (Boolean) instead of INT.
2. Use Bit Extraction in Modscan (e.g., Coil or Bit mask).
3. Re-test and confirm binary ON/OFF behavior.
3. Always Reading “FFFF”Modscan shows 65535 (FFFF hex) regardless of PLC valueAddressing mismatch between PLC Modbus Map and SCADA Point1. Check PLC Modbus Map (Prosoft/CompactLogix).
2. Verify Holding Register vs Coil Register mapping.
3. Correct the register offset in EPKS (e.g., 40001 vs 40000).
4. Point Not UpdatingModscan shows a fixed value (e.g., always 0001)Wrong Modbus function code used in SCADA (03 vs 01)1. Verify PLC register type (Holding Register vs Coil).
2. In EPKS, set function code to match PLC.
3. Re-run Modscan with correct function code.
5. SCADA Reads Garbage DataModscan shows random fluctuating numbersWord/Byte Swap mismatch between PLC and SCADA1. Enable Word Swap or Byte Swap in Prosoft Module.
2. Update SCADA Modbus Point settings (Big-Endian vs Little-Endian).
3. Validate consistency by writing test values from PLC.

Conclusion

The difference between how Allen-Bradley PLCs represent digital points (signed integers) and how Honeywell EPKS R515 SCADA expects to read them often causes communication mismatches.

The key to solving this is:

  • Identify how PLC maps the data
  • Configure SCADA point type correctly
  • Apply bit masking or data conversion if necessary

By following these best practices, you can ensure reliable PLC–SCADA communication and avoid last-minute integration headaches during critical plant operations.

Share The Post :

Leave a Reply