This is a non-realtime HAL program, written in python, to control Hypetherm Powermax plasma cutters using the Modbus ASCII protocol over RS485.

Since this is a non-realtime program it can be affected by computer loading and latency. It is possible to lose communications which will be indicated by a change in the status output. One should always have an Estop circuit that kills the power to the unit in case of emergency.

This component is loaded using the halcmd "loadusr" command:

loadusr -Wn pmx485 pmx485 /dev/ttyUSB0

This will load the pmx485 component using the /dev/ttyUSB0 port and wait for it to become ready.

It is necessary to name the port to use for communications.

1. Pins

  • pmx485.mode-set (bit, in) # set cutting mode

  • pmx485.current-set (bit, in) # set cutting current

  • pmx485.pressure-set (bit, in) # set gas pressure

  • pmx485.enable (bit, in) # enable the component

  • pmx485.mode (bit, out) # cut mode feedback

  • pmx485.current (bit, out) # cutting current feedback

  • pmx485.pressure (bit, out) # gas pressure feedback

  • pmx485.fault (bit, out) # powermax fault code

  • pmx485.status (bit, out) # connection status

  • pmx485.current-min (bit, out) # minimum allowed current

  • pmx485.current-max (bit, out) # maximum allowed current

  • pmx485.pressure-min (bit, out) # minimum allowed gas pressure

  • pmx485.pressure-max (bit, out) # maximum allowed gas pressure

2. Description

To communicate with a Powermax, the component must first be enabled via the enable pin and it may then initiate a request to the Powermax by writing a valid string to the following pins:

  • mode-set

  • current-set

  • pressure-set

A pressure-set value of zero is valid, the Powermax will then calculate the required pressure internally.

Communications may be validated from the Powermax display or the status pin. While in remote mode, the mode, current and pressure may be changed as needed.

To terminate the communications, do one of the following:

  • Set all set pins to zero: mode-set, current-set, and pressure-set.

  • Disconnect the Powermax power supply from its power source for approximately 30 seconds. When you power the system back ON, it will no longer be in remote mode.

3. Reference:

  • Hypertherm Application Note #807220
    "Powermax45 XP/65/85/105/125® Serial Communication Protocol"