https://github.com/openpnp/openpnp/wiki/Motion-Planner#actuator-machine-coordination
Ask back if that is not clear enough.
_Mark
Perfect, thank you! One question tho; is it possible to make the feed and the movement start at the same time, but for the actual pickup-movement of the Z not happening until the actuator has completed? Maybe its right there and i just dont get it..
Karl
--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/a83207a4-3da9-b23d-71b3-81f8d270edfa%40makr.zone.
User geo0rpo has confirmed that this works together with the ReferenceAutoFeeder Move before feed option enabled and the Actuator Before Actuation disabled:
https://www.youtube.com/watch?v=ndKhauZQ0qQ
This discussion might be of interest:
https://groups.google.com/g/openpnp/c/2jx2SCEEQtk/m/p7ZSlwoxEAAJ
_Mark
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/beba51b7-a510-9a91-0e7c-f99c4b436074%40knasmusic.com.
We need to see the log at TRACE level.
Sorry i thought it was set to Trace but that was just the filtering:
2022-08-30 13:00:54.759 ReferenceHead DEBUG: H1.moveToSafeZ(1.0)
2022-08-30 13:00:54.759 AbstractHeadMountable DEBUG:
N1.moveToSafeZ(1.0)
2022-08-30 13:00:54.759 AbstractHeadMountable DEBUG:
N2.moveToSafeZ(1.0)
2022-08-30 13:00:54.759 AbstractHeadMountable DEBUG:
Top.moveToSafeZ(1.0)
2022-08-30 13:00:54.759 AbstractHeadMountable DEBUG:
Top.moveTo((498.641794, 275.076152, 0.000000, 90.170276 mm), 1.0)
2022-08-30 13:00:54.760 Scripting TRACE: Scripting.on Job.Starting
2022-08-30 13:00:54.760 ReferencePnpJobProcessor$Plan DEBUG:
Planner complete in 0ms: [N1 (NT503) -> Q1]
2022-08-30 13:00:54.761 ReferencePnpJobProcessor$Plan DEBUG:
Planned placements [N1 (NT503) -> Q1]
2022-08-30 13:00:54.761 ReferencePnpJobProcessor$ChangeNozzleTips
DEBUG: No nozzle tip change needed for nozzle N1 N1
2022-08-30 13:00:54.761 Scripting TRACE: Scripting.on
Job.Placement.Starting
2022-08-30 13:00:54.762 ReferenceActuator DEBUG:
FeederStep1.actuate(31.0)
2022-08-30 13:00:54.762 GcodeAsyncDriver DEBUG:
serial://ttyACMFeeder commandQueue.offer(M200 F31 S1, 15000)...
2022-08-30 13:00:54.762 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M400 ; Wait for moves to complete before
returning, 60000)...
2022-08-30 13:00:54.762 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M114 ; get position, -1)...
2022-08-30 13:00:54.763 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M400
2022-08-30 13:00:54.763 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:54.763 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M114
2022-08-30 13:00:54.763 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMFeeder] >> M200 F31 S1
2022-08-30 13:00:54.764 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << X:498.6418 Y:275.2598 Z:0.0000
A:-1.0000 B:-1.0000 Count X:49093 Y:27087 Z:0 A:3191 B:3191
2022-08-30 13:00:54.764 GcodeDriver TRACE: Position report:
X:498.6418 Y:275.2598 Z:0.0000 A:-1.0000 B:-1.0000 Count X:49093
Y:27087 Z:0 A:3191 B:3191
2022-08-30 13:00:54.764 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:54.764 GcodeDriver TRACE: Biqu got
lastReportedLocation (X:498.641800, Y:275.259800, Z1:0.000000,
AL:-1.000000, AR:-1.000000)
2022-08-30 13:00:54.764 GcodeAsyncDriver TRACE: Biqu confirmation
complete.
2022-08-30 13:00:55.020 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMFeeder] << debug:Selecting feeder no on
tray no
2022-08-30 13:00:55.024 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMFeeder] << debug:Feeder enable sequence 1 0
1 1
2022-08-30 13:00:55.028 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMFeeder] << debug:Starting feed
2022-08-30 13:00:55.032 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMFeeder] << debug:Startout opto slot 0
2022-08-30 13:00:55.139 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMFeeder] << debug:Second opto slot 1
2022-08-30 13:00:55.143 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMFeeder] << debug:Passed first hole
2022-08-30 13:00:55.327 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMFeeder] << debug:Found second hole, breaking
2022-08-30 13:00:55.385 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMFeeder] << result: Ok
2022-08-30 13:00:55.483 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMFeeder] << ok
2022-08-30 13:00:55.483 GcodeDriver TRACE: [serial://ttyACMFeeder]
confirmed M200 F31 S1
2022-08-30 13:00:55.483 GcodeAsyncDriver TRACE: Feeders
confirmation complete.
2022-08-30 13:00:55.485 ReferenceHead DEBUG: H1.moveToSafeZ(1.0)
2022-08-30 13:00:55.485 AbstractHeadMountable DEBUG:
N1.moveToSafeZ(1.0)
2022-08-30 13:00:55.485 AbstractHeadMountable DEBUG:
N2.moveToSafeZ(1.0)
2022-08-30 13:00:55.485 AbstractHeadMountable DEBUG:
Top.moveToSafeZ(1.0)
2022-08-30 13:00:55.485 AbstractHeadMountable DEBUG:
N1.moveTo((542.230000, 2.200000, 0.000000, 270.000000 mm), 1.0)
2022-08-30 13:00:55.486 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M204 S1116.45, 60000)...
2022-08-30 13:00:55.486 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(G1 X556.6060 Y61.3181 A-90.0000 F13397.41 ;
move to target, 60000)...
2022-08-30 13:00:55.486 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M204 S62.50, 60000)...
2022-08-30 13:00:55.486 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(G1 Y60.9930 F270.47 ; move to target,
60000)...
2022-08-30 13:00:55.486 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M400 ; Wait for moves to complete before
returning, 60000)...
2022-08-30 13:00:55.486 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M114 ; get position, -1)...
2022-08-30 13:00:55.486 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:55.486 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M204 S1116.45
2022-08-30 13:00:55.487 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> G1 X556.6060 Y61.3181 A-90.0000
F13397.41
2022-08-30 13:00:55.487 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M204 S62.50
2022-08-30 13:00:55.487 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:55.487 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:55.488 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> G1 Y60.9930 F270.47
2022-08-30 13:00:55.488 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:55.488 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M400
2022-08-30 13:00:55.489 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M114
2022-08-30 13:00:56.930 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:56.931 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << X:556.6060 Y:60.9930 Z:0.0000
A:-90.0000 B:-1.0000 Count X:54798 Y:5998 Z:0 A:2400 B:3191
2022-08-30 13:00:56.931 GcodeDriver TRACE: Position report:
X:556.6060 Y:60.9930 Z:0.0000 A:-90.0000 B:-1.0000 Count X:54798
Y:5998 Z:0 A:2400 B:3191
2022-08-30 13:00:56.931 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:56.931 GcodeDriver TRACE: Biqu got
lastReportedLocation (X:556.606000, Y:60.993000, Z1:0.000000,
AL:-90.000000, AR:-1.000000)
2022-08-30 13:00:56.931 GcodeAsyncDriver TRACE: Biqu confirmation
complete.
2022-08-30 13:00:56.931 AbstractHeadMountable DEBUG:
N1.moveTo((542.230000, 2.200000, -11.900000, 270.000000 mm), 1.0)
2022-08-30 13:00:56.932 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M204 S2500.00, 60000)...
2022-08-30 13:00:56.932 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(G1 Z-11.9000 F10348.91 ; move to target,
60000)...
2022-08-30 13:00:56.932 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M400 ; Wait for moves to complete before
returning, 60000)...
2022-08-30 13:00:56.932 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M114 ; get position, -1)...
2022-08-30 13:00:56.932 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M204 S2500.00
2022-08-30 13:00:56.932 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:56.933 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> G1 Z-11.9000 F10348.91
2022-08-30 13:00:56.933 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M400
2022-08-30 13:00:56.933 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:56.933 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M114
2022-08-30 13:00:57.164 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:57.165 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << X:556.6060 Y:60.9930 Z:-11.9000
A:-90.0000 B:-1.0000 Count X:54798 Y:5998 Z:-1213 A:2400 B:3191
2022-08-30 13:00:57.165 GcodeDriver TRACE: Position report:
X:556.6060 Y:60.9930 Z:-11.9000 A:-90.0000 B:-1.0000 Count X:54798
Y:5998 Z:-1213 A:2400 B:3191
2022-08-30 13:00:57.165 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:57.165 GcodeDriver TRACE: Biqu got
lastReportedLocation (X:556.606000, Y:60.993000, Z1:-11.900000,
AL:-90.000000, AR:-1.000000)
2022-08-30 13:00:57.165 GcodeAsyncDriver TRACE: Biqu confirmation
complete.
2022-08-30 13:00:57.165 ReferenceNozzle DEBUG: N1.pick()
2022-08-30 13:00:57.165 Scripting TRACE: Scripting.on
Nozzle.BeforePick
2022-08-30 13:00:57.175 ReferenceActuator DEBUG:
AVAC1.actuate(true)
2022-08-30 13:00:57.175 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M42 P204 I1 S255, 60000)...
2022-08-30 13:00:57.175 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M42 P204 I1 S255
2022-08-30 13:00:57.175 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:57.275 Scripting TRACE: Scripting.on
Nozzle.AfterPick
2022-08-30 13:00:57.276 AbstractHeadMountable DEBUG:
N1.moveToSafeZ(1.0)
2022-08-30 13:00:57.276 AbstractHeadMountable DEBUG:
N1.moveTo((542.230000, 2.200000, 0.000000, -90.000000 mm), 1.0)
2022-08-30 13:00:57.276 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M204 S2500.00, 60000)...
2022-08-30 13:00:57.276 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(G1 Z0.0000 F10348.91 ; move to target,
60000)...
2022-08-30 13:00:57.276 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M400 ; Wait for moves to complete before
returning, 60000)...
2022-08-30 13:00:57.276 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M114 ; get position, -1)...
2022-08-30 13:00:57.277 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M204 S2500.00
2022-08-30 13:00:57.277 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:57.277 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> G1 Z0.0000 F10348.91
2022-08-30 13:00:57.277 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M400
2022-08-30 13:00:57.277 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:57.278 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M114
2022-08-30 13:00:57.509 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:57.510 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << X:556.6060 Y:60.9930 Z:0.0000
A:-90.0000 B:-1.0000 Count X:54798 Y:5998 Z:0 A:2400 B:3191
2022-08-30 13:00:57.510 GcodeDriver TRACE: Position report:
X:556.6060 Y:60.9930 Z:0.0000 A:-90.0000 B:-1.0000 Count X:54798
Y:5998 Z:0 A:2400 B:3191
2022-08-30 13:00:57.510 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:57.510 GcodeDriver TRACE: Biqu got
lastReportedLocation (X:556.606000, Y:60.993000, Z1:0.000000,
AL:-90.000000, AR:-1.000000)
2022-08-30 13:00:57.511 GcodeAsyncDriver TRACE: Biqu confirmation
complete.
2022-08-30 13:00:57.511 GcodeAsyncDriver DEBUG:
serial://ttyACMFeeder commandQueue.offer(M105 T0, 15000)...
2022-08-30 13:00:57.511 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMFeeder] >> M105 T0
2022-08-30 13:00:57.765 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMFeeder] << T0:205.000
2022-08-30 13:00:57.765 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMFeeder] << ok
2022-08-30 13:00:57.774 GcodeDriver TRACE: actuatorRead response:
T0:205.000
2022-08-30 13:00:57.775 ReferenceActuator DEBUG: AVACS1.read():
205.000
2022-08-30 13:00:57.776 ReferenceBottomVision DEBUG:
SOT23-TO92_Compatible-NPN.canHandle(false) => {}
2022-08-30 13:00:57.776 ReferencePnpJobProcessor$Align DEBUG: Not
aligning id SOT23-TO92_Compatible-NPN, name null, heightUnits
Millimeters, height 1.000000, packageId (SOT23-TO92_Compatible) as
no compatible enabled aligners defined
2022-08-30 13:00:57.776 Scripting TRACE: Scripting.on
Job.Placement.BeforeAssembly
2022-08-30 13:00:57.776 ReferenceHead DEBUG: H1.moveToSafeZ(1.0)
2022-08-30 13:00:57.777 AbstractHeadMountable DEBUG:
N1.moveToSafeZ(1.0)
2022-08-30 13:00:57.777 AbstractHeadMountable DEBUG:
N2.moveToSafeZ(1.0)
2022-08-30 13:00:57.777 AbstractHeadMountable DEBUG:
Top.moveToSafeZ(1.0)
2022-08-30 13:00:57.777 AbstractHeadMountable DEBUG:
N1.moveTo((498.641794, 275.076152, 0.000000, 90.170276 mm), 1.0)
2022-08-30 13:00:57.778 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M204 S1208.43, 60000)...
2022-08-30 13:00:57.778 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(G1 X513.0178 Y333.7277 A-269.8297 F14501.12 ;
move to target, 60000)...
2022-08-30 13:00:57.778 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M204 S62.50, 60000)...
2022-08-30 13:00:57.778 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(G1 Y334.0528 F270.47 ; move to target,
60000)...
2022-08-30 13:00:57.778 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M400 ; Wait for moves to complete before
returning, 60000)...
2022-08-30 13:00:57.778 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M114 ; get position, -1)...
2022-08-30 13:00:57.779 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M204 S1208.43
2022-08-30 13:00:57.779 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:57.779 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> G1 X513.0178 Y333.7277 A-269.8297
F14501.12
2022-08-30 13:00:57.779 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M204 S62.50
2022-08-30 13:00:57.779 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:57.780 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> G1 Y334.0528 F270.47
2022-08-30 13:00:57.780 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:57.780 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M400
2022-08-30 13:00:57.780 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:57.781 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M114
2022-08-30 13:00:59.780 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << echo:busy: processing
2022-08-30 13:00:59.909 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:59.909 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << X:513.0178 Y:334.0528 Z:0.0000
A:-269.8297 B:-1.0000 Count X:50508 Y:32874 Z:0 A:802 B:3191
2022-08-30 13:00:59.909 GcodeDriver TRACE: Position report:
X:513.0178 Y:334.0528 Z:0.0000 A:-269.8297 B:-1.0000 Count X:50508
Y:32874 Z:0 A:802 B:3191
2022-08-30 13:00:59.910 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:59.910 GcodeDriver TRACE: Biqu got
lastReportedLocation (X:513.017800, Y:334.052800, Z1:0.000000,
AL:-269.829700, AR:-1.000000)
2022-08-30 13:00:59.910 GcodeAsyncDriver TRACE: Biqu confirmation
complete.
2022-08-30 13:00:59.910 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(G92 A90.1703 ; reset coordinates, -1)...
2022-08-30 13:00:59.910 AbstractHeadMountable DEBUG:
N1.moveTo((498.641794, 275.076152, -10.500000, 90.170276 mm), 1.0)
2022-08-30 13:00:59.910 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> G92 A90.1703
2022-08-30 13:00:59.910 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M204 S2500.00, 60000)...
2022-08-30 13:00:59.910 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(G1 Z-10.5000 F9721.11 ; move to target,
60000)...
2022-08-30 13:00:59.910 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M400 ; Wait for moves to complete before
returning, 60000)...
2022-08-30 13:00:59.910 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M114 ; get position, -1)...
2022-08-30 13:00:59.911 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M204 S2500.00
2022-08-30 13:00:59.911 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> G1 Z-10.5000 F9721.11
2022-08-30 13:00:59.911 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << X:513.0178 Y:334.0528 Z:0.0000
A:90.1703 B:-1.0000 Count X:50508 Y:32874 Z:0 A:802 B:3191
2022-08-30 13:00:59.911 GcodeDriver TRACE: Position report:
X:513.0178 Y:334.0528 Z:0.0000 A:90.1703 B:-1.0000 Count X:50508
Y:32874 Z:0 A:802 B:3191
2022-08-30 13:00:59.911 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:59.911 GcodeDriver TRACE: Biqu got
lastReportedLocation (X:513.017800, Y:334.052800, Z1:0.000000,
AL:90.170300, AR:-1.000000)
2022-08-30 13:00:59.911 GcodeAsyncDriver TRACE: Biqu confirmation
complete.
2022-08-30 13:00:59.911 AbstractMotionPlanner DEBUG: Reported
location changes current location from (X:513.017794,
Y:333.869152, Z1:-10.500000, AL:90.170276, AR:-1.000000) to
(X:513.017800, Y:333.869146, Z1:0.000000, AL:90.170300,
AR:-1.000000)
2022-08-30 13:00:59.911 ReferenceNozzle DEBUG: N1.place()
2022-08-30 13:00:59.911 Scripting TRACE: Scripting.on
Nozzle.BeforePlace
2022-08-30 13:00:59.911 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M400
2022-08-30 13:00:59.911 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:59.911 ReferenceActuator DEBUG:
AVAC1.actuate(false)
2022-08-30 13:00:59.911 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M42 P204 I1 S0, 60000)...
2022-08-30 13:00:59.912 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M114
2022-08-30 13:00:59.912 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:00:59.912 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M42 P204 I1 S0
2022-08-30 13:00:59.962 Scripting TRACE: Scripting.on
Nozzle.AfterPlace
2022-08-30 13:00:59.962 AbstractHeadMountable DEBUG:
N1.moveToSafeZ(1.0)
2022-08-30 13:00:59.962 Scripting TRACE: Scripting.on
Job.Placement.Complete
2022-08-30 13:00:59.962 ReferenceHead DEBUG: H1.moveToSafeZ(1.0)
2022-08-30 13:00:59.962 AbstractHeadMountable DEBUG:
N1.moveToSafeZ(1.0)
2022-08-30 13:00:59.962 AbstractHeadMountable DEBUG:
N2.moveToSafeZ(1.0)
2022-08-30 13:00:59.962 AbstractHeadMountable DEBUG:
Top.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 ReferenceHead DEBUG: H1.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 AbstractHeadMountable DEBUG:
N1.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 AbstractHeadMountable DEBUG:
N2.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 AbstractHeadMountable DEBUG:
Top.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 ReferenceHead DEBUG: H1.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 AbstractHeadMountable DEBUG:
N1.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 AbstractHeadMountable DEBUG:
N2.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 AbstractHeadMountable DEBUG:
Top.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 AbstractHeadMountable DEBUG:
Top.moveTo((0.000000, 0.000000, NaN, NaN mm), 1.0)
2022-08-30 13:00:59.963 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M204 S1789.45, 60000)...
2022-08-30 13:00:59.963 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(G1 X0.0000 Y0.3251 F14315.63 ; move to
target, 60000)...
2022-08-30 13:00:59.963 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M204 S62.50, 60000)...
2022-08-30 13:00:59.963 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(G1 Y0.0000 F270.47 ; move to target,
60000)...
2022-08-30 13:00:59.963 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M400 ; Wait for moves to complete before
returning, 60000)...
2022-08-30 13:00:59.963 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M114 ; get position, -1)...
2022-08-30 13:00:59.964 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M204 S1789.45
2022-08-30 13:00:59.964 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> G1 X0.0000 Y0.3251 F14315.63
2022-08-30 13:00:59.965 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M204 S62.50
2022-08-30 13:00:59.965 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> G1 Y0.0000 F270.47
2022-08-30 13:00:59.966 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M400
2022-08-30 13:00:59.966 GcodeAsyncDriver$WriterThread TRACE:
[serial://ttyACMPnp] >> M114
2022-08-30 13:01:00.135 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:01:00.136 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << X:513.0178 Y:334.0528 Z:-10.5000
A:90.1703 B:-1.0000 Count X:50508 Y:32874 Z:-1070 A:802 B:3191
2022-08-30 13:01:00.136 GcodeDriver TRACE: Position report:
X:513.0178 Y:334.0528 Z:-10.5000 A:90.1703 B:-1.0000 Count X:50508
Y:32874 Z:-1070 A:802 B:3191
2022-08-30 13:01:00.136 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:01:00.136 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:01:00.136 GcodeDriver TRACE: Biqu got
lastReportedLocation (X:513.017800, Y:334.052800, Z1:-10.500000,
AL:90.170300, AR:-1.000000)
2022-08-30 13:01:00.136 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:01:00.136 GcodeAsyncDriver TRACE: Biqu confirmation
complete.
2022-08-30 13:01:00.136 AbstractMotionPlanner DEBUG: Reported
location changes current location from (X:0.000000, Y:0.000000,
Z1:0.000000, AL:90.170300, AR:-1.000000) to (X:513.017800,
Y:334.052800, Z1:-10.500000, AL:90.170300, AR:-1.000000)
2022-08-30 13:01:00.137 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:01:00.137 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:01:00.137 GcodeDriver$ReaderThread TRACE:
[serial://ttyACMPnp] << ok
2022-08-30 13:01:00.145 ReferencePnpJobProcessor$Finish INFO: Job
finished 1 parts in 5.4 sec. This is 669.4 CPH
2022-08-30 13:01:00.145 Scripting TRACE: Scripting.on Job.Finished
2022-08-30 13:01:01.862 GcodeDriver$ReaderThread ERROR: Read
error: java.io.IOException: Read error.
at
org.openpnp.machine.reference.driver.SerialPortCommunications.read(SerialPortCommunications.java:143)
at
org.openpnp.machine.reference.driver.ReferenceDriverCommunications.readUntil(ReferenceDriverCommunications.java:91)
at
org.openpnp.machine.reference.driver.ReferenceDriverCommunications.readLine(ReferenceDriverCommunications.java:71)
at
org.openpnp.machine.reference.driver.GcodeDriver$ReaderThread.run(GcodeDriver.java:1270)
--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/36055980-33f5-0ed9-731e-16aff1b392b6%40makr.zone.
Okay so i did some tests, when using this particular feeder i get
2022-08-30 13:00:59.963 ReferenceHead DEBUG: H1.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 AbstractHeadMountable DEBUG:
N1.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 AbstractHeadMountable DEBUG:
N2.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 AbstractHeadMountable DEBUG:
Top.moveToSafeZ(1.0)
2022-08-30 13:00:59.963 AbstractHeadMountable DEBUG:
Top.moveTo((0.000000, 0.000000, NaN, NaN mm), 1.0)
2022-08-30 13:00:59.963 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M204 S1789.45, 60000)...
2022-08-30 13:00:59.963 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(G1 X0.0000 Y0.3251 F14315.63 ; move to
target, 60000)...
[etc]
aka its not moving the Z at all which isn't what i want obviously. When selecting either of the nozzles in the jog panel and press the "Head safe Z" button i get, for instance
2022-08-30 13:53:40.367 ReferenceHead DEBUG: H1.moveToSafeZ(1.0)
2022-08-30 13:53:40.367 AbstractHeadMountable DEBUG:
N1.moveToSafeZ(1.0)
2022-08-30 13:53:40.368 AbstractHeadMountable DEBUG:
N1.moveTo((89.850000, 145.798000, 0.000000, -1.000000 mm), 1.0)
2022-08-30 13:53:40.378 GcodeAsyncDriver DEBUG: serial://ttyACMPnp
commandQueue.offer(M204 S2500.00, 60000)...
[etc]
which is what i want. I'm assuming this has something to do with the fact that when selecting the camera (Top) and using the "Head safe Z"-button nothing happens. I tried adding a moveto gcode command specifically for the Top camera but that didn't change anything..
ideas?
Karl
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/e5267c23-1cdb-12aa-0e3b-5173e437fe1b%40knasmusic.com.
Actually, its even more weird than that. It seems like position reports are coming in without the async driver really keeping track of which one belongs to which positioning command? Either way i reverted to the classic GcodeDriver and it works like a charm...
Karl
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/3b686a5a-8a14-4a87-a09c-a4a12250187bn%40googlegroups.com.
Im not sure i follow.. but here's another insight; while it works
splendidly with the regular GcodeDriver i did have to change back
the rotation to 0 degrees to get the part to line up. For the
AsyncDriver it had to be 270 degrees so somethings def weird
here...
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/e42fc62b-23d3-4a7e-bd72-2e44956ebec5n%40googlegroups.com.
Hi Karl, Tony,
If you follow the flow, then you see that Marlin is sending one
position report too many. And I see, Tony has come to the same
conclusion.
> Ahh, I see what cause the position report at 13:00:59.911 - it was due to the G92 command 7 lines above it. That should be ok.
You are right, G92 is reporting coordinates back on Marlin! And
in the same format as M114! And no, that
should not at all be alright!
That does in-deed completely break how GCodeAsyncDriver Location
Confirmation works. The position reports are like
"milestones" that the async driver needs to see in the response
flow to understand where in the command flow the
controller has arrived.
Karl, you switched back to GcodeDriver, that is fine, but you are
losing some performance over this. The GcodeDriver stops
the whole machine thread until it sees that confirmation "ok". You
can still switch back to GcodeAsyncDriver (using I&S) and
configure as in (2). Even with the Confirmation Flow
Control option, the async driver is still much better,
it only blocks a special writer thread that does nothing else but
send commands to that controller. The main machine thread is not
blocked and OpenPnP can go on to plan the next move, and send
commands to other controllers, when configured right
(e.g. actuator before/after coordination).
For instance, the parallel operation of feeder and motion, you
talked about earlier, is only possible with this kind of async
operation.
> here's another insight; while it works splendidly with the regular GcodeDriver i did have to change back the rotation to 0 degrees to get the part to line up. For the AsyncDriver it had to be 270 degrees so somethings def weird here...
It seems that unwanted position report also breaks how OpenPnP handles wrap-around rotation coordinates (coordinates are always reset back into the +/-180° range). Please send a log.
https://github.com/openpnp/openpnp/wiki/Machine-Axes#controller-settings-rotational-axis
Unless you fix Marlin, you also need to switch off either
Wrap Around or Limit to Range. If
you switch off the former, you'll get restricted rotation
(slower). If you switch off the latter, you'll get large angular
coordinates (wind-up) and some pirouetting (needless 360ies).
_Mark
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/e42fc62b-23d3-4a7e-bd72-2e44956ebec5n%40googlegroups.com.