# Get values from server MS4D (Modbus TCP)

**URL:** <https://discourse.nodered.org/t/get-values-from-server-ms4d-modbus-tcp/50385>\
**Category:** Industrial\
**Created:** [30 August 2021 14:00 UTC](https://discourse.nodered.org/t/get-values-from-server-ms4d-modbus-tcp/50385 "2021-08-30T14:00:55Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![MaksimKr](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@MaksimKr](https://discourse.nodered.org/u/MaksimKr)\
**Post date:** [30 August 2021 14:00 UTC](https://discourse.nodered.org/t/get-values-from-server-ms4d-modbus-tcp/50385/1 "2021-08-30T14:00:55Z")

</div>

Hello, I'm new in NR. I have a quastion: a have a virtual machine with NR on one PC and server on other PC. I try to get values, using modbus TCP from the server MasterScada4D. All machines use one lan and have ping. Server with MS4D work on 192.168.10.18, machine with NR work on 192.168.10.33.

I install node-red-contrib-modbus v5.14.1 and try to conect with server, using "Modbus Server" with this parameters:  
Hostname 192.168.10.18  
Port 10502  
Coils 0  
Holdings 2  
Inputs 0  
Discretes 0

On server with MS4D I use the same port 10502 for modbus TCP and one test parameter in external channal.

But when I deploy, i have no connection with server, and in the PowerShell have this error:  
Error: listen EADDRNOTAVAIL: address not available 192.168.10.18:10502  
at Server.setupListenHandle [as \_listen2] (net.js:1283:19)  
at listenInCluster (net.js:1348:12)  
at doListen (net.js:1487:7)  
at processTicksAndRejections (internal/process/task\_queues.js:81:21)

Can someone help me with this problem?

---

<div class="post-metadata">

**Author:** ![UnborN](https://avatars.discourse-cdn.com/v4/letter/u/4491bb/32.png) [@UnborN](https://discourse.nodered.org/u/UnborN)\
**Post date:** [30 August 2021 14:38 UTC](https://discourse.nodered.org/t/get-values-from-server-ms4d-modbus-tcp/50385/2 "2021-08-30T14:38:00Z")

</div>

> [@MaksimKr](#):
>
> Hostname 192.168.10.18

what if you use as Hostname 0.0.0.0

read this [thread](https://discourse.nodered.org/t/modbus-tcp-server-ip-setup/41082)

also you can check the modbus Server examples from  
**Import \> Examples \> node-red-contrib-modbus \> Modbus-Buffer-Server**

---

<div class="post-metadata">

**Author:** ![MaksimKr](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@MaksimKr](https://discourse.nodered.org/u/MaksimKr)\
**Post date:** [30 August 2021 15:32 UTC](https://discourse.nodered.org/t/get-values-from-server-ms4d-modbus-tcp/50385/3 "2021-08-30T15:32:28Z")

</div>

I'll try to use hostname 0.0.0.0, and I've another error:  
Error: getaddrinfo ENOTFOUND 0:0:0:0  
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:60:26)

When I use examples with default parameters or use port 10502, I have the same error

---

<div class="post-metadata">

**Author:** ![FrankAB](https://avatars.discourse-cdn.com/v4/letter/f/ee59a6/32.png) [@FrankAB](https://discourse.nodered.org/u/FrankAB)\
**Post date:** [30 August 2021 17:26 UTC](https://discourse.nodered.org/t/get-values-from-server-ms4d-modbus-tcp/50385/4 "2021-08-30T17:26:44Z")

</div>

Use Modbus Read instead of Modbus Server

---

<div class="post-metadata">

**Author:** ![UnborN](https://avatars.discourse-cdn.com/v4/letter/u/4491bb/32.png) [@UnborN](https://discourse.nodered.org/u/UnborN)\
**Post date:** [30 August 2021 18:20 UTC](https://discourse.nodered.org/t/get-values-from-server-ms4d-modbus-tcp/50385/5 "2021-08-30T18:20:04Z")

</div>

I think Maksim is trying to setup his node-red with the modbus server node to push modbus data to his MasterScada4D software.

@MaksimKr i tried the 0.0.0.0 on my system and it seems to be working.  
Can you try this flow that has a basic server and also has a Modbus read node in the same flow to see at least from the flow itself if you can read some values ?

```auto
[{"id":"18336ed.bd8a491","type":"debug","z":"937cb040.d8e16","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":415,"y":80,"wires":[],"l":false},{"id":"6c3e6f27.502e18","type":"comment","z":"937cb040.d8e16","name":"Information","info":"The Modbus Server and Modbus Flex Server \nworking with all reading and writing nodes.\n\nThese are two different servers \nfrom different libraries.\n\nThe simple examples hold \nthe same functions for both servers.\n","x":570,"y":140,"wires":[]},{"id":"d6a5dd3e.6e2f8","type":"function","z":"937cb040.d8e16","name":"","func":"msg.payload = {\n 'value': [1,1,1], \n 'register': 'input', \n 'address': 0 , \n 'disableMsgOutput' : 0 \n}; \nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":215,"y":280,"wires":[["1caf5383.ecd054"]],"l":false},{"id":"e75975bb.e98128","type":"inject","z":"937cb040.d8e16","d":true,"name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":155,"y":280,"wires":[["d6a5dd3e.6e2f8"]],"l":false},{"id":"b4397fad.8ffaa","type":"function","z":"937cb040.d8e16","name":"","func":"msg.payload = {\n 'value': [233,234,235], \n 'register': 'holding', \n 'address': 0 , \n 'disableMsgOutput' : 0 \n}; \nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":215,"y":320,"wires":[["1caf5383.ecd054"]],"l":false},{"id":"2676e2cd.f34d36","type":"inject","z":"937cb040.d8e16","name":"","props":[{"p":"payload","v":"true","vt":"bool"},{"p":"topic","v":"","vt":"string"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":75,"y":320,"wires":[["b4397fad.8ffaa"]],"l":false},{"id":"cbee0647.5cb71","type":"function","z":"937cb040.d8e16","name":"","func":"msg.payload = {\n 'value': [1, 1, 1, 1, 1, 1, 1, 0],\n 'register': 'coils', \n 'address': 0 , \n 'disableMsgOutput' : 1 \n}; \nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":215,"y":360,"wires":[["1caf5383.ecd054"]],"l":false},{"id":"1f92d036.c8f418","type":"inject","z":"937cb040.d8e16","d":true,"name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":155,"y":360,"wires":[["cbee0647.5cb71"]],"l":false},{"id":"6561bf00.a24e9","type":"function","z":"937cb040.d8e16","name":"","func":"msg.payload = {\n 'value': [true,true,true], \n 'register': 'discrete', \n 'address': 0 , \n 'disableMsgOutput' : 0 \n}; \nreturn msg;\n\n","outputs":1,"noerr":0,"x":215,"y":400,"wires":[["1caf5383.ecd054"]],"l":false},{"id":"6309b3fc.cd9294","type":"inject","z":"937cb040.d8e16","d":true,"name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":155,"y":400,"wires":[["6561bf00.a24e9"]],"l":false},{"id":"1caf5383.ecd054","type":"link out","z":"937cb040.d8e16","name":"","links":["7328d10f.1b78"],"x":295,"y":340,"wires":[]},{"id":"7328d10f.1b78","type":"link in","z":"937cb040.d8e16","name":"","links":["1caf5383.ecd054"],"x":75,"y":80,"wires":[["ef501f41b4d30c54"]]},{"id":"f9e611ca.64c348","type":"catch","z":"937cb040.d8e16","name":"","scope":null,"uncaught":false,"x":535,"y":280,"wires":[["f8090829.87c3c"]],"l":false},{"id":"f8090829.87c3c","type":"debug","z":"937cb040.d8e16","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":615,"y":280,"wires":[],"l":false},{"id":"257b008693b81069","type":"modbus-read","z":"937cb040.d8e16","name":"","topic":"","showStatusActivities":false,"logIOActivities":false,"showErrors":false,"unitid":"1","dataType":"HoldingRegister","adr":"0","quantity":"8","rate":"5","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"d9a243e58f12f2f1","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"x":530,"y":420,"wires":[[],["8d4f8f1d68c6fb1e"]]},{"id":"8d4f8f1d68c6fb1e","type":"debug","z":"937cb040.d8e16","name":"buffer","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload.buffer","targetType":"msg","statusVal":"","statusType":"auto","x":680,"y":420,"wires":[]},{"id":"ef501f41b4d30c54","type":"modbus-server","z":"937cb040.d8e16","name":"","logEnabled":true,"hostname":"0.0.0.0","serverPort":"10512","responseDelay":100,"delayUnit":"ms","coilsBufferSize":"8","holdingBufferSize":"8","inputBufferSize":"8","discreteBufferSize":"8","showErrors":true,"x":240,"y":80,"wires":[["18336ed.bd8a491"],["18336ed.bd8a491"],["18336ed.bd8a491"],["18336ed.bd8a491"],["18336ed.bd8a491"]]},{"id":"d9a243e58f12f2f1","type":"modbus-client","name":"","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"10512","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true}]

```

Inject some Holding register values and check if you see them.

Other things you can check whether any firewall is blocking that port.

---

<div class="post-metadata">

**Author:** ![MaksimKr](https://avatars.discourse-cdn.com/v4/letter/m/8baadc/32.png) [@MaksimKr](https://discourse.nodered.org/u/MaksimKr)\
**Post date:** [31 August 2021 08:41 UTC](https://discourse.nodered.org/t/get-values-from-server-ms4d-modbus-tcp/50385/6 "2021-08-31T08:41:32Z")

</div>

Thank you, Frank, I use "modbus flex getter" and i can get data from server. Firstly i think, that i will initialaze the server and then read data, but "modbus server" was unnecessary. Problem was in value of quantity. I change value and get data from server MS4D. Problem was solved.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [14 September 2021 08:42 UTC](https://discourse.nodered.org/t/get-values-from-server-ms4d-modbus-tcp/50385/7 "2021-09-14T08:42:16Z")

</div>

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