From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Modbus over TCP - recommended package for new design

Hello,

 

I will communicate with the Kollmorgen Servo amplifier over Modbus TCP, which is the most supported protocol across all Kollmorgen amplifiers.

My question is about recommendations for selecting the Modbus package for low-level communication.

 

I know that any of the existing ones will not provide the final commands like home servo, enable servo...etc. But because it will be a new design (and I never worked in LabVIEW with the Modbus before) I would like to listen for your recommendation on which package is the best according to your experience. Which is kept to be most updated?

 

For the initial tests, I download the NI Modbus Library, and seems to be OK but what if exists something better?

Thank you.

 

gawex_0-1678104841024.png

 

0 Kudos
Message 1 of 8
(1,103 Views)

Packages from the VIPM repository are not generally free of charge. I use the first one, the NI package. That is free and can do RTU and TCP.

The only downside is, since it's based on VISA, that it uses VISA resource names and VISA read/write VIs, which is OK for RTU over USB, but not so good for Ethernet 

0 Kudos
Message 2 of 8
(1,069 Views)

It also depends on the used ModBus commands.

Our products use custom ModBus commands. So I ended up (years ago) creating my own ModBus VI to communicate over serial and ethernet.

But if you only use the standard commands I would suggest to use the NI library

 

Kees

0 Kudos
Message 3 of 8
(1,026 Views)

Of course, you would expect that every package supports the described functions from the standard paper.

Custom ModBus functions is something that you could implement in the open packages yourself.

 

@K C: out of curiosity, what did you implement that isn't already covered by the existing functions?

0 Kudos
Message 4 of 8
(1,023 Views)

Our product uses more custom commands than standard commands.

  • For writing and reading a configuration
  • Reading an error log
  • Set and read date and time
  • Retrieval of events
  • and some others

The communication module of the ProSafe-SLS system.

 

Kees

0 Kudos
Message 5 of 8
(1,002 Views)

OK, but why create an own function code to write a date/time string or hex data when there is WMR already? Just want to understand the obviously unnecessary extra work.

0 Kudos
Message 6 of 8
(994 Views)

Sure a lot of things could be handled by using registers. But if the data is spread over multiple registers there must be an additional action to split or combine the data.

With custom commands the data can be any specified length. 

Most of these commands or not intended for the standard users.

 

This has also some history. This product was already designed over 30 years ago. Many updates over the years but also a lot of things are kept the same to stay compatible.

 

Kees

0 Kudos
Message 7 of 8
(977 Views)

Thank you for your recommendations. I will use the NI Modbus Library.

0 Kudos
Message 8 of 8
(893 Views)