Hello Guest it is July 27, 2021, 06:16:07 AM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - steve_p

Pages: 1 2 3 »
Galil / Re: Problems with losing position
« on: July 11, 2014, 11:25:01 PM »
I had similar issues when setting up my Mach-galil machine. Everything was fine when doing 2.5D work, but when I did a 3D surface what should have been a rectangular file was cut as a parallelogram. The drift was about one inch in the Y for every 12 inches of X travel, always in the same direction. After weeks of pulling my hair out trying to eliminate mechanical slip and retuning the servos countless times, I narrowed it down to noise, which I think was being emitted by the z axis motor (hence the problem with 3D files) and adding spurious counts to the Y encoder input. After making sure all proper grounding recommendations were followed, and even replacing the z servo and cables ($$!) the problem was reduced but not eliminated (it is a commercial machine I converted so the wiring/earthing was well laid out anyway.)

I eventually solved it by swapping from an Ethernet controller (2160) to a PCI one (1860). Something to do with the galil having its own ground independent from the machine, I guess?

So 1. noise can indeed cause major problems. And 2. please don't drop PCI support!!

General Mach Discussion / Re: CV not working
« on: January 30, 2012, 03:40:48 PM »
just as a follow-up, I did discover something that might be significant- I re-ran small sections of this program to re-cut some areas that had problems, and they ran much better. I think that the length of the program was causing Mach to run the code worse- the machine was pausing for perhaps 0.25s in every second when running the large program.  I don't know how Mach handles the gcode in memory, whether it loads sections from one part of memory are to another as required or whatever, but it definitely seems on my machine to run differently when the program is huge (>1,000,000 lines). As I said, I'm running a PCI Galil without the parallel port driver installed, so Mach isn't having to spend time doing that side of things. It's on a new 3.2Ghz XP machine with nothing on it but mach and the galil software.

Anyone else noticed the program length having an effect on the machining?

General Mach Discussion / Re: CV not working
« on: December 04, 2011, 04:50:14 PM »
thanks gerry, tried that (actually that's how it was originally) and it runs no different

do you know anything about the XY, YZ, XZ plane options in the general config?

General Mach Discussion / Re: CV not working
« on: December 04, 2011, 03:41:48 PM »
hi BR549,

I did try doing a toolpath with a more generous tolerance, but the loss of detail, even viewed on screen, was unacceptable for the job.

When I initially started using this machine for relief work, I was having problems with the gantry shuddering, I worked out that if I allowed a bit of tolerance in the CAM toolpath generation to reduce the number of moves, it sorted that out, so what you suggest is spot on, but I can't take it any further than I have without visible changes.

I've had lookahead set to everything from 10 to 1000, no difference, apart from the slower response of feed hold etc. I have it back at 200 now.

thanks for the suggestions

by the way, the line segments aren't ridiculously tiny, the code is mostly telling the Y to move between 1 and 3mm, with a corresponding Z move of anything from 0 to around 12mm (although mostly the Z moves are 0-3mm)

General Mach Discussion / CV not working
« on: December 04, 2011, 03:01:20 PM »
I have a problem with cutting detailed 3D reliefs, in that I can't seem to get mach to do any CV blending of moves- the workpiece I'm currently doing is 2m x 1m and I'm rastering (in the Y axis) a relief 18mm deep, with a 0.35mm stepover.. the code is not far off a million lines long  :o

The machine is acting as if it's in G61 regardless of whether it's in G61 or G64, and whatever the CV settings are at- it does a move then pauses for a fraction of a second, then does the next move. This happens whether the angle between moves is shallow or steep. I've been pulling my hair out trying every combination of motor tuning and mach configs, but I can't get it to do anything different. Even if I could stop it pausing between moves (the pause seems roughly 0.2s), I'd save days on the machining!

normal profiling stuff seems fine. Also, I recently did a bunch of vacuum-forming moulds in MDF that were done in slices and built up to a foot or so thick, and these ran smoothly, but they were less detailed, so I guess my problems have something to do with the smallness of the moves. I can do very fine V bit engraving of serif text on the machine with no problems.

The machine itself is a large woodworking machine, I'm running a PCI Galil 1860 with approx 1kw AC servos in torque mode, and it's capable of 60m rapids (2300ipm), so I'm sure it's not a machine limitation. My problem might possibly be Galil related, but I thought I'd ask in the general forum in case it's a CV issue.

I'm a bit confused about the X-Y, Y-Z etc settings in the general config, they sound like what I'm after, but they have no effect with my code. Is there any detailed documentation on these?

Can anyone tell me whether mach actually does CV when the main axes of motion are X-Z or Y-Z?

Thanks for any info

Galil / Re: unexplained stop during program
« on: April 10, 2011, 09:53:05 AM »
my machine just did the unexplained stop after running a 3D file for 40 hours (it was only half way through though..!)

No Galil error LED, elapsed time still running in mach, but g code window halted.

I've noticed that after this happens and I hit stop (tried feedhold then start- doesn't do anything), mach won't let me jog even though I can click the jog button to make it green. I have to do a reset of mach before I can jog again. It seems like the user interface of mach is fine, but it's not talking to the galil any longer, although there doesn't seem to be any fault in the galil..?

Galil / Re: unexplained stop during program
« on: April 07, 2011, 09:44:02 AM »
Since my last post I've been able to run the machine for several hours without a stop- over 7 hours in one case.

However, last night it stopped after about half an hour.. ???

Here's the debug file from the mach folder, there are hundreds of lines where it seems to be doing g code ok, and this section is the last bit where it seems to have reset. I'm not sure whether the section beginning with the QZ command was added immediately, or during shutdown, or whatever- basically, I'd left the machine running code and gone home, but a colleague noticed that it had stopped, so he pressed reset in mach, closed mach, shut down windows and the pc, then turned off power to the machine, if that helps explain anything..

I'd be really interested to hear if any of the guys who worked on the plugin have any ideas or can suggest things to try..?

GCode ==>  Y443.05 Z8.84

LI 0,78,-53,0<5892                                           Slots=477  Response=":"  <MoveRelative()>
LI 0,84,-67,0<6714                                           Slots=474  Response=":"  <MoveRelative()>
LI 0,95,-76,0<7602                                           Slots=474  Response=":"  <MoveRelative()>
LI 0,104,-82,0<8276                                          Slots=474  Response=":"  <MoveRelative()>
LI 0,107,-85,0<8540                                          Slots=474  Response=":"  <MoveRelative()>
LI 0,107,-85,0<8540                                          Slots=474  Response=":"  <MoveRelative()>
                    Do4MsGCode(): M=16, T=0.3280
LI 0,107,-78,0<8274                                          Slots=485  Response=":"  <MoveRelative()>
LI 0,108,-68,0<7976                                          Slots=485  Response=":"  <MoveRelative()>
LI 0,108,-58,0<7660                                          Slots=485  Response=":"  <MoveRelative()>
LI 0,109,-48,0<7442                                          Slots=485  Response=":"  <MoveRelative()>
LI 0,109,-37,0<7194                                          Slots=485  Response=":"  <MoveRelative()>
LI 0,109,-27,0<7018                                          Slots=485  Response=":"  <MoveRelative()>
LI 0,109,-16,0<6884                                          Slots=485  Response=":"  <MoveRelative()>
LI 0,109,-7,0<6826                                           Slots=485  Response=":"  <MoveRelative()>
LI 0,109,3,0<6814                                            Slots=485  Response=":"  <MoveRelative()>
LI 0,110,15,0<6938                                           Slots=485  Response=":"  <MoveRelative()>

GCode ==>  Y439.93 Z8.68

LI 0,108,21,0<6876                                           Slots=479  Response=":"  <MoveRelative()>
LI 0,108,36,0<7114                                           Slots=479  Response=":"  <MoveRelative()>
LI 0,107,68,0<7922                                           Slots=479  Response=":"  <MoveRelative()>
LI 0,102,106,0<9194                                          Slots=479  Response=":"  <MoveRelative()>
LI 0,98,145,0<10938                                          Slots=479  Response=":"  <MoveRelative()>
LI 0,94,183,0<12858                                          Slots=479  Response=":"  <MoveRelative()>
                    Do4MsGCode(): M=16, T=0.1090
LI 0,90,222,0<14970                                          Slots=506  Response=":"  <MoveRelative()>
LI 0,86,260,0<17114                                          Slots=506  Response=":"  <MoveRelative()>
LI 0,80,293,0<18982                                          Slots=506  Response=":"  <MoveRelative()>
LI 0,75,319,0<20480                                          Slots=506  Response=":"  <MoveRelative()>
LI 0,68,342,0<21792                                          Slots=506  Response=":"  <MoveRelative()>

GCode ==>  Y436.11 Z9.39

LI 0,60,323,0<20532                                          Slots=505  Response=":"  <MoveRelative()>

GCode ==>  Y438.54 Z6.44

LI 0,58,259,0<16588                                          Slots=496  Response=":"  <MoveRelative()>
LI 0,59,191,0<12494                                          Slots=496  Response=":"  <MoveRelative()>
LI 0,60,123,0<8552                                           Slots=496  Response=":"  <MoveRelative()>
LI 0,61,55,0<5132                                            Slots=496  Response=":"  <MoveRelative()>
LI 0,62,-12,0<3946                                           Slots=496  Response=":"  <MoveRelative()>
LI 0,64,-81,0<6452                                           Slots=496  Response=":"  <MoveRelative()>
LI 0,64,-149,0<10134                                         Slots=496  Response=":"  <MoveRelative()>
LI 0,66,-217,0<14174                                         Slots=496  Response=":"  <MoveRelative()>
LI 0,67,-285,0<18298                                         Slots=496  Response=":"  <MoveRelative()>

GCode ==>  Y436.11 Z9.39

LI 0,68,-330,0<21058                                         Slots=483  Response=":"  <MoveRelative()>
                    Do4MsGCode(): M=16, T=0.0940
LI 0,69,-337,0<21498                                         Slots=483  Response=":"  <MoveRelative()>
LI 0,70,-338,0<21572                                         Slots=483  Response=":"  <MoveRelative()>
LI 0,69,-337,0<21498                                         Slots=483  Response=":"  <MoveRelative()>
LI 0,73,-325,0<20818                                         Slots=483  Response=":"  <MoveRelative()>
LI 0,79,-295,0<19086                                         Slots=483  Response=":"  <MoveRelative()>
LI 0,84,-259,0<17016                                         Slots=483  Response=":"  <MoveRelative()>
LI 0,90,-222,0<14970                                         Slots=483  Response=":"  <MoveRelative()>
LI 0,95,-187,0<13108                                         Slots=483  Response=":"  <MoveRelative()>
LI 0,100,-150,0<11266                                        Slots=483  Response=":"  <MoveRelative()>
LI 0,105,-115,0<9732                                         Slots=483  Response=":"  <MoveRelative()>
LI 0,107,-79,0<8312                                          Slots=483  Response=":"  <MoveRelative()>
LI 0,109,-44,0<7346                                          Slots=483  Response=":"  <MoveRelative()>
LI 0,109,-10,0<6840                                          Slots=483  Response=":"  <MoveRelative()>

GCode ==>  Y432.64 Z9.12

LI 0,108,22,0<6888                                           Slots=482  Response=":"  <MoveRelative()>
LI 0,109,34,0<7136                                           Slots=482  Response=":"  <MoveRelative()>
LI 0,109,28,0<7032                                           Slots=482  Response=":"  <MoveRelative()>
QZ                                                           Slots=479  Response=" 5, 24, 16, 28:"  <ResetControl()>
MG_BAA                                                       Slots=479  Response=" 0.0000:"  <ResetControl()>
MG_BAB                                                       Slots=479  Response=" 0.0000:"  <ResetControl()>
MG_BAC                                                       Slots=479  Response=" 0.0000:"  <ResetControl()>
MG_BAD                                                       Slots=479  Response=" 0.0000:"  <ResetControl()>
MG_BAE                                                       Slots=479  Response=" 0.0000:"  <ResetControl()>
SP 3000000,3000000,3000000,3000000                           Slots=479  Response=":"  <ResetControl()>
FL 2147483647,2147483647,2147483647,2147483647               Slots=479  Response=":"  <DisableSoftLimits() State.nAixs = 5>
BL -2147483648,-2147483648,-2147483648,-2147483648           Slots=479  Response=":"  <DisableSoftLimits() State.nAixs = 5>
GM 0,0,0,0                                                   Slots=479  Response=":"  <SlaveALL(false)>
GR 0,0,0,0                                                   Slots=479  Response=":"  <SlaveALL(false)>
DP 81813,256449,-26492,99061                                 Slots=479  Response=":"  <ResetControl()>
MT -1.0,-1.0,-1.0,-1.0,-1.0                                  Slots=479  Response=":"  <ResetControl()>
AB 1                                                         Slots=479  Response=":"  <ResetControl()>
MO ABCD                                                      Slots=479  Response=":"  <ResetControl()>
CN 1                                                         Slots=479  Response=":"  <ResetControl() Limits low checked!>
CN ,1                                                        Slots=479  Response=":"  <ResetControl() Homes low checked!>
KPE=0                                                        Slots=479  Response=":"  <ResetControl()>
KIE=0                                                        Slots=479  Response=":"  <ResetControl()>
KDE=0                                                        Slots=479  Response=":"  <ResetControl()>
TM 1000                                                      Slots=479  Response=":"  <ResetControl()!>
OP 0                                                         Slots=479  Response=":"  <UpdateOutputs()>

Galil / Re: unexplained stop during program
« on: April 05, 2011, 06:39:43 AM »
I left the machine running last night, doing an air cut of a 35Mb relief, and it stopped after 47,000 lines... it had done 100,000 lines yesterday on a different test before I stopped it myself.

Mach hadn't crashed, but the Galil red LED was lit. Although all the screen buttons seemed to work as they should (ie they blinked as they were clicked), there was no movement because of the Galil fault. The program couldnt be restarted for the same reason.

So I've just tried again, with debug turned on, to see if it did it again.. and it did on the first move!

Here's the debug file:

10:22:42:953  |***** DMCDiagnosticsOn *****|
10:22:50:906  Entering DMCGetHandle.
10:22:50:906  Leaving DMCGetHandle.
10:22:50:906  Entering DMCVersion.
10:22:50:906  Entering DMCmCommand.
10:22:50:906  DMCmCommand: about to wait for g_hDMCCommandMutex.
10:22:50:906  Entering DMCmCommand.
10:22:50:906  DMCmCommand: about to wait for g_hDMCCommandMutex.
10:22:50:906     Could not parse version information <DMC1750 Rev 1.2n>.
10:22:50:906  Leaving DMCVersion.
10:22:50:906  Entering DMCCommand.
10:22:50:906     Command <MG_XQ-1>.
10:22:50:906  Entering DMCmCommand.
10:22:50:906  DMCmCommand: about to wait for g_hDMCCommandMutex.
10:22:50:921     Response < -2.0000 :>.
10:22:50:921  Leaving DMCCommand.
10:23:18:328  Enmtering DMCmSetTimeout.
10:23:18:328  Leaving DMCmSetTimeout.
10:23:18:328  Entering DMCClear.
10:23:18:328  Entering DMCmClear.
10:23:18:328  Entering DMCmCommand.
10:23:18:328  DMCmCommand: about to wait for g_hDMCCommandMutex.
10:23:18:328     Interrupt Routine: received an interrupt.
10:23:18:328     Interrupt Routine: interrupt value <0>.
10:23:18:328     Interrupt Routine: controller index <0>.
10:23:18:328     Interrupt Routine: waiting for interrupt.
10:23:18:328  Entering ReadData.
10:23:18:328  ReadData: about to wait for g_hDMCCommandMutex.
10:23:18:328     readGalilString: Bytes read <0>.
10:23:18:328     readGalilString: Raw bytes <>.
10:23:18:328     Bytes read <0>.
10:23:18:328     Raw bytes <>.
10:23:18:328  Leaving ReadData.
10:23:18:328  Leaving DMCmClear.
10:23:18:328  Leaving DMCClear.
10:23:18:328  Enmtering DMCmSetTimeout.
10:23:18:328  Leaving DMCmSetTimeout.
10:23:23:265  Enmtering DMCmSetTimeout.
10:23:23:265  Leaving DMCmSetTimeout.
10:23:23:265  Entering DMCReset.
10:23:23:265  Entering DMCmCommand.
10:23:23:265  DMCmCommand: about to wait for g_hDMCCommandMutex.
10:23:23:406  Entering DMCmCommand.
10:23:23:406  DMCmCommand: about to wait for g_hDMCCommandMutex.
10:23:23:406  Entering DMCmCommand.
10:23:23:406  DMCmCommand: about to wait for g_hDMCCommandMutex.
10:23:23:421  Entering DMCmCommand.
10:23:23:421  DMCmCommand: about to wait for g_hDMCCommandMutex.
10:23:23:421  Leaving DMCReset.
10:23:23:421  Enmtering DMCmSetTimeout.
10:23:23:421  Leaving DMCmSetTimeout.
10:23:28:406  Entering DMCClose.
10:23:28:406    DMCClose: about to wait for g_hDMCOpenMutex.
10:23:28:406     readGalilString: Bytes read <0>.
10:23:28:406     readGalilString: Raw bytes <>.
10:23:28:406     readGalilString: Bytes read <0>.
10:23:28:406     readGalilString: Raw bytes <>.
10:23:28:421     readGalilString: Bytes read <1>.
10:23:28:421     readGalilString: Raw bytes <:>.
10:23:28:437  Entering DMCmClose.
10:23:28:437  Entering DMCmCommand.
10:23:28:437  DMCmCommand: about to wait for g_hDMCCommandMutex.
10:23:28:437  Entering Remove Interrupt Handlers.
10:23:28:437    Removing interrupt handler for controller <0>.
10:23:28:437      UnsolicitedMsgEventHandler: Posting WM_DMCTHREADCLOSING to window.
10:23:28:437  Leaving Interrupt Handler.
10:23:28:640  Thread shutdown complete.
10:23:28:843    Removing Unsolicited Msg handler for controller <0>.
10:23:28:843      UnsolicitedMsgEventHandler: Posting WM_DMCTHREADCLOSING to window.
10:23:29:062  Leaving UnsolicitedMsgEventHandler.
10:23:29:062  Thread shutdown complete.
10:23:29:265  Leaving Remove Interrupt Handler.
10:23:29:265       Disabling communication interrupts: calling IOCTL_GALIL_ENABLECMDDONEINTERRUPT.
10:23:29:281     Closing driver <320>.
10:23:29:296     Deleted index <0>.
10:23:29:296  Leaving DMCmClose.
10:23:29:296  Leaving DMCClose.
10:23:29:328  |***** DMCDiagnosticsOff *****|

Galil / Re: unexplained stop during program
« on: April 05, 2011, 03:46:08 AM »
Any ideas on this random stopping problem yet? I was having several problems with my machine, so I tried replacing the 2160 with a 1750 I had on the shelf, and all my problems disappeared, apart from this one.

I previously wondered if it was an Ethernet issue, but it does the same thing with a bus controller. The 2160 was running off a custom
-made XP pc, non-onboard video gigabyte mobo, intel CPU,  nothing installed except Mach and galil stuff. The 1750 is in a brand new Advantech industrial pc chassis, intel,  4gb ram, again nothing except XP, Mach and smarterm installed. In both cases everything turned off (I think)- auto updates, power management, screen saver etc.

Several people seem to be experiencing it, any thoughts from Kenny/Smurph? Did Smurph's new plugin help? ( could I get a copy to try too, I need to run a 130-hour program this week!) thanks.

Galil / Re: motor feedback option in plugin
« on: April 02, 2011, 03:16:55 PM »
I have a PCI 1842, AMC analog amps ,DC brush servos with tach. I use glass scales as my encoders. I don't seem to have the hunting problem everyone Say's you get but I do have some kind of a motor position error.
When a program first rapids it would seem that the machine doesn't quite make the mark in any random axis. After the next couple of moves it catches up. It might be off .005" of as much as .050" I have found that by checking the use Ref position not encoder for position feedback that the problem goes away. However when I hit reset, my DRO no longer works and I loose position because of slight motor movement when shut down. Any way to get my dro to work in this configuration? or any suggestions on how to fix the position error with the box unchecked?

I'm also having position-loss problems at the moment, but whilst trying (everything!) to sort it out, I did find that having KI=0 in the PID motor tuning (in the Galil) can cause something similar to what you are getting. My system often settles on KI=0 when autotuning- might be worth checking your tuning in galiltools or smarterm...

Pages: 1 2 3 »