setting the modbus client to “sequential mode” has resolved this for me in the past.
you have to enable “show advanced options” for it to show.
This forces the modbus client to wait for a response from one request before scanning the next. It shouldnt hurt in any case and will help smooth out any network hiccups.
You also might consider reducing the frequency if these signals are not timing-sensitive (such as most outputs; particularly cycle_start)
NOTE: FYI - setting the frequency to 0 is acceptable. This effectively makes that particular signal a “one-shot” signal instead of a polled signal. Be careful using 0Hz on inputs - they wont update except for when modbus_get_signal_status() is run explicitly.