This week has been pretty hectic, but today I am trying to set a plan to get the tool changer working. I will layout a description of the system, hoping it will aid any discussion on the programming aspect. Then, I will layout my concept of the process needed to make a complete tool change process. When something looks incorrect, please let me know! After conceptualizing the process, I will try to layout the files and components to make it all work!
Here is a quick video of the tool change process from utoob.
Benchman XT tool change video
The tool changer is a 20 position carousel with four pneumatic actuators and a unidirectional 24v DC motor. The four actuators are controlled by SMW valves that are controlled by the 7i77 outputs. The actuators control: (1) carriage up/down, (2) carriage left/right, (3) tool holder up/down, and (4) power drawbar open/close. Feedback for the first three actuators are endstops on each limit of the actuator. I think there is feedback on the power drawbar, but its has been so long since I mapped out the connections that it will need to be verified. The DC motor is connected to a relay, which is also controlled by the 7i77 output. Feedback on the rotation of the carousel is produced with a shaft encoder. Additional feedback in the system is provided by a hall effect sensor on the spindle shaft for the tool change orientation and a PSI sensor for the compressed air.
Here is my concept for the toolchange routine. Let me know
1 Call for tool change - PIN?
2 Stop spindle - M05
3 Index Spindle Orientation - M19
4 Move tool head to change position - Z = position to be determined
5 PSI Check = TRUE/FALSE
6 Rotate to current tool pocket position if needed - carousel component (need direction)
7 Lower Carriage - C U/D output = TRUE, CD Endstop input = TRUE
8 Tool Holder up - TH U/D = TRUE, TH U Endstop input = TRUE
9 Carriage Slide Right - C L/R output = TRUE, C R Endstop input = TRUE
10 open draw bar - DB O/C output = TRUE, feedback?
11 Tool holder down - TH U/D output = FALSE, TH U Endstop input = TRUE
12 rotate to new tool pocket position (again help)
13 tool holder up - TH U/D output = TRUE, TH U endstop = TRUE
14 close draw bar - DB O/C output = FALSE, feedback?
15 carriage slide left - C L/R output = FALSE, C L Endstop input = TRUE
16 tool holder down - TH U/D output = FALSE, TH D Endstop = TRUE
From what I have seen in JT's turret sim, I understand that classic ladder will only deal with pins, not encoders directly. This is why the carousel component must be used, to let CL know when the carousel is in the right tool position. After reading through the description of the carousel component, I am trying to understand it better. Andy, can you provide an example of code where the component is used? The encoder is a quadrature encoder, but not sure which encoder type to specify (Grey, binary, index or single). Can anyone help me out with the definition of each? Also, I think the num_sense corresponds other feedback on the carousel shaft, but not sure. I dont have any other feedback than the encoder.
Any flawed thinking, or a point in the right direction?
Thanks,
Aaron