svd-ps_vfd - HAL userspace component for SVD-P(S) VFDs
The svd-ps_vfd component interfaces a Soyan Power SVD-P(S) VFD to
the LinuxCNC HAL. The VFD is connected via RS-485 to the LinuxCNC
computer.
The SVD-P(S) VFDs are also sold under the LAPOND brand.
The SVD-P(S) VFDs do not come with a Modbus daughterboard by
default, it needs to be purchased separately.
The sad-ps_vfd component uses standard Modbus protocol
communication which requires that one parameter be changed from the default
settings:
PD-05 = 1 (Standard Modbus protocol)
The following settings have been tested successfully and are the
default per Soyans documentation:
PD-00 = 6005 (9600 baud)
PD-01 = 0 (8N2)
PD-02 = 1 (Slave address)
PD-03 = 2 (Response delay)
PD-04 = 0 (Communication timeout)
PD-06 = 0 (Current resolution)
-b, --bits N
(default 8) For Modbus communication. Set number of data
bits to N. N must be between 5 and 8 inclusive.
-p, --parity [Even,Odd,None]
(default None) For Modbus communication. Set serial parity to Even,
Odd, or None.
-r, --rate N
(default 9600) For Modbus communication. Set baud rate to
N. It is an error if the rate is not one of the following: 1200, 2400,
4800, 9600, 19200, 38400
-s, --stopbits [1,2]
(default 2) For Modbus communication. Set serial stop
bits to 1 or 2.
-t, --target N
(default 1) For Modbus communication. Set Modbus target
(slave) number. This must match the device number you set on the Huanyang GT
VFD.
-d, --device PATH
(default /dev/ttyS0) For Modbus communication. Set the
name of the serial device node to use.
-v, --verbose
Turn on verbose mode.
-S, --motor-max-speed RPM
The motor’s max speed in RPM.
-F, --max-frequency HZ
This is the maximum output frequency of the VFD in
Hz.
-f, --min-frequency HZ
This is the minimum output frequency of the VFD in
Hz.
svd-ps_vfd.period (float, in)
The period for the driver’s update cycle, in
seconds. This is how frequently the driver will wake up, check its HAL pins,
and communicate with the VFD. Must be between 0.001 and 2.000 seconds.
Default: 0.1 seconds.
svd-ps_vfd.speed-cmd (float, in)
The requested motor speed, in RPM.
svd-ps_vfd.speed-fb (float, out)
The motor’s current speed, in RPM, reported by the
VFD.
svd-ps_vfd.at-speed (bit, out)
True when the drive is on and at the commanded speed
(within 2%), False otherwise.
svd-ps_vfd.freq-cmd (float, out)
The requested output frequency, in Hz. This is set from
the .speed-cmd value, and is just shown for debugging purposes.
svd-ps_vfd.freq-fb (float, out)
The current output frequency of the VFD, in Hz. This is
reported from the VFD to the driver.
svd-ps_vfd.spindle-on (bit, in)
Set this pin True to command the spindle on, at the speed
requested on the .speed-cmd pin. Set this pin False to command the spindle
off.
svd-ps_vfd.output-voltage (float, out)
The voltage that the VFD is current providing to the
motor, in Volts.
svd-ps_vfd.output-current (float, out)
The current that the motor is currently drawing from the
VFD, in Amperes.
hsvd-ps_vfd.output-power (float, out)
The power that the motor is currently drawing from the
VFD, in Watts.
svd-ps_vfd.dc-bus-voltage (float, out)
The current voltage of the VFD’s internal DC power
supply, in Volts.
svd-ps_vfd.modbus-errors (u32, out)
A count of the number of modbus communication errors
between the driver and the VFD. The driver is resilient against communication
errors, but a large or growing number here indicates a problem that should be
investigated.
svd-ps_vfd.input-terminal (float, out)
The VFD’s input terminal register.
svd-ps_vfd.AI1 (float, out)
The VFD’s AI1 register.
svd-ps_vfd.AI2 (float, out)
The VFD’s AI2 register.