1. License

PlasmaC and all its related software is released under GPLv2.

2. Introduction

PlasmaC is a LinuxCNC configuration for plasma cutting incorporating the PlasmaC HAL component with GUI configurations for both Axis and Gmoccapy. It should run on any hardware that is supported on LinuxCNC provide there are enough I/O pins.

If you are new user, it may be worthwhile having a read through the Plasma CNC Primer document which is a generic introduction to CNC plasma cutting.

PlasmaC uses one of three different operating modes.

Mode

Description

0

Use external arc voltage in to calculate Arc Voltage and Arc OK

1

Use external arc voltage in to calculate Arc Voltage
Use external arc ok in for Arc OK

2

Use external arc ok in for Arc OK
Use external up/down for THC

For full functionality, Plasmac requires LinuxCNC v2.9 (the current master) or later. It will work on LinuxCNC v2.8 with only the paused motion feature not available.

No Z axis motion is required in G-Code, the standard PlasmaC configurations will comment out any Z commands during program load.

For reliable use of PlasmaC you should NOT use any Z axis offsets other than coordinate system offsets (G54 -G59.3).

Normally it is best to touch off your Z axis to roughly the top of your stock then bring the Z axis to almost the top of travel before starting your cuts.

3. I/O Requirements

This section only touches on the I/O required for PlasmaC itself, base machine requirements such as limit switches, home switches etc. are in addition to these.

Name

Modes

Description

Arc Voltage

0,1

Analog input to read the arc voltage
Typically connected to a velocity output from an encoder

Float Switch

0,1,2

Digital input. Optional, see below
Connected to the switch on the floating head
If not using an ohmic probe this is the primary probe sensor
If using an ohmic probe this is the fallback probe sensor

Ohmic Probe

0,1,2

Digital input. Optional, see below
Connected to the probe output
If used, this is the primary probe sensor

Ohmic Probe Enable

0,1,2

Digital output. Only required if using ohmic probing
Connected to the probe enabling input
This pin is used to arm the ohmic probe

Breakaway Switch

0,1,2

Digital input. Optional, see below
Connected to the torch breakaway switch
Senses if the torch has broken away from its cradle

Torch On

0,1,2

Digital output
Connected to the torch on input of the plasma power supply

Move Up

2

Digital input
Connected to the up output of the external THC control

Move Down

2

Digital input
Connected to the down output of the external THC control

Only one of either float switch or ohmic probe is required. If both are used then float switch will be a fallback if ohmic probe is not sensed.

If ohmic probe is used then ohmic enable is required.

breakaway switch is not mandatory because float switch is treated the same as a breakaway when not probing. If they were two separate switches, the could be combined and connected as a float switch

Note
The minimum I/O requirement for a PlasmaC configuration is arc voltage input, float switch input and torch on output. In this case, PlasmaC treats the float switch as a breakaway switch when it is not probing.
Important
These pins will be entered later into the Configurator, they should NOT be used in your base machine .hal file.

4. Installation

4.1. Getting LinuxCNC With The PlasmaC Add-Ons

The minimum requirement for PlasmaC is LinuxCNC v2.8, although this version does NOT support the paused motion feature.

LinuxCNC v2.9 or later provides full functionality.

4.2. If You Do Not Have Linux Installed

Download an ISO image from one of the following and write it to a bootable device:

All PlasmaC development has been done on a Stretch ISO installation.

Then boot from the device and follow the prompts.

This will give you a machine with the current stable (v2.7) branch of LinuxCNC, go to the next section and follow the type of installation you would like. The buildbot is recommended if you are not doing any linuxcnc development.

4.3. If You Have LinuxCNC v2.7

You can then choose between a standard package installation from the buildbot or you can compile you own run in place installation.

Buildbot Installation

For more information on the buildbot, see the LinuxCNC buildbot

To use the buildbot packages on your computer, first add the buildbot archive signing key to your apt keychain by running this command from a terminal:

sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key E0EE663E

From the main menu, open Synaptic Package Manager and find the Repositories list.

You can either edit or delete existing LinuxCNC entries but you need to end up with the following set of stanzas:

deb     http://buildbot.linuxcnc.org/ <distro> <branch>-<rt_type>
deb-src http://buildbot.linuxcnc.org/ <distro> <branch>-<rt_type>

Where:

  • <distro> is stretch or wheezy

  • <branch> is master or 2.8

  • <rt_type> is rtpreempt or rt

So if you installed the stretch version and wanted master branch then you would have:

deb     http://buildbot.linuxcnc.org/ stretch master-rtpreempt
deb-src http://buildbot.linuxcnc.org/ stretch master-rtpreempt

In a terminal:

$ sudo apt-get update

Then for rtpreempt:

$ sudo apt-get install linuxcnc-uspace

or for rt:

$ sudo apt-get install linuxcnc
Run In Place Installation

For more information on a run in place installation, see Building LinuxCNC

Caution
Do NOT use sudo except for the make setuid step

Open a terminal window:

$ git clone git://github.com/linuxcnc/linuxcnc.git linuxcnc-dev
$ cd linuxcnc-dev/src
$ ./autogen.sh

for RTPREEMPT

$ ./configure --with-realtime=uspace

For RTAI (mostly for parallel port machines)

$ ./configure --with-realtime=/usr/realtime-$VERSION

You can then try to compile LinuxCNC.

$ make

If you get errors here have a look at Satisfying Build Dependencies

If no errors:

$ sudo make setuid
$ . ../scripts/rip-environment (that is dot space dot dot slash)
$ linuxcnc

My preferred method of opening a run in place version of LinuxCNC is:

$ ~/linuxcnc-dev/scripts/linuxcnc

This script will set the environment variables and start linuxcnc.

You could then point this to an .ini file and open a configuration. This command can then be put in a desktop shortcut.

$ ~/linuxcnc-dev/scripts/linuxcnc ~/linuxcnc/configs/plasmac/plasmac.ini

4.4. Testing LinuxCNC Installation

The LinuxCNC Configuration Selector should open.

Navigate to Sample Configurations - by_machine - plasmac.

Select either Axis or Gmoccapy.

Select either metric or imperial.

You now have all the requirements to run PlasmaC, the next step is to create a working configuration for your machine.

4.5. Make A Working Base Machine Configuration

Base machine configuration means a complete working system. All axes should be working and tuned for best performance and all home and limit switches if installed should be operating correctly.

Do NOT add any plasma specific connections here, these will be added later.

Recommended settings for the Z axis are:

  • Z MINIMUM_LIMIT should be 0 - <float_switch_travel> - <enough_to_cover_table_discrepencies>

  • Z MAXIMUM_LIMIT should be the highest you want the Z axis to travel (must not be lower than Z HOME_OFFSET)

  • Z HOME should be just below the maximum limit

You should be able to home your machine, touch off and run some test G-Code without any errors.

When this stage is completed you can configure PlasmaC on top of your working machine.

You can create a base machine manually or you may use existing configuration helpers:

Note
It is probably best to keep the base machine config simple until you have it fully tested and tuned. If you are using stepconf or pncconf then deselect the VCP panel, manual tool change and classic ladder options these can be manually added later if you have a need for them.

If using a Mesa Electronics board, use the pncconf wizard:

$ pncconf

If using a parallel port, use the stepconf wizard:

$ stepconf

If using a Pico Systems board:
This LinuxCNC forum thread may help.

If you have a dual motor gantry configuration you may need to hand edit your configuration to suit:
This LinuxCNC forum thread may help.

4.6. Add PlasmaC To Base Machine

You need to have a fully tested and working base machine configuration without any connections to plasma specific equipment before proceeding.

Caution
Do NOT proceed until this has been done

If you are using a Mesa Electronics THCAD card for arc voltage measurement, see Mesa THCAD before proceeding

The type of installation determines where the Configurator (configurator.py) will installed:

Type

Location

BuildBot

/user/share/doc/linuxcnc/examples/sample-configs/by_machine/plasmac/configurator.py

Run In Place

~/linuxcnc-dev/configs/by_machine/plasmac/configurator.py

The Configurator can be started by double clicking the file in a file manager or by the preferred method of opening a terminal and typing the following:

$ python <path>/<to>/configurator.py
Tip
It is best practice to run the Configurator from a terminal as that allows any errors to be caught during configuring.
Note
If the Configurator does not run make sure that the file permissions allow executable.

This brings up the selection window:

images/plasmac_configurator_home.png

Select New from the selection window, this shows an info dialog, select Continue and the New Configuration window will display.

Note
There will be different fields visible depending on the mode you select.
images/plasmac_configurator_new.png

Field

Description

Mode

select the mode you require
0 if using an arc voltage signal for Arc Voltage and Arc OK
1 if using external arc ok for Arc OK
2 if using up/down from an external THC

Machine Name

the new name for your machine. This will create a ~/linuxcnc/<name> directory and your .ini file will be <name>.ini

Ini File

this is the .ini file you created for your base machine config

HAL File

this is the .hal file you created for your base machine config

Arc OK

Modes 1 and 2 only
the HAL pin you have connected your arc ok signal to

Arc Voltage

Modes 0 An 1 only
the HAL pin you have connected your arc voltage signal to

Ohmic Probe

only required if using ohmic probing
the HAL pin you have connected your ohmic probe to

Ohmic Probe Enable

only required if using ohmic probing
the HAL pin you have connected your ohmic probe enable to

Float Switch

only if using a float switch
the HAL pin you have connected your float switch to

Breakaway Switch

only if using a breakaway switch
the HAL pin you have connected your breakaway switch to

Torch On

the HAL pin you have connected your torch on to

Move Up

Mode 2 only
the HAL pin you have connected your move up signal to

Move Down

Mode 2 only
the HAL pin you have connected your move down signal to

Run Panel

Run Tab = the run frame is a tab behind the preview tab
Run Panel = the run frame is a panel at the side of the GUI

Scribe Arming

only required if using an air-scribe
the HAL pin to arm the air-scriber

Scribe Start

only required if using an air-scribe
the HAL pin to start the air-scriber

Note
If you are not sure of the full name of a HAL pin then start LinuxCNC for your base machine and run HalShow for a full listing of all HAL pins.

Fill in the required entries to suit your machine wiring, click Create and you should end up with a working PlasmaC configuration in ~/linuxcnc/configs/<machine-name>

This can be run as follows:

  • For a buildbot installation:

$ linuxcnc ~/linuxcnc/configs/<machine-name>.<machine-name>.ini
  • For a run in place installation:

$ ~/linuxcnc-dev/scripts/linuxcnc ~/linuxcnc/configs/<machine-name>.<machine-name>.ini

After creating a new configuration some initial setup is required.

4.7. Initial Setup

LinuxCNC should now be running with the PlasmaC panels visible. Open the Plasma Config tab/panel and ensure every one of these settings suits your machine.

Important
If using a Mesa THCAD then up until now the Voltage Scale value was obtained mathematically. If you intend to use cut voltages from manufactures cut charts then it would be advisable to do measurements of actual voltages and fine tune the Voltage Scale and Voltage Offset.
Caution
Plasma cutting voltages can be lethal, if you are not experienced in doing these measurements get some qualified help.

4.8. Lowpass Filter

The PlasmaC HAL component has an inbuilt lowpass filter which has the same behaviour as the LinuxCNC lowpass HAL component. This filter if used is applied to the plasmac.arc-voltage output. The pin name to use for this filter is plasmac.lowpass-frequency and as the name suggests you enter the cutoff frequency that is required, if the frequency is zero then there is no filtering applied.

It is suggested that if you wish to use the filter then the entry for it should be in the <machine_name>_connections.hal file in your configuration directory.

setp plasmac.lowpass-frequency 100

Would give a cutoff frequency of 100Hz.

5. PlasmaC GUI Panels

PlasmaC adds several panels to the GUI, some are panels on permanent display and others are tabs behind the preview tab.

Some functions are only used for particular modes and are not displayed if not required.

5.1. Config Panel

This panel is for configuration parameters that are modified infrequently.

It is possible to disable this panel so machine settings cannot be modified by unauthorised personnel. This is achieved by setting a variable in the .ini file:

[PLASMAC] CONFIG_DISABLE = 1

A HAL pin named plasmac_config.config-disable can then be set to Zero to enable the panel. This pin could be tied to a key-switch or similar so only authorised personnel could enable the config panel.

images/plasmac_config.png
Table 1. Probing

Name

Description

Float Travel

This is the amount of travel in the float switch mechanism. This can be tested with a Probe Test button, see Custom User Buttons.

Probe Speed

This is the speed the Z axis will probe down at after it moves to Probe Height.

Probe Height

This is the height above the Z axis bottom limit that probing begins from.

Ohmic Probe Offset

The Z axis offset of the ohmic probe.

Ohmic Retries

This is the number of times to retry an ohmic probe if it fails before fallback to the float switch.

Skip IHS

The distance used to see if IHS can be skipped, see IHS Skip.

Warning
Probe Height is the height above the minimum Z axis limit.
Table 2. THC

Name

Modes

Description

Delay

0,1,2

Delay from cut start until THC activates.

Threshold

0,1,2

Variation from target voltage for THC to correct height.

PID P Gain (Speed)

0,1

PID P gain for THC, THC correction speed.

VAD Threshold

0,1

Percentage of Cut Feed Rate velocity needs to fall below to lock THC.

Void Override

0,1

Higher values need greater voltage change to lock THC

PID I Gain

0,1

PID I gain for THC

PID P Gain

0,1

PID D gain for THC

Table 3. Safety

Name

Description

Safe Height

This is the height above the work surface that the Z axis will retract to on rapid moves.
If set to Zero then Z axis maximum height will be used for the safe height.

Table 4. Arc

Name

Modes

Description

Fail Timeout

0,1,2

The amount of time to wait from torch on until a failure if arc is not detected.

Max. Starts

0,1,2

The number of attempts at starting an arc.

Retry Delay

0,1,2

The time between an arc failure and another arc start attempt.

Off Delay

0,1,2

The delay from an M5 command until torch turns off and the Z axis raises.

Voltage Scale

0,1

The value required to scale the arc voltage input to display the correct arc voltage.

Voltage Offset

0,1

The value required to display zero volts when there is zero arc voltage input.
For initial setup multiply the arc voltage out value by -1 and enter that for Voltage Offset.

Height Per Volt

0,1,2

The distance the torch would need to move to change the arc voltage by one volt.

OK High Volts

0

High voltage threshold for Arc OK.

OK Low Volts

0

Low voltage threshold for Arc OK.

Table 5. Motion

Name

Description

Max. Speed

Display only of the maximum speed the Z axis is capable of.

Setup Speed

The Z axis speed for setup moves. e.g. Pierce Height, Cut Height etc.

Note
Setup Speed has no effect on THC speed which is capable of Max. Speed.
Table 6. Air Scribe

Name

Description

Arm Delay

Delay to allow air-scribe to reach surface of material before start of scribing.

Start Delay

Delay to allow air-scribe to start before beginning motion.

The Save button will save the currently displayed parameters as the default.

The Reload button will reload the last saved parameters.

5.2. Run Panel

This panel shows the parameters which are active for the current cut.

There are two formats for this panel, a tab behind the preview tab or a panel at the side of the GUI. The formats are different but the functionality is identical.

images/plasmac_run.png
Table 7. Cut Parameters

Name

Description

Material

Selects and displays the currently selected material, if there are no materials in the material file then only the default material will be displayed

Kerf Width

The kerf width for the currently selected material

THC Enable

THC state for the currently selected material

Pierce Height

The pierce height for the currently selected material

Pierce Delay

The pierce delay for the currently selected material

Cut Height

The cut height for the currently selected material

Cut Feed Rate

The cut feed rate for the currently selected material

Cut Amps

The cut amperage for the currently selected material

Cut Volts

The cut voltage for the currently selected material

P-Jump Height

The puddle jump height for the currently selected material

P-Jump Delay

The puddle jump delay for the currently selected material

Table 8. THC

Name

Modes

Description

State

0,1,2

Disabled = permanently off
Auto = decide by THC Enable and G-Code
Enabled = on unless disabled by G-Code

Use Auto Volts

0,1

On = THC control voltage is sampled from arc voltage
Off = THC control voltage is from Cut Volts

VAD Enable

0,1,2

On = Velocity anti-dive is enabled
Off = Velocity anti-dive is disabled

Void Sense Enable

0,1

On = Void sensing is enabled
Off = Void sensing is disabled

Table 9. Ohmic Probe

Name

Description

Ohmic Enable

This is to enable or disable the ohmic probe input.

Note
If Ohmic Probe is disabled, the Ohmic Probe LED will still show the status of the probe input.

The Save button will save the currently displayed parameters as the default.

The Reload button will reload the last saved parameters.

5.3. Monitor Panel

The monitor panel is used for display only, both Axis and Gmoccapy have similar monitor panels.

images/plasmac_monitor.png

Name

Modes

Description

Arc Voltage

0,1

Displays the actual arc voltage

Arc OK

1,2

Indicates the status of the arc ok signal

Torch On

0,1,2

Torch is activated

THC Enabled

0,1,2

Indicates if THC is enabled

Ohmic Probe

0,1,2

Indicates the probe has sensed the material

Float Switch

0,1,2

Indicates the float switch is activated

Breakaway

0,1,2

Indicates the breakaway sensor is activated

THC Active

0,1,2

Indicates THC is currently active

THC Up

0,1,2

Indicates THC is causing the Z axis to raise

THC Down

0,1,2

Indicates THC is causing the Z axis to lower

THC Velocity Lock

0,1,2

Indicates THC is locked due to velocity constraints

THC Void Lock

0,1

Indicates THC is locked due to void being sensed

Note
The Ohmic Probe LED will show the status of the probe input regardless of whether Ohmic Probe is enabled or disabled.

5.4. Button Panel

The button panel contains buttons useful for the operation of the machine.

Both GUIs have a Torch Enable button and all other buttons are user programmable in the .ini file. Axis has five user buttons and Gmoccapy has four user buttons.

images/plasmac_buttons_a.png
Figure 1. Axis:
images/plasmac_buttons_g.png
Figure 2. Gmoccapy:

The Torch Enable button toggles between Enabled and Disabled.

It needs to be Enable to do any cutting.

If it is Disabled then running a loaded program will cause the program to do its cycle without the torch being activated.

5.5. Control Panel

The control panel allows the control of some functions, both GUI’s are similar except that the Gmoccapy control panel is integrated into the frame containing feed and rapid overrides.

These functions are enabled and disable automatically depending on the status of the machine.

images/plasmac_control_a.png
Figure 3. Axis:
images/plasmac_control_g.png
Figure 4. Gmoccapy:
Torch Pulse

This pulses the torch on for the amount of time set in the corresponding slider.

Paused Motion

When a program is paused, this allows x/y motion to follow the programmed path in the reverse or forward direction at the percentage of the current feed rate shown in the adjustment.

When reversing, motion will stop when it reaches a spindle on command.

When forwarding, motion can continue until the end of the path.

Note
Paused motion is only available in LinuxCNC version 2.9 or later.

5.6. Statistics Panel

This provides statistics to allow tracking of consumable wear and job times.

They are shown for the current job and are also as a running total.

Job statistics are reset when the current program is run.

The total values may be reset either individually or all together.

images/plasmac_stats.png

6. Using PlasmaC

The only mandatory G-Code requirement for a PlasmaC configuration is M3 $0 S1 to begin a cut and M5 to end a cut, plus of course standard motion codes to move from start to end.

If you are using PlasmaC without multiple tools enabled then it is permissible to use M3 S1 in lieu of M3 $0 S1.

6.1. Coordinates

Each time LinuxCNC is started it requires homing. This allows LinuxCNC to know where in the world the torch is and sets the soft limits to the values specified in the .ini file thus preventing the machine from crashing into a hard stop during normal use.

If your machine does not have home switches then you need to ensure that all axes are at the home coordinates specified in the .ini file before homing.

If your machine has home switches then it will move to the specified home coordinates when directed.

Depending on your configuration you may have a Home All button or you may need to home each axis individually. Use the appropriate button/buttons to home the machine.

After homing the torch needs to know where the material is, this is achieved with Touch Off.

It is recommended that at the first use of the machine you jog the Z axis down to near the slats and Touch Off the Z axis with a zero offset. When done, jog the Z axis up to where it was originally. This should not need to be done again.

If you intend to place your material in the same place on the table every time then you could jog the X and Y axes to the X0,Y0 position of the material and then Touch Off both axes with a zero offset.

If you intend to place the material randomly on the table then before each job you will need to Touch Off as above or place the material at the previous location.

6.2. Multiple Tools

Multiple tools allows the use of more than one tool, valid tools are:

  • Plasma Torch - for normal cutting

  • Air Scribe - for engraving

If multiple tools are enabled then a LinuxCNC tool number is required in the 'M3 command to selected the required tool.

  • M3 $0 S1 will select the plasma cutting tool.

  • M3 $1 S1 will select the air scribe.

To enable the multiple tools feature you need to edit the following line in <MACHINE_NAME>_connections.hal.

from:

setp plasmac.multi-tool 0

to:

setp plasmac.multi-tool 1

PlasmaC will read the cut parameters from the Run Panel and use them where required.

6.3. Material Handling

Material handling has nothing at all to do with the LinuxCNC tool table, instead it uses a material file that was created at the same time as the configuration.

The LinuxCNC tool table and tool commands only come into play if your are using an air-scribe in addition to the plasma torch.

There is a material file with its name derived from [EMC]MACHINE in the in file, so a machine named METRIC_PLASMAC would have a material file named metric_plasmac_material.cfg.

It is not a requirement that you use a material file, if required you can change the cut parameters manually in the Run Panel. It is also not a requirement to use the automatic material changes, just omit them from the G-Code file.

The following codes may be used for a PlasmaC configuration:

  • M190 Pn - changes the material to number n.

  • M66 P3 L3 Q1 - waits for material change to be confirmed.

  • F#<_hal[plasmac.cut-feed-rate]> - sets the feed rate to the feed rate shown in the cut parameters of the Run Panel.

  • M3 $0 S1 - starts the PlasmaC component.

For manual material handling you manually select the material from the materials list in the Run Panel before running your GCode which should have the following minimum code:

F#<_hal[plasmac.cut-feed-rate]>
M3 $0 S1
...
M5
Note
Manual material handling does restrict you to only one material for the entire job.

For automatic material handling, the codes MUST be in the order shown. You could have other codes between them. In your G-Code you need:

M190 Pn
M66 P3 L3 Q1
F#<_hal[plasmac.cut-feed-rate]>
M3 $0 S1
...
M5

Material numbers do not need to be consecutive nor do they need to be in numerical order.

When a material is changed it only changes the cut parameters in the Run Panel, LinuxCNC knows nothing of the material nor does PlasmaC know anything about LinuxCNC tools. (i.e. it does NOT do a tool change)

Materials can be selected manually with the either the Cut Parameters combobox or via MDI with M190 Pn.

6.4. THC

Note
All references to CutFeedRate mean Cut Feed Rate as displayed in the Run Panel.

THC can be controlled from the THC frame of the Run Panel, off = disabled, on = enabled and auto means abide by the THC Enable checkbox in the cut parameters.

THC can also be enabled or disabled directly from G-Code provided that THC is not disabled in the Run Panel.

PlasmaC uses a control voltage dependent on the state of the Use Auto Volts checkbox in the Run Panel:

  1. If Use Auto Volts is checked then the actual cut voltage is sampled after the cut begins and this is then used as the control voltage. To allow the arc voltage to stabilise, PlasmaC waits for the amount of time displayed as Delay in the THC frame of the Run Panel before taking the sample.

  2. If Use Auto Volts is not checked then the voltage displayed as Cut Volts in the Cut Parameters frame of the Run Panel is used as the control voltage.

THC does not become active until the velocity reaches 99.9% of the CutFeedRate.

G-Code THC

THC may be disabled and enabled directly from G-Code provided THC is not disabled in the Run Panel, by setting or resetting the motion.digital-out-02 pin with the M-Codes M62-M65:

  • M62 P2 will disable THC (synchronised with motion)

  • M63 P2 will enable THC (synchronised with motion)

  • M64 P2 will disable THC (immediately)

  • M65 P2 will enable THC (immediately)

Velocity Based THC

If the cut velocity falls below a percentage of CutFeedRate then THC will be locked until the cut velocity returns to at least 99% of CutFeedRate.

This percentage is displayed as VAD Threshold % in the THC frame of the Config tab.

Velocity based THC prevents the torch height being changed when velocity is reduced for a sharp corner or a small hole.

There is a HAL pin available named motion.analog-out-03 that can be changed in G-Code with the M67/M68 commands. This pin will reduce the velocity to the percentage specified in the command.

  • M67 E3 Q0 would set the velocity to 100% of CutFeedRate.

  • M67 E3 Q40 would set the velocity to 40% of CutFeedRate.

  • M67 E3 Q60 would set the velocity to 60% of CutFeedRate.

  • M67 E3 Q100 would set the velocity to 100% of CutFeedRate.

The minimum percentage allowed is 10%, values below this will be set to 100%.

The maximum percentage allowed is 100%, values above this will be set to 100%.

If you intend to use this feature it would be prudent to add M68 E3 Q0 to your G-Code preamble and postamble so you start and end at a known state.

Tip
Another way of achieving the same result is to use F#<_hal[plasmac.cut-feed-rate] with a multiplier.
F[#<_hal[plasmac.cut-feed-rate] * 0.6]
Warning
If Cut Feed Rate in the Run Panel is set to Zero then PlasmaC will use motion.requested-velocity for the THC calculations which is not a very reliable way of velocity based THC and is not recommended.

6.5. Cutter Compensation

To use cutter compensation you will need to use G41.1, G42.1 and G40 with the kerf width HAL pin:

  • G41.1 D#<_hal[plasmac_run.kerf-width-f]> ; for left of programmed path

  • G42.1 D#<_hal[plasmac_run.kerf-width-f]> for right of programmed path

  • G40 to turn compensation off

6.6. IHS Skip

IHS may be skipped in one of two different ways:

If THC is disabled then skip IHS if start of cut less than plasmac.skip-ihs-distance from last successful probe.

If THC is enabled then skip IHS if start of cut less than plasmac.skip-ihs-distance from end of last cut.

6.7. Probing

Probing may be with either ohmic sensing or a float switch, it is also possible to combine both with the float switch providing a fallback to ohmic probing.

If your torch doesn’t support ohmic probing you could have a separate probe next to the torch. In this case you would extend the probe below the torch. The probe must NOT extend more than your minimum Cut Height below the torch and this offset distance is entered as the ohmic-probe-offset in the Config panel.

Probing setup is done in the Motion frame of the Config tab.

Warning
Probe Height is the height above the minimum Z axis limit.

6.8. Cut Types

PlasmaC allows two different cut types:

  • Pierce and Cut - runs the loaded GCode program to pierce then cut.

  • Pierce Only - converts then runs the loaded GCode program to do piercing only.

Pierce Only mode is useful for thick materials which may produce enough dross on the material surface from piercing to interfere with the torch while cutting. This enables the entire sheet to be pierced and cleaned off before cutting.

This also enables near end of life consumables to be used for piercing and they can be swapped out for good consumables to be used in cutting.

There are two ways of enabling this feature:

  • Program a cutom user button to toggle between the cut types.

  • Adding a line <pierce-only> = 1 anywhere in a gcode file to enable Pierce Only mode for the current file.

If using a custom user button then the GUI will automatically reload the file when the cut type is toggled.

6.9. Hole Cutting - Intro

It is recommended that any holes to be cut have a diameter no less than one and a half times the thickness of the material to be cut.

It is also recommended that holes with a diameter of less than 32mm (1.26") are cut at 60% of the feed rate used for profile cuts. This should also lock out THC due to velocity constraints.

PlasmaC can utilise GCode commands usually set by a CAM Post Processor (PP) to aid in hole cutting or if you don’t have a PP or your PP doesn’t support these methods then PlasmaC can automatically adapt the GCode to suit. This automatic mode is disabled by default.

There are three methods available for improving the quality of small holes.

Velocity Reduction

Reduce the velocity to approximately 60% of the CutFeedRate.

Arc Dwell:

Keep the torch on for a short time while all motion is stopped to allow the arc to catch up.

Overcut:

Turn the torch off at the end of the hole then continue along the path of the hole for about 4mm (0.015").

Note
If both Arc Dwell and Overcut are active at the same time then Overcut will take precedence.

6.10. Hole Cutting - GCode Commands

Your GCode commands are set up either by a CAM Post Processor (PP) or by hand coding.

Velocity Reduction

If a hole requires a reduced velocity then set the velocity with M67 E3 Q60 which would set the velocity to 60% of CutFeedRate.

See the Velocity Based THC section.

Arc Dwell:

Hold motion for a time by setting the Off Delay in the Arc frame of the Config Panel

Overcut:

The torch can be turned off at the end of the hole by setting the motion.digital-out-03 pin with the M-Codes M62 or M64. After turning the torch off it is necessary to allow the torch to be turned on again by resetting the motion.digital-out-03 pin with the M-Codes M63 or M65, this will be done automatically by the PlasmaC GCode parser if it reaches an M5 command without seeing a M63 P3 or M65 P3.

After the torch is turned of the hole path should be followed for approximately 4mm (0.15")

  • M62 P3 will turn the torch off (synchronised with motion)

  • M63 P3 will allow the torch to be turned on (synchronised with motion)

  • M64 P3 will turn the torch off (immediately)

  • M65 P3 will allow the torch to be turned on (immediately)

Sample code:

G21 (metric)
G64 P0.005
M52 P1 (allow paused motion)
F#<_hal[plasmac.cut-feed-rate]> (feed rate from cut parameters)
G0 X10 Y10
M3 $0 S1 (start cut)
G1 X0
M67 E3 Q60 (reduce feed rate to 60%)
G3 I10 (the hole)
M62 P3 (turn torch off)
G3 X0.8 Y6.081 I10 (continue motion for 4mm)
M63 P3 (allow torch to be turned on)
M67 E3 Q0 (restore feed rate to 100%)
M5 (end cut)
G0 X0 Y0
M2 (end job)

6.11. Hole Cutting - Automatic

PlasmaC has the ability to automatically modify the GCode to reduce the velocity and/or apply Overcut.

The default hole size for PlasmaC hole sensing is 32mm (1.26"). It is possible to change this value with the following commands:

  • #<m_diameter> = nn - To set a diameter in metric measurments

  • #<i_diameter> = nn - To set a diameter in imperial measurements

PlasmaC hole sensing is enabled/disabled by setting the following GCode parameter. It is disabled by default.

  • #<holes> = 0 - Disables hole sensing.

  • #<holes> = 1 - Causes PlasmaC to reduce the speed of holes less than 32mm (1.25") to 60% of CutFeedRate.

  • #<holes> = 2 - As well as the velocity reduction above it also turns the torch off at the end of the hole and follows the hole path for a further 4mm (0.015").

Arc Dwell:

Hold motion for a time by setting the Off Delay in the Arc frame of the Config Panel

Use #<holes> = 1 to allow velocity reduction.

Sample code:

G21 (metric)
G64 P0.005
M52 P1 (allow paused motion)
F#<_hal[plasmac.cut-feed-rate]> (feed rate from cut parameters)
#<holes> = 1 (velocity reduction for holes)
G0 X10 Y10
M3 $0 S1 (start cut)
G1 X0
G3 I10
M5 (end cut)
G0 X0 Y0
M2 (end job)
Overcut:

Use #<holes> = 2 to allow velocity reduction and overcut.

Sample code:

G21 (metric)
G64 P0.005
M52 P1 (allow paused motion)
F#<_hal[plasmac.cut-feed-rate]> (feed rate from cut parameters)
#<holes> = 2 (Overcut for holes)
G0 X10 Y10
M3 $0 S1 (start cut)
G1 X0
G3 I10
M5 (end cut)
G0 X0 Y0
M2 (end job)
Note
  • It is OK to have multiple and mixed #<*_diameter> commands in a GCode file.

  • It is OK to have multiple and mixed #<holes> commands in a GCode file.

7. Air Scribe

An air-scribe may be operated by PlasmaC in addition to the plasma torch, this is disabled by default so as not to affect existing configurations.

Using an air-scribe requires usage of the LinuxCNC tool table, Tool 0 is assigned to the plasma torch and Tool 1 is assigned to the air-scribe. The air-scribe X and Y axes offsets from the plasma torch need to be entered into the LinuxCNC tool table, the plasma torch offsets will always be zero. The tools are selected by the Tn M6 command then a G43 H0 is required to apply the offsets. PlasmaC is then started with a M3 $n S1 command. For n, use 0 for plasma cutting or 1 for air-scribing.

There are two HAL output pins used to operate the air-scribe, one to arm the air-scribe which moves the air-scribe to the surface of the material then after a delay the other to start the air-scribe, then after a delay motion will beging

Using PlasmaC after enabling the air-scribe then requires selecting either the torch or the air-scribe in each GCode file as a LinuxCNC tool.

To enable scribing, see multiple tools.

If you haven’t yet assigned the HAL pins for the air-scribe in the Configurator then you will need to do so by invoking the reconfigure mode of the Configurator.

The air-scribe is now active and the arming action may be tested by issuing a M3 $1 S1 command in the MDI input. This will cause the air-scribe to arm but will not start the air-scribe.

The next step is to open the tool table editor in the GUI and enter the X and Y axes offsets. These are the distances in X and Y from the centre of the torch nozzle. In most cases, if standing at the front of the machine if the air-scribe is to the right of the torch it would be a positive value and if the air-scribe is to the rear of the torch it would also be a positive value. The offsets for the torch should always be zero.

The final step is to set the air-scribe delays required:

  1. Arm Delay, allows time for the air scribe to descend to the surface of the material.

  2. Start Delay, allows time for the air scribe to start before motion begins.

Save the Config parameters.

The material can then be lined up with the torch as previously and the offsets can be applied so both tools operate at the correct coordinates.

To use the air-scribe from GCode:

...
M52 P1 (paused motion on)
F#<_hal[plasmac.cut-feed-rate]>
T1 M6 (select air-scribe)
G43 H0 (apply ofsets)
M3 $1 S1 (start plasmac with air-scribe)
...
T0 M6 (select torch)
G43 H0(apply ofsets)
G0 X0 Y0 (parking position)
M5 (end)

It is a good idea to switch back to the torch at the end of the program before your final rapid parking move so your machine is always in the same state at idle.

You can switch between the torch and the air-scribe any number of times during a program by using the above code and issuing M3 $0 S1 to start PlasmaC with the torch.

Issuing M3 S1 (without $n) will cause the machine to behave as if an M3 $0 S1 had been issued, so the machine will attempt a torch cut. This is to provide compatibility for previous GCode files.

Warning
If you have an existing manual toolchange in your machine .hal file then PlasmaC will convert it to an automatic toolchange.

8. Error Messages

There are a number of error messages printed by PlasmaC. They could probably be split into two groups, Critical and Warning.

8.1. Critical Errors

Critical errors will cause the program to pause, the operator needs to clear the cause of the error.

If the error was during cutting then forward or reverse motion is allowed to enable the machine to be positioned to recommence the cut.

When the error is cleared the program may be resumed.

These errors indicate the corresponding sensor was activated during cutting.

  • breakaway switch activated program is paused

  • float switch activated program is paused

  • ohmic probe activated program is paused

  • valid arc lost program is paused

These errors indicate the corresponding sensor was activated before probing commenced.

  • ohmic probe detected before moving to probe height program is paused

  • float switch detected before moving to probe height program is paused

  • breakaway switch detected before moving to probe height program is paused

These errors indicate the corresponding sensor was activated while the Z axis is moving from the top down to the probe height.

Warning
Probe height is the height above the Z axis minimum limit.
  • float switch detected while moving to probe height program is paused

  • ohmic probe detected while moving to probe height program is paused

The Z axis reached the bottom limit before the workpiece was detected.

  • bottom limit reached while probing down program is paused

The workpiece is too high for any safe rapid removes.

  • material too high for safe traverse program is paused

One of these values in Cut Parameters in the Run Panel is invalid.

  • invalid pierce height or invalid cut height or invalid cut volts

No arc has been detected after attempting to start the number of times indicated by Arc Start Attempts in the Config tab.

  • no arc detected after <n>d start attempts program is paused

THC has caused the bottom limit to be reached while cutting.

  • bottom limit reached while THC moving down program is paused

THC has caused the top limit to be reached while cutting.

  • top limit reached while THC moving up program is paused'

8.2. Warning errors

Warning errors have no effect on a running program and are informational only.

These errors indicate the corresponding sensor was activated before a probe test commenced.

  • ohmic probe detected before moving to probe height

  • float switch detected before moving to probe height

  • breakaway switch detected before moving to probe height

These errors indicate the corresponding sensor was activated while the Z axis is moving from the top down to the probe height during a probe test.

  • float switch detected while moving to probe height

  • ohmic probe detected while moving to probe height

This indicates that probe contact was lost before probing up to the zero point.

  • probe trip error while probing

This indicates the bottom limit was reached during a probe test.

  • bottom limit reached while probe testing

This indicates that the safe height has been reduced due to THC raising the Z axis during cutting.

  • safe traverse height has been reduced

9. INI File

PlasmaC requires some specific .ini file variables as follows:

9.1. Common

[PLASMAC] Section
MODE                = 0 (use external arc voltage in for Arc Voltage)
                        (use external arc voltage in for Arc OK)
                    = 1 (use external arc voltage in for Arc Voltage)
                        (use external arc ok in for Arc OK)
                    = 2 (Use external arc ok in for Arc OK)
                        (use external up/down for THC)

CONFIG_DISABLE      = 0 (0=enable or 1=disable the PlasmaC config panel)
PAUSED-MOTION-SPEED = n (multiply cut-feed-rate by this value for paused motion speed)
TORCH-PULSE-TIME    = n (torch on time when manual pulse requested)
BUTTON_n_NAME       = <NAME> (the name of a custom user buttons)
BUTTON_n_CODE       = <CODE> (the code run by a custom user button)
Note
PAUSED-MOTION-SPEED is only valid for LinuxCNC version 2.9 or later
[FILTER] Section
PROGRAM_EXTENSION = .ngc (filter *.ngc files)
ngc               = ./plasmac_gcode.py (this parses the G-Code file and comments out any Z axis motion)
[RS274NGC] Section
RS274NGC_STARTUP_CODE = o<metric_startup> call (machine startup G-Code)
SUBROUTINE_PATH       = ./:../../nc_files/subroutines (./ must be in this path)
FEATURES              = 12 (for reading .ini and HAL variables)
USER_M_PATH           = ./ (for M190 material change)
[HAL] Section
TWOPASS = on (needed for multiple .hal files)
HALFILE = <MACHINE_NAME>.hal (your base machine .hal file)
HALFILE = plasmac.hal (the standard PlasmaC .hal file )
HALFILE = <MACHINE_NAME>_connections.hal (PlasmaC connections to the machine)
HALFILE = HALUI   = halui (required)

The <MACHINE_NAME>.hal file has num_spindles=[TRAJ]SPINDLES appended to the end of the loadrt motmod line to allow the addition of an air-scribe if required.

Note
You could place custom HAL commands in <MACHINE_NAME>_connections.hal as this file is not overwritten by an upgrade.
[TRAJ] Section
SPINDLES = 3
[AXIS_Z] Section
MIN_LIMIT        = the top of your slats or just below
MAX_VELOCITY     = double the value in the corresponding joint
MAX_ACCELERATION = double the value in the corresponding joint
OFFSET_AV_RATIO  = 0.5

PlasmaC relies on the External Offsets feature for all Z axis motion, for more information on this feature, please read External Axis Offsets in the Linuxcnc documentation.

9.2. Axis GUI Specific

[PLASMAC] Section
FONT      = sans 11 (valid font sizes are from 10 to 15)
THEME     = Clearlooks (any installed theme)
MAXIMISED = 0 (0 = sized to suit font, 1 = maximised)
[DISPLAY] Section
TOOL_EDITOR       = tooledt x y
USER_COMMAND_FILE = plasmac_axis.py.py
EMBED_TAB_NAME    = Statistics
EMBED_TAB_COMMAND = gladevcp -c plasmac_stats -x <XID> -u ./plasmac_stats.py -H ./plasmac_stats.hal plasmac_stats.glade
use one of the next two

run frame in tab behind preview
EMBED_TAB_NAME    = Plasma Run
EMBED_TAB_COMMAND = gladevcp -c plasmac_run -x <XID> -u ./plasmac_run.py -H plasmac_run.hal plasmac_run_tab.glade

run frame in panel on left side
GLADEVCP = -c plasmac_run -u ./plasmac_run.py -H plasmac_run.hal plasmac_run_panel.glade

EMBED_TAB_NAME    = Plasma Config
EMBED_TAB_COMMAND = gladevcp -c plasmac_config -x <XID> -u ./plasmac_config.py -H plasmac_config.hal plasmac_config.glade

The Run Window can be displayed as one of:

  • A panel on the right side of the Axis GUI which is suitable for widescreen displays.

  • A tab behind the Preview tab which is suitable for 4:3 ratio displays.

9.3. Gmoccapy GUI Specific

[DISPLAY] section
EMBED_TAB_NAME     = plasmac_buttons
EMBED_TAB_LOCATION = box_cooling
EMBED_TAB_COMMAND  = gladevcp -c plasmac_buttons -x <XID> -u ./plasmac_buttons.py -H ./plasmac_buttons.hal plasmac_buttons.glade
EMBED_TAB_NAME     = plasmac_control
EMBED_TAB_LOCATION = box_spindle
EMBED_TAB_COMMAND  = gladevcp -c plasmac_control -x <XID> -u ./plasmac_control.py -H ./plasmac_control.hal plasmac_control.glade
EMBED_TAB_NAME     = Statistics
EMBED_TAB_LOCATION = ntb_preview
EMBED_TAB_COMMAND  = gladevcp -c plasmac_stats -x <XID> -u ./plasmac_stats.py -H ./plasmac_stats.hal plasmac_stats.glade
EMBED_TAB_NAME     = Plasma Run

use one of the next two

run panel in tab behind preview
EMBED_TAB_LOCATION  = ntb_preview
EMBED_TAB_COMMAND   = gladevcp -c plasmac_run -x <XID> -u ./plasmac_run.py -H plasmac_run.hal plasmac_run_tab.glade

run panel in panel on left side
#EMBED_TAB_LOCATION = box_left
#EMBED_TAB_COMMAND  = gladevcp -c plasmac_run -x <XID> -u ./plasmac_run.py -H plasmac_run.hal plasmac_run_panel.glade

EMBED_TAB_NAME     = Plasma Config
EMBED_TAB_LOCATION = ntb_preview
EMBED_TAB_COMMAND  = gladevcp -c plasmac_config -x <XID> -u ./plasmac_config.py -H plasmac_config.hal plasmac_config.glade
EMBED_TAB_NAME     = plasmac_monitor
EMBED_TAB_LOCATION = box_tool_and_code_info
EMBED_TAB_COMMAND  = gladevcp -c plasmac_monitor -x <XID> -u plasmac_monitor.py -H plasmac_monitor.hal plasmac_monitor.glade

The Run Window can be displayed as one of:

  • A panel on the left side of the Gmoccapy GUI which is suitable for widescreen displays.

  • A tab behind the Preview tab which is suitable for 4:3 ratio displays.

10. Custom User Buttons

There are buttons available that are programmable in the .ini file.

Five buttons in the Axis GUI, numbered 1 - 5 from left to right.

Four buttons in the Gmoccapy GUI, numbered 1 - 4 from top to bottom.

All .ini file settings for the buttons are in the [PLASMAC] section.

10.1. Button Names

The text that appears on the button is set the following way:

BUTTON_n_NAME = HAL Show

Where n is the button number and HAL Show is the text.

For text on multiple lines in Axis, split the text with a \

BUTTON_n_NAME = HAL\Show

10.2. Button Code

Buttons can run External Commands, G-Code or three special functions, Probe Test, Ohmic Test and Cut Type.

External Commands

To run an external command, the command is preceded by a % character.

BUTTON_n_CODE = %halshow
G-Code

To run G-Code, just enter the code to be run.

BUTTON_n_CODE = G0 X100

To run an existing subroutine.

BUTTON_n_CODE = o<my_subroutine> call
ini file variables can be entered by using <> (you must put a space after the >)
BUTTON_n_CODE = G0 X<JOINT_0 HOME> Y1
BUTTON_n_CODE = G53 G0 Z[<AXIS_Z MAX_LIMIT> - 1.001]

Multiple codes can be run by separating the codes with a \

BUTTON_n_CODE = G0 X0 Y0 \ G1 X5 \ G1 Y5

External commands and G-Code may be mixed on the same button.

BUTTON_n_CODE = %halshow \ g0x.5y.5 \ %halmeter
Probe Test
BUTTON_n_CODE = probe-test 30

PlasmaC will begin a probe and when the probe is detected, the Z axis will rise to the Pierce Height currently displayed in the Run Panel. It will then wait in this state for the time specified (in this case 30 seconds) then it will return the Z axis to the top.

Ohmic Test
BUTTON_n_CODE = ohmic-test

PlasmaC will enable the Ohmic Enable and if the ohmic probe is sensed, the LED indicator in the monitor panel will light. The main purpose of this is to allow a quick test for a shorted torch tip.

Cut Type
BUTTON_n_CODE = cut-type

This button if selected will toggle between the two cut types.

11. Material File

PlasmaC uses a file containing cut parameters for materials. This file is used for material handling.

The file name is derived from [EMC]MACHINE in the in file, so a machine named METRIC_PLASMAC would have a material file named metric_plasmac_material.cfg.

The following variables are mandatory and an error message will appear if any are not found when the material file is loaded.

  • PIERCE_HEIGHT

  • PIERCE_DELAY

  • CUT_HEIGHT

  • CUT_SPEED

The following variables are optional. If any are not detected or have no value assigned, they will be assigned a value of 0 and no error message will appear.

  • NAME

  • KERF_WIDTH

  • THC

  • PUDDLE_JUMP_HEIGHT

  • PUDDLE_JUMP_DELAY

  • CUT_AMPS

  • CUT_VOLTS

Warning
It is the responsibility of the operator to ensure that the variables are included if they are a requirement for the GCode to be run.

The material file uses the following format:

[MATERIAL_NUMBER_1]
NAME                = name
KERF_WIDTH          = value
THC                 = value (0 = off, 1 = on)
PIERCE_HEIGHT       = value
PIERCE_DELAY        = value
PUDDLE_JUMP_HEIGHT  = value
PUDDLE_JUMP_DELAY   = value
CUT_HEIGHT          = value
CUT_SPEED           = value
CUT_AMPS            = value (only used for operator information)
CUT_VOLTS           = value (modes 0 & 1 only, if not using auto voltage sampling)

The material file is a plain text file and may be edited with any text editor.

It is possible to edit the material file while LinuxCNC is running by clicking Reload in the Run Panel after any changes have been saved.

12. Example Configurations

There are example configuration files for both the Axis and Gmoccapy GUIs which use the PlasmaC HAL component to simulate plasma cutting machines.

  • metric_plasmac.ini

  • imperial_plasmac.ini

Files in the example configurations are:

Filename

Function

<MACHINE>.ini

configuration file

<MACHINE>.hal

HAL connections for the PlasmaC component

<MACHINE>_connections.hal

HAL connections to the i/o HAL pins

plasmac_xxx.glade

a gladevcp panel connecting to the PlasmaC component

plasmac_xxx.hal

HAL connections for the panel

plasmac_xxx.py

python code for the panel

xxx_startup.ngc

startup G-Code commands

plasmac_gcode.py

removes z axis moves from the opened G-Code file

plasmac_axis.py

python code to customise the Axis GUI

M190

for G-Code changing of materials

materialverter.py

tool table converter and material file creator

configurator.py

configure a new or upgrade an existing PlasmaC configuration

The Configurator creates the following files:

Filename

Function (<MACHINE> = name of machine in .ini file)

<MACHINE>.ini

your new .ini file

<MACHINE>.hal

your new .hal file

<MACHINE>_connections.hal

HAL connections to your I/O HAL pins

After running a new working configuration the first time the following will be created:

Filename

Function (<MACHINE> = name of machine in .ini file)

<MACHINE>_config.cfg

configuration settings for the config tab

<MACHINE>_run.cfg

configuration settings for the Run Panel

<MACHINE>_material.cfg

material file for cut parameters

plasmac_stats.var

saved statistics

The .ini files are notated for extra the requirements for these configurations.

The .cfg files are plain text and may be edited with any text editor.

13. NGC Samples

There are some sample G-Code files in nc_files/plasmac.

14. Test Panel

There is a ./test directory in the source which has a simple test panel and associated python file which can be used to test the example configuration as referenced in the .ini file.

If you wish to use this in your own sim configuration then you will need to create a link to this directory and edit your .ini file to suit.

15. Upgrade An Existing Configuration

Upgrading is done one of two different ways:

15.1. Upgrade A Buildbot Installation

From a terminal:

$ sudo apt-get update
$ sudo apt-get dist-upgrade

15.2. Upgrade A Run In Place Installation

From a terminal:

$ cd ~/linuxcnc-dev
$ git pull
$ cd src
$ make

Normally there is no reason to run the Configurator after an upgrade.

If you have decided to change the type of installation:

This brings up the selection window:

images/plasmac_configurator_home.png

Select Upgrade from the selection window, this shows an info dialog, select Continue and the Upgrade window will display.

images/plasmac_configurator_upgrade.png

Select the .ini file of the PlasmaC configuration you wish to upgrade, click Upgrade and your PlasmaC configuration will be upgraded.

16. Modifying An Existing Configuration

The Configurator is able to modify:

  • The HAL pins connecting PlasmaC to the machine.

  • The mode used by PlacmaC.

  • The position of the Run Panel in the GUI.

The type of installation determines where the Configurator (configurator.py) will installed:

Type

Location

BuildBot

/user/share/doc/linuxcnc/examples/sample-configs/by_machine/plasmac/configurator.py

Run In Place

~/linuxcnc-dev/configs/by_machine/plasmac/configurator.py

The Configurator can be started by double clicking the file in a file manager or by opening a terminal and typing the following:

$ python <path>/<to>/configurator.py
Note
If the Configurator does not run make sure that the file permissions allow executable.

This brings up the selection window:

images/plasmac_configurator_home.png

Select Reconfigure from the selection window, this shows an info dialog, select Continue and the Reconfigure window will display.

images/plasmac_configurator_reconfigure.png

Select the .ini file of the PlasmaC configuration you wish to reconfigure.

If you change modes then you will notice that entry boxes change depending on the currently selected mode.

When all entries are correct, click Reconfigure and your PlasmaC configuration will be reconfigured.

Entry descriptions can be found here

Note
Machine Name and .hal File can not be modified.

17. Materialverter

This application is used to convert existing tool tables into PlasmaC material files it can also create a material file from manual user input to entry fields.

At this stage the only conversions available are from SheetCam and Fusion 360.

Sheetcam tool tables are complete and the conversion is fully automatic.

Fusion 360 tool tables do not have all required fields so the user is prompted for missing parameters.

If you have a format you would like converted place a request in this LinuxCNC forum thread:

Materialverter may be run from a GUI file manager by double clicking on materialverter.py in your configuration directory or may be run from a terminal with the following command:

$ python ~/linuxcnc/configs/<machine-name>/materialverter.py

This will bring up the materialverter dialog:

images/plasmac_material_main.png

Select one of:

  • Manual - to manually create a new material file.

  • SheetCam - to convert a SheetCam tool file.

  • Fusion 360 - to convert a Fusion 360 tool file.

For SheetCam only, select whether you would like a metric or imperial output file.

For a conversion, select the Input File you wish to have converted.

Select the Output File you wish to write to, this would normally be ~/linuxcnc/configs/<machine-name>_material.cfg, although you could select a different file and hand edit your <machine-name>_material.cfg file.

Click Create/Convert and your new material file will be created.

For a Manual creation or a Fusion 360 conversion a dialog will show with any required parameters displayed for input.

images/plasmac_material_dialogs.png
Note
If you select ~/linuxcnc/configs/<machine-name>_material.cfg then if this file already exists it will be overwritten.

18. Mesa THCAD

The preferred jumper settings are, UNIPOLAR and F/32

You will need to manually add a scale and counter mode to your base machine .hal file before running the Configurator.

If you connected your THCAD to a mesa 7i76e then the commands required in the .hal file would be:

setp  hm2_7i76e.0.encoder.00.scale -1
setp  hm2_7i76e.0.encoder.00.counter-mode 1

You then need to note that the Arc Voltage HAL pin needed to enter into the PlasmaC Configurator will be:

hm2_7i76e.0.encoder.00.velocity

18.1. Obtaining The Divider Ratio

Using A CNC Port On The Plasma Power Supply

Divider ratio equals the selected internal divider ratio.

THCAD-10

A common setup is a 1 megOhm resistance from arc negative to THCAD negative and a 1 megOhm resistance from arc positive to THCAD positive. This gives a full scale reading of 210V. The THCAD can handle over-voltages up to 500V so this is not a problem.

Important
If you are using a HF start plasma power supply then each of these resistances should be made up of several high voltage resistors.

To get the divider ratio use (R1 + R2 + 100000) / 100000 so for the above it would be (1000000 + 1000000 +100000) / 100000 giving a ratio of 21.

THCAD-300

Divider ratio = 29

18.2. Calibration Values

This is to obtain the starting values for Voltage Offset and Voltage Scale in the Config tab.

If you look at the rear of the THCAD you will see a calibration sticker with:

0V    121.1 kHz
10V   925.3 kHz

Or similar values, these are the frequencies generated by the THCAD for 0 volts and 10 volts respectively.

For our calculations, we will use 32 from the jumper setting F/32 and 10 which is the full scale reading of the THCAD card itself.

Voltage Scale

Use the formula:

Divider_Ratio/((10V_frequency-0V_frequency)/32/10)

This result will be used for setting Voltage Scale in the Config tab when setting up the configuration.

The THCAD-10 example above would be:

21/((925300-121100)/32/10) = 0.00835613
Voltage Offset

Use the formula:

0V_frequency/32

This result will be used for setting Voltage Offset in the Config tab when setting up the configuration.

The THCAD-10 example above would be:

121100/32 = 3784.375

There is a lowpass filter available which may be useful if using a THCAD.