Kitamura Mycenter Zero - DELTA Ethercat Retrofit

All things ecat Hickory CNC controller

Moderator: cnckeith

spikee
Posts: 121
Joined: Thu Feb 01, 2024 5:34 am
Acorn CNC Controller: No
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: Yes
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Contact:

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by spikee »

I spent quite a bit of time on figuring out the door situation. And my conclusion is that an ideal situation does not exist in my setup :P
There is too little room to have the door slide up. My garage is also too low for a situation where the door extends above the machine by much.\
So I went for a bi-fold door. I used Misumi's configurator to figure out the sizing etc. The downside of this system is that there will be some chips and or coolant falling on the floor when I open the door. This is something I will just accept for now. One remedy is either a wiper or a air jet that just blows it off. I can always spend some time on it in the future in case a rev 2 is needed.

At this point I just need to move forward:
Image


spikee
Posts: 121
Joined: Thu Feb 01, 2024 5:34 am
Acorn CNC Controller: No
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: Yes
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Contact:

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by spikee »

After seeing the pricing of alu extrusion these days :oops:
Decided to make it out of steel: (this was like 40 euros of materials)
Image
This new frame just screws into the existing lip. Easy to mount / remove.
Still figuring out he door situation. I think initially I'll just use a curtain or whatever. and go from there.
I don't want this to become a bottleneck. ordering the tempered glass + frame at the end of the week.

Image
The top will be 25mm fermacell with an alu plate glued to it. (mass + protective surface).

I have also emailed centroid for help with the PLC.


Allin1Chris
Posts: 215
Joined: Wed Jul 31, 2019 12:53 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: Yes
Oak CNC controller: Yes
CNC Control System Serial Number: none
DC3IOB: Yes
CNC12: Yes
CNC11: Yes
CPU10 or CPU7: Yes

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by Allin1Chris »

spikee wrote: Mon Dec 30, 2024 5:21 pm I had a try figuring out the plc code and i must say i found some things quite confusing. One example is lines like
"M101 /70320 ;Wait for ArmAtSpindleNewTool_M" when i look in the PLC code I can't find a reference of this.
70320 would refer to MEM320 in the PLC, it is read only, simply reading the state of the PLC. In the Swingarm Case, most of the movement is handled by the PLC.

Code: Select all

ArmAtHome_M                     IS MEM318
ArmAtSpindleOldTool_M           IS MEM319
ArmAtSpindleNewTool_M           IS MEM320
ArmFrom2To3_M                   IS MEM321
StopAtPos3_M                    IS MEM322
This particular Memory bit is telling us that the Arm has Cycled the Old Tool out and has just now cycled the new tool into the spindle. Every "M94 /13" Cycles the Arm to the next Stop Position, The positions being Home > "Old Tool at Spindle" > "New Tool At Spindle" > Home (Repeat). The Default Swingarm logic assumes the carousel has a pot that is turned down or up for the swingarm. You could use the "Pot Up" As your Pot Back and Pot Down as your Pot Forward as an example (assuming im reading your schematics right).
spikee wrote: Mon Dec 30, 2024 5:21 pm
What I find pretty difficult here is that there are M-codes to move the caroussel left or right (M50 , M51) .
These M-Codes index the carousel (rotate CW or CCW), i would try the Pot outputs first and their M-code (M94 /14 for Pot Down (Pot Forward?), and M94 /15 for Pot Up (Pot Back?)).
When requesting support READ THIS POST first. http://centroidcncforum.com/viewtopic.php?f=60&t=1043

Please ALWAYS post a FRESH report. To make a report: https://www.youtube.com/watch?v=Ecvg0VJp1oQ.

(We pride ourselves on providing timely solid technical support but, without good information we may not be able to help and/or reply until such information is posted.)

Centroid PLC Tutorial Videos


spikee
Posts: 121
Joined: Thu Feb 01, 2024 5:34 am
Acorn CNC Controller: No
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: Yes
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Contact:

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by spikee »

Allin1Chris wrote: Mon Jan 06, 2025 4:37 pm
spikee wrote: Mon Dec 30, 2024 5:21 pm I had a try figuring out the plc code and i must say i found some things quite confusing. One example is lines like
"M101 /70320 ;Wait for ArmAtSpindleNewTool_M" when i look in the PLC code I can't find a reference of this.
70320 would refer to MEM320 in the PLC, it is read only, simply reading the state of the PLC. In the Swingarm Case, most of the movement is handled by the PLC.

Code: Select all

ArmAtHome_M                     IS MEM318
ArmAtSpindleOldTool_M           IS MEM319
ArmAtSpindleNewTool_M           IS MEM320
ArmFrom2To3_M                   IS MEM321
StopAtPos3_M                    IS MEM322
This particular Memory bit is telling us that the Arm has Cycled the Old Tool out and has just now cycled the new tool into the spindle. Every "M94 /13" Cycles the Arm to the next Stop Position, The positions being Home > "Old Tool at Spindle" > "New Tool At Spindle" > Home (Repeat). The Default Swingarm logic assumes the carousel has a pot that is turned down or up for the swingarm. You could use the "Pot Up" As your Pot Back and Pot Down as your Pot Forward as an example (assuming im reading your schematics right).
spikee wrote: Mon Dec 30, 2024 5:21 pm
What I find pretty difficult here is that there are M-codes to move the caroussel left or right (M50 , M51) .
These M-Codes index the carousel (rotate CW or CCW), i would try the Pot outputs first and their M-code (M94 /14 for Pot Down (Pot Forward?), and M94 /15 for Pot Up (Pot Back?)).
Hi Chris, thanks for the insight. As my swingarm is controlled through an ethercat servo, would you suggest to do this logic in the plc or do the logic in the m6 macro?

Additionally you mentioned there are m-codes for caroussel forwards, backwards. Is there a function to tell the plc to to a specific tool(pos), figure out forward, backward logic and read from memory when it has arrived? Or is the logic you just activate forwards,backwards in the macro and stop when a plc memory location (caroussel toolcounter) = requested tool?

Anyway thanks for the insight, the memory info probablt came by in the 6hour plc playlist i listened to on the background, but did not stick :oops:


Allin1Chris
Posts: 215
Joined: Wed Jul 31, 2019 12:53 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: Yes
Oak CNC controller: Yes
CNC Control System Serial Number: none
DC3IOB: Yes
CNC12: Yes
CNC11: Yes
CPU10 or CPU7: Yes

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by Allin1Chris »

spikee wrote: Tue Jan 07, 2025 6:28 pm Hi Chris, thanks for the insight. As my swingarm is controlled through an ethercat servo, would you suggest to do this logic in the plc or do the logic in the m6 macro?
I did not see this reading through the thread, must have missed that. You would need to command the swingarm in the M6 Macro. Using the Default M6 macro as reference, can replace the "M94 /13" parts with your movements of the Swingarm.

spikee wrote: Tue Jan 07, 2025 6:28 pm Additionally you mentioned there are m-codes for carousel forwards, backwards. Is there a function to tell the plc to to a specific tool(pos), figure out forward, backward logic and read from memory when it has arrived? Or is the logic you just activate forwards,backwards in the macro and stop when a plc memory location (caroussel toolcounter) = requested tool?

Anyway thanks for the insight, the memory info probablt came by in the 6hour plc playlist i listened to on the background, but did not stick :oops:
M107 is the command to load the Requested Tool to the PLC and rotate to a specific tool for a swingarm type ATC. In a Job, it allows you to Pre-Fetch the tool for quicker tool changes when the M6 is later called. For quick example

Code: Select all

M6 ;Tool Change
T13 M107 (Rotate Carousel to T13)
Part Gcode...........
M6 ;Tool Change (Grabs T13)
T6 M107 (Rotate Carousel to T6
etc.....
The M107 is also called in the M6 in the case its called directly through MDI or other means. In the PLC when M107 is called, it loads the T number into the PLC Variable SV_TOOL_NUMBER. The Carousel Enable and Direction is determined and outputs turn on, then using the Counter Input will wait until the desired tool is reached then stop the carousel. At this point will turn on a memory bit for the Macro to reference such as "AtRequestedToolPosition_M". The Carousel rotation is handled by a series of stages in the PLC, MonitorIndexATCRequestStage, ReportCarouselPositionStage, SetRequestedBinPositionStage, SetCarouselDirectionStage, RotateCarouselStage, and ResetCarouselStage. The same stages are used for both Swingarm and Umbrella type ATCs as well if you want to see how it works in PLC.
When requesting support READ THIS POST first. http://centroidcncforum.com/viewtopic.php?f=60&t=1043

Please ALWAYS post a FRESH report. To make a report: https://www.youtube.com/watch?v=Ecvg0VJp1oQ.

(We pride ourselves on providing timely solid technical support but, without good information we may not be able to help and/or reply until such information is posted.)

Centroid PLC Tutorial Videos


spikee
Posts: 121
Joined: Thu Feb 01, 2024 5:34 am
Acorn CNC Controller: No
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: Yes
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Contact:

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by spikee »

So there has been more progression!

New eclosure painted, just need to wait for the window framing to come in so it can be enclosed:
Image

During my ATC adventures I also figured out another thing, my spindle orient function, supported by the AC servo drive only works when transmission is 1:1 , mine is not (8krpm servo = 12k spindle). So depending on your position the orient dit not end up being where I expected it to be.

It offers an external input option to tell you where to orient it. So I mocked up this spindle index sensor setup:
Image
I'm curious if that slot is going to make an annoying sound at high speed or not.
Image

How to actually connect it to the S3a servo drive was hidden from the datasheet. However I got an additional document from the Chinese technician (in Chinese) that explains how it works. I have attached it in case anybody else needs it.
Allin1Chris wrote: Wed Jan 08, 2025 11:45 am
M94 /14 , M94 /15 Don't do anything when I call them in the MDI. no fault message or anything like that.
The only thing I can guess is that "pot up" and "pot down" is terminology for the swingarm positions? As you can see in my video below the swingarm is currently in a "not idle" position, so the idea is that if i put it back in the "home" position it should ... do something?

Attached is a new report (switched some IO of the carousel out -> pot out (no idea if that makes sense tho)

So the tool selection works, it turns the carousel to the correct location. When i do M6 it waits for INP32 at some point (which is not assigned), so presumably I'm missing a signal? Also, so far the "tool elevator" as i would call it has not worked yet. My guess is that this only happens when the swingarm is in the home position? Overall some progress was made. Once i get the "tool elevator" part working, the rest should be relatively simple.
So some assistance on that side is appreciated :D

Here is a vid of (a part of ) the default M6 code working:


So a quick recap:

Code: Select all

T6 M107 code works
M50 works (turn carousel +1 direction 1)
M51 works (turn carousel -1 direction 2)
M94 /14 nothing happens
M94 /15 nothing happens
I will spoof the ATC arm at home position tonight to see if more action will happen or not. I manually set it during my testing yesterday and nothing happened. But it could be that I just did it at the wrong timing.

Also a quick question, is it possible to Debug/live view the m6 marco code? It would be useful to know what it is doing and or waiting for.
Attachments
report_0008DC111213-0222240130_2025-01-12_16-38-25.zip
(983.1 KiB) Downloaded 4 times


ASPeters
Posts: 33
Joined: Thu Feb 10, 2022 5:55 pm
Acorn CNC Controller: No
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by ASPeters »

spikee wrote: Mon Jan 13, 2025 4:36 am Also a quick question, is it possible to Debug/live view the m6 marco code? It would be useful to know what it is doing and or waiting for.
Set parameter 10 to a 2, turn on Single Block Mode (F5) in the run menu, and then run a job with your tool change. This will let you step through the macro, to see any variables you'll have to use M225


cncsnw
Posts: 4305
Joined: Wed Mar 24, 2010 5:48 pm

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by cncsnw »

When i do M6 it waits for INP32 at some point
That would usually happen when you have ATC indicated (Parameter 6 = 1), but you have no custom M6 macro file.


Allin1Chris
Posts: 215
Joined: Wed Jul 31, 2019 12:53 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: Yes
Oak CNC controller: Yes
CNC Control System Serial Number: none
DC3IOB: Yes
CNC12: Yes
CNC11: Yes
CPU10 or CPU7: Yes

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by Allin1Chris »

spikee wrote: Mon Jan 13, 2025 4:36 am M94 /14 , M94 /15 Don't do anything when I call them in the MDI. no fault message or anything like that.
The only thing I can guess is that "pot up" and "pot down" is terminology for the swingarm positions? As you can see in my video below the swingarm is currently in a "not idle" position, so the idea is that if i put it back in the "home" position it should ... do something?

Code: Select all

T6 M107 code works
M50 works (turn carousel +1 direction 1)
M51 works (turn carousel -1 direction 2)
M94 /14 nothing happens
M94 /15 nothing happens
M94 /14 and M94 /15 requires the system to be in a tool change M6 (M94 /8 has been called). Otherwise they will appear to do nothing as the commands are simply ignored.
When requesting support READ THIS POST first. http://centroidcncforum.com/viewtopic.php?f=60&t=1043

Please ALWAYS post a FRESH report. To make a report: https://www.youtube.com/watch?v=Ecvg0VJp1oQ.

(We pride ourselves on providing timely solid technical support but, without good information we may not be able to help and/or reply until such information is posted.)

Centroid PLC Tutorial Videos


spikee
Posts: 121
Joined: Thu Feb 01, 2024 5:34 am
Acorn CNC Controller: No
Plasma CNC Controller: No
AcornSix CNC Controller: No
Allin1DC CNC Controller: No
Hickory CNC Controller: Yes
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Contact:

Re: Kitamura Mycenter Zero - DELTA Ethercat Retrofit

Post by spikee »

Thanks to the input I was able to get a little bit further.
So the code fails in the M6 line " M101 /70311 ;Wait for AtRequestedToolLocation_M" line 306

Code: Select all

287: ;==============================================================================
288: ; Swingarm Tool Change Program Starts
289: ;==============================================================================
290: N700
291: #101 = <SV_POSITIONING_MODE>      ;Save Positioning Mode
292: M109 /1/2                         ;Disable Overrides
293: M5                                ;Disable Spindle
294: M9                                ;Disable Coolant
295: M107                              ;Send PLC Tool Number
296: G4 P.25
297: M94 /8                            ;Request Tool Change
298: 
299: ;Orient and Move to Position
300: M19                               ;Orient Spindle
301: G30 G91 Z0                        ;Move Z to tool change position
302: G90
303: M101 /70804                       ;Confirm Spindle Oriented
304: 
305: ;Wait for Carousel to Reach Position and Pot Down
306: M101 /70311                       ;Wait for AtRequestedToolLocation_M
307: M94 /14                           ;Request PotDown
308: M101 /70807                       ;Confirm Pot is Down
309: 
So doing some further investigation I made use of the PLC detective.
MPU.PLC

Code: Select all

5884: ;- IF (RequestedBinPosition_W == CarouselPosition_W) && DoingM6_M && IsSwingarmATC_M &&
5885: ;-   !AtRequestedToolLocation_M THEN SET ATRequestedToolLocation_M
Image
It passes all of this except "DoingM6_M" as it is 0

The only spot that set this variable:

Code: Select all

5749: ;- IF M6_SV && !DoingIndex_M && !DoingRotation_M
5750: ;-   THEN (M6PD_PD)
...
5755: ;- IF M6PD_PD THEN SET DoingM6_M, SET SetRequestedBinPositionStage
...

So i'm not exactly sure whats going wrong here. As it actually does what it is supposed to do.
It gets the correct tool by turning the caroussel, stops in time. But gets stuck at that point.
Presumably it has something to do with " !DoingIndex_M && !DoingRotation_M" Not sure what the meaning of the index function is, but it is not rotating at that point :P.
Allin1Chris wrote: Mon Jan 13, 2025 4:21 pm ...
M94 /14 and M94 /15 requires the system to be in a tool change M6 (M94 /8 has been called). Otherwise they will appear to do nothing as the commands are simply ignored.
Looking at the previous comment from Chris, presumably this has something to do with M94 /8 (= M6_SV)call. It is part of the M6 macro code as it runs it on line 297, but for some reason it gets reset before reaching the rest of the code (is my assumption).


Post Reply