Hollysys LM3106 Address Mapping Help

Appreciate any help in advance.

Connected just fine to a Hollysys LM3106 PLC Processor via ethernet to serial convertor. Am able to read coils just fine from the unit.

Have 3 memory locations in the PLC that I am attempting to read (this is not a finished PLC program, but rather a proof of concept program).

The memory locations have to start at MX100 as MX0-MX99 are reserved for system diagnostics.

If I go online via the plc supplied programming interface, I can see those address update to the correct value as the program cycles (couple of timers cycling each other).

Page 182 of this manual describes holding register addressing. (sorry for not being able to link the specific excerpt) - automationlasso-store.com/me … l_v1.0.pdf

I have tried every iteration of addressing direct in Ignition (using direct addressing such as [Test Unit]51.HR3000.5 and [Test Unit]51.HR100.5, [Test Unit]51.HR3801 etc)

I am trying to read the following addresses


Any thoughts would be so very much appreciated. Once I get it figured out for one address, I can get the rest going.

Looks to me like you should be addressing coils, not holding registers.

Try [Test Unit]51.C3801 and [Test Unit]51.C3805.

Edit: Make sure device name (Test Unit) and unit id (51) are correct as well.

Well, as is typical with this type of thing, I figured it out within 30 seconds of posting.

The addresses I was using via the mapping conversion were off by 1. I unchecked the zero based addressing in the device and the addresses mapped as expected.

To read MX100.1 does equal HR3050.1 now.

Hopefully thishelps someone in the future

***edit A response was made while I was typing my reply. I will try that also as I am learning how this PLC works with Ignition (and learning Ignition also)

That manual explicitly states that %MX locations are of Modbus Data Type 0x (Coil)… be careful that you have the right location/values.

Edit: Oh I see, the holding register is holding the same value or something. Carry on then!