Hello Guest it is October 15, 2019, 10:18:34 AM

Recent Posts

Pages: 1 2 3 4 5 6 7 8 9 10
1
HiCON Motion Controller / Re: Connecting Sainsmart ST-M5045 drivers
« Last post by kengentry707 on October 15, 2019, 09:54:02 AM »
When I started Mach this morning I did so with the wrong profile (newbie confusion) and my profile appeared to be gone. I set up a new profile with all the same settings as before and now IT'S WORKING! I am using the enable active low setting.

I do have a networking issue that only allows me to use the direct connect method of communication but I will start a new thread for tat.

Thanks,
Ken
2
Mach4 General Discussion / Re: ISIG/OSIG Master List
« Last post by Chaoticone on October 15, 2019, 09:50:28 AM »
No problem, I just copied them straight out of the API help file that can be found in your Mach4/Docs directory. The inputs are in it too.
3
Mach4 General Discussion / Re: ISIG/OSIG Master List
« Last post by mcardoso on October 15, 2019, 09:05:44 AM »
Man you guys are great! Thanks!
4
General Mach Discussion / Re: Another tool zeroing...but unique...
« Last post by JacobHarding1978 on October 15, 2019, 06:31:18 AM »
Will do...sleep time right now....
5
General Mach Discussion / Re: Z-axis conditional displacement
« Last post by joeaverage on October 15, 2019, 03:08:34 AM »
Hi,

Quote
Does anyone know if this is possible? Is there a way to set-up a load cell as an input and use conditional Gcode to control my z-displacement?

The short answer is no. There are a number of reasons which may well enlighten you to what can and cannot be achieved
with Mach.

Firstly Gcode does not by and large have conditional statements. The notable exception is Fanuc's MacroB which allows parameterized
Gcode and conditional statements. Neither Mach3 or Mach4Hobby have that ability, Mach4Industrial does have MacroB however.

Even if however you were to stump up and pay $1400 for Mach4Industrial it would still not meet your demands.

All varieties of Mach (3, 4Hobby and 4Industrial) have a scripting language, Cypress Enable (a subset of Visual Basic) in the case
of Mach3 and Lua in the case of Mach4. Lua is by far the more flexible and many times faster to execute than Visual Basic.

With a scripting language conditional Gcode becomes irrelevant....you can write conventional computer code to accomplish the same
thing....right?

Well....no.

The bottom line is that a Windows PC is not and cannot (without huge expense) ever be a realtime system. CNC is however by
necessity a realtime process. The way this incompatibility is covered by Mach, and in fact ALL Windows based PC CNC solutions,
is buffered control.

In a buffered control the Windows application, in our case Mach, is the trajectory planner. It plans axis moves and communicates
them to a realtime motion controller as a series of numeric data, P(osition)V(elocity)T(ime). The data is stored in a FIFO buffer
which could be 500ms in length. The realtime motion controller digests the PVT data and generates the required synchronous pulse
streams to drive the axis drivers. Thus even when Windows stop processing Mach temporarily, the motion controller still has data
in the buffer 'to go on with'. If the buffer ever empties the CNC machine stops usually castastrophically for the workpiece.

The communication delay from the motion controller (monitoring the downward force) to Mach, followed by the processing delay,
followed by a communication delay from Mach to the motion controller, followed by the buffering delay all but precludes
a sensible feedback loop. With Mach3 a reasonable 'around the loop delay' is about 100ms(10Hz). With Mach4, and if you push it,
you can reduce that to about 5ms(200Hz).

If you talk to you Electrical/Control colleages in your Engineering school they will tell you, at length, about the Nyquist sampling
theorem. The upshot is that the fastest possible response to a series of samples is HALF the frequency of the samples.
Even then the 'controllability' of such a system is very poor, and is still maringinal at ONE TENTH of the sample frequency.

Thus with Mach3 the closed loop bandwidth would be about 1Hz. With Mach4 the closed loop bandwidth is about 20Hz.
Thus while Mach4 is much better at 'closing the loop' than Mach3 its still poor. Even a modest servo will have a closed loop
bandwidth of 500Hz or so and good ones up to 5kHz.

Mach is a poor feedback system.....and that is a reflection of the Windows PC on which it is based.

Having said that, NFS have released a script version of THC (which is normally considered a realtime only process) for Mach4.
While it is not nearly as fast as realtime THC enacted by realtime motion controller, NFS obviously consider it sufficient for
most THC purposes. You could possibly adapt it to your application....if you can tolerate a closed loop bandwidth of 20Hz or so.

Your other options are various realtime feedback capable controllers like Kanalogue/KFLOP, Gallil, Hicon or CSMIO/A.
Another very worthy alternative is LinuxCNC. The Linux distro on which LinuxCNC runs must have R(eal)T(ime)E(xtensions)
and as such LinuxCNC makes a capable realtime feedback controller. You could expect jitter of a few microseconds which is pretty
respectable. Of course LinuxCNC is free which will no doubt appeal to you.

Craig

EDIT; Unnecessary and possibly offensive comments referring Mach3 user's removed.
6
General Mach Discussion / Re: Another tool zeroing...but unique...
« Last post by TPS on October 15, 2019, 02:46:01 AM »
can you pls post your Profile XML file?
7
General Mach Discussion / Re: Another tool zeroing...but unique...
« Last post by JacobHarding1978 on October 15, 2019, 02:42:44 AM »
Yes sir...no movement....I can make a video if anyone wants so they can see what's happening.
8
Mach4 General Discussion / Re: ISIG/OSIG Master List
« Last post by Chaoticone on October 15, 2019, 02:07:53 AM »
Are you looking for something like this? Constants are all upper case followed by a space and description.

Output Signals
Signal                    Description
OSIG_DIGTRIGGER Digitize Trigger
OSIG_SPINDLEON Spindle On
OSIG_SPINDLEFWD Spindle Fwd
OSIG_SPINDLEREV Spindle Rev
OSIG_COOLANTON Coolant On
OSIG_MISTON Mist On
OSIG_CHARGE Charge Pump #1
OSIG_CHARGE2 Charge Pump #2
OSIG_CURRENTHILOW Current Hi/Low
OSIG_ENABLE0 Enable #0
OSIG_ENABLE1 Enable #1
OSIG_ENABLE2 Enable #2
OSIG_ENABLE3 Enable #3
OSIG_ENABLE4 Enable #4
OSIG_ENABLE5 Enable #5
OSIG_ENABLE6 Enable #6
OSIG_ENABLE7 Enable #7
OSIG_ENABLE8 Enable #8
OSIG_ENABLE9 Enable #9
OSIG_ENABLE10 Enable #10
OSIG_ENABLE11 Enable #11
OSIG_ENABLE12 Enable #12
OSIG_ENABLE13 Enable #13
OSIG_ENABLE14 Enable #14
OSIG_ENABLE15 Enable #15
OSIG_ENABLE16 Enable #16
OSIG_ENABLE17 Enable #17
OSIG_ENABLE18 Enable #18
OSIG_ENABLE19 Enable #19
OSIG_ENABLE20 Enable #20
OSIG_ENABLE21 Enable #21
OSIG_ENABLE22 Enable #22
OSIG_ENABLE23 Enable #23
OSIG_ENABLE24 Enable #24
OSIG_ENABLE25 Enable #25
OSIG_ENABLE26 Enable #26
OSIG_ENABLE27 Enable #27
OSIG_ENABLE28 Enable #28
OSIG_ENABLE29 Enable #29
OSIG_ENABLE30 Enable #30
OSIG_ENABLE31 Enable #31
OSIG_XLIMITPLUS X ++
OSIG_XLIMITMINUS X --
OSIG_XHOME X Home
OSIG_YLIMITPLUS Y ++
OSIG_YLIMITMINUS Y --
OSIG_YHOME Y Home
OSIG_ZLIMITPLUS Z ++
OSIG_ZLIMITMINUS Z --
OSIG_ZHOME Z Home
OSIG_ALIMITPLUS A ++
OSIG_ALIMITMINUS A --
OSIG_AHOME A Home
OSIG_BLIMITPLUS B ++
OSIG_BLIMITMINUS B --
OSIG_BHOME B Home
OSIG_CLIMITPLUS C ++
OSIG_CLIMITMINUS C --
OSIG_CHOME C Home
OSIG_OUTPUT0 Output #0
OSIG_OUTPUT1 Output #1
OSIG_OUTPUT2 Output #2
OSIG_OUTPUT3 Output #3
OSIG_OUTPUT4 Output #4
OSIG_OUTPUT5 Output #5
OSIG_OUTPUT6 Output #6
OSIG_OUTPUT7 Output #7
OSIG_OUTPUT8 Output #8
OSIG_OUTPUT9 Output #9
OSIG_OUTPUT10 Output #10
OSIG_OUTPUT11 Output #11
OSIG_OUTPUT12 Output #12
OSIG_OUTPUT13 Output #13
OSIG_OUTPUT14 Output #14
OSIG_OUTPUT15 Output #15
OSIG_OUTPUT16 Output #16
OSIG_OUTPUT17 Output #17
OSIG_OUTPUT18 Output #18
OSIG_OUTPUT19 Output #19
OSIG_OUTPUT20 Output #20
OSIG_OUTPUT21 Output #21
OSIG_OUTPUT22 Output #22
OSIG_OUTPUT23 Output #23
OSIG_OUTPUT24 Output #24
OSIG_OUTPUT25 Output #25
OSIG_OUTPUT26 Output #26
OSIG_OUTPUT27 Output #27
OSIG_OUTPUT28 Output #28
OSIG_OUTPUT29 Output #29
OSIG_OUTPUT30 Output #30
OSIG_OUTPUT31 Output #31
OSIG_OUTPUT32 Output #32
OSIG_OUTPUT33 Output #33
OSIG_OUTPUT34 Output #34
OSIG_OUTPUT35 Output #35
OSIG_OUTPUT36 Output #36
OSIG_OUTPUT37 Output #37
OSIG_OUTPUT38 Output #38
OSIG_OUTPUT39 Output #39
OSIG_OUTPUT40 Output #40
OSIG_OUTPUT41 Output #41
OSIG_OUTPUT42 Output #42
OSIG_OUTPUT43 Output #43
OSIG_OUTPUT44 Output #44
OSIG_OUTPUT45 Output #45
OSIG_OUTPUT46 Output #46
OSIG_OUTPUT47 Output #47
OSIG_OUTPUT48 Output #48
OSIG_OUTPUT49 Output #49
OSIG_OUTPUT50 Output #50
OSIG_OUTPUT51 Output #51
OSIG_OUTPUT52 Output #52
OSIG_OUTPUT53 Output #53
OSIG_OUTPUT54 Output #54
OSIG_OUTPUT55 Output #55
OSIG_OUTPUT56 Output #56
OSIG_OUTPUT57 Output #57
OSIG_OUTPUT58 Output #58
OSIG_OUTPUT59 Output #59
OSIG_OUTPUT60 Output #60
OSIG_OUTPUT61 Output #61
OSIG_OUTPUT62 Output #62
OSIG_OUTPUT63 Output #63
OSIG_RUNNING_GCODE Gcode Running
OSIG_FEEDHOLD Feed Hold
OSIG_BLOCK_DELETE Block Delete
OSIG_SINGLE_BLOCK Single Block
OSIG_REVERSE_RUN Reverse Run
OSIG_OPT_STOP Opt Stop
OSIG_MACHINE_ENABLED Machine Enabled
OSIG_TOOL_CHANGE Tool Change
OSIG_DIST_TOGO Dist To Go
OSIG_MACHINE_CORD Machine Coord
OSIG_SOFTLIMITS_ON Softlimits On
OSIG_JOG_INC Jog Inc
OSIG_JOG_CONT Jog Cont
OSIG_JOG_ENABLED Jog Enabled
OSIG_JOG_MPG Jog MPG
OSIG_HOMED_X X Homed
OSIG_HOMED_Y Y Homed
OSIG_HOMED_Z Z Homed
OSIG_HOMED_A A Homed
OSIG_HOMED_B B Homed
OSIG_HOMED_C C Homed
OSIG_DWELL Dwell
OSIG_TP_MOUSE_DN Toolpath Mouse Down
OSIG_LIMITOVER Limit Override
OSIG_ALARM Alarm
OSIG_PRTSF Parts Finished
9
General Mach Discussion / Re: Another tool zeroing...but unique...
« Last post by Tweakie.CNC on October 15, 2019, 01:55:14 AM »
So with your probe connected as ZASto has suggested you are still not able to make any motor axis movement ?
10
General Mach Discussion / Re: Z-axis conditional displacement
« Last post by Tweakie.CNC on October 15, 2019, 01:36:37 AM »
Mach3 was never designed to handle conditional Gcode so it is not a task it would perform well.
Although…
I am sure that the output from a load cell could be used in a servo feedback loop to control torque independently from the controller.
Pages: 1 2 3 4 5 6 7 8 9 10