C-more Micro DL250-1: Fix HMI Button Address Conflicts

Brian Holt7 min read
AutomationDirectHMI ProgrammingTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

The C-more Micro panels communicated with the DL250-1, but the HMI buttons did not control the test program because X0 and X1 could be assigned to a hardwired input module. Changing baud rate, updating firmware, or swapping panel type does not resolve an address conflict; put HMI commands in separate writable memory and combine them with physical inputs in the PLC logic.

Stop repeating the fixes that leave X0 and X1 occupied

The test used a C-more Micro with a simple control sequence: an X0 button turns on Y0, and an X1 button turns it off. The panel was connected to the DL250-1 through the RJ12 jack at 9600 baud, and no communication errors appeared. The same behavior occurred with both touch and non-touch Micro panels. The panels worked with DL230 and DL240 PLCs, and the DL250-1 and panels had firmware updates applied.

  • Do not start by changing baud rate. Both devices already used 9600 baud, and the panel showed no communication errors. A matching baud rate can establish communications while a particular PLC address still fails to behave as a writable command.
  • Do not treat a firmware update as the address fix. The firmware was updated without restoring the button function. Revisit firmware only if later tests identify a communication or compatibility fault.
  • Do not swap touch and non-touch panels as the primary test. Both panel types showed the same behavior, which points away from a panel-specific touchscreen fault.
  • Do not move to port 2 without a reason. Port 2 was not tested. First establish that the configured panel-to-PLC connection can exchange data using a known writable PLC address.

These checks do not prove every communication path is correct. They do make the X-address assignment the first issue to inspect when the panel has a live connection but its button state does not affect the PLC program.

Check whether a physical input module owns X0 or X1

On the DL250-1 setup in question, an eight-point input module was present. If that module is addressed to include X0 and X1, the PLC refreshes those input states from the physical terminals. An HMI write to one of those same addresses competes with the input image: the physical input value can overwrite the HMI value, so the ladder logic does not see the button state the panel sent.

A communications indicator is not an address-ownership test. A panel can communicate with a PLC while a value written to an input address is overwritten, or while the selected address is not writable through that communications path. Distinguish “the panel is online” from “the PLC program can use this button command.”

Observed behavior Likely cause to check Next test
No communication error, but X0/X1 button action does not reach the logic X0/X1 may be assigned to a physical input module and refreshed from its terminals Check the PLC I/O configuration and observe the input state while pressing the HMI button
Panel button state changes, but Y0 does not respond The PLC logic may still be reading the contested input address, or the HMI write may target a different address than the logic Compare the panel button’s write address with the address used by the ladder logic
Panel reports a communication error or no PLC values update Connection, port, protocol, or serial settings may need attention Check the connection configuration and confirm data exchange with a known accessible address
HMI command works on an unassigned internal address but not on X0/X1 Input-memory ownership or write restrictions are implicated Keep HMI commands in a dedicated internal-memory area

Separate HMI commands from physical input addresses

Reserve a block of internal memory for panel commands rather than assigning HMI pushbuttons to addresses that may belong to physical input modules. The troubleshooting guidance for this setup identifies GX or C memory as alternatives. Choose a memory area supported by the panel’s PLC driver and available in the controller project; confirm the address in both the panel object configuration and PLC logic.

Keeping HMI signals separate also prevents future I/O changes from silently changing what a screen button controls. Do not assign a physical input and an HMI button to the same PLC address and expect the two sources to behave like parallel contacts. One address represents one PLC data value, and the hardware input update can take precedence over an HMI write.

An alternative discussed during the test was moving the panel commands and program references to X10 and X11. Treat that only as a candidate if the I/O configuration confirms those addresses are not assigned to physical inputs and the PLC communication driver permits writes there. The project change was described, but its success was not confirmed. A dedicated internal C or GX memory block is the clearer separation.

Route the commands through PLC logic

Keep the existing physical start and stop inputs, but add separate HMI command bits and use both sources in the program. Conceptually, the start condition is the physical start input OR the HMI start command; the stop condition is the physical stop input OR the HMI stop command. Implement that behavior using the project’s actual ladder instructions and assigned addresses.

  1. In the PLC I/O configuration, identify the X addresses occupied by the input module. Record which physical terminal maps to each address used by the program.
  2. Select a supported, unused internal-memory area for HMI commands. Avoid reusing an address mapped to a hardwired input.
  3. Change the C-more Micro button objects so they write to the selected internal addresses. Check that the on/off button behavior matches the intended command semantics.
  4. Change the PLC logic to read those internal command bits and combine them with the applicable hardwired input conditions. Keep the physical input paths intact if operators still need them.
  5. Download or apply the PLC and panel project changes according to the normal site process, then test the two command paths independently.

Do not copy a memory address from another project without checking the DL250-1’s current I/O map and program. The original setup included a module with eight points, but the exact module addressing and available internal-memory addresses must come from the installed project.

Verify each command at the address and at Y0

Monitor the PLC address written by each panel button before diagnosing the output logic. Press the HMI start button and confirm its dedicated internal bit changes; release it and confirm the bit returns to its configured inactive state. Repeat for the stop button. Then test the physical input terminals separately and confirm their mapped X states follow the wiring.

With both paths visible, verify that either intended start source produces the expected logic condition and that the stop source turns the output off as designed. Watch Y0 in the PLC monitor as well as the connected indicator if available. This separates a panel-to-memory problem from a ladder-logic or output-wiring problem.

If an internal HMI bit does not change, check the panel object’s target address, PLC driver selection, and connection settings. If the bit changes but Y0 does not, trace the PLC logic from that bit to the output and inspect interlocks or other conditions. If X0 changes with the physical terminal but ignores the HMI write, leave the physical input address assigned to the module and keep HMI commands in internal memory.

Escalate after isolating the address path

Before calling official AutomationDirect support, record the DL250-1 I/O configuration, the panel button target addresses, the PLC logic path to Y0, the serial settings, and whether a test of an internal address succeeds. Stop changing firmware or moving connections once the tests isolate a driver, port, or address-access issue; provide those observations to official support so the next step targets the failing layer.

Frequently asked questions

How do I make a C-more Micro button work with a DL250-1?

Assign the button to a supported internal-memory address such as a project-selected C or GX memory bit, then have the PLC logic read that bit. Do not share an address assigned to a hardwired input module.

Why does the DL250-1 show no communication error when the button does nothing?

A live panel connection does not prove that the selected PLC address is writable or that its value survives the input update. Check the target address and watch it in the PLC monitor while pressing the button.

How do I check whether X0 belongs to an input module?

Inspect the DL250-1 project’s I/O configuration and identify the module’s mapped X range. Compare that mapping with the panel button’s write address and the address used by the ladder logic.

Can I use X10 and X11 for the HMI buttons?

Only if the installed I/O map confirms those addresses are not occupied by physical inputs and the communication driver allows writes to them. A dedicated internal C or GX memory block avoids relying on an unverified X-address assignment.

How do I know whether the problem is the panel or the PLC logic?

Monitor the exact address configured on the panel button. If it changes but Y0 does not, trace the PLC logic and output conditions; if it does not change, recheck the panel target address, driver, and connection settings.

Back to blog