VFD Modbus Mesa 7i96S pktUART

More
08 Mar 2024 06:31 #295440 by blazini36
I mean the Modbus driver side. You're just guessing what to set the VFD to unless you either already know what the Mesa/driver side is doing or you set it yourself. PCW says he has it working with a GS10 VFD so he can tell you definitively what the VFD should be set at, otherwise it wouldn't work for him either.

Looking around I've only come across things that suggest it should be set at 8<parity>1 which is pretty typical. You should try using something like qmodbus with your USB dongle to make sure you can get something out of that VFD before messing with pktUART

Please Log in or Create an account to join the conversation.

More
08 Mar 2024 08:54 #295443 by DerChristian
Yeah I'm trying exactly that. Took the vfd out of the wiring cabinet and with me into the office. Tested different programs, thanks for mentioning qmodbus. I even took the control board apart to see if there is maybe an error in the manual and the modbus is using other pins of the RJ45 connector than the mentioned pins 1 and 2. But after some fiddling and testing different pins I'am sure pin 1 and 2 are the right pins. Because thats the only combination where I even get ay RX signal. But no matter what I'm doing the only response I get is 00. I also contacted the tech support of the vfd.
P.S. do you know if qmodbus is sending CRC16 after each command?

Please Log in or Create an account to join the conversation.

More
08 Mar 2024 11:02 #295446 by blazini36

Yeah I'm trying exactly that. Took the vfd out of the wiring cabinet and with me into the office. Tested different programs, thanks for mentioning qmodbus. I even took the control board apart to see if there is maybe an error in the manual and the modbus is using other pins of the RJ45 connector than the mentioned pins 1 and 2. But after some fiddling and testing different pins I'am sure pin 1 and 2 are the right pins. Because thats the only combination where I even get ay RX signal. But no matter what I'm doing the only response I get is 00. I also contacted the tech support of the vfd.
P.S. do you know if qmodbus is sending CRC16 after each command?
 

No idea about the CRC, I rarely use Modbus/RS485 except to program Schnieder VFDs. I'd assume it does or it'd be fairly useless.

I looked at the manual quick, it mentions the H0110 card which looks like the keypad that comes with the drive. There are screw terminals, SG+ and SG- that are the same as pins 1 and 2 of the RJ45 connector, not sure how you're connected but that might be easier to mess with. There's also a jumper to turn RS485 on or off so you might wanna check that. BTW, once you get it working you might wanna check this post, I just happened to see this. Down the page it's mentioned that a parameter needs to be set if using 16bit registers.
forum.linuxcnc.org/24-hal-components/387...modbus-rtu?start=120

Please Log in or Create an account to join the conversation.

More
08 Mar 2024 11:32 #295448 by DerChristian
Hey thanks for your reply. The standard controller of the vfd is the H0101 and sadly not the H0110. On the one I've got there are no extra pins for the RS485 and no jumper. It's some pages before the one you looked at in the manual.

Please Log in or Create an account to join the conversation.

More
19 Mar 2024 12:12 #296315 by DerChristian
Okay so I found the problem. The controlboard of the VFD seems to have been broken. I ordered a new controlboard and a spare VFD and both are answering modbus commands as expected. Now I have to find out how to implement them in my linuxcnc setup. @PCW you mentioned using enum in another post. May I ask you for an example? 

Please Log in or Create an account to join the conversation.

More
21 Mar 2024 05:26 - 21 Mar 2024 05:27 #296440 by DerChristian
Little update. Got everything kind of working. 
loadrt VFD_modbus ports=hm2_7i96s.0.pktuart.0
addf VFD_modbus.00 servo-thread
setp VFD_modbus.00.address 1
setp VFD_modbus.00.baudrate 9600
loadrt enum enums=E;;forward;;reverse;;;;;;;;;;;;;stop; names=enum.spindle
addf enum.spindle servo-thread

# Spindle PID Setup
setp pid.s.Pgain [SPINDLE_0](P)
setp pid.s.Igain [SPINDLE_0](I)
setp pid.s.Dgain [SPINDLE_0](D)
setp pid.s.bias [SPINDLE_0](BIAS)
setp pid.s.FF0 [SPINDLE_0](FF0)
setp pid.s.FF1 [SPINDLE_0](FF1)
setp pid.s.FF2 [SPINDLE_0](FF2)
setp pid.s.deadband [SPINDLE_0](DEADBAND)
setp pid.s.maxoutput [SPINDLE_0](MAX_OUTPUT)
setp pid.s.error-previous-target true

# Spindle PWM Setup
##setp hm2_[MESA](BOARD).0.pwmgen.00.output-type [SPINDLE_0](PWM_TYPE)
##setp hm2_[MESA](BOARD).0.pwmgen.pwm_frequency [SPINDLE_0](PWM_FREQUENCY)
##setp hm2_[MESA](BOARD).0.pwmgen.00.scale [SPINDLE_0]MAX_OUTPUT

# Spindle Enable
##net spindle-on <= spindle.0.on
net spindle-on => pid.s.enable
##net spindle-on => hm2_[MESA](BOARD).0.pwmgen.00.enable

loadrt scale names=scale.spindle
addf scale.spindle servo-thread
scale.spindle.gain = 2.4

loadrt conv_float_u32 names=conv_float_u32.spindle
addf conv_float_u32.spindle servo-thread


# Spindle Connections
net spindle-speed scale.spindle.in <= spindle.0.speed-out-abs
net spindle-conv conv_float_u32.spindle.in <= scale.spindle.out
net spindle-vel-cmd <= conv_float_u32.spindle.out
net spindle-vel-cmd => VFD_modbus.00.frequency
net spindle-pid-out <= pid.s.output
net spindle-pid-out => hm2_[MESA](BOARD).0.pwmgen.00.value

# Spindle Feedback
setp spindle.0.at-speed true

Not sure about the whole spindle PID Parameters. First I have to find out the address for the actual running frequency feedback signal of the spindle. The addresses mentioned in the manual of the vfd seem to be wrong, will contact the manufacturer to confirm. What is the recommended route for vfds, using the build in PID controlller of the vfd or doing it in linuxcnc? 
Last edit: 21 Mar 2024 05:27 by DerChristian. Reason: typo
The following user(s) said Thank You: tommylight, Unlogic

Please Log in or Create an account to join the conversation.

Time to create page: 0.285 seconds
Powered by Kunena Forum