= GS2 VFD Driver [[cha:gs2-vfd-driver]] (((GS2 VFD Driver))) This is a userspace HAL program for the GS2 series of VFD's at Automation Direct. This component is loaded using the halcmd "loadusr" command: ---- loadusr -Wn spindle-vfd gs2_vfd -n spindle-vfd ---- The above command says: loadusr, wait for named to load, component gs2_vfd, named spindle-vfd == Command Line Options * '-b or --bits ' (default 8) Set number of data bits to , where n must be from 5 to 8 inclusive * '-d or --device ' (default /dev/ttyS0) Set the name of the serial device node to use * '-g or --debug' Turn on debugging messages. This will also set the verbose flag. Debug mode will cause all modbus messages to be printed in hex on the terminal. * '-n or --name ' (default gs2_vfd) Set the name of the HAL module. The HAL comp name will be set to , and all pin and parameter names will begin with . * '-p or --parity {even,odd,none}' (default odd) Set serial parity to even, odd, or none. * '-r or --rate ' (default 38400) Set baud rate to . It is an error if the rate is not one of the following: 110, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 * '-s or --stopbits {1,2}' (default 1) Set serial stop bits to 1 or 2 * '-t or --target ' (default 1) Set MODBUS target (slave) number. This must match the device number you set on the GS2. * '-v or --verbose' Turn on debug messages. [NOTE] That if there are serial configuration errors, turning on verbose may result in a flood of timeout errors. == Pins Where is gs2_vfd or the name given during loading with the -n option. * '.DC-bus-volts' (float, out) The DC bus voltage of the VFD * '.at-speed' (bit, out) when drive is at commanded speed * '.err-reset' (bit, in) reset errors sent to VFD * '.firmware-revision' (s32, out) from the VFD * '.frequency-command' (float, out) from the VFD * '.frequency-out' (float, out) from the VFD * '.is-stopped' (bit, out) when the VFD reports 0 Hz output * '.load-percentage' (float, out) from the VFD * '.motor-RPM' (float, out) from the VFD * '.output-current' (float, out) from the VFD * '.output-voltage' (float, out) from the VFD * '.power-factor' (float, out) from the VFD * '.scale-frequency' (float, out) from the VFD * '.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 * '.spindle-fwd' (bit, in) 1 for FWD and 0 for REV sent to VFD * '.spindle-rev' (bit, in) 1 for REV and 0 if off * '.spindle-on' (bit, in) 1 for ON and 0 for OFF sent to VFD * '.status-1' (s32, out) Drive Status of the VFD (see the GS2 manual) * '.status-2' (s32, out) Drive Status of the VFD (see the GS2 manual) [NOTE] The status value is a sum of all the bits that are on. So a 163 which means the drive is in the run mode is the sum of 3 (run) + 32 (freq set by serial) + 128 (operation set by serial). == Parameters Where is gs2_vfd or the name given during loading with the -n option. * '.error-count' (s32, RW) * '.loop-time' (float, RW) how often the modbus is polled (default 0.1) * '.nameplate-HZ' (float, RW) Nameplate Hz of motor (default 60) * '.nameplate-RPM' (float, RW) Nameplate RPM of motor (default 1730) * '.retval' (s32, RW) the return value of an error in HAL * '.tolerance' (s32, RW) speed tolerance (default 0.01) For an example of using this component to drive a spindle see the <> example.