vfdb_vfd(1)
π vfdb_vfd π
okay so this page lives in the LinuxCNC Documentation manual, and it's about a little program called vfdb_vfd (that's the (1) β a user command, bestie, not some deep kernel wizardry). It's a HAL non-realtime component for Delta VFD-B Variable Frequency Drives, and honestly? it's giving very niche, very powerful, very spindle-core. π¦
β¨ SYNOPSIS β¨
vfdb_vfd [OPTIONS]
πΈ DESCRIPTION πΈ
This manual page explains the vfdb_vfd component. This component reads and writes to the VFD-B device via a Modbus connection.
vfdb_vfd is for use with LinuxCNC. no cap, that's the whole point. π
π QUICK START π
okay listen. the VFD-B ships in a configuration that can not talk to this driver. π The VFD-B must be reconfigured via the face plate by the integrator before it will work. This section gives a brief description of what changes need to be made β consult your Delta VFD-B manual for more details, fr fr.
- Switch the VFD-B to Modbus RTU frame format: Switch parameter
09-04from the factory default of0(Ascii framing) to3,4, or5(RTU framing). The setting you choose will determine several serial parameters in addition to the Modbus framing protocol. π - Set the frequency control source to be Modbus, not the keypad: Switch parameter
02-00from factory default of00(keypad control) to5(control from RS-485). - Set the run/stop control source to be Modbus, not the keypad: Switch parameter
02-01from the factory default of0(control from keypad) to3(control from Modbus, with Stop enabled on the keypad).
π OPTIONS π
-n,--name<halname> β set the HAL component name β¨-d,--debugβ Turn on debugging messages. Also toggled by sending aUSR1signal to thevfdb_vfdprocess. π-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 aUSR2signal to thevfdb_vfdprocess. π₯-I,--ini<INI file> β take configuration from this INI file. Defaults to environment variableINI_FILE_NAME. Mostvfdb_vfdconfiguration comes from the INI file, not from command-line arguments. iykyk. π-S,--section<section name> β take configuration from this section in the INI file. Defaults to'VFD-B'.-r,--report-deviceβ report device properties on console at startup.
π§ INI CONFIG VARIABLES π§
DEBUGβ Set to a non-zero value to enable general debug output from the VFD-B driver. Optional.MODBUS_DEBUGβ Set to a non-zero value to enable modbus debug output from the VFD-B driver. Optional.DEVICEβ Serial port device file to use for Modbus communication with the VFD-B. Defaults to'/dev/ttyS0'.BAUDβ Modbus baud rate. Defaults to19200.BITSβ Modbus data bits. Defaults to8.PARITYβ Modbus parity. Defaults toEven. Accepts'Even','Odd', or'None'.STOPBITSβ Modbus stop bits. Defaults to1.TARGETβ Modbus target number of the VFD-B to speak to. Defaults to1.POLLCYCLESβ Only read the less important variables from the VFD-B once in this many poll cycles. Defaults to10.RECONNECT_DELAYβ If the connection to the VFD-B is broken, wait this many seconds before reconnecting. Defaults to1. π«ΆMOTOR_HZ,MOTOR_RPMβ The frequency of the motor (in Hz) and the corresponding speed of the motor (in RPM). This information is provided by the motor manufacturer, and is generally printed on the motor's name plate. π·οΈ
π PINS π
<name>.at-speed(bit, out) β True when drive is at commanded speed (seespeed-tolerancebelow)<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>.frequency-command(float, out) β Current target frequency in HZ as set throughspeed-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). π¨<name>.is-stopped(bit, out) β True when the VFD reports 0 Hz output.<name>.jog-mode(bit, in) β1for ON and0for OFF, enables the VFD-B 'jog mode'. Speed control is disabled. This might be useful for spindle orientation. π<name>.max-rpm(float, out) β Actual RPM limit based on maximum frequency the VFD may generate, and the motors nameplate values. For instance, if nameplate-HZ is50, and nameplate-RPM is1410, but the VFD may generate up to80Hz, then max-rpm would read as2256(80*1410/50). The frequency limit is read from the VFD at startup. To increase the upper frequency limit, theULandFHparameters must be changed on the panel. See the VFD-B 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>.motor-RPS(float, out) β Estimated current RPS value, from the VFD.<name>.output-voltage(float, out) β From the VFD.<name>.output-current(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-on(bit, in) β1for ON and0for OFF sent to VFD, only on when running.<name>.max-speed(bit, in) β Ignore theloop-timeparameter 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 VFD manual). A bitmap.<name>.error-count(s32, out) β Total number of transactions returning a Modbus error.<name>.error-code(s32, out) β Most recent Error Code from VFD.<name>.frequency-limit(float, out) β Upper limit read from VFD setup.
π PARAMETERS π
<name>.loop-time(float, RW) β How often the Modbus is polled (default interval0.1seconds).<name>.nameplate-HZ(float, RW) β Nameplate Hz of motor (default50). Used to calculate target frequency (together withnameplate-RPM) for a target RPM value as given byspeed-command.<name>.nameplate-RPM(float, RW) β Nameplate RPM of motor (default1410)<name>.rpm-limit(float, RW) β Do-not-exceed soft limit for motor RPM (defaults tonameplate-RPM).<name>.tolerance(float, RW) β Speed tolerance (default0.01) for determining whether spindle is at speed (0.01meaning: output frequency is within 1% of target frequency).
β USAGE β
The vfdb_vfd driver takes precedence over panel control while it is enabled (see .enable pin), effectively disabling the panel. Clearing the .enable pin re-enables the panel. Pins and parameters can still be set, but will not be written to the VFD until the .enable pin is set. Operating parameters are still read while bus control is disabled.
Exiting the vfdb_vfd driver in a controlled way 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 Delta VFD-B, see the VFD manual. π
πΈ AUTHOR πΈ
Yishin Li; based on vfd11_vfd by Michael Haberler. iconic lineage, honestly. π
π LICENSE π
GPL
ok that's the whole thing, bestie β go forth and Modbus. ππ
and for the cute sign-off: this page is tagged VFD-B VFD, dated September 19, 2009, and it's vfdb_vfd(1) β mwah, periodt. π
β¨
π¦ where this page comes from
- debian trixie: linuxcnc-uspace 1:2.9.4-2+deb13u1 Β· GFDL-1.1-or-later
- ubuntu questing: linuxcnc-uspace 1:2.9.4-2ubuntu2
- ubuntu resolute: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- ubuntu stonking: linuxcnc-uspace 1:2.9.4-2ubuntu4 Β· GFDL-1.1-or-later
- Copyright (c) 2013 Sebastian Kuzminsky
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms