- Hardware & Machines
- CNC Machines
- Turning
- Small victory in the war against the Cincinnati cinturn 12u
Small victory in the war against the Cincinnati cinturn 12u
- smc.collins
- Offline
- Platinum Member
-
- Posts: 709
- Thank you received: 129
Please Log in or Create an account to join the conversation.
- smc.collins
- Offline
- Platinum Member
-
- Posts: 709
- Thank you received: 129
Once it errors out, carousel does not run until I restart LinuxCNC, I don't know how to find a bug like this, in either my work or I tripped on a issue somewhere.
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
- Posts: 23213
- Thank you received: 4895
You could potentially try single-stepping through the routine. You would probably need to load it as a G-code programme and add some setup at the beginning so that it is set up the same way as when called as part of a toolchange.The turret is still failing to pause for the lock. Is there anyway to watch the Gcode execution so I can see where this is stalling ?
Is it the "M66 P0 L3 Q60 ; wait for carousel finished" which isn't working?
I don't see any connection in your HAL to motion.digital-in-00 which might explain it.
Please Log in or Create an account to join the conversation.
- smc.collins
- Offline
- Platinum Member
-
- Posts: 709
- Thank you received: 129
what would that be connected to ? i did finally figure out how to get the m-codes for the dwell time working properly.
what should motion.digital.in.00 get a signal from ???
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
- Posts: 23213
- Thank you received: 4895
It's waiting for a "toolchanger in position" signal, I think.what should motion.digital.in.00 get a signal from ???
So probably the carousel.N.ready pin.
But what is the actual problem? Does the carousel rotate to the correct position then sit there until time-out?
Please Log in or Create an account to join the conversation.
- smc.collins
- Offline
- Platinum Member
-
- Posts: 709
- Thank you received: 129
The problems I am having are multifaceted.
1. my turret needs more release time, I can hear the mechanism scrape when motion start, so I am adding a delay in gcode after the unlock
2. the strobe is seeing some overshoot on motor shut off, I am adding a delay after strobe, I may institute debounce
3. the turret is not locking because the turret has to much inertia to halt suddenly and for the stobe/index ram to position is correctly, so the lock command happens to soon after car-fwd stops, I fixed that in gcode tonight. I didn't realize I had to add the m6x commands relevant, I thought that the interpreter would just assume it was all the same command, my misunderstand there on the new line issue.
4. the configuration I had runs in the vismach grey with all of my changes, so I find it confusing.
After a tool change, and it is getting to the correct pocket, even matches the oem numbering on the turret which is nice, I cannot get a tool change to happen unless I restart linuxcnc, and the last few errors I got were carousel not locked. So I do have a fix for that now.
loadrt carousel pockets=6 dir=1 encoding=Binary num_sense=3
loadrt conv_float_s32 #(Already loaded in sim_vmc.hal)
addf carousel.0 servo-thread
addf conv-float-s32.0 servo-thread # G-code analogue outputs are float-type
net car-enable motion.digital-out-00 carousel.0.enable
net car-pos-req motion.analog-out-00 conv-float-s32.0.in
net car-pos-s32 conv-float-s32.0.out carousel.0.pocket-number
net car-ready carousel.0.ready motion.digital-in-00 #<------------------------- add this line ????
#assign locked pin
net car-locked <= hm2_5i25.0.7i77.0.0.input-00
#asign to turret unlock switch
net car-ready <= hm2_5i25.0.7i77.0.0.input-01
#assign to turret unclamp relay
net car-lock carousel.0.active => hm2_5i25.0.7i77.0.0.output-05
#assign to turret rotate motor relay
net car-fwd carousel.0.motor-fwd => hm2_5i25.0.7i77.0.0.output-08
#digital inputs assign BCD switches
net bit0 carousel.0.sense-0 hm2_5i25.0.7i77.0.0.input-04
net bit1 carousel.0.sense-1 <= hm2_5i25.0.7i77.0.0.input-05
net bit2 carousel.0.sense-2 <= hm2_5i25.0.7i77.0.0.input-06
#Strobe input, sinals when turret is aligned with pocket to lock assign to Strobe switch
net carousel.0.1 <= hm2_5i25.0.7i77.0.0.input-03
net carousel.0.1 carousel.0.strobe
[u][i][b]#net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed
loadusr sim_pin carousel.0.jog-fwd [/b][/i][/u]
Please Log in or Create an account to join the conversation.
- smc.collins
- Offline
- Platinum Member
-
- Posts: 709
- Thank you received: 129
o<toolchange> sub
; only unload the tool if there is a tool in the spindle
; This assumes that the carousel is already aligned correctly.
; It is important to unload the tool before shutting down the machine.
O100 IF [#<selected_tool> GT 0]
G53
M65 P1 ; unlock carousel
M66 P1 L4 Q1 ; wait for locked=false
M66 G4 P0.5
O106 if [#5399 LT 0]
(abort, failed to unlock carousel)
O106 endif
M68 E0 Q#<selected_pocket> ;set the carousel to move to the right pocket
M64 P0 ; start carousel
M66 P0 L3 Q60 ; wait for carousel finished
M66 G4 P0.5
O107 if [#5399 LT 0]
(abort, failed to align carousel)
O107 endif
M65 P0; stop carousel
M65 G4 P1.5
M64 P1 ; lock carousel
M66 P1 L3 Q1 ; wait for locked=true
O108 if [#5399 LT 0]
(abort, failed to lock carousel)
O108 endif
O200 ENDIF
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
- Posts: 23213
- Thank you received: 4895
After a tool change, and it is getting to the correct pocket, even matches the oem numbering on the turret which is nice, I cannot get a tool change to happen unless I restart linuxcnc
This issue is likely to be with the iocontrol.0.tool-prepare -> iocontrol.0.tool-prepared and iocontrol.0.tool-change -> iocontrol.0.tool-changed handshakes.
You probably want to connect the tool-change/changed directly to each other, but have the carousel alignment in the middle of the tool-prepare/prepared chain. (As I think you have)
Please Log in or Create an account to join the conversation.
- smc.collins
- Offline
- Platinum Member
-
- Posts: 709
- Thank you received: 129
I'm a bit lost here, if you indicate i have it properly then I'm more confused, btw, i made a note in my hal code above, is that the correct addition to the hal.file ???
thanks for any clarification
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
- Posts: 23213
- Thank you received: 4895
so, if I'm reading between the lines here, the hal.is being executed top to bottom ?
Yes, though as long as the component pins exist before you try to net them it doesn't really matter what order you do things in.
I'm a bit lost here, if you indicate i have it properly then I'm more confused, btw, i made a note in my hal code above, is that the correct addition to the hal.file ???
I don't think so as you are already using the signal name "car-ready" for what seems to be a completely different purpose.
You have
#asign to turret unlock switch
net car-ready <= hm2_5i25.0.7i77.0.0.input-01
Please Log in or Create an account to join the conversation.
- Hardware & Machines
- CNC Machines
- Turning
- Small victory in the war against the Cincinnati cinturn 12u