LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using LabVIEW as a master device with Modbus

Solved!
Go to solution

I'm trying to use ABBACS 140 motor drives

 

The literature on these drives and how they interface with Modbus is here: (http://www05.abb.com/global/scot/scot201.nsf/veritydisplay/3cb579871ec41124c1256d2800407872/$file/ad...) as slave devices with Modbus.

 

In order to control them I'm trying to use the Modbus library for LabVIEW 8.5 in 'Write Single Register' mode.

 

I'm getting confused between all the Modbus terminology I've seen.

I've attached a .png of the basic idea behind my attempt to communicate with the drives.

 

My confusion arises between the terminal on the Modbus Master Serial Query terminals "Address" and "Holding Register"

Nowhere  in the ACS 140 literature does it mention an address asides from the slave address which is already specified in the Serial Parameters node.

And the Holding Register is describe in subroutines of this block as "DATA" even though the Holding register in the ACS 140 manual seemed to indicated the register being written to.

 

What should my inputs be here and how do I write a specific signal to the slave device?

~Rolin

 

0 Kudos
Message 1 of 3
(2,950 Views)
Solution
Accepted by topic author Rolin

The slave address is a number that identifies a particular device.  This allows you to have a multidrop network where you can have multiple slaves communicating with a single master on a single set of communication wires.  Each slave would have a unique identifier in the range of 0-255.  Normally, 0 would not be a slave address value that is used.  I want to say that zero is reserved for the master device, but I'm not 100% sure at the moment.

 

The register address is the value for a particular memory slot.  Holding registers begin with a 4.  If you look at page 22 of your manual, you'll see values in the range of 40001 to 49908 (some may be skipped).  For LabVIEW, you drop the 4.  Also, the addresses are 0 based.  So if you want register 40001, you'll just use 0 as the register address.  If you want 49901, than your register address will be 9900.

Message 2 of 3
(2,931 Views)

Thanks alot, Ravens fan,

your comment on dropping the 4 answers another question

0 Kudos
Message 3 of 3
(2,929 Views)