Another plasma component...
- islander261
- Offline
- Platinum Member
- Posts: 757
- Thank you received: 216
Thank you.
Now I was trying to add to the materials list. Is it true that each material must start with "Mild Steel"? I tried adding materials to the configuration file and they don't show up in the GUI.
During my routine cutting I normally use 2 to 4 different "tools" per piece to very cutting parameters. Right now I do this by directly setting heights and feeds and using M67&M68 to send over other control codes. I have a hal component that decodes M67 & M68 values into machine actions on its output pins. Currently I have hal input pins on my Glade handler files that read the commands values and set the state of the various widgets accordingly. My current Glade handlers use a different method of changing and storing persistent values to a configuration file than your branch uses so I am a little unsure of how to hack it to allow external changes to take effect. I know how to add hal pins to the handler files. When you get some time in the future can you please post a code snippet showing the value of a widget being changed by the change in value on an input hal pin? I really need to control the cutting height and THC enable from my Gcode files (I already have a hal component decoder). My current GUI has a check box that blocks the updating of on screen widgets from Gcode if desired. All of this combined with Pedro's RS-485 control of newer HT plasma boxes will make this into an industrial level branch. Thanks again.
John
Please Log in or Create an account to join the conversation.
You can add anything you want as long as it follows the same format. After changing the file you need to go to the config tab and click reload.islander261 wrote:
Now I was trying to add to the materials list. Is it true that each material must start with "Mild Steel"? I tried adding materials to the configuration file and they don't show up in the GUI.
I will look into your other request a bit later.
Cheers, Phill.
Please Log in or Create an account to join the conversation.
Do you wish to change these during a cut or before each cut begins.islander261 wrote:
I really need to control the cutting height and THC enable from my Gcode files
Currently the component calculates the heights before each cut begins.
All the widgets are 'outputs' only at the moment, are cut height and THC enable the only parameters would you need to change externally?
Cheers, Phill.
Please Log in or Create an account to join the conversation.
I am not 100% sure if this is what you want.
This adds two hal input pins:
plasmac_panel.thc-enable-ext (bit)
plasmac_panel.cut-height-ext (float)
Changes to these pins will be reflected in the corresponding panel widgets and the plasmac component.
Changes to the panel widgets will also be reflected in these pins.
Note that changes to thc enable are valid at any time whereas changes to cut height are valid only from the beginning of the next cut.
You could apply these manually or via git as follows:
copy external_hal_pins.txt to the root of your git repo
cd to the root of your git repo
git apply --stat external_hal_pins.txt
git apply --check external_hal_pins.txt
if no errors:
git apply external_hal_pins.txt
diff --git a/configs/sim/gmoccapy/plasmac/plasmac_panel.py b/configs/sim/gmoccapy/plasmac/plasmac_panel.py
index d35b8de43..85dd9f705 100644
--- a/configs/sim/gmoccapy/plasmac/plasmac_panel.py
+++ b/configs/sim/gmoccapy/plasmac/plasmac_panel.py
@@ -263,6 +263,18 @@ class HandlerClass:
mode = hal.get_value('plasmac.mode')
units = hal.get_value('halui.machine.units-per-mm')
maxPidP = self.thcFeedRate / units * 0.1
+ if self.builder.get_object('thcEnable').get_active() != self .thcEnable:
+ hal.set_p('plasmac_panel.thc-enable-ext','%d' % (self.builder.get_object('thcEnable').get_active()))
+ self.thcEnable = self.builder.get_object('thcEnable').get_active()
+ elif hal.get_value('plasmac_panel.thc-enable-ext') != self .thcEnable:
+ self.builder.get_object('thcEnable').set_active(hal.get_value('plasmac_panel.thc-enable-ext'))
+ self.thcEnable = hal.get_value('plasmac_panel.thc-enable-ext')
+ if self.builder.get_object('cutHeight').get_value() != self.cutHeight:
+ hal.set_p('plasmac_panel.cut-height-ext','%f' % (self.builder.get_object('cutHeight').get_value()))
+ self.cutHeight = self.builder.get_object('cutHeight').get_value()
+ elif hal.get_value('plasmac_panel.cut-height-ext') != self.cutHeight:
+ self.builder.get_object('cutHeight').set_value(hal.get_value('plasmac_panel.cut-height-ext'))
+ self.cutHeight = hal.get_value('plasmac_panel.cut-height-ext')
if mode != self.oldMode:
if mode == 0:
self.builder.get_object('arcOkHigh').show()
@@ -391,6 +403,10 @@ class HandlerClass:
else:
self.save_settings()
print '*** creating new plasmac configuration file,', self.configFile
+ hal.set_p('plasmac_panel.thc-enable-ext','%d' % (self.builder.get_object('thcEnable').get_active()))
+ self .thcEnable = self.builder.get_object('thcEnable').get_active()
+ hal.set_p('plasmac_panel.cut-height-ext','%f' % (self.builder.get_object('cutHeight').get_value()))
+ self.cutHeight = self.builder.get_object('cutHeight').get_value()
def save_settings(self):
try:
@@ -415,6 +431,8 @@ class HandlerClass:
self.builder = builder
self.lcnc = linuxcncInterface()
hal_glib.GPin(halcomp.newpin('config-disable', hal.HAL_BIT, hal.HAL_IN))
+ hal_glib.GPin(halcomp.newpin('thc-enable-ext', hal.HAL_BIT, hal.HAL_IN))
+ hal_glib.GPin(halcomp.newpin('cut-height-ext', hal.HAL_FLOAT, hal.HAL_IN))
configDisable = self.lcnc.linuxcncIniFile.find('PLASMAC', 'CONFIG_DISABLE') or '0'
hal.set_p('plasmac_panel.config-disable',configDisable)
self.thcFeedRate = (float(self.lcnc.linuxcncIniFile.find('AXIS_Z', 'MAX_VELOCITY')) * \
Cheers, Phill.
Please Log in or Create an account to join the conversation.
- islander261
- Offline
- Platinum Member
- Posts: 757
- Thank you received: 216
Thank you. This is exactly what I need to work with my current work flow.
Yes, I only need to change the cut height or the THC enable before the cut. I don't really understand all the git stuff but I will work on it in the morning.
I will check on the materials list thing again in the morning. I had actually changed the file before starting linuxCNC.
John
Please Log in or Create an account to join the conversation.
I tried all the sims with the materials and they work ok here.
You should be able to edit the file even while linuxcnc is running and once save then click reload on the config tab and it should reload correctly.
Cheers, Phill.
Please Log in or Create an account to join the conversation.
I need to change the hal pin names in the Gmoccapy and GladeVCP sims so they are the same format as the other sims.
I need to do this to make it easier to support the different sims, at the moment it is a bit difficult.
I have finished Gmoccapy (I think...)
Cheers, Phill.
Please Log in or Create an account to join the conversation.
I really tried hard to get just the float switch to work for probing. I tried many combinations of counter balance springs and never could get it right. If I had enough force negation with the springs then the float assembly would oscillate and over shoot when under THC. When I had it stiff enough so there was no oscillation or over shoot then the thin sheet is deflected a random amount.
I had an idea walking across the site at work today:
If you had a pneumatic cylinder you could probe with head-weight only, then become more "springy" when cutting.
There might not even need to be any valve, just connect the cylinder to the compressed air feed to the nozzle and it automatically stiffens when cutting. Simply choose the right cylinder bore to get the required effect.
I have a cylinder (too big) that could form an entire floating mount with no extra parts, like this:
uk.rs-online.com/web/p/pneumatic-guided-cylinders/1215365/
Not cheap new, but eBay 301698037330 is a used one including magnetic limit switches for < $30
Please Log in or Create an account to join the conversation.
- islander261
- Offline
- Platinum Member
- Posts: 757
- Thank you received: 216
Thank you for the reply. I have also considered a simple dash pot, probing is done a low speeds so there shouldn't be too much effect when probing. The other thing I have considered is using counterbalance springs and then using a solenoid or RC servo to drive the floating head against the stops while cutting.
I have actually considered using a pneumatic cylinder in the past for probing. It seems to me that once I go to the trouble of mounting a cylinder and the associated plumbing that one might as well go for gold standard probing. Placing a LVDT or precision snap switch on the cylinder which is extended while probing and retracted out of the way when cutting. The extended probe is a fixed offset from the cutter so the probe location can be adjusted in Gcode.
John
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.