Make the panel and PLC exchange registers in two isolated tests before any motor moves: write 12345 to a spare holding register and watch it land in the PLC monitor, then read encoder position back and compare it to the same monitor. Match station address, baud rate and parity at both ends, keep scaling in one place, and put PLC travel-limit checks between an entry and the motion logic.
An operator panel and a PLC talk when three things line up: a driver in the panel software written for your PLC's port, identical link settings at both ends, and a register map both sides agree on. Bring the link up in two isolated tests before any motor sees an entered value. First, write 12345 from the panel into a spare holding register and watch it arrive in the PLC programming software's monitor. Second, read encoder position back to the panel and compare it against the same monitor. Everything a panel does beyond those tests, X and Y targets in millimeters and live position readback, is register exchange on top of those two checked directions. The sections below give the commissioning order, the settings that must match, the counts-to-millimeters arithmetic, and the checks that say the link is ready for motion.
How does an operator panel talk to a PLC?
The panel talks to the PLC through one documented driver plus matching link settings. Pick the driver written for your PLC's port and protocol, set the same station address, baud rate and parity at both ends, and the two devices exchange register values on every poll.
A panel is a poller. Its driver reads the registers behind each display object and writes the registers behind each entry object, on a cycle the panel software sets per object. A number moving on the screen is a register changing. A motor moves when PLC logic acts on a register the panel filled. Hold onto that picture for every step below.
Check the physical path before any setting. Read both manuals for the interface each port speaks, RS-232, RS-485 or Ethernet, and check the cable conductor by conductor against both. A plug that fits can still route the conductors differently. If the PLC needs an added communication module to speak the panel's protocol, sort that hardware out before you open the configuration software.
What do you need before you start?
Before you touch software, collect the manual for the panel's communication port, the manual for the PLC's port or module, a cable checked conductor by conductor against both manuals, one spare writable holding register agreed with the PLC program, and a harmless five-digit test value.
- The driver name your panel software offers for the PLC port you have, checked against both manuals.
- The link's electrical form: RS-232 point to point, RS-485 bus, or Ethernet, with connector types and a cable check against both manuals.
- One spare writable holding register that no production logic reads or overwrites.
- A test value that fits one 16-bit register, and a note of which register it went to.
The spare register is the whole trick. A test write that lands somewhere harmless costs nothing; the same write bound to a motion target moves a machine. You will remove the test object at the end, so pick a register you can give up.
Which communication settings must match at both ends?
On a serial Modbus RTU link, five settings must read identically at both ends: station address anywhere from 1 to 247, baud rate, data bits, parity and stop bits. The protocol's default line setup is 9600 baud, 8 data bits, even parity, 1 stop bit.
| Setting | Panel side | PLC side | Match rule |
|---|---|---|---|
| Station address | driver settings | port settings | same number, 1 to 247 |
| Baud rate | driver settings | port settings | identical; 9600 is the default |
| Data bits | driver settings | port settings | identical, 8 |
| Parity | driver settings | port settings | identical, even by default |
| Stop bits | driver settings | port settings | 1 with parity, 2 with none |
The stop-bit row comes from the Modbus specification: without parity the frame carries 2 stop bits. Change a setting and you change it at both ends in the same sitting. A link that worked at 9600 goes silent the moment one side moves to 1920.
RS-485, the electrical layer under most two-wire RTU links, is specified in TIA-485 and runs to about 1200 m at Modbus speeds. Wire the bus as a daisy chain and terminate both ends with 120 ohm; long stubs show up first as random timeouts. The bus carries one master, the panel; two Modbus RTU masters on one RS-485 bus talk over each other and read as random timeouts too.
When the panel reports a timeout, work in this order: cable and termination, driver selection, then the five settings above.
How do you test the panel's write path without touching motion?
Bind one temporary numeric input object to the spare holding register, enter 12345 on the panel, and watch that register in the PLC programming software. When the monitor shows 12345, the write path works and no motor output has been touched.
- In the panel configuration software, select the driver documented for your PLC's port and create one temporary numeric input object.
- Bind it to the spare holding register and note the address convention: the Modbus reference scheme names the first holding register 40001 while the wire carries address 0, so a panel reference and a PLC address sitting one apart is the classic silent fault.
- Set the PLC to RUN, or to the mode its manual names for serving the port, and open the programming software's monitor on the spare register.
- Enter the test value at the panel and watch the monitor.
- If the monitor never moves, check in this order: object address, data type, write permission on the register, then the 40001 convention from step 2.
A value that arrives wrong points at format. Odd digit patterns and jumps in strange steps mean the two sides read the same bits differently, the fault behind a PLC BCD analog register that shows nonsense on an HMI panel. Compare signed against unsigned, word length and decimal placement on both sides.
A value that lands and then reverts to its old number means PLC logic overwrites that register every scan; move the test to a register the program leaves alone. A register that resets after a write has causes of its own, worth a read if the revert survives a change of register.
Leave the object's scaling block at 1:1 for this test; scaling gets checked in the example below.
What does a worked example of the write and the readback show?
Say the machine document states 100 counts per millimeter and you enter 25.4 mm: the panel writes 2540 to the target register, the axis settles at a readback of 1015 counts, and the panel and the PLC monitor both show 10.15 mm.
- Target entry: 25.4 mm × 100 counts/mm = 2540 counts. One 16-bit register takes it.
- Do that multiply in exactly one place. If the PLC scales entries to counts and the panel also applies its raw-to-scaled block, the register receives 254000, past what one 16-bit register holds, and a scaling fault reads like a link fault.
- Readback: 1015 counts ÷ 100 counts/mm = 10.15 mm. Panel and monitor agreeing means the read direction scales correctly.
- A panel showing 101.5 mm is out by a factor of 10: the scaled maximum in its raw-to-scaled block sits one decimal place high, or the PLC divides once more. Fix the conversion in one deliberate place and run the example again.
The numeric input object's scaling block takes a raw minimum and maximum on the register side and a scaled minimum and maximum on the screen side; set it once and the same block handles millimeters from then on. The 100 counts per millimeter above is this example's input. Your machine's factor comes from its encoder resolution and mechanics, stated in the machine document, and every line keeps the same arithmetic with your number in place of 100.
How do you verify encoder readback against the PLC monitor?
Bind one display object to the documented encoder position register, turn the axis under a safe condition, and compare the panel number with the PLC monitor at each stop. When both land on the same count every time, the read path is good.
- Bind one display object to the position register the PLC program actually stores the X encoder value in, in the register area its documentation names.
- Put the axis in a safe condition under the machine procedure, drive disabled or hand-turned.
- Turn the axis to five stops across the travel and write down both numbers, panel and monitor, at each.
- Repeat for Y, and check each display object addresses its own axis.
- Watch how the panel number steps: it updates at the object's configured update period, set in the panel software, and that poll period is what live readback means on a panel.
A frozen panel number over a counting monitor is an address or update-period fault, the same family as an imported tag that ignores PLC register writes. Two numbers that track but sit a fixed factor apart mean double scaling or a misplaced decimal; remove one of the two conversions. Odd digits mean data type, so revisit the format comparison from the write test.
When can entered millimeters reach the motion logic?
Connect entered millimeters to motion only after both tests pass, and only through PLC validation. Keep separate X and Y target registers, reject every entry outside the machine's travel limits in PLC logic, and move only under the machine's normal start conditions.
- Define separate target registers for X and Y in the PLC program and put both on the register map.
- Validate before anything moves: reject any target outside the travel limits, and enforce increment and decrement limits in PLC logic on trim-style entries.
- Transfer an accepted target into the motion sequence only under the machine's normal start conditions.
- Keep the panel writing registers. A panel object writes a register, never an output or a physical input; that separation is why an HMI toggle cannot force a PLC physical input.
Treat panel entries as requests the PLC is free to refuse. Commission the first live move under the machine's documented motion-test procedure, at reduced speed where the procedure allows it, guards in place and the stop chain untouched.
How do you check the whole setup worked?
The setup is done when the test write lands in the spare register, encoder readback matches the PLC monitor on both axes, an out-of-range entry comes back rejected, and one commanded test move follows the entered target. Write down the driver, port, cable and settings that passed.
- Remove or disable the temporary write object and strike the spare register from the panel project.
- Record the driver name and version, port and electrical interface, the cable check against both manuals, station address, baud, parity and stop bits.
- Record the register map entries the link uses: test register, X target, Y target, X position, Y position.
- Record the scaling block values on the entry objects, so the next person can see where counts become millimeters.
- Rerun the write test and the readback after any panel project download or PLC port change; either can disturb a link that worked.
- If the panel or its cable is ever replaced, expect the protocol mismatch that follows a panel swap and rerun the write test before you trust the link again.
Recommendation: bring every panel-to-PLC link up in this order: settings matched at both ends, one test write into a spare register, encoder readback against the PLC monitor, then motion behind PLC travel-limit checks. Repeat the two tests whenever a project is downloaded again or a port setting changes, and let entered values reach motion logic only through the PLC's limit checks.
Questions
Which side is wrong when the link times out?
A timeout means the expected exchange never finished, so split the problem in half. Connect the panel to the PLC port with a short cable you trust, at 9600 baud, 8 data bits, even parity, 1 stop bit. If the link comes up on the test cable, the permanent cable, its termination or its routing is at fault. If it still times out, re-read the driver selection, compare the port settings side by side, and make sure the PLC port is free to serve the panel.
How large a number fits in one register?
One 16-bit register holds 0 to 65535 unsigned or -32768 to 32767 signed, so the test value and a 2540-count target fit either way. Counts above 65535 need a 32-bit format that uses two consecutive registers, if your panel and PLC both offer one. Declare the same format and the same word order at both ends, or the two halves of the number swap and the value jumps without any cable fault.
Can the programming software stay connected while the panel runs?
A PLC serial port serves one master at a time. Close the programming software's online session before you judge the link, because a port that carries both a programming protocol and a link protocol usually answers one at a time, and a panel that looks dead may be waiting for the port. Ethernet links often accept several clients at once; rely on that only where your combination documents simultaneous access.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.