This driver assumes certain other VFD settings:


mitsub_vfd - HAL userspace component for Mitsubishi A500 F500 E500 A500 D700 E700 F700-series VFDs (others may work)


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


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


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)

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 - 0
(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

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.


[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


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
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
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


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.