Machsupport Forum
Mach Discussion => General Mach Discussion => Topic started by: richway on November 19, 2016, 01:47:03 PM
-
Hi Guys
I am a complete novice to programming (never proggramed anything but PLC before) of any kind. I am however, very good at building electronic control boxes and integrating welding processes. I am currently building a specialist straight line TIG welder. I want to use the MACH3 software to control an X axis step over movement for the welding torch - simple enough but there are a few complications. I have a systems requirement below and I'm looking for some help with the programming side. I have built the interface and have installed MACH3 onto the computer and connected the interface to the system. I can now control the motor using the arrow key (I thought that was pretty good for a program incompetent.
I would love to here from any of the users on this forum with any help to offer (also if there is anyone out there wanting to earn a little money then give me a price for writing the code and I will let you know any further information you may require).
Spec:
Manually drive to start point and set as ZERO. Proximity sensor for crash detect stop all movement ensure manual override cannot drive forward only dive away from proximity sensor. (INPUT 1)
Determine STEP OVER and enter (+ or - for direction user to enter into a dialog box on screen)
Set TORCH HEIGHT (user to manually position using joystick control)
START weld starts (OUTPUT 1), receive signal WELD ON (INPUT 2) then 1 sec delay rotation starts (OUTPUT 2)
360 deg rotation, signal step over (INPUT 3)
Move step over distance (all weld and rotate signals remain on)
If weld on signal not present (INPUT 4) ALL STOP
If ALLSTOP (button on screen and possibly stop button on control panel (INPUT 5) immediate – stop weld – stop rotation, lift torch to home position. Remember x axis position.
If TUNGSTEN CHANGE button on screen - continue weld to step point. Stop rotation Stop weld wait for slope out.
Lift torch to home
Remember X axis position. Return X axis to home
Operator changes consumables. Press RESUME button on screen
X axis returns to last stop point +/- step over distance. Set TORCH HEIGHT (manual operation using joystick). Press WELD RESUME button on screen- START continue with step over
Whilst job is running
Manual adjustment made by operator on Z and Y axis by joystick
looking forward to some much needed help thanks in advanced
Richard
-
Sorry that this does not answer your questions, but if you haven’t seen it, you might find something useful from it.
https://www.youtube.com/watch?v=sFXniBbgbw0
_
-
thanks for the link, the welding side I'm fine with, that bit is what I can the easy bit and have already got everything in place for the TIG welding, its the physical programming that I'm struggling with and I can't seam to find any programs written for machining applications that contain IF THEN ELSE arguments and conditional movement control.
Thanks anyway great link for a "weld tool" like me
Richard
-
Have you sorted this?
-
Hi Rob
not sorted it yet I'm hoping a member from this forum will come to my rescue and offer to write the program - I don't mind paying for the service.
Regards
Richard
-
I'll have a look in a few hours, can you list your XML profile?
Are you using a standard screenset or do you need a custom one.
Can msg or email me direct via the links on the left
-
Spec:
Manually drive to start point and set as ZERO.
<><> No problem, that is just jogging over to the start point and zero'ing the axis, do you require all 3 or just X and Y?
Proximity sensor for crash detect stop all movement ensure manual override cannot drive forward only dive away from proximity sensor. (INPUT 1)
<><> Do you want this active all the time, or just during jogging? (problem with prox sensors is electrical noise, and I'd expect a fair bit on a TIG)?
Determine STEP OVER and enter (+ or - for direction user to enter into a dialog box on screen)
<><> don't understand STEP OVER? Stepping over what and on what axis?
Set TORCH HEIGHT (user to manually position using joystick control)
<><> OK, but do you not need to zero the tungsten tip to the workpiece so you know the torch height?.... By Set torch height, do you want it zeroed or at a speciifc number?
START weld starts (OUTPUT 1),
<><> Ok, can use M3 for this (are all these functions manual or do you require gcode?)
receive signal WELD ON (INPUT 2)
<><> Do you require input 2 active before the delay, and then movement starts?
then 1 sec delay rotation starts (OUTPUT 2)
<><> delay, no problem....... rotation?? what rotation?? you have X,Y and Z axis.... are you using an A (or C axis) axis too? or is this a rotating welding table with a
360 deg rotation, signal step over (INPUT 3)
<><> hmmm.... need a bit of explanation..... how is mach going to know its past 360 deg rotation? does inptut 3 trigger, step over what (which axis or group of axes move, and how far?)
Move step over distance (all weld and rotate signals remain on)
<><> as above.... need to understand a bit more?
If weld on signal not present (INPUT 4) ALL STOP
<><> ..... thought weld signal was input 2?? confirming weld signal after input 1 was triggered?
If ALLSTOP (button on screen and possibly stop button on control panel (INPUT 5) immediate – stop weld – stop rotation, lift torch to home position. Remember x axis position.
<><> Ok would use E-stop for this not input 5..... same function.
If TUNGSTEN CHANGE button on screen - continue weld to step point. Stop rotation Stop weld wait for slope out.
Lift torch to home
Remember X axis position. Return X axis to home
<><> tungsten change button onscreen, OK...... this sounds like you are running some g-code as the automated process? ..... but reading the above, alont of the functions are manual?
Operator changes consumables. Press RESUME button on screen
X axis returns to last stop point +/- step over distance. Set TORCH HEIGHT (manual operation using joystick). Press WELD RESUME button on screen- START continue with step over
Whilst job is running
Manual adjustment made by operator on Z and Y axis by joystick
<><><> Ok this one I believe is not going to be possible...... if the machine is running gcode in an automated process becasue the machine is either running autonomously or manualy (via the jog function).
Photos of your setup (axis) or a sketch as you list X, Y, Z and rotation?? X,Y and Z are linear axis, .... rotation is A,B and C.
trying to understand the home position for the tungsten change ..... you note X axis movement, what about Y? A home position is normally a combination of X,Y and Z
How do you keep the tungsten at a constant height (Z)? during the cut? :o edit: weld (plasma background!) Is there some feedback mechanism? (There is a way that this can be done manually.... just not the Y axis you note above).
-
(http://cnc.pl/praca_kimla_html_m64f0c11b.png)
https://www.youtube.com/embed/j2NXR4zt-Gs
-
These are the tools that you need to create the macros and or macropump to do what you require:
http://www.machsupport.com/wp-content/uploads/2013/02/Mach3_V3.x_Macro_Prog_Ref.pdf
http://www.machsupport.com/wp-content/uploads/2013/02/VBScript_Commands.pdf
https://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwjex9DX9srQAhVJKMAKHUk2BU8QFggaMAA&url=https%3A%2F%2Fwww.machsupport.com%2Fforum%2Findex.php%3Faction%3Ddlattach%3Btopic%3D19482.0%3Battach%3D27839&usg=AFQjCNGJn1E7RpKyfyjY7STvwaxPFsA6ng&sig2=5hNCpKOZsqx_gUdjhxtO0g&cad=rja
Less well documented is "Brains" which is a PLC ladder logic type programme which can also do what you require from the above:
https://youtu.be/O8V7dZy02og
This is the screen editor software I would recommend:
http://www.kd-dietz.com/klausphp/index_eng.html#
http://www.kd-dietz.com/klausphp/downloads/ger/machscreenv1.66.exe
Happy to help (as no one else seems to be stepping up to the plate) but I need a little more info as detailed above.
-
Hi Rob
Many thanks for looking i at this I will try to explain further:
The job is to overlay weld material inside a pipe. Basically the pipe is held in a very large rotating chuck. This rotator is a separate machine and requires a start stop signal to operate and will give a movement signal in the form of a tacho signal which we need to count the tacho pulses to ascertain the pipe position. I intend to count the number of pulses it takes to do 1 full 360 deg rotation and then we can use this figure to calculate the overlap of weld on each rotation. The weld process is to be as continuous as possible (the problem will be the tungsten point erosion which is why we need the ability to change the tungsten from time to time). So the welding head is mounted on a long arm (X axis) which goes inside the pipe (4.5M long) and starts welding at one end and works its way back to the open end where the arm went in, this is the step over after each 360 deg + some overlap say 1 or 2 deg (this needs to be tested and could possibly do with being made an input variable) the x axis will move 3mm to 10mm dependent on weld procedure hence why the step over distance has to be a variable input by the user. The torch mounting will have 2 axis which are motorised and moved via a joystick, it is only a small amount of movement say 60 mm up and down and 50 mm left and right. These will be the Y and Z axis Z being up and down.
The jogging movement will require x,y,z
The crash detect is only required for the manual movement into the pipe (some pipes will have an end cap so we don't want the operator to crash the torch head)
The torch height and left right position have to be manual controlled - unfortunately and torch height THC is not possible because there are 2 independent voltages being used in the weld pool and this confuses the hell out of THC systems. The weld head will have a camera system which the operate will use to monitor the torch height - but in theory once the machine is welding this height shouldn't really need to change because the pipe is perfectly centered.
So the output procedure is quite critical in order of operation, i.e Starting the welding machine will initiate the main arc this needs a time to establish (around 1 to 2 sec) the arc initiated signal would have be present on input 2 before the establish delay. If input 2 is not present the machine must display a NO START error on screen and the user will then restart the process. Then the wire feed needs to start and then following another 1 sec delay the rotation needs to start hence the output 3.
The input 4 was a typo my error sorry for the confusion. Input 2 is the arc monitor and must be present at all times for the operation to continue, if at any point this signal is not present the machine must ALL STOP.
With regard to ALL STOP using the e stop does this mean the operator can restart from where the weld left off? - he may have to reverse the rotation a little bit but this will be controlled via a completely separate system controller so we don't need to worry about it in the program here. The important thing is that the weld can be restarted after an all stop, but there may be a requirement to change the tungsten so the machine would have t know where it stopped and still monitor the tacho feed for the rotational value.
The machine operation is a mixture of manual and automatic process. The weld part is the automatic bit this needs to have a button on screen that the user presses when the torch is positioned at the start of the pipe, the program will then control all the weld operations which is basically described above as the starting order of what is effectively 4 separate entities:
1 welder
2 wire feeder
3 rotator
4 x axis control (this is the g code controlled bit and the complex bit is being able to stop the process and move the x axis to a home position outside the long pipe, change the consumables and then send it back into the pipe to the exact poss ion that it left at)
I hope i have explained a little better this time. If you would like to talk to me about this (and I think if you are going to help me that would be a good idea) then my phone number is 07785 750660, or let me have yours and I can contact you.
Very kind of you to take the time you have on this and like I have mentioned before I don't expect you to do anything for nothing.
I have re done the process list below and hope this one is a bit clearer.
Manually drive to start point and set as ZERO. Proximity sensor for crash detect stop all movement ensure manual override cannot drive forward only dive away from proximity sensor. (INPUT 1)
Determine STEP OVER (step over is a movement of the X axis) and enter (+ or - for direction user to enter into a dialog box on screen)
Set TORCH HEIGHT (user to manually position using joystick control)
START weld starts (OUTPUT 1), receive signal WELD ON (INPUT 2) then 1 sec delay wire filler feed starts (OUTPUT 3) 1 sec delay rotation starts (OUTPUT 2),
360 deg rotation, signal step over (INPUT 3) (rotation signal provided by a tacho encoder)
Move step over distance (all weld and rotate signals remain on)
If weld on signal not present (INPUT 2) ALL STOP
If ALLSTOP(button on screen and possibly stop button on control panel (INPUT 5) or if arc detect signal is lost. Immediate – stop feed - stop weld – stop rotation, lift torch to home position. Remember x axis position. Operator to decide what action to take.
1) restart weld procedure
2) extract torch and then send back to where it stopped and restart
operator must be able to manually adjust x,y,z axis using joysticks or onscreen buttons.
If TUNGSTEN CHANGE button on screen - continue weld to step point. Stop rotation Stop wire feed Stop weld wait for slope out approx 4 seconds.
Lift torch to home (home for Z axis will be fully up position just to make sure torch clears the pipe surface)
Remember X axis position. Return X axis to home (please note this is the extracted position not the very first weld position)
Operator changes consumables. Press RESUME X AXIS button on screen
X axis returns to last stop point +/- step over distance (very important). Set TORCH HEIGHT (manual operation using joystick). Press WELD RESUME button on screen- START continue with weld procedure
Whilst job is running
Manual adjustment made by operator on Z and Y axis by joystick this is torch height and position left/right
parts purchased so far
http://www.ebay.co.uk/itm/182039059876?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
http://www.ebay.co.uk/itm/121684677476?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
plus two smaller motors NEMA17 for the Z and Y axis controller complete with controller http://www.ebay.co.uk/itm/251117211299