LinuxCNC Documentation

Este es un programa en tiempo no-real escrito en Python para controlar VFDs de Mitsubishi.
Específicamente las series A500 F500 E500 A500 D700 E700 F700 - otras pueden funcionar.
mitsub_vfd soporta control serie usando el protocolo RS458.
La conversión de USB o puerto serie a RS458 requiere hardware especial.

Note
Ya que es un programa en tiempo no-real, puede verse afectado por carga y latencia de la computadora. Es posible perder el control de los VFDs. Es opcional configurar el VFD para que se detenga si pierde comunicación, si es deseable. Uno debería tener siempre un circuito Estop que corte la energía a la unidad en caso de emergencia.

Este componente es cargado con el comando hal "loadusr":

loadusr -Wn coolant mitsub_vfd spindle=02 coolant=01

El comando anterior dice:
loadusr, espera a que los pines de refrigerante estén listos, componente mitsub_vfd, con 2 esclavos nombrados husillo (esclavo #2) y refrigerante (esclavo #1)

1. Opciones de la línea de comandos

Las opciones de línea de comandos son:

  • -b or --baud <tasa> : establece la velocidad en baudios - todos los VFDs en red deben usar la misma

  • -p or --port <ruta del dispositivo> : configura el puerto as usar, como /dev/ttyUSB0

  • <nombre>=<#esclavo> : configura el componente HAL/nombre de pin y número de esclavo.

La depuración puede alternarse estableciendo el pin de depuración en Verdadero.

Note
El activar la depuración resultará en un aluvión de texto en la terminal.

2. Pines

Donde <n> es mitsub_vfd o el nombre proporcionado durante la carga.

  • <n>.fwd (bool, in) True sets motion forward, False sets reverse.

  • <n>.run (bool, in) True sets the VFD in motion based on the .fwd pin.

  • <n>.debug (bool, in) Prints debug info to the terminal.

  • <n>.alarm (bool, out) signals an alarm state of VFD.

  • <n>.up-to-speed (bool, out) when drive is at commanded speed (speed-tolerance is set on vfd)

  • <n>.monitor (bool, in) some models (eg E500) cannot monitor status - set the monitor pin to false in this case pins such as up-to-speed, amps, alarm and status bits are not updated.

  • <n>.motor-cmd (real, in) commanded speed to the VFD (scaled to hertz by default).

  • <n>.motor-fb (real, out) feedback speed from the VFD (scaled to hertz by default).

  • <n>.motor-amps (real, out) Current amperage output of motor.

  • <n>.motor-power (real, out) Current power output of motor.

  • <n>.scale-cmd (real, in) Scales the motor-cmd pin to arbitrary units. default 1 = Hertz.

  • <n>.scale-fb (real, in) Scales the motor-fb pin to arbitrary units. default 1 = Hertz.

  • <n>.scale-amps (real, in) Scales the motor-amps pin to arbitrary units. default 1 = amps.

  • <n>.scale-power (real, in) Scales the motor-power pin to arbitrary units. default 1 = .

  • <n>.estop (bool, in) puts the VFD into emergency-stopped status.

  • <n>.status-bit-N (bool, out) N = 0 to 7, status bits are user configurable on the VFD. Bit 3 should be set to at speed and bit 7 should be set to alarm. Others are free to be set as required.

3. Ejemplo HAL

#
# ejemplo de uso del controlador Mitsubishi VFD
#
loadusr -Wn coolant mitsub_vfd 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
setp spindle.scale-cmd .135
#       feedback is in rpm
setp spindle.scale-fb 7.411
#       allows us to see status
setp spindle.monitor 1

net spindle-speed-indicator spindle.motor-fb        gladevcp.spindle-speed

# *************** Coolant vfd setup slave 3 ***********************
net coolant-flood               coolant.run
net coolant-is-on               coolant.up-to-speed   gladevcp.coolant-on-led
net estop-out                   coolant.estop
#       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

4. Configuración del VFD Mitsubishi para uso en serie

4.1. Conexión del puerto serie

Los VFDs Mitsubishi tienen un conector RJ-45 para comunicación en serie.
Dado que usan el protocolo RS485, pueden ser conectados en red de punto a punto.
Este controlador ha sido probado con el AC7A de Opto22 para convertir de RS232 a RS485.

4.2. Configuración para Modbus

Manuales referenciados:

manual de referencia de opciones de comunicación y Manual técnico del A500 para serie 500.
Manual técnico de Fr-A700 F700 E700 D700 para la serie 700

El VFD debe tener configuraciones PR ajustadas manualmente para comunicación en serie.
Uno debe apagar y prender el VFD para que algunas de ellas sean registradas, p. ej. PR 79

  • PR 77 en 1 -para desbloquear otras modificaciones PR.

  • PR 79 en 1 o 0 -para que la comunicación sea por serie .

  • PR 117 entre 0 y 31 -número de esclavo, el controlador debe referenciar al mimo número.

  • PR 118 probado con 96 -velocidad de baudios (puede configurarse a 48, 96, 192) si el controlador también lo soporta.

  • PR 119 en 0 -longitud de bits de paro/datos (8 bits, dos de paro)

  • PR 120 en 0 -sin paridad

  • PR 121 de 1 a 10 -Con 10 (máximo) errores de comunicación el VFD falla.

  • PR 122 probado con 9999 -si se pierde la comunicación el VFD no emitirá error.

  • PR 123 en 9999 -no se agrega tiempo de espera a la trama de datos en serie.

  • PR 124 en 0 -sin retorno de carro al final de línea.