= GS2 VFD Driver [[cha:gs2-vfd-driver]] (((GS2 VFD Driver))) //// ATTENTION TRANSLATORS before translating this document copy the base document into this copy to get the latest version. Untranslated documents are not kept up to date with the English documents. Do not translate anchors or links, translate only the text of a link after the comma. Anchor [[anchor-name]] Link <> Make sure the documents build after translating. //// 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.