Losant Modbus server Master

I want to know that, is losant edge agent have Modbus TCP server or need to connect external modbus TCP server?


Good morning @Chandhu_Dangudubiyya,

The Losant Edge Agent will need an external Modbus TCP server that integrates with Losant. We have some blog posts here and here with more information on Losant and Modbus. We also have documentation on the Modbus: Read and Modbus: Write nodes that are only available in edge workflows.

Hopefully this helps!

Hey, Thank you @JuliaKempf for your valuable answer. .


Dear @JuliaKempf, good afternoon, I’m following the tutorial (https://www.losant.com/blog/integrating-losant-with-modbus-tcp) and integrating the Losant with a Siemens S7-1200. Everything went well until the reading of the entries of the PLC and present in the LOSANT. But now I cannot write to a PLC variable (output) from the LOSANT button.
Could you clarify which memory format and address should I use?

  • Digital - BIT - address? from 8000?
  • Analog - WORD - address? from the 40000?
    Thank you in advance.

Hi @Mario_Lucio_Roloff,

Since that article was written, we’ve made some new tools to help:

For now, if you are following that article, it’s using a JavaScript NPM module called jsmodbus.

The answer to your question is generally dependent on the PLC itself. I’m doing some research on that PLC to see if I can find some information for you. But, in the meantime, if you’re not using the Edge Agent to read/write Modbus, I highly recommend it!

@anaptfox Hi Taron, Just on this general discussion , I came across a particular issue reading multiple blocks via MODBUS from a Crouzet EM4 ethernet .

We could not reliably read from it using the MODBUS nodes. (reading multiple register blocks with a single node)
We ran out of time so, In the end I wrote a python script to read and publish to the edge agent via REDIS. Which the agent then subscribes to.

Even the python code needed a bit of tweaking.

For each separate block of registers read, I had to explicitly close the connection and then re-open.
with at least some pause between each block read.

I also found for each adjacent binary input register I had to do the same (open/close) which was really odd.

On reflection I realise we could have probably solved this with the edge agent by having a separate node for each register block, rather than a single node reading each of the register blocks.

My assumption, based on what I experienced is that the single MODBUS read node does not open/close for each read defined in the single node. I will test again when I have time to prove this. (we have not had an issue on the edge agent reading a single contiguous block on these devices for other projects).

May be that could be an option on the MODBUS node. (If it does in fact close/open between each register block in a single node, then seems we have a problem with this specific device and I need to do more digging)

You are correct. Within a single node, each individual read uses the same connection. That connection, however, is not shared across separate nodes, so a new connection is opened and closed each time a Modbus Read/Write node is executed. We’ll add a note to our docs about that.