vfs11_vfd - HAL userspace component for Toshiba-Schneider VF-S11 Variable Frequency Drives


vfs11_vfd [OPTIONS]


This manual page explains the vfs11_vfd component. This component reads and writes to the vfs11 via a Modbus connection.

vfs11_vfd is for use with LinuxCNC.


-n --name <halname>

set the HAL component name

-d --debug

Turn on debugging messages. Also toggled by sending a USR1 signal to the vfs11_vfd process.

-m --modbus-debug

Turn on Modbus debugging messages. This will cause all Modbus messages to be printed in hex on the terminal. Also toggled by sending a USR2 signal to the vfs11_vfd process.

-I --ini <inifilename>

take configuration from this ini file. Defaults to environment variable INI_FILE_NAME.

-S --section <section name>

take configuration from this section in the ini file. Defaults to ’VFS11’.

-r --report-device

report device propertiers on console at startup


<name>.acceleration-pattern (bit, in)

when true, set acceleration and deceleration times as defined in registers F500 and F501 respecitvely. Used in PID loops to choose shorter ramp times to avoid oscillation.

<name>.alarm-code (s32, out)

non-zero if drive is in alarmed state. Bitmap describing alarm information (see register FC91 description). Use err-reset (see below) to clear the alarm.

<name>.at-speed (bit, out)

when drive is at commanded speed (see speed-tolerance below)

<name>.current-load-percentage (float, out)

reported from the VFD

<name>.dc-brake  (bit, in)

engage the DC brake. Also turns off spindle-on.

<name>.enable (bit, in)

enable the VFD. If false, all operating parameters are still read but control is released and panel control is enabled (subject to VFD setup).

<name>.err-reset (bit, in)

reset errors (alarms a.k.a Trip and e-stop status). Resetting the VFD may cause a 2-second delay until it’s rebooted and Modbus is up again.

<name>.estop (bit, in)

put the VFD into emergency-stopped status. No operation possible until cleared with err-reset or powercycling.

<name>.frequency-command (float, out)

current target frequency in HZ as set through speed-command (which is in RPM), from the VFD

<name>.frequency-out (float, out)

current output frequency of the VFD

<name>.inverter-load-percentage (float, out)

current load report from VFD

<name>.is-e-stopped (bit, out)

the VFD is in emergency stop status (blinking "E" on panel). Use err-reset to reboot the VFD and clear the e-stop status.

<name>.is-stopped (bit, out)

true when the VFD reports 0 Hz output

<name>.jog-mode (bit, in)

1 for ON and 0 for OFF, enables the VF-S11 ’jog mode’. Speed control is disabled, and the output frequency is determined by register F262 (preset to 5Hz). This might be useful for spindle orientation.

<name>.max-rpm (float, R)

actual RPM limit based on maximum frequency the VFD may generate, and the motors nameplate values. For instance, if nameplate-HZ is 50, and nameplate-RPM_ is 1410, but the VFD may generate up to 80Hz, then max-rpm would read as 2256 (80*1410/50). The frequency limit is read from the VFD at startup. To increase the upper frequency limit, the UL and FH parameters must be changed on the panel. See the VF-S11 manual for instructions how to set the maximum frequency.

<name>.modbus-ok (bit, out)

true when the Modbus session is successfully established and the last 10 transactions returned without error.

<name>.motor-RPM (float, out)

estimated current RPM value, from the VFD

<name>.output-current-percentage (float, out)

from the VFD

<name>.output-voltage-percentage (float, out)

from the VFD

<name>.output-voltage (float, out)

from the VFD

<name>.speed-command (float, in)

speed sent to VFD in RPM. It is an error to send a speed faster than the Motor Max RPM as set in the VFD

<name>.spindle-fwd (bit, in)

1 for FWD and 0 for REV, sent to VFD

<name>.spindle-on (bit, in)

1 for ON and 0 for OFF sent to VFD, only on when running

<name>.spindle-rev (bit, in)

1 for ON and 0 for OFF, only on when running

<name>.max-speed (bit, in)

ignore the loop-time paramater and run Modbus at maximum speed, at the expense of higher CPU usage. Suggested use during spindle positioning.

<name>.status (s32, out)

Drive Status of the VFD (see the TOSVERT VF-S11 Communications Function Instruction Manual, register FD01). A bitmap.

<name>.trip-code (s32, out)

trip code if VF-S11 is in tripped state.

<name>.error-count (s32, RW)

total number of transactions returning a Modbus error


<name>.frequency-limit (float, RO)

upper limit read from VFD setup.

<name>.loop-time (float, RW)

how often the Modbus is polled (default interval 0.1 seconds)

<name>.nameplate-HZ (float, RW)

Nameplate Hz of motor (default 50). Used to calculate target frequency (together with nameplate-RPM ) for a target RPM value as given by speed-command.

<name>.nameplate-RPM (float, RW)

Nameplate RPM of motor (default 1410)

<name>.rpm-limit (float, RW)

do-not-exceed soft limit for motor RPM (defaults to nameplate-RPM ).

<name>.tolerance (float, RW)

speed tolerance (default 0.01) for determining wether spindle is at speed (0.01 meaning: output frequency is within 1% of target frequency)


The vfs11_vfd driver takes precedence over panel control while it is enabled (see .enable pin), effectively disabling the panel. Clearing the .enable pin re-enableds the panel. Pins and parameters can still be set, but will not be written to the VFD untile the .enable pin is set. Operating parameters are still read while bus control is disabled.

Exiting the vfs11_vfd driver in a controlled will release the VFD from the bus and restore panel control.

See the LinuxCNC Integrators Manual for more information. For a detailed register description of the Toshiba VFD’s, see the "TOSVERT VF-S11 Communications Function Instruction Manual" (Toshiba document number E6581222) and the "TOSVERT VF-S11 Instruction manual" (Toshiba document number E6581158).


Michael Haberler; based on gs2_vfd by Steve Padnos and John Thornton.