We are using Node-Red 2.1.4, Node.js 16.12. Modbus is handled by node-red-contrib-modbus version 5.27.2
I am using flex-getter and setter and cascading the read requests to an EATON PLC. The only way to recover communication is to power cycle the PLC. I was told by EATON that the MODBUS requests need to explicitly close the MODBUS connecton after each request but I cannot find that option with the MODBUS TCP node.
I installed the "latest" version of MODBUS TCP shown in the Github repo.
I have essentially grouped the polling reads for I/O to one flex-getter per inputs and one for outputs. Within that grouping I cascade by feeding the response from the flex-getter to trigger the next JSON payload, etc. There are about ten read requests on the Inputs and 19 for the outputs. I grouped requests as best I could by address sequences. I am trigger the polling at different intervals (2.8 seconds for inputs and 4.7 seconds) for outputs hoping to reduce the load.