Provided by: linuxcnc-uspace_2.9.0~pre0+git20220402.2500863908-4build1_amd64 bug

NAME

       mitsub_vfd  -  HAL  userspace  component  for  Mitsubishi  A500  F500  E500 A500 D700 E700
       F700-series VFDs (others may work) This uses the COMPUTER LINK protocol _not_ MODBUS.  The
       connection is made through the PU connector.

SYNOPSIS

       loadrt mitsub_vfd [--baud 4800] [--port /dev/ttyUSB0] name1=number1[,name2=numer2...]
       name1 is user selectable (usually a description of the controlled device).
       number1 is the slave number that was set on the VFD.  must be two digits (Parameter 117)
       name=number can be repeated for multiple VFD's connected together
       --baud is optional as it defaults to 9600
         all networked vfds must be set to the same baudrate
       --port is optional as it defaults to ttyS0

DESCRIPTION

       The mitsub_vfd component interfaces a Mitsubishi VFD to LinuxCNC. The VFD is connected via
       RS-485 serial to the computer's USB or serial port using a RS-232/RS-485 converter

HARDWARE SETUP

       reference manual 'communication option reference manual' and A500 technical manual for 500
       series.  Fr-A700 F700 E700 D700 technical manual for the 700 series
       The inverter must be set manually for communication
       ( you may have to set PR 77 to 1 to unlock PR modification )
       You must power cycle the inverter for some of these. (eg 79)

       VFD INTERNAL PARAMETERS:

              PARAMETER 79 - 1 or 0

              PARAMETER 117 station number - 1
              (can be optionally set 0 - 31) if component is also set

              PARAMETER 118 communication speed 96
              (can be optionally set 48,96,192 if component is also set)

              PARAMETER 119 stop bit/data length - 1
              (8 bits, two stop - don't change)

              PARAMETER 120 parity - 0
              (no parity - don't change)

              PARAMETER 121 COM tries - 10
              (if maximuim 10 COM errors then inverter faults- can change)

              PARAMETER 122 COM check time interval 9999
              (never check - if communication is lost inverter will not know (can change)

              PARAMETER 123 wait time - 9999
              no wait time is added to the serial data frame (don't change)

              PARAMETER 124 CR selection - 0
              don't change

              PARAMETER 549 communication protocol - 0
              computer link protocol - don't change - (not all VFDs have this)

       This driver assumes certain other VFD settings:
       -That the motor frequency status is set to show herts.
       -That the status bit 3 is up to speed
       -That the status bit 7 is alarm

       some models (eg E500) cannot monitor status.
       You must set set the monitor pin to false.
       In this case pins such as up-to-speed, amps, alarm and status bits are not useful.

PINS

       [VFD NAME].fwd (bit, in)::
             forward/reverse pin
       [VFD NAME].run (bit, in)::
             run/stop pin
       [VFD NAME].debug (bit, in)::
             set debug mode pin
             This will print many messages to the terminal
       [VFD NAME].monitor (bit, in)::
             set monitor mode pin
             If false request-status command will not be sent to vfd.
             Status, amps, power, motor-feedback, and alarm would then not
               be useful.
       [VFD NAME].estop (bit, in)::
             set estop mode pin
             This will stop the VFD.
             Restarting requires the run pin to cycle.

       [VFD NAME].fwd (bit, out)::
             up-to-speed status pin
             Motor is at requested speed within VFD's settings tolerance.
       [VFD NAME].alarm (bit, out)::
             alarm status pin

       [VFD NAME].motor-cmd (float, in)::
             The requested motor speed, is Hertz

       [VFD NAME].motor-fb (float, out)::
             The motor feedback speed (from vfd) in hertz
       [VFD NAME].motor-amps (float, out)::
             The motor current, in amps
       [VFD NAME].motor-power (float, out)::
             The motor power

       [VFD NAME].scale-cmd (float, in)::
             Motor command's scale setting defaults to 1
       [VFD NAME].scale-cmd (float, in)::
             Motor command's scale setting defaults to 1
       [VFD NAME].scale-cmd (float, in)::
             Motor command's scale setting defaults to 1

       [VFD NAME].stat-bit-0 (bit, out)::
             raw status bit
       [VFD NAME].stat-bit-1 (bit, out)::
             raw status bit
       [VFD NAME].stat-bit-2 (bit, out)::
             raw status bit
       [VFD NAME].stat-bit-3 (bit, out)::
             raw status bit
             set the VFD so this is motor-at-speed status
       [VFD NAME].stat-bit-4 (bit, out)::
             raw status bit
       [VFD NAME].stat-bit-5 (bit, out)::
             raw status bit
       [VFD NAME].stat-bit-6 (bit, out)::
             raw status bit
       [VFD NAME].stat-bit-7 (bit, out)::
             raw status bit
             Set the VFD so this in the alarm bit

SAMPLE HAL

       loadusr -Wn coolant mitsub_vfd --port /dev/ttyUSB0 spindle=02 coolant=01
       # **************** Spindle VFD setup slave 2 ****************
       net spindle-vel-cmd               spindle.motor-cmd
       net spindle-cw                    spindle.fwd
       net spindle-on                    spindle.run
       net spindle-at-speed              spindle.up-to-speed
       net estop-out                     spindle.estop
       #       cmd scaled to RPM (belt/gearbox driven)
       setp spindle.scale-cmd .135
       #       feedback is in rpm (recipicale of command)
       setp spindle.scale-fb 7.411
       #       turn on monitoring so feedback works
       setp spindle.monitor 1
       net spindle-speed-indicator spindle.motor-fb
       # *************** Coolant vfd setup slave 1 *****************
       net coolant-flood                         coolant.run
       net coolant-is-on              coolant.up-to-speed
       #       cmd and feedback scaled to hertz
       setp coolant.scale-cmd 1
       setp coolant.scale-fb 1
       #       command full speed
       setp coolant.motor-cmd 60
       #       allows us to see status
       setp coolant.monitor 1
       net estop-out                     coolant.estop

ISSUES

       some  models (eg E500) cannot monitor status, so set the monitor pin to false In this case
       pins such as up-to-speed, amps, alarm and status bits are not useful.