Issue in MODBUS RTU network

Hello forum

I am making an application to get the alarms and speed, position & torque data from SMC's JXC controllers.
I am showing alarms with the LED indication and plotting the data of speed etc. on Graph.
The data is available on MODBUS RTU.
I have made a modbus network of 8 controllers.

In this flow i am making 8 requests for alarms of each controllers and 3 requests for speed , position and torque data of each.

There is 50 ms second time delay between each modbus request which i think is sufficient.
So in total there are 32 requests at 50 ms delay are generated.

After one set of requests completed, i want to run these requests at 3 second interval using inject node.
So i have set 3 seconds in inject node.

But i am unable to do so. The data does not come if i have given less than 10 seconds.
It means that i can take data at interval of 10 seconds or more.

Can anyone help me to get rid of this problem.
I have attached my flow.

I am using node-red-contrib-modbus 5.23.1 version

flows.json (138.0 KB)

Firstly, when posting flows please insert it inline, but only export as many nodes as are required to exhibit the issue. When pasting flows, in order to make it, readable and usable it is necessary to surround your code with three backticks (also known as a left quote or backquote ```)

``` 
   code goes here 
```

You can edit and correct your post by clicking the pencil :pencil2: icon.

See this post for more details - How to share code or flow json

Have you attached a debug node to the inject and to the reply from the last one in the chain in order to see how long the whole sequence takes? Have you allowed for the time the devices take to respond?


[{"id":"469aa89395520d77","type":"tab","label":"COPY19-9-22_ACT_MONITOR","disabled":false,"info":"","env":[]},{"id":"f8f8086777cc6a3a","type":"inject","z":"469aa89395520d77","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"10","crontab":"","once":true,"onceDelay":"0.1","topic":"","payload":"","payloadType":"date","x":130,"y":500,"wires":[["36594a22d8f22fe9"]]},{"id":"36594a22d8f22fe9","type":"function","z":"469aa89395520d77","name":"ALARMS","func":"CONT1= {\n 'fc': 2, \n 'unitid': 1, \n 'address': 64, \n 'quantity': 16 \n}; \n\nPOS1= {\n 'fc': 3, \n 'unitid': 1, \n 'address': 36865, \n 'quantity': 1 \n}; \n\nSPD1= {\n 'fc': 3, \n 'unitid': 1,\n 'address': 36867, \n 'quantity': 1 ,\n\n};\n\nTRQ1= {\n 'fc': 3, \n 'unitid': 1,\n 'address': 36869, \n 'quantity': 1 ,\n\n};\n\nCONT2= {\n 'fc': 2, \n 'unitid': 2,\n 'address': 64, \n 'quantity': 16 ,\n\n};\n\nPOS2= {\n 'fc': 3, \n 'unitid': 2, \n 'address': 36865, \n 'quantity': 1 \n}; \n\nSPD2= {\n 'fc': 3, \n 'unitid': 2,\n 'address': 36867, \n 'quantity': 1 ,\n\n};\n\nTRQ2= {\n 'fc': 3, \n 'unitid': 2,\n 'address': 36869, \n 'quantity': 1 ,\n\n};\n\nCONT3= {\n 'fc': 2, \n 'unitid': 3,\n 'address': 64, \n 'quantity': 16 ,\n\n};\n\nPOS3= {\n 'fc': 3, \n 'unitid': 3, \n 'address': 36865, \n 'quantity': 1 \n}; \n\nSPD3= {\n 'fc': 3, \n 'unitid': 3,\n 'address': 36867, \n 'quantity': 1 ,\n\n};\n\nTRQ3= {\n 'fc': 3, \n 'unitid': 3,\n 'address': 36869, \n 'quantity': 1 ,\n\n};\n\nCONT4= {\n 'fc': 2, \n 'unitid': 4, \n 'address': 64, \n 'quantity': 16 \n}; \n\nPOS4= {\n 'fc': 3, \n 'unitid': 4, \n 'address': 36865, \n 'quantity': 1 \n}; \n\nSPD4= {\n 'fc': 3, \n 'unitid': 4,\n 'address': 36867, \n 'quantity': 1 ,\n\n};\n\nTRQ4= {\n 'fc': 3, \n 'unitid': 4,\n 'address': 36869, \n 'quantity': 1 ,\n\n};\n\nCONT5= {\n 'fc': 2, \n 'unitid': 5,\n 'address': 64, \n 'quantity': 16 ,\n\n};\n\nPOS5= {\n 'fc': 3, \n 'unitid': 5, \n 'address': 36865, \n 'quantity': 1 \n}; \n\nSPD5= {\n 'fc': 3, \n 'unitid': 5,\n 'address': 36867, \n 'quantity': 1 ,\n\n};\n\nTRQ5= {\n 'fc': 3, \n 'unitid': 5,\n 'address': 36869, \n 'quantity': 1 ,\n\n};\n\nCONT6= {\n 'fc': 2, \n 'unitid': 6,\n 'address': 64, \n 'quantity': 16 ,\n\n};\n\nPOS6= {\n 'fc': 3, \n 'unitid': 6, \n 'address': 36865, \n 'quantity': 1 \n}; \n\nSPD6= {\n 'fc': 3, \n 'unitid': 6,\n 'address': 36867, \n 'quantity': 1 ,\n\n};\n\nTRQ6= {\n 'fc': 3, \n 'unitid': 6,\n 'address': 36869, \n 'quantity': 1 ,\n\n};\n\nCONT7= {\n 'fc': 2, \n 'unitid': 7, \n 'address': 64, \n 'quantity': 16 \n}; \n\nPOS7= {\n 'fc': 3, \n 'unitid': 7, \n 'address': 36865, \n 'quantity': 1 \n}; \n\nSPD7= {\n 'fc': 3, \n 'unitid': 7,\n 'address': 36867, \n 'quantity': 1 ,\n\n};\n\nTRQ7= {\n 'fc': 3, \n 'unitid': 7,\n 'address': 36869, \n 'quantity': 1 ,\n\n};\n\nCONT8= {\n 'fc': 2, \n 'unitid': 8,\n 'address': 64, \n 'quantity': 16 ,\n\n};\n\nPOS8= {\n 'fc': 3, \n 'unitid': 8, \n 'address': 36865, \n 'quantity': 1 \n}; \n\nSPD8= {\n 'fc': 3, \n 'unitid': 8,\n 'address': 36867, \n 'quantity': 1 ,\n\n};\n\nTRQ8= {\n 'fc': 3, \n 'unitid': 8,\n 'address': 36869, \n 'quantity': 1 ,\n\n};\n\n\na = {payload:CONT1};\nP1 = {payload:POS1,delay:50};\nS1 = {payload:SPD1,delay:100};\nT1 = {payload:TRQ1,delay:150};\n\nb = {payload:CONT2,delay:200};\nP2 = {payload:POS2,delay:250};\nS2 = {payload:SPD2,delay:300};\nT2 = {payload:TRQ2,delay:350};\n\nc = {payload:CONT3,delay:400};\nP3 = {payload:POS3,delay:450};\nS3 = {payload:SPD3,delay:500};\nT3 = {payload:TRQ3,delay:550};\n\nd = {payload:CONT4,delay:600};\nP4 = {payload:POS4,delay:650};\nS4 = {payload:SPD4,delay:700};\nT4 = {payload:TRQ4,delay:750};\n\ne = {payload:CONT5,delay:800}; \nP5 = {payload:POS5,delay:850};\nS5 = {payload:SPD5,delay:900};\nT5 = {payload:TRQ5,delay:950};\n\nf = {payload:CONT6,delay:1000};\nP6 = {payload:POS6,delay:1050};\nS6 = {payload:SPD6,delay:1100};\nT6 = {payload:TRQ6,delay:1150};\n\ng = {payload:CONT7,delay:1200};\nP7 = {payload:POS7,delay:1250};\nS7 = {payload:SPD7,delay:1300};\nT7 = {payload:TRQ7,delay:1350};\n\nh = {payload:CONT8,delay:1400};\nP8 = {payload:POS8,delay:1450};\nS8 = {payload:SPD8,delay:1500};\nT8 = {payload:TRQ8,delay:1550};\n\n\n\nreturn [[a],[P1],[S1],[T1],[b],[P2],[S2],[T2],[c],[P3],[S3],[T3],[d],[P4],[S4],[T4],[e],[P5],[S5],[T5],[f],[P6],[S6],[T6],[g],[P7],[S7],[T7][h],[P8],[S8],[T8]]\n\n\n","outputs":32,"noerr":0,"initialize":"","finalize":"","libs":[],"x":80,"y":820,"wires":[["e243bbde56f39e56"],["43fb97f13211229f"],["c524cbbdfd46f8f9"],["d66192a88a4ff55e"],["4fbd80f885b54e2c"],["a7598dec3a157c92"],["78e1a077c6912d78"],["19eb71294834dab2"],["38bcef51caf97e6b"],["484ba1799ad0aa3d"],["82b0190d65181905"],["089057fe437cfdc1"],["00e09b62a8607194"],["9d6e2831ea1f63ca"],["b4dc6fa1f26a0a8b"],["1d307679aead8705"],["c5aabd6bc6dfe23e"],["ca7a70de9d766fda"],["025347cc052142fb"],["a708718d933f3194"],["cb29ef1c181e773e"],["e3294db2dd18b637"],["767829436ac4a18d"],["07713ef748189274"],["edbd900ae246d0cf"],["b6f65b16b328369a"],["9cdd93b90b51cb26"],["75647fb66382faf9"],["f5055d1fcfb25f6d"],[],[],[]]},{"id":"e243bbde56f39e56","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":40,"wires":[["3129081c1e9c0423"]]},{"id":"da7d162928fc9f7e","type":"ui_template","z":"469aa89395520d77","group":"44218e32.34a34","name":"","order":0,"width":"24","height":"10","format":"<html>\n\n<head>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n  <!-- <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css\"> -->\n  <!-- <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js\"></script> -->\n  <!-- <script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js\"></script> -->\n  <script src=\"https://cdn.jsdelivr.net/npm/apexcharts\"></script>\n</head>\n\n<body>\n  <div id=\"chart_1\" style=\"width:900px\"></div>\n  <script>\n    var options = {\n                series: [\n                  {\n                    name: 'Bob',\n                    data: [\n                      {\n                        x: 'Design',\n                        y: [\n                          new Date('2019-03-05').getTime(),\n                          new Date('2019-03-08').getTime()\n                        ]\n                      },\n                      {\n                        x: 'Code',\n                        y: [\n                          new Date('2019-03-02').getTime(),\n                          new Date('2019-03-05').getTime()\n                        ]\n                      },\n                      {\n                        x: 'Code',\n                        y: [\n                          new Date('2019-03-05').getTime(),\n                          new Date('2019-03-07').getTime()\n                        ]\n                      },\n                      {\n                        x: 'Test',\n                        y: [\n                          new Date('2019-03-03').getTime(),\n                          new Date('2019-03-09').getTime()\n                        ]\n                      },\n                      {\n                        x: 'Test',\n                        y: [\n                          new Date('2019-03-08').getTime(),\n                          new Date('2019-03-11').getTime()\n                        ]\n                      },\n                      {\n                        x: 'Validation',\n                        y: [\n                          new Date('2019-03-11').getTime(),\n                          new Date('2019-03-16').getTime()\n                        ]\n                      },\n                      {\n                        x: 'Design',\n                        y: [\n                          new Date('2019-03-01').getTime(),\n                          new Date('2019-03-03').getTime()\n                        ],\n                      }\n                    ]\n                  },\n                  {\n                    name: 'Joe',\n                    data: [\n                      {\n                        x: 'Design',\n                        y: [\n                          new Date('2019-03-02').getTime(),\n                          new Date('2019-03-05').getTime()\n                        ]\n                      },\n                      {\n                        x: 'Test',\n                        y: [\n                          new Date('2019-03-06').getTime(),\n                          new Date('2019-03-16').getTime()\n                        ],\n                        goals: [\n                          {\n                            name: 'Break',\n                            value: new Date('2019-03-10').getTime(),\n                            strokeColor: '#CD2F2A'\n                          }\n                        ]\n                      },\n                      {\n                        x: 'Code',\n                        y: [\n                          new Date('2019-03-03').getTime(),\n                          new Date('2019-03-07').getTime()\n                        ]\n                      },\n                      {\n                        x: 'Deployment',\n                        y: [\n                          new Date('2019-03-20').getTime(),\n                          new Date('2019-03-22').getTime()\n                        ]\n                      },\n                      {\n                        x: 'Design',\n                        y: [\n                          new Date('2019-03-10').getTime(),\n                          new Date('2019-03-16').getTime()\n                        ]\n                      }\n                    ]\n                  },\n                  {\n                    name: 'Dan',\n                    data: [\n                      {\n                        x: 'Code',\n                        y: [\n                          new Date('2019-03-10').getTime(),\n                          new Date('2019-03-17').getTime()\n                        ]\n                      },\n                      {\n                        x: 'Validation',\n                        y: [\n                          new Date('2019-03-05').getTime(),\n                          new Date('2019-03-09').getTime()\n                        ],\n                        goals: [\n                          {\n                            name: 'Break',\n                            value: new Date('2019-03-07').getTime(),\n                            strokeColor: '#CD2F2A'\n                          }\n                        ]\n                      },\n                    ]\n                  }\n                ],\n                  chart: {\n                  height: 450,\n                  type: 'rangeBar'\n                },\n                plotOptions: {\n                  bar: {\n                    horizontal: true,\n                    barHeight: '80%'\n                  }\n                },\n                xaxis: {\n                  type: 'datetime'\n                },\n                stroke: {\n                  width: 1\n                },\n                fill: {\n                  type: 'solid',\n                  opacity: 1,\n                },\n                legend: {\n                  position: 'top',\n                  horizontalAlign: 'left'\n                }\n                };\n        \n           \n\n            setTimeout(()=> {\n\n             var chart_1 = new ApexCharts(document.querySelector(\"#chart_1\"), options);\n             chart_1.render();\n           },1000) \n          \n  </script>\n</body>\n\n</html>","storeOutMessages":false,"fwdInMessages":true,"resendOnRefresh":false,"templateScope":"local","className":"","x":1160,"y":2080,"wires":[[]]},{"id":"4fbd80f885b54e2c","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":100,"wires":[["98e124604934929f"]]},{"id":"38bcef51caf97e6b","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":160,"wires":[["e67216e068367db0"]]},{"id":"00e09b62a8607194","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":220,"wires":[["1737e82f2aedd1a3"]]},{"id":"c5aabd6bc6dfe23e","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":280,"wires":[["013ff979fde79295"]]},{"id":"cb29ef1c181e773e","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":340,"wires":[["8dd709427e7d80fe"]]},{"id":"edbd900ae246d0cf","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":400,"wires":[["0dfa1fdbac4ee832"]]},{"id":"f5055d1fcfb25f6d","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":460,"wires":[["7171d7a4217f9564"]]},{"id":"a7598dec3a157c92","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":680,"wires":[["3c8a8458a36355a9"]]},{"id":"78e1a077c6912d78","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":720,"wires":[["dfce2c93b4751768"]]},{"id":"19eb71294834dab2","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":760,"wires":[["c470f446988a5557"]]},{"id":"484ba1799ad0aa3d","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":820,"wires":[["a758014c43502a5c"]]},{"id":"82b0190d65181905","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":860,"wires":[["23d293313c576133"]]},{"id":"089057fe437cfdc1","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":900,"wires":[[]]},{"id":"43fb97f13211229f","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":520,"wires":[["513142635ff79fbb"]]},{"id":"c524cbbdfd46f8f9","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":560,"wires":[["9684c86dcde6e147"]]},{"id":"d66192a88a4ff55e","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":600,"wires":[["a244b667b14d3234"]]},{"id":"9d6e2831ea1f63ca","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":960,"wires":[["663ef6fe74837322"]]},{"id":"b4dc6fa1f26a0a8b","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":1000,"wires":[["fa22f3c8c7204d03"]]},{"id":"1d307679aead8705","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":1040,"wires":[["6632dbfc249f1dca"]]},{"id":"ca7a70de9d766fda","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":1100,"wires":[["9392a47b0f9fc3d5"]]},{"id":"025347cc052142fb","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":1140,"wires":[["6413aec16afd4ffd"]]},{"id":"a708718d933f3194","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":1180,"wires":[["b5d6101e24a919ae"]]},{"id":"e3294db2dd18b637","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":1240,"wires":[["80ad3bb55e8dbea2"]]},{"id":"767829436ac4a18d","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":1280,"wires":[["ef75872c5feea6d4"]]},{"id":"07713ef748189274","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":1320,"wires":[[]]},{"id":"b6f65b16b328369a","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":1380,"wires":[["ba975022e3ec31fb"]]},{"id":"9cdd93b90b51cb26","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":1420,"wires":[[]]},{"id":"75647fb66382faf9","type":"delay","z":"469aa89395520d77","name":"","pauseType":"delayv","timeout":"0","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":380,"y":1460,"wires":[[]]},{"id":"3129081c1e9c0423","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT1","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":40,"wires":[[],[]]},{"id":"98e124604934929f","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT2","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":100,"wires":[[],[]]},{"id":"e67216e068367db0","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT3","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":160,"wires":[[],[]]},{"id":"1737e82f2aedd1a3","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT4","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":220,"wires":[[],[]]},{"id":"013ff979fde79295","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT5","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":280,"wires":[[],[]]},{"id":"8dd709427e7d80fe","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT6","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":340,"wires":[[],[]]},{"id":"0dfa1fdbac4ee832","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT7","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":400,"wires":[[],[]]},{"id":"7171d7a4217f9564","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT8","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":460,"wires":[[],[]]},{"id":"3c8a8458a36355a9","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT2","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":680,"wires":[[],[]]},{"id":"dfce2c93b4751768","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT2","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":720,"wires":[[],[]]},{"id":"c470f446988a5557","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT2","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":760,"wires":[[],[]]},{"id":"513142635ff79fbb","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT1","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":520,"wires":[[],[]]},{"id":"9684c86dcde6e147","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT1","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":560,"wires":[[],[]]},{"id":"a244b667b14d3234","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT1","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":600,"wires":[[],[]]},{"id":"a758014c43502a5c","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT3","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":820,"wires":[[],[]]},{"id":"23d293313c576133","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT3","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":860,"wires":[[],[]]},{"id":"0b22fbe50f6f977b","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT3","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":900,"wires":[[],[]]},{"id":"663ef6fe74837322","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT4","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":960,"wires":[[],[]]},{"id":"fa22f3c8c7204d03","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT4","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":1000,"wires":[[],[]]},{"id":"6632dbfc249f1dca","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT4","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":1040,"wires":[[],[]]},{"id":"9392a47b0f9fc3d5","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT5","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":1100,"wires":[[],[]]},{"id":"6413aec16afd4ffd","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT5","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":1140,"wires":[[],[]]},{"id":"b5d6101e24a919ae","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT5","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":1180,"wires":[[],[]]},{"id":"80ad3bb55e8dbea2","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT6","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":1240,"wires":[[],[]]},{"id":"ef75872c5feea6d4","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT6","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":1280,"wires":[[],[]]},{"id":"7de0cd488c206294","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT6","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":1320,"wires":[[],[]]},{"id":"ba975022e3ec31fb","type":"modbus-flex-getter","z":"469aa89395520d77","name":"CNT7","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"339ab0db8a498818","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":510,"y":1380,"wires":[[],[]]},{"id":"b7fd0a55af4924bc","type":"ui_spacer","z":"469aa89395520d77","name":"spacer","group":"4ba5d415.d302ec","order":1,"width":1,"height":1},{"id":"7f66defbd07dea06","type":"ui_spacer","z":"469aa89395520d77","name":"spacer","group":"4ba5d415.d302ec","order":3,"width":1,"height":1},{"id":"29c8552d23a1e239","type":"ui_spacer","z":"469aa89395520d77","name":"spacer","group":"4ba5d415.d302ec","order":5,"width":1,"height":1},{"id":"44218e32.34a34","type":"ui_group","name":"1","tab":"27c6cdce.0f2ff2","order":1,"disp":true,"width":"30","collapse":false},{"id":"339ab0db8a498818","type":"modbus-client","name":"jxc","clienttype":"simpleser","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"COM15","serialType":"RTU","serialBaudrate":"115200","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true},{"id":"4ba5d415.d302ec","type":"ui_group","name":"Control","tab":"513620619cda184a","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"27c6cdce.0f2ff2","type":"ui_tab","name":"DA","icon":"dashboard","order":1,"disabled":false,"hidden":false},{"id":"513620619cda184a","type":"ui_tab","name":"test","icon":"dashboard","disabled":false,"hidden":false}]

Thanks @Colin
I have added my flow as you told but in new reply as i was unable to edit my original post.

The devices are getting enough time to respond.

Don't do it like that. Feed all the messages from your function node to one output, then through a Delay node set to Rate Limit at an appropriate fixed rate and then into one getter node. If necessary split it up after the getter node.

Also rationalise what you are fetching to reduce the number of modbus reads. For example, on unit 1 you are fetching addresses 36865, 36867 and 36869. Do that as one multi-register read and split it up later.

1 Like

Oh wow. That is quite the setup. There's an even better method than what Colin has pointed out and it's by using the flex-getter node. The flex getter node has it's own message queue built-in so you don't have to manage any kind of message queue outside your getter node. So what you'll end up having is something like this:


Now your flow has many more connections than I've listed here, but you can get the idea. Have a bunch of inject nodes with the properties of fc, quantity, address and unitid in them for the flex-getter to process. Also add something to identify what node sent the message like setting msg.topic to the register you're pulling. That ID will carry through the flex-getter and make it so you can identify the message on the other side and split it out to where it belongs after. Set your timing on each inject node to what you want it to be. And don't worry about initial inject timing. Remember, the flex-getter has its own message queue it manages so if all the inject nodes fire at the same time, it will be handled. Setup your flex-getter to connect to your PLC and let it take care of the rest. You'll likely have to condition your output by turning buffer values into meaningful decimal numbers and stuff, but that's once you start getting data back. For now, make sure you can get your data and get it in the pattern you want.

One other thing to be aware of. I can see your PLC is communicating over a serial port or serial converter. Don't anticipate instant high-speed communication. 50ms may seem like a lot of time to send out a message, have it processed and have a response returned, but I worked with a guy the other week that had something like a 67ms round trip time. Fortunately, the flex-getter node will keep collisions from happening regardless of the speed. But if you're expecting high speed results, just beware you may not get it. Especially over serial.

1 Like

Didn't get the time to implement these suggestions as i am busy in some other project but these are valuable to me.
I will update after applying these things.
Thanks a lot :slight_smile:

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.