# ModbusTCP on node-red is it possible for 50 devices?

**URL:** <https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316>\
**Category:** General\
**Created:** [30 October 2019 10:22 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316 "2019-10-30T10:22:29Z")\
**Posts on this page:** 17\
**Page:** 2

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [18 January 2021 17:21 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/21 "2021-01-18T17:21:23Z")

</div>

I understand but you were still reading 2 separate values from the same unit. My recommendation is to group together reads into 1 batch.

E.g. if you read address 0 and address 1 then read 2 from address 0. if you read address 0 and address 4 then read 5 from address 0.

Once you have updated nodejs and node-red and installed buffer-parser, I'll show you how to pick out and convert & name your values from the modbus response.

---

<div class="post-metadata">

**Author:** ![alison](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/alison/32/33239_2.png) [@alison](https://discourse.nodered.org/u/alison)\
**Post date:** [19 January 2021 11:04 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/22 "2021-01-19T11:04:32Z")

</div>

> [@Steve-Mcl](#):
>
> Por exemplo, se você lê o endereço 0 e o endereço 1, então lê 2 do endereço 0. se você lê o endereço 0 e o endereço 4, então lê 5 do endereço 0.

just to confirm, and that way? the functions below are those that will no longer be used as they have been included within the others

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/1/8/18c34a0ee014a54a5cabe0e4764129afc5f40307.png)

```auto
[{"id":"cbf9ec61.ed105","type":"tab","label":"Vazão Agua E.T.A","disabled":false,"info":""},{"id":"1b9a2a3e.72b296","type":"modbus-flex-getter","z":"cbf9ec61.ed105","name":"Caldeira","showStatusActivities":false,"server":"122cb0c8.19f0bf","x":973.4328079223633,"y":23.42856788635254,"wires":[["b3591356.9e71f"],[]]},{"id":"9c76d2ca.78568","type":"inject","z":"cbf9ec61.ed105","name":"","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"x":92.14286041259766,"y":146.4682731628418,"wires":[["84072808.531f18","72b1c08c.6d0ef","116f43a1.fe71dc","e101da79.5ce708","df0fa2df.870dd","7f779c17.b14804","43ee2436.864ddc","6d3d26b3.b10cf8","47a6c512.e8794c","7244ed9.d710814"]]},{"id":"84072808.531f18","type":"function","z":"cbf9ec61.ed105","name":"F/ Pressão Agua 90 ºC","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 1,\n 'address' : 0,\n 'quantity' : 2\n};\n\nreturn msg;","outputs":"1","noerr":0,"x":291.1468200683594,"y":31.428560256958008,"wires":[["1b9a2a3e.72b296"]]},{"id":"b3591356.9e71f","type":"debug","z":"cbf9ec61.ed105","name":"","active":true,"console":"false","complete":"false","x":1337.1268310546875,"y":32.571434020996094,"wires":[]},{"id":"72b1c08c.6d0ef","type":"function","z":"cbf9ec61.ed105","name":"F/ Temp Agua 90 ºC","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 2,\n 'address' : 0,\n 'quantity' : 2\n};\n\nreturn msg;","outputs":1,"noerr":0,"x":293.8293914794922,"y":78.67856407165527,"wires":[["d9e6b51c.4b8838"]]},{"id":"116f43a1.fe71dc","type":"function","z":"cbf9ec61.ed105","name":"F/ Pressão Caldeira Santana","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 3,\n 'address' : 0,\n 'quantity' : 2\n};\n\nreturn msg;","outputs":1,"noerr":0,"x":312.60321044921875,"y":124.53968048095703,"wires":[["6de0ef12.ec1fc"]]},{"id":"6580ba0d.5690d4","type":"function","z":"cbf9ec61.ed105","name":"F/ Pressão Caldeira Santa Fé","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 10,\n 'address' : 1,\n 'quantity' : 1\n};\n\nreturn msg;","outputs":1,"noerr":0,"x":437.3533172607422,"y":633.2064037322998,"wires":[[]]},{"id":"7f779c17.b14804","type":"function","z":"cbf9ec61.ed105","name":"F/ Status Bomba 1 Agua 90 ºC","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 7,\n 'address' : 0,\n 'quantity' : 6\n};\n\nreturn msg;","outputs":1,"noerr":0,"x":319.26991271972656,"y":261.0118923187256,"wires":[["b8b6d11e.ae94d"]]},{"id":"104e9016.63284","type":"function","z":"cbf9ec61.ed105","name":"F/ Corrente Motor Bomba 2","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 6,\n 'address' : 3,\n 'quantity' : 1\n};\n\nreturn msg;","outputs":1,"noerr":0,"x":168.6587371826172,"y":633.8175706863403,"wires":[[]]},{"id":"a5e66b96.18b9a8","type":"function","z":"cbf9ec61.ed105","name":"F/ Set Point Pressão Agua 90 ºC","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 1,\n 'address' : 0,\n 'quantity' : 1\n};\n\nreturn msg;","outputs":1,"noerr":0,"x":1311.5754852294922,"y":636.1429634094238,"wires":[[]]},{"id":"bc7d1813.eef5b8","type":"function","z":"cbf9ec61.ed105","name":"F/ Set Point Temp Agua 90 ºC","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 2,\n 'address' : 0,\n 'quantity' : 1\n};\nreturn msg;","outputs":1,"noerr":0,"x":714.3254089355469,"y":637.6785697937012,"wires":[[]]},{"id":"cc1ec2b.a864a4","type":"function","z":"cbf9ec61.ed105","name":"F/ Set Point Pressão Caldeira Santana","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 3,\n 'address' : 0,\n 'quantity' : 1\n};\nreturn msg;","outputs":1,"noerr":0,"x":1011.5754852294922,"y":638.9286098480225,"wires":[[]]},{"id":"df0fa2df.870dd","type":"function","z":"cbf9ec61.ed105","name":"F/ Caldeira Santana","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 4,\n 'address' : 0,\n 'quantity' : 1\n};\nreturn msg;","outputs":1,"noerr":0,"x":288.82537841796875,"y":213.92855644226074,"wires":[["8f283253.b0de5"]]},{"id":"e101da79.5ce708","type":"function","z":"cbf9ec61.ed105","name":"F/ Set Point Pressão Caldeira Santa Fé\t","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 10,\n 'address' : 0,\n 'quantity' : 2\n};\nreturn msg;","outputs":1,"noerr":0,"x":348.0753631591797,"y":169.1785545349121,"wires":[["48e586ca.73bae8"]]},{"id":"107153d1.276d0c","type":"function","z":"cbf9ec61.ed105","name":"F/ Status Bomba 1 Agua 90 ºC","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 7,\n 'address' : 6,\n 'quantity' : 1\n};\nreturn msg;","outputs":1,"noerr":0,"x":917.0754852294922,"y":679.6785659790039,"wires":[[]]},{"id":"497a4570.cbee7c","type":"function","z":"cbf9ec61.ed105","name":"F/ Velocidade Bomba 1","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 7,\n 'address' : 2,\n 'quantity' : 1\n};\nreturn msg;","outputs":1,"noerr":0,"x":653.5754852294922,"y":682.6786046028137,"wires":[[]]},{"id":"43ee2436.864ddc","type":"function","z":"cbf9ec61.ed105","name":"F/ Status Bomba 2 Agua 90 ºC","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 6,\n 'address' : 0,\n 'quantity' : 6\n};\nreturn msg;","outputs":1,"noerr":0,"x":320.3253631591797,"y":304.6786403656006,"wires":[["e1705664.c62558"]]},{"id":"97318d3b.b4a0b","type":"function","z":"cbf9ec61.ed105","name":"F/ Velocidade Bomba 2","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 6,\n 'address' : 2,\n 'quantity' : 1\n};\nreturn msg;","outputs":1,"noerr":0,"x":1180.3254928588867,"y":677.678656578064,"wires":[[]]},{"id":"a38394ef.152bb8","type":"function","z":"cbf9ec61.ed105","name":"F/ Vazão Inst Caldeira","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 8,\n 'address' : 0,\n 'quantity' : 1\n};\nreturn msg;","outputs":1,"noerr":0,"x":169.57549285888672,"y":685.4286432266235,"wires":[[]]},{"id":"6d3d26b3.b10cf8","type":"function","z":"cbf9ec61.ed105","name":"F/ Vazão Caldeira","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 8,\n 'address' : 0,\n 'quantity' : 17\n};\nreturn msg;","outputs":1,"noerr":0,"x":296.32537841796875,"y":351.1786403656006,"wires":[["1586c54a.b8060b"]]},{"id":"47a6c512.e8794c","type":"function","z":"cbf9ec61.ed105","name":"F/ Vazão Industria","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 9,\n 'address' : 0,\n 'quantity' : 17\n};\nreturn msg;","outputs":1,"noerr":0,"x":298.8253860473633,"y":390.9286422729492,"wires":[["143f7e8a.0c3051"]]},{"id":"2ceda40d.bfb83c","type":"function","z":"cbf9ec61.ed105","name":"F/ Vazão Total Industria","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 9,\n 'address' : 16,\n 'quantity' : 1\n};\nreturn msg;","outputs":1,"noerr":0,"x":406.0754852294922,"y":681.9285621643066,"wires":[[]]},{"id":"7244ed9.d710814","type":"function","z":"cbf9ec61.ed105","name":"F/ Temp Entrada Agua 90ºC","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 15,\n 'address' : 1,\n 'quantity' : 5\n};\nreturn msg;","outputs":1,"noerr":0,"x":310.5753936767578,"y":434.9285717010498,"wires":[["820b6307.e3a4d"]]},{"id":"d9e6b51c.4b8838","type":"modbus-flex-getter","z":"cbf9ec61.ed105","name":"Caldeira","showStatusActivities":false,"server":"122cb0c8.19f0bf","x":976.0000305175781,"y":72.00000190734863,"wires":[["1d24ef53.28b991"],[]]},{"id":"6de0ef12.ec1fc","type":"modbus-flex-getter","z":"cbf9ec61.ed105","name":"Caldeira","showStatusActivities":false,"server":"122cb0c8.19f0bf","x":974.0001907348633,"y":126.00000381469727,"wires":[["b0ac8381.20cac"],[]]},{"id":"1d24ef53.28b991","type":"debug","z":"cbf9ec61.ed105","name":"","active":true,"console":"false","complete":"false","x":1336,"y":84,"wires":[]},{"id":"b0ac8381.20cac","type":"debug","z":"cbf9ec61.ed105","name":"","active":true,"console":"false","complete":"false","x":1342,"y":140,"wires":[]},{"id":"48e586ca.73bae8","type":"modbus-flex-getter","z":"cbf9ec61.ed105","name":"Caldeira","showStatusActivities":false,"server":"122cb0c8.19f0bf","x":972,"y":174,"wires":[["8f3953a9.6545"],[]]},{"id":"8f283253.b0de5","type":"modbus-flex-getter","z":"cbf9ec61.ed105","name":"Caldeira","showStatusActivities":false,"server":"122cb0c8.19f0bf","x":976,"y":220,"wires":[["fa9d6d31.c00ef"],[]]},{"id":"8f3953a9.6545","type":"debug","z":"cbf9ec61.ed105","name":"","active":true,"console":"false","complete":"false","x":1348,"y":186,"wires":[]},{"id":"fa9d6d31.c00ef","type":"debug","z":"cbf9ec61.ed105","name":"","active":true,"console":"false","complete":"false","x":1344,"y":234,"wires":[]},{"id":"acbbddb2.92f7a","type":"debug","z":"cbf9ec61.ed105","name":"","active":true,"console":"false","complete":"false","x":1344,"y":280,"wires":[]},{"id":"b8b6d11e.ae94d","type":"modbus-flex-getter","z":"cbf9ec61.ed105","name":"Caldeira","showStatusActivities":false,"server":"122cb0c8.19f0bf","x":970,"y":270,"wires":[["acbbddb2.92f7a"],[]]},{"id":"e1705664.c62558","type":"modbus-flex-getter","z":"cbf9ec61.ed105","name":"Caldeira","showStatusActivities":false,"server":"122cb0c8.19f0bf","x":974,"y":324,"wires":[["9955f81f.2a0758"],[]]},{"id":"1586c54a.b8060b","type":"modbus-flex-getter","z":"cbf9ec61.ed105","name":"Caldeira","showStatusActivities":false,"server":"122cb0c8.19f0bf","x":974,"y":368,"wires":[["9fcf3b09.838bf8"],[]]},{"id":"143f7e8a.0c3051","type":"modbus-flex-getter","z":"cbf9ec61.ed105","name":"Caldeira","showStatusActivities":false,"server":"122cb0c8.19f0bf","x":976,"y":412,"wires":[["bf15bb73.5fe058"],[]]},{"id":"820b6307.e3a4d","type":"modbus-flex-getter","z":"cbf9ec61.ed105","name":"Caldeira","showStatusActivities":false,"server":"122cb0c8.19f0bf","x":976.0000267028809,"y":462.00001335144043,"wires":[["d653bfed.3c0be"],[]]},{"id":"9955f81f.2a0758","type":"debug","z":"cbf9ec61.ed105","name":"","active":true,"console":"false","complete":"false","x":1348,"y":328,"wires":[]},{"id":"9fcf3b09.838bf8","type":"debug","z":"cbf9ec61.ed105","name":"","active":true,"console":"false","complete":"false","x":1348,"y":376,"wires":[]},{"id":"bf15bb73.5fe058","type":"debug","z":"cbf9ec61.ed105","name":"","active":true,"console":"false","complete":"false","x":1348,"y":418,"wires":[]},{"id":"d653bfed.3c0be","type":"debug","z":"cbf9ec61.ed105","name":"","active":true,"console":"false","complete":"false","x":1350,"y":466,"wires":[]},{"id":"c1ce04e5.577b18","type":"mqtt out","z":"cbf9ec61.ed105","name":"","topic":"MQTT_Caldeira_Out","qos":"2","retain":"","broker":"e52a2dff.81373","x":1334,"y":560,"wires":[]},{"id":"122cb0c8.19f0bf","type":"modbus-client","z":"","name":"Mod-Bus Caldeira E.T.A","clienttype":"serial","bufferCommands":true,"stateLogEnabled":true,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyAP0","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"","commandDelay":1,"clientTimeout":2000,"reconnectTimeout":2000},{"id":"e52a2dff.81373","type":"mqtt-broker","z":"","broker":"10.254.164.16","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""}]

```

---

<div class="post-metadata">

**Author:** ![alison](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/alison/32/33239_2.png) [@alison](https://discourse.nodered.org/u/alison)\
**Post date:** [19 January 2021 11:05 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/23 "2021-01-19T11:05:25Z")

</div>

I am updating my modbus device as soon as it is ready. Agent continues, Thanks!

---

<div class="post-metadata">

**Author:** ![rromele](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/rromele/32/18431_2.png) [@rromele](https://discourse.nodered.org/u/rromele)\
**Post date:** [20 January 2021 23:48 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/24 "2021-01-20T23:48:27Z")

</div>

When working on complex Modbus networks and where a high dynamic factor is required, it is of fundamental importance not to saturate the transmit - receive buffer. The advice is to use a sequencer to manage the polling of commands on the network. The size of the packet is not important but the fact that too many commands overlap on the network channel.  
R.

---

<div class="post-metadata">

**Author:** ![alison](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/alison/32/33239_2.png) [@alison](https://discourse.nodered.org/u/alison)\
**Post date:** [26 January 2021 16:06 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/25 "2021-01-26T16:06:59Z")

</div>

steve the manufacturer of our mod bus device is still resolving about updating his firmware, so i thought better of the continuity while they resolve about installing the node buffer parse, i have a little problem with my sql i already made the connection with Mysql and created only one table for initial test as the image below node red sends the record to my sql but it only writes with the null value and the value would be 7450028 on average I need help with that

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/c/6/c6438cac91ad11601db19a8f67f79cd0da2ac7e6.png)  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/9/596fee4ff1fd14ecee16f268bdee848199d48d1e.png)  
 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/9/79ee08b46f73321f8c77f9bf58c2e9abd74bac88.png)

```auto
[{"id":"c050e5b.f41e518","type":"tab","label":"Vazão Agua","disabled":false,"info":""},{"id":"4b763428.e33bcc","type":"modbus-read","z":"c050e5b.f41e518","name":"Consumo Agua Caldeira","topic":"","showStatusActivities":false,"logIOActivities":false,"showErrors":false,"unitid":"9","dataType":"HoldingRegister","adr":"13","quantity":"4","rate":"2","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"21682328.d1cb8c","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":150,"y":80,"wires":[["569b493c.26d258"],[]]},{"id":"d7eb2b72.02cce8","type":"debug","z":"c050e5b.f41e518","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":950,"y":80,"wires":[]},{"id":"569b493c.26d258","type":"buffer-parser","z":"c050e5b.f41e518","name":"","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"bigint64le","name":"value1","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"swap64","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"value","resultTypeType":"output","multipleResult":true,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":350,"y":80,"wires":[["cc297a0c.1c5118","3443f720.9cd008"]]},{"id":"cc297a0c.1c5118","type":"function","z":"c050e5b.f41e518","name":"","func":"var value1= parseFloat(msg.payload);\n\n// replace myTable with your db table name \nmsg.topic = \"INSERT INTO datavalue (value1) VALUES (value1)\";\nmsg.payload = [value1];\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":500,"y":80,"wires":[["9348364b.95b8b8"]]},{"id":"3443f720.9cd008","type":"debug","z":"c050e5b.f41e518","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":530,"y":140,"wires":[]},{"id":"9348364b.95b8b8","type":"Stackhero-MySQL","z":"c050e5b.f41e518","server":"9c09cdc7.7560c","name":"","x":800,"y":80,"wires":[["d7eb2b72.02cce8"]]},{"id":"21682328.d1cb8c","type":"modbus-client","name":"ETH-485 Caldeira/E.T.A.","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"tcpHost":"10.254.164.126","tcpPort":"3001","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"","commandDelay":"1","clientTimeout":"2000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true},{"id":"9c09cdc7.7560c","type":"Stackhero-MySQL-Server","name":"","host":"10.254.164.16","port":"3306","tls":false,"database":"nodered"}]

```

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [26 January 2021 20:04 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/26 "2021-01-26T20:04:20Z")

</div>

In your SQL you have...

```auto
msg.topic = "INSERT INTO datavalue (value1) VALUES (value1)";

```

If you read [docs](https://flows.nodered.org/node/node-red-node-mysql)) , that should be...

```auto
msg.topic = "INSERT INTO datavalue (`value1`) VALUES (?)";

```

---

<div class="post-metadata">

**Author:** ![alison](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/alison/32/33239_2.png) [@alison](https://discourse.nodered.org/u/alison)\
**Post date:** [27 January 2021 19:54 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/27 "2021-01-27T19:54:48Z")

</div>

it worked was the type of node not compatible with the current version of our mysql

---

<div class="post-metadata">

**Author:** ![alison](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/alison/32/33239_2.png) [@alison](https://discourse.nodered.org/u/alison)\
**Post date:** [1 February 2021 13:29 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/28 "2021-02-01T13:29:23Z")

</div>

good morning Steve, the manufacturer of my modbus device replied that it will not be possible to install the node buffer parser due to the device's npm version and that it will take a few months for them to update, so I'm trying to convert a 64-bit variable where I need to read 4 address but I'm not getting it below my flow and images please help me

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/b/2b25007f3db599f56adf90feee80691fa3196564.png)

```auto
[{"id":"51136e81.a26bb","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"3fc6c701.3a4d18","type":"function","z":"51136e81.a26bb","name":"F/ Vazão Total Caldeira","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 9,\n 'address' : 13,\n 'quantity' : 4\n};\nreturn msg;","outputs":1,"noerr":0,"x":571.6666412353516,"y":266.66666984558105,"wires":[["2d967e4a.03a262"]]},{"id":"2d967e4a.03a262","type":"modbus-flex-getter","z":"51136e81.a26bb","name":"Caldeira","showStatusActivities":false,"server":"122cb0c8.19f0bf","x":876.5356826782227,"y":265.95242261886597,"wires":[["85844cd1.59809","2ed8805c.e9e6d"],[]]},{"id":"d4608f69.91033","type":"inject","z":"51136e81.a26bb","name":"","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"x":250.64814376831055,"y":293.1481513977051,"wires":[["3fc6c701.3a4d18","e4dd9c63.55cf3"]]},{"id":"4e2d0fae.c54ca","type":"debug","z":"51136e81.a26bb","name":"","active":true,"console":"false","complete":"false","x":1542.3148345947266,"y":226.29629707336426,"wires":[]},{"id":"92837d37.48d4","type":"modbus-flex-getter","z":"51136e81.a26bb","name":"Caldeira","showStatusActivities":false,"server":"122cb0c8.19f0bf","x":903.3333358764648,"y":524.9999465942383,"wires":[["e16dee69.b84ac"],[]]},{"id":"e4dd9c63.55cf3","type":"function","z":"51136e81.a26bb","name":"F/ Vazão Inst Caldeira","func":"msg.payload = {\n 'value' : msg.payload,\n 'fc' : 3,\n 'unitid' : 9,\n 'address' : 12,\n 'quantity' : 1\n};\nreturn msg;","outputs":1,"noerr":0,"x":590,"y":524.9999465942383,"wires":[["92837d37.48d4"]]},{"id":"e16dee69.b84ac","type":"debug","z":"51136e81.a26bb","name":"","active":false,"console":"false","complete":"false","x":1548.3332138061523,"y":515.0000152587891,"wires":[]},{"id":"e5458557.99c0a8","type":"template","z":"51136e81.a26bb","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{{payload.values}}","output":"str","x":1062.3149375915527,"y":163.8889045715332,"wires":[[]]},{"id":"85844cd1.59809","type":"function","z":"51136e81.a26bb","name":"","func":"const buf = Buffer.from(msg.payload.buffer);\nconst value = buf.readBigInt64BE()\nmsg.payload = {\"vazao\": value};\nreturn msg;","outputs":1,"noerr":0,"x":1062.31489944458,"y":263.8889446258545,"wires":[["bacb17c3.b90d88"]]},{"id":"bacb17c3.b90d88","type":"join","z":"51136e81.a26bb","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"4","x":1270.6480903625488,"y":263.8888912200928,"wires":[["4e2d0fae.c54ca"]]},{"id":"2ed8805c.e9e6d","type":"debug","z":"51136e81.a26bb","name":"","active":true,"console":"false","complete":"false","x":1082.3148803710938,"y":412.96300506591797,"wires":[]},{"id":"122cb0c8.19f0bf","type":"modbus-client","z":"","name":"Mod-Bus Caldeira E.T.A","clienttype":"serial","bufferCommands":true,"stateLogEnabled":true,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyAP0","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"","commandDelay":"1","clientTimeout":"2000","reconnectTimeout":"2000"}]

```

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [1 February 2021 14:38 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/29 "2021-02-01T14:38:54Z")

</div>

You can still install buffer parser just don't use the 64bit functions.

Use 2 32bit reads then combine them values in a function node by shifting the high number 32 places left then adding it to the low number.

---

<div class="post-metadata">

**Author:** ![Thierry1](https://avatars.discourse-cdn.com/v4/letter/t/8edcca/32.png) [@Thierry1](https://discourse.nodered.org/u/Thierry1)\
**Post date:** [1 February 2021 20:33 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/30 "2021-02-01T20:33:08Z")

</div>

Hello,  
50 devices in RS485? It's a limit, if you are in RS485 it implies serial modbus and so you have to turn at best 1s at worst 10 for a cycle and more.  
I start from a device with an R/W time of 20 to 200ms.

On the other hand in modbusTCP it does so even if it also requires to organize the communications.

If you want to increase the number of devices, the ideal would be to have a PLC that takes care of the multiple connections and redo tables. It would act as a gateway, as node-red only makes a modbus link with the PLC to retrieve the table fed to it by multiple devices.

Translated with [www.DeepL.com/Translator](http://www.DeepL.com/Translator) (free version)

---

<div class="post-metadata">

**Author:** ![alison](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/alison/32/33239_2.png) [@alison](https://discourse.nodered.org/u/alison)\
**Post date:** [4 February 2021 13:42 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/31 "2021-02-04T13:42:12Z")

</div>

Good morning Steve, I am very satisfied with node red and thank you very much for the help you gave me. now I need to develop reports for each ID for 1 year or 1 day using my sql and all data is already being recorded in their tables in mysql. and login screen with several users, help me with these questions please

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/3/5/35e3021239b19e523612b686a0e0bd575c7a893e.png)

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [4 February 2021 17:32 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/32 "2021-02-04T17:32:45Z")

</div>

As this is a completely different topic you would be better off starting a new topic.  
But just for info the default dashboard is not designed to be multi user so does **not** really work for multiple logins.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [4 February 2021 18:06 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/33 "2021-02-04T18:06:05Z")

</div>

> [@dceejay](#):
>
> so does really work for multiple logins.

I think that should be 'does not really work'.

---

<div class="post-metadata">

**Author:** ![AsHex\_66](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ashex_66/32/31151_2.png) [@AsHex\_66](https://discourse.nodered.org/u/AsHex_66)\
**Post date:** [5 February 2021 08:53 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/34 "2021-02-05T08:53:28Z")

</div>

RS485 has a limit of 32 devices, and one of them is the master. This is not a software issue but a loading on the hardware driver. More might work but communication will break on certain intervals. Communication speed must be slow. Length of the cable also influences this. My recommendation is 20 devices at 9600 baud, with a cable length of max 600 meter. This is what I preach to my engineers. Good information is here: [9 rules for correct cabling of the Modbus RS485 communication systems (electrical-engineering-portal.com)](https://electrical-engineering-portal.com/correct-cabling-modbus-rs485) but google and find more.

---

<div class="post-metadata">

**Author:** ![alison](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/alison/32/33239_2.png) [@alison](https://discourse.nodered.org/u/alison)\
**Post date:** [5 February 2021 15:34 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/35 "2021-02-05T15:34:05Z")

</div>

do you know if there is any other type of Node-red panel where we can have this option?

---

<div class="post-metadata">

**Author:** ![alison](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/alison/32/33239_2.png) [@alison](https://discourse.nodered.org/u/alison)\
**Post date:** [5 February 2021 15:38 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/36 "2021-02-05T15:38:38Z")

</div>

yes, until our rs 485 networks are working well, the doubt was about which modbus node to use because i was using modbus read and it doesn't work very well when you have about 20 then i started using the scrypt function and the modebus node flex gete node so it was very good, do you know how to be able to read from an ID 4 addresses and concatenals? because I have a flow meter where the registers are 13 14 15 and 16 64 bits.

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [5 February 2021 16:32 UTC](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316/37 "2021-02-05T16:32:15Z")

</div>

The most flexible option is the node-red-contrib-uibuilder nodes that let you bring whatever ui toolset and libraries you wish to use and allows you much greater control over the whole dashboard.

[Previous page](https://discourse.nodered.org/t/modbustcp-on-node-red-is-it-possible-for-50-devices/17316.md?page=1)
