Page 1 of 1

M10/M11 lost

PostPosted: Thu Feb 02, 2017 8:12 am
by shad
Hello Balazs!
I have a problem with M10/M11 commands. During code execution last M11 command is not issue.
I am attach screenshot from oscilloscope and code.

Code: Select all
N0010 (Filename: �����.tap)
N0020 (Post processor: Neuron THC.scpost)
N0030 (Date: 01.02.2017)
N0040 G21 (Units: Metric)
N0050 G91.1 G90 G53 G40
N0060 F1
N0070 S500
N0080 (Part: ����� Duplicate 56)
N0090 (Operation: ������ �������, 0, T23: Powermax 65A 3mm steel)
N0100(New path)
N0110 (Part: ����� Duplicate 57)
N0120 (Operation: ������ �������, 0, T23: Powermax 65A 3mm steel)
N0130 G00 X-44.2000 Y0.0000
N0140 M03
N0140 M03
N0150 G01 X-49.2000 Y0.0000 F5200.0000
N0160 G02 X-50.0000 Y-0.8000 I-0.8000 J0.0000
N0170 G01 X-54.0000 Y-0.8000
N0180 M10
N0190 G01 X-65.0000 Y-0.8000
N0200 M11
N0210 G01 X-69.0000 Y-0.8000
N0220 G02 X-69.8000 Y0.0000 I0.0000 J0.8000
N0230 G01 X-69.8000 Y5.0000
N0240 G02 X-69.0000 Y5.8000 I0.8000 J0.0000
N0250 G01 X-64.9000 Y5.8000
N0260 M10
N0270 G01 X-63.8750 Y5.8000
N0280 M11
N0290 G01 X-60.8000 Y5.8000
N0300 G01 X-60.8000 Y8.8250
N0310 M10
N0320 G01 X-60.8000 Y25.9667
N0330 M11
N0340 G01 X-60.8000 Y30.0000
N0350 G02 X-60.0000 Y30.8000 I0.8000 J0.0000
N0360 G01 X-56.0000 Y30.8000
N0370 M10
N0380 G01 X-4.0000 Y30.8000
N0390 M11
N0400 G01 X0.0000 Y30.8000
N0410 G02 X0.8000 Y30.0000 I0.0000 J-0.8000
N0420 G01 X0.8000 Y26.0000
N0430 M10
N0440 G01 X0.8000 Y4.0000
N0450 M11
N0460 G01 X0.8000 Y0.0000
N0470 G02 X0.0000 Y-0.8000 I-0.8000 J0.0000
N0480 G01 X-4.0000 Y-0.8000
N0490 M10
N0500 G01 X-15.0000 Y-0.8000
N0510 M11
N0520 G01 X-19.0000 Y-0.8000
N0530 G02 X-19.8000 Y0.0000 I0.0000 J0.8000
N0540 G01 X-19.8000 Y5.0000
N0550 G02 X-19.0000 Y5.8000 I0.8000 J0.0000
N0560 G01 X-14.9000 Y5.8000
N0570 M10
N0580 G01 X-13.8750 Y5.8000
N0590 M11
N0600 G01 X-10.8000 Y5.8000
N0610 G01 X-10.8000 Y8.2000
N0620 G01 X-15.2883 Y8.2000
N0630 M10
N0640 G01 X-46.2078 Y8.2000
N0650 M11
N0660 G01 X-49.2000 Y8.2000
N0670 G01 X-49.2000 Y5.1250
N0680 M10
N0690 G01 X-49.2000 Y4.1000
N0700 M11
N0710 G01 X-49.2000 Y0.0000
N0720 G02 X-50.0000 Y-0.8000 I-0.8000 J0.0000 F1560.0000
N0730 G01 X-50.7434 Y-0.8000
N0750 M05
N0760 M30

Re: M10/M11 lost

PostPosted: Fri Feb 03, 2017 8:07 am
by shad
Hello Balazs!
Do you have any chance to check this issue?
Thank you!

Re: M10/M11 lost

PostPosted: Fri Feb 03, 2017 8:16 am
by cncdrive
Hi Andrew,

Not yet sorry.
Yesterday the internet network provider built new network connection for us, it was a planned upgrade which they notified us earlier about,
but I totally forgot about that it will be on yesterday, so I had to assist and babysit them for about close to all day long and could not do much else.
But will try to catch up today and will test the issue you've mentioned asap.

Re: M10/M11 lost

PostPosted: Fri Feb 03, 2017 11:34 am
by shad
Ok, Thank you!
I have been more tests. I am use for testing just straight line program.
If I am put M11 on 0.1 mm before M5 - no lost.
Interesting - If I am put M11 command directly before M5 - signal goes down on 50 msec early then M5 issue. But no lost too.
But if I am use program from previous post, M11 is lost. This issue occurs any time on the different programs.
Also I see first M10 command N0111) has 200 msec delay after the M3. I understand that this is acceleration part of the moves, but 200 msec.
Feedrate is 6000 mm/min, It's mean 10 mm of the moves issue during 100 msec.
Code: Select all
N0040 G21 (Units: Metric)
N0050 G53 G90 G91.1 G40
N0060 F1
N0070 S500
N0080 (Part: ��������� ��������� 6 ��)
N0090 (Operation: Outside Offset, 0_VIEW0, T11: Plasma, 1,5 mm kerf)
N0091 G0X0Y0
N0100 M03
N0110  G01X10 F6000
N0111 M10
N0120  G01X20 F6000
N0121  M11
N0130  G01X30 F6000
N0131  M10
N0140  G01X40 F6000
N0141  M11
N0410  G01X50 F6000
N0411  M10
N0412  G01X60 F6000
N0413  M11
N0414  G01X60.1 F6000
N0415  M10
N0416  G01X61.1 F6000
N0417  M11
N0420 M05
N0430 M30

Re: M10/M11 lost

PostPosted: Fri Feb 03, 2017 7:19 pm
by beefy
Andrew,

why aren't you using a logic analyser to test M10/M11.

I relate M10 and M11 to the stepper motor STEP pulses, because it's a "synchronous" output, i.e. it should be "synchronous" with the stepper pulse stream based on where the gcode puts the M10/11. That way I can test the accuracy / timing of the M10/11 commands and see if they execute exactly at the correct point in the pulse stream.

Example, I set up an easy steps/mm setting in UCCNC, e.g. 100 steps/mm. I don't really care about M3 and M5, and I just think of them as "enable" and "disable" signals, e.g. I need to issue M3 before M10/11 will work.

Take this simple code:
Code: Select all
M3
M10
G1 X1 F6000
M11
X2
M10
X3
M11
X4
M5


We've got a total of 400 STEP pulses in that move. When you issue M10 it activates at the NEXT gcode command. Therefore I'd expect to see the very first M10 (laser output active) come on with the very first STEP pulse. Then I should get 100 step pulses with M10 active as X travels 1mm (100 steps/mm).
Next M11 should turn off the laser output at the "X2" gcode command, and while X travels from 1 to 2mm (another 100 step pulses) the laser output remains off.
And repeat the cycle again at the X3 and X4 gcode commands, i.e. laser output on for 100 steps, then off for the last 100 steps.

This is how I tested M10 and M11 some time ago. I had the M3/M5 signal, the M10/M11 signal, and the X and Y STEP pulses showing on my logic analyser screen. I cannot see how it's possible to test M10/11 without relating its' timing to the STEP pulses.

I've attached a couple of screenshots of a logic analyser test to illustrate what I mean. The 2nd screenshot is zoomed out to get the M3/5 included also.

ANDREW 1.jpg


ANDREW 2.jpg


Those images show a step/mm setting of 100, and the gcode was:
Code: Select all
M3
G1 X0.1
M10
X0.35
M11
X0.4
M5


As you can see, M10 activated after exactly 10 step pulses (0.1mm) and was active for 25 step pulses (from X 0.1 to X0.35), then turned off for the last 5 step pulses (X0.35 to X0.4).

Keith

Re: M10/M11 lost

PostPosted: Sat Feb 04, 2017 1:33 am
by cncdrive
Andrew,

Keith is right, the M10/M11 is syncronous to the motion buffer and M3 is not a syncronous command.
The 200msec you've marked on the scope reading must be the X0 to X10 movement.

Before M3 getting executed what happens is that there is a wait for the motion buffer to flush empty, basicly there is a while Ismoving command,
so the motion controller executes all motions in the buffer and then it issues the M3 and the Dwell wait if there is a M3 delay setup and then the software waits again for the motion controller to tell that the M3 is over and then the next command is issued.

So, here is your code:

N0100 M03
N0110 G01X10 F6000
N0111 M10
N0120 G01X20 F6000

The first command is G0X0Y0, so your X axis is at coordinate 0, after that you issue the M3 command and after you move to G01X10 and only after comes the M10.
So, that 200msec is when your machine accelerates up and moves from X=0 to X=10.
How fast that happens depends on the acceleration parameter and the velocity if the acceleration is high enough that the axis could reach the target 6000mm/min on the 10mm distance.
The M10 issued in syncron with the motion, so it executes when X=10.

Re: M10/M11 lost

PostPosted: Sat Feb 04, 2017 4:30 am
by shad
Yes, I am understand about acceleration.
But also why M11 commands from first message lost? This is not clear for me.

Re: M10/M11 lost

PostPosted: Sat Feb 04, 2017 4:34 am
by cncdrive
Hi Andrew,

Well, saying "acceleration" is not the correct word in my opinion, but a complete movement from X=0 to X=10 is happening there and the M10 is coded and will happen when X=10 and when it starts moving to the next point.

I don't know yet why the M11 does not execute in your first code's end, that is a completely different thing and that is something we currently debugging to see why that happens.

Re: M10/M11 lost

PostPosted: Sun Feb 05, 2017 6:08 pm
by cncdrive
Andrew, my collegue just finished the testing and measurement with your code and he got the same results as you, so there is really something not perfect.
The M10/M11 is one of the most complex things in the software, so my collegue said that it will probably take a few days for him to explore why is this issue happening.
We are about to release a new version with some upgrades and fixes, just running the final tests, so the fix for this problem will unfortunately not be in the next release as it will be out very soon,
but we working on fixing this and will update you with news asap.

Re: M10/M11 lost

PostPosted: Tue Feb 07, 2017 5:39 am
by shad
Hello Balazs!
This is a good news. Thank you and wait for the new release:)