Unable to connect Openplc with the PLC_16DIO_4AIO

I configured %IX100.0–%IX100.4, %QX100.0–%QX100.5, QW100, QW101, and MW0.
In the PLC, I set DI1 to [“800”,“801”,“802”,“803”,“804”,“none”,“none”,“none”] and DO1 to [“816”,“817”,“818”,“819”,“820”,“821”,“none”,“none”].
I entered AI0 = 1024 and AO0/AO2 = 100/101. The Info field shows no errors, but it appears that only AI0 is responding. The Modbus mapping follows the guidance here: 2.5 Modbus Addressing

Hi,
According to the Modbus addressing:

  • Discrete Input Contacts: %IX100.0 – %IX100.4 are assigned to 800 – 804
  • Discrete Output Coils: %QX100.0 – %QX100.5 are assigned to 800 – 805
  • Analog Input Registers: %IW0 to 0
  • Holding Registers: %QW100-101 are assigned to 100-101
    Your setup does not seem totally ok. Did you also tried setting “use_relative_addresses” to False?
1 Like

Hi, thanks for your reply. I tried both suggested approaches but still ran into issues:

  1. Relative addressing
    I get “Variable 100 not defined.” I suspect relative addressing doesn’t allow using the same number for multiple points (see screenshot).

  2. Absolute addressing
    I set use_relative_addresses = False and followed the official Simumatik manual for addressesModbus TCP Master, but the connection test still shows no activity (no signals/updates).

Could you advise:

  • Any required address rules or parameters I may have missed for these two setups?
  • The recommended way to map multiple I/O points to the same number?
  • A minimal working example (with DI/DO mapping and register ranges) to cross-check?

Screenshots/config snippets attached. Thanks a lot!

  1. Relative addressing

  1. Absolute addressing

My recommendation is that you follow up our tutorial (see below) and make sure you make it work.
After that you can try again your solution and see if you can make it work.
Anyway, generally I would recommend to use the Rack PLC (in the tutorial) rather than the compact one you are using.
Integration with OpenPLC