PDA

View Full Version : VFD-B via Modbus with DL06 PLC problem.



aaron_s
09-10-2007, 05:11 PM
I'm having a little problem writing some modbus commands to a Delta VFD-B drive. I'm using an Automation Direct DL06 plc and the MRX and MWX commands to modbus it. As far as I can tell, you can read/write to the parameters starting at parameter 0000 by setting up the MRX/MWX block like this:

Port: K2
Slave Add: K1
Function Code: 03 or 16
Start Slave Memory Address: 40001
Number of Elem: 20
Modbus Data type: 584/984 Mode
Exception Buffer: V400

If I have it setup like this, I can successfully read or write to parameters 0000 through 0019 (20 elements). This is great...if I only want to access those parameters. Unfortunately there are a lot more parameters (all the way up to 0900) that I need to access. I can change my start slave address anywhere from 40001 to 40011, but if I set it beyond this, it wont read/write any values. Also, it only lets me read/write up to 20 elements. Again, anything past this and it fails to read/write values.

Does this sound familiar to anyone? Any suggestions or brainstorming would be much appreciated!

Ryan Patterson
09-10-2007, 06:17 PM
You can read and write to all the commands to the VFD-B through a RS485 serial connection. There is a program in ShopBot Labs. http://www.shopbottools.com/shopbot_labs.htm With this program it will allow you to change any command in the VFD. I wrote this to be able to change the RMP from with in a ShopBot Part file.

aaron_s
09-11-2007, 05:20 PM
Alright. Are you suggesting that I download your program and look inside it to see what you did to write to the drive?

What I need to do is to be able to change the drive speed using the MODBUS write command in my DL06 PLC.

I should just be able to write to a v40000 memory address that corresponds to the rpm parameter and be done with it.

Ryan Patterson
09-11-2007, 09:26 PM
There is a little more than just writing a value to a register in the vfd. The vfd uses a crc16 (check sum) to make sure it gets all the data before making a change. Then after it makes the change it will return the values for you to confirm the change was made. The vfd-b manual explains what is needed to read and write to the vfd.

aaron_s
09-13-2007, 12:51 PM
Through an email I received from delta, I was able to find what I was doing wrong. To convert the parameter to modbus addressing you have to first take the parameter (ex 05-25) and convert it to hex (05 = 05H, 25 = 19H), then put it together and convert it to decimal (0519H = 1305), and finally add that to 40001. So to write to parameter 05-25, you set the modbus address to 41306. I wouldn't have ever figured that one out on my own. Ugh.

Anyway, now that I can write to any parameter, I cant seem to find which parameter you write the desired drive speed to. I thought it was 2-15, but that's only the keypad speed if you're in Digital Keypad mode. I want to be in RS-485 comm mode and send it speed commands. Any ides?


Thanks!

aaron_s
09-13-2007, 01:11 PM
Whoops. Nevermind. I found it buried in the manual. It's 2000H, or 48194 modbus. Heh.