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

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.

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

[{"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":""}]
1 Like

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

1 Like

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.

1 Like

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



[{"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"}]

In your SQL you have...

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

If you read docs) , that should be...

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

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

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

[{"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"}]

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.

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 (free version)

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

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.

1 Like

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

1 Like

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) but google and find more.

1 Like

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

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.

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.