LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

A510 VFD Modbus RTU via RS485_DI state values in register

Solved!
Go to solution

Hi,

 

I have a Teco Westinghouse A510 VFD which i am controlling a 3phase motor/hoist and I am controlling using the Modbus Library via RS-485 and using serial com RTU.

 

I am getting the motor to spin and write to the registers, however, I am having difficulty reading a particular register with multiple bits that I need to access on the same register, see the images below (Modbus Com manual for VFD). I have uploaded my vi below and also the modbus manual for the VFD for reference. 

 

I need to access the DI state to read if they are open (0) or closed (1). Also, does the Modbus API control the CRC check or do I need to include that somehow, if so how?

 

Any help would be greatly appreciated.

 

 

Thanks,

ikhan123_0-1718891214477.pngikhan123_1-1718891280676.png

 

Download All
0 Kudos
Message 1 of 8
(2,063 Views)
Solution
Accepted by ikhan123

Read the register 2522H. It should return a U16. Then convert the U16 to Boolean array.

ZYOng_0-1718930269266.png

 

Modbus Library will handle the CRC.

 

-------------------------------------------------------
Applications Engineer | TME Systems
https://tmesystems.net/
-------------------------------------------------------
https://github.com/ZhiYang-Ong
Message 2 of 8
(2,031 Views)

Hi ZYOng,

 

much appreciated.

 

Thanks.

0 Kudos
Message 3 of 8
(2,005 Views)

Hi,

 

I also want to write to a register with multiple bits as in the above example but instead of reading a list of booleans, how would I write-to or read non-boolean from a sub-register?

 

Please see the figure below, how would I write to register to 2501H bit F to turn the Torque command set by Communication: ON

 

ikhan123_0-1719434430751.png

 

Thanks for any help and support.

 

Regards,

 

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

Hi,

 

I also want to write to a register with multiple bits as in the above example but instead of reading a list of booleans, how would I write-to or read non-boolean from a sub-register?

 

Please see the figure below, how would I write to register to 2501H bit F to turn the Torque command set by Communication: ON

 

 

ikhan123_1-1719446249968.png

 

 

Thanks for any help and support.

 

Regards,

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

Bit F is the 15th bit (using 0-indexing).

Similarly you can use Boolean Array to Number to get the U16 value.

ZYOng_0-1719449258949.png

 

-------------------------------------------------------
Applications Engineer | TME Systems
https://tmesystems.net/
-------------------------------------------------------
https://github.com/ZhiYang-Ong
Message 6 of 8
(1,981 Views)

thanks, it worked! 

0 Kudos
Message 7 of 8
(1,965 Views)

Hello ikhan123 and eveyrone else active on this thread.

 

I just received the same VFD (E510) from Teco Westinghouse and I am struggling a bit to get it to receive commands through ModBus RTU.

 

My set up is:
 - The VFD connected to a covneyor belt (and verified to work, since I can control the conveyor using the keypad).

- A CAT 6 cable connected to the female RJ45 input designated for the ModBus RTU communication on the VFD and connected to my laptop, via an RS485 to USB adapter.
- I have changed the Main Run Source Command Source Selection (00-02) from the factory setting of 0 to 2 which should indicate RS485 communications as the command source.

I have tried some python scripts on my laptop and also using QModMaster on windows, but I was always getting timeouts, not being able to read or write on in of the registers.

Is there something else I need to do to able to send/receive data through the RS485 interface? Is there a part on the set up proccess I ommited?

Any suggestions are welcome and much appreciated.


0 Kudos
Message 8 of 8
(82 Views)