Look Ahead Didn’t Recognize Correct WCS

safeairone

safeairone
BACKGROUND:
Was alternating back and forth between G54 WCS programs (some facing operations close to X0, Y0) and G55 WCS programs (long cuts that require more X than my current G54 zeros can give) all morning.

Machine was then left to idle for several hours after last running a G54 program.

ISSUE:
Loaded same G55 program I was running earlier but got this error as soon as I rewound & cycle-started:

IMG_8198.jpeg

I re-loaded the program several times, including changing the program in memory between loads, but got the same error each time I tried to run the G55 program.

I cycled the power to the machine, but still got the error each time I tried running this simple program (I’m just slicing 96” long piece off a 4’x8’ sheet of 1/4” pvc using a 1/8” end mill).

I decided I should check that it didn’t somehow lose my G55 zeros, so I MDI’ed G55 [run], then hit the “Go to work origin” button, which it did, exactly where it should be for the G55 WCS.

I decided to try the G55 program one more time, at which time it ran normally, without the error.

CONCLUSION:
I think the controller got stuck in G54 mode and didn’t see/change to G55 during the look-ahead math it was doing. Definitely too much “X” for the G54 WCS, hence the use of G55 in this particular program.
 
Last edited:

breezy

Moderator
When switching between WCSs check which WCS is selected.
1718086134816.png
When/If it occurs again do a screen dump (Ctrl + P or special key on Touch) and post here.
 

safeairone

safeairone
When switching between WCSs check which WCS is selected
Indeed. That only occurred to me in hindsight, after I accidentally stumbled into a solution by checking the G55 zero position. If I had more time (I was rushing to get these parts made), I probably would have single-blocked my way to the error also, as it seemed to happen instantaneously when I hit the cycle start button.
 

breezy

Moderator
I probably would have single-blocked my way to the error also,
The error can be several lines ahead of the current line even when single stepping.
It would be great if the error message includes the file line number as there could be several occurrences of the same XY position.
 

Jordi

Member
Hi,
Same problem with the following procedure.
I have a Program #1 that uses G55.
I have another Program #2 that uses G54.

- I load Program #1, Rewind and Start. The system now switches from the current G54 to G55 and appears at the top of the screen. It displays G55 and runs the program. ( before is G54 at top screen)

- Next I load Program #2, Rewind and Start.:
This program indicates that the G54 work offset is going to be used, however it displays a message "Job X or Y position is Outside machine limits". Masso above still displays G55 at top. It seems that the system to calculate the drawing size for Program #2 uses the G55 position and not the G54! and that is why it gives the error.

Workaround: If I execute next the "G54" command with the MDI I can run the program with START and no message, ( G54 is changed by MDI and is at top)


Best Regards.
Jordi.
 
Last edited:

Leon_roto-art

Active member
This program indicates that the G54 work offset is going to be used
Oke, but is the G54 command given? in other words could you post that part of the code? i have had it happen that i made multiple commands in the same line and used one that masso did not recognise. Result was that the line was skipped entirely and work offset was not loaded.

If that is al oke, then there might be a different problem. The next thing i would try (if possible) is to use G56 instead of G54. Just to rule out that is somehow has anything to do with G54 (i could not see how, but you never know).
 

Jordi

Member
Oke, but is the G54 command given? in other words could you post that part of the code? i have had it happen that i made multiple commands in the same line and used one that masso did not recognise. Result was that the line was skipped entirely and work offset was not loaded.

If that is al oke, then there might be a different problem. The next thing i would try (if possible) is to use G56 instead of G54. Just to rule out that is somehow has anything to do with G54 (i could not see how, but you never know).
Here is attached.

B/R
Jordi
 

Attachments

  • 2.txt
    784 bytes · Views: 1
  • 1.nc
    289 bytes · Views: 0

Leon_roto-art

Active member
the first thing i see is that program 2 is a .txt file instead of a .nc file, maybe something you did while uploading?

your first line is correct. G21 set to mm, G90 set to absolute and of course G54.
Your fifth line if find a bit odd G54 X0 Y0 F3000. i would write this as:
G54
G01 X0 Y0 F3000
But this more a personal thing i think

But nevertheless G54 should have been set in the first line. so this is a bit odd. i also don't know if the multi spindle option makes a difference (i have never used that). i hope that someone who knows the multispindle option better can chime in.
 

Jordi

Member
the first thing i see is that program 2 is a .txt file instead of a .nc file, maybe something you did while uploading?
Thank you for your time Leon_roto-art

Files with extensions .nc, .cnc, .tap, .wiz, .txt, .eia are suported by Masso.
your first line is correct. G21 set to mm, G90 set to absolute and of course G54.
Your fifth line if find a bit odd G54 X0 Y0 F3000. i would write this as:
G54
G01 X0 Y0 F3000
But this more a personal thing i think

But nevertheless G54 should have been set in the first line. so this is a bit odd. i also don't know if the multi spindle option makes a difference (i have never used that). i hope that someone who knows the multispindle option better can chime in.
Yes first line..., this was a final modification of mine when I saw that Masso did not change to G54 and I put it on the first line...
 

safeairone

safeairone
Your issue sounds just like mine. I haven’t had it happen since, but I haven’t had the opportunity to switch back and forth continuously between G54 and a G55 programs since my original post.

For what it’s worth, I ran both programs successfully several times before the G55 (in my case) stopped being recognized, so I know it wasn’t a problem with the programs.
 

Jordi

Member
Here is my settings

edit:Tomorrow I will upload my latest settings when I have access to the machine.
 
Last edited:

Leon_roto-art

Active member
Files with extensions .nc, .cnc, .tap, .wiz, .txt, .eia are suported by Masso.
honestly did not know that good to know.

Your issue sounds just like mine. I haven’t had it happen since, but I haven’t had the opportunity to switch back and forth continuously between G54 and a G55 programs since my original post.
i am continuously switching between G55,G56 and G57 (multiple fixtures in the same machine so it literally happens more than 20 times a day). And i never had this happen, So i am very curious what this could be.
 

safeairone

safeairone
i am continuously switching between G55,G56 and G57 (multiple fixtures in the same machine so it literally happens more than 20 times a day). And i never had this happen, So i am very curious what this could be.

Me too. Easy enough to work around if you recognize the issue, but still…

Are you using the 5.100b beta release?
 

Jordi

Member
Here is my Settings for my multi-head cnc and my Screenshot chronology.(*.bmp)
1. Uses 1.nc and 2.txt gcode programs ( in my previous post ).
2. System boots. It is in G54.
3. Capture work offsets
4. Load 1.nc (uses T1 and G55). Rewind. Start. OK
5. System ends in G55
6. Load 2.txt (uses T101 and G54).
7. Rewind. Start. Message Job outside Machine limits ERROR.
8. Workaround: MDI: G54 and RUN
9. Rewind. Start.
10.Program is running . OK.


I think that with my configuration Masso cannot run program #2 that uses G54 because it takes something from the previous coordinates of program #1 (workoffsets?) that uses G55. The proof is that if I change manually with MDI to G54, program runs correctly without showing any error box.

What could be happening?
 

Attachments

  • Print Screen-010.bmp
    3 MB · Views: 3
  • Print Screen-009.bmp
    3 MB · Views: 1
  • Print Screen-008.bmp
    3 MB · Views: 1
  • Print Screen-007.bmp
    3 MB · Views: 1
  • Print Screen-006.bmp
    3 MB · Views: 1
  • Print Screen-005.bmp
    3 MB · Views: 1
  • Print Screen-004.bmp
    3 MB · Views: 1
  • Print Screen-003.bmp
    3 MB · Views: 1
  • Print Screen-002.bmp
    3 MB · Views: 2
  • MASSO Settings v5.100 (G3-16569).txt
    55.7 KB · Views: 2
Last edited:

Jordi

Member
WORKAROUND #2:
General Settings - Disable Soft Limits.

I load program #1 that works in G55 and run, then I load program #2 that works in G54 and the system obviously does not check limits and does not show any error message and works perfectly ( program changes to G54 ).

I think the system is miscalculating the limits by not switching between work offsets when switching between different programs.
 

Leon_roto-art

Active member
I load program #1 that works in G55 and run, then I load program #2 that works in G54 and the system obviously does not check limits and does not show any error message and works perfectly ( program changes to G54 ).

so it does change to G54, but i somehow does it to late so you get a soft limit error? in my mind that is even weirder. The controller should check several lines ahead (no idea how many). and in this check it should also take in to account which offset is selected.

In your example the advanced run pointer (robot terminology, i don't know what it is called in Masso) does not execute the G54 command, but when the main pointer is there it does. :unsure: i hope Peter or Breezy can chime in, because this is really weird behaviour.
 

breezy

Moderator
I think the system is miscalculating the limits by not switching between work offsets when switching between different programs.
I started to write the same thing, but I was called away to eat dinner and on returning you had replied with your solution.
Disabling Soft limits is not the best work around.
Knowing that you will be using different G5x WCS, the true work around is to manually change the WCS in MDI before loading the next program.

There definitely is a bug in the read ahead routine, in that it is not using the WCS G5x call before progressing in calculating axis positions.

You are also complicating the situation in that you are switching multi-heads at the same time which introduces another offset into the mix.
In your example the advanced run pointer (robot terminology, i don't know what it is called in Masso) does not execute the G54 command, but when the main pointer is there it does. :unsure: i hope Peter or Breezy can chime in, because this is really weird behaviour.
What is happening is that when you press start the read ahead starts checking axis movement but it is failing to take into account that the first line does a WCS change, so with the wrong WCS the first move X-36.4955 (after G91) is throwing soft limit error, before it implements the first line of code.
If you have a look at 007.bmp you can see the error message but it is still in G55, using tool 1 and there is no line number executed in the file title field. First lines of code below.
The only problem I have is that error message state X-402.4138 where as G55 X is 30.95 so by my maths the X position is -5.5455 outside machine limits.

As side point there is a possible error in the beginning of 2.txt
Code:
G21 G90 G54
T101 M6
MSG Pinzas 84 y 225 mm
M00
G53 Z0
M3 S4000
G54 X0 Y0 F3000
Z15
G91
X-36.4955
Y190
Z25
G01 Y-190X-34.4445
In this portion of the code you do not include a G0 or G1 in your axis moves until G01 Y-190X-34.4445
Now G53 is a move command but is not modal.
G53 Move in ABS Coordinates
The G0 or G1 is optional if it is in the current motion mode. G53 is not modal and must be programmed on each line on which it is intended to be active.
G54 is a selection command not a move command, so in theory the following axis move command should do nothing.
G91 is a selection command not a move command, so in theory the following axis move command should do nothing.
So if the moves are occurring it would be at the default state of MASSO on power up or the last modal command of a previous program, which is not a desirable position to be in.
It is best to be positive of the type of mode you wish the moves to be made at.
 
Top