Hybrid View
-
18-02-2018 #1
If you watch this video, you can see the cnctch.mac Tool Change Request Macro.
https://www.youtube.com/watch?v=7XxCzerDKGU
Ive paused it and written (copied) the code.
IF #50001 ;Prevent lookahead
IF #4202 || #4201 THEN GOTO 1000
IF #4120 == #90014 THEN GOTO 1000
N100
G10 P1906 R1
G4 P.5
M94 /6
M101 / 70001
M95 /6
N1000
The actual logic of movement is:-
Code "G0 A" & total_move '& "F" & CW_Feed
Code "G0 A" & "-" & CCW_Move '& "F" & CCW_Feed
I assume this is the logic you need to do in the PLC?
-
18-02-2018 #2
If you watch one vid, https://www.youtube.com/watch?v=6Qa_SN9n-MY they open an acorn_mill_plc.src file. On the lathe software, there is no such file. I can reinstall and do the Mill bit on this main PC of mine to try it. The other issue is that the board and machine is in the garage, without removing the board and bringing it inside, I cannot 'play' on my main PC in the house.
I also looked to see if we can change the IP address of the board so that I can 'lan' it. At the moment, my garage PC has only 1 NIC which means that whilst its connected to the board, I have no internet access.
-
18-02-2018 #3At the moment, my garage PC has only 1 NIC which means that whilst its connected to the board, I have no internet access.
https://www.ebay.co.uk/itm/Wireless-...YAAOSwuQxaZ1vz..Clive
The more you know, The better you know, How little you know
-
18-02-2018 #4
-
18-02-2018 #5
The PLC source file is created when controller is started so will only show after it's successfully created. When you start controller watch first screen saying initialising MPU and if you get error then source file won't be created.
If get MPU error the go to wizzard and reset by writing settings to controller.Last edited by JAZZCNC; 18-02-2018 at 12:40 PM.
-
18-02-2018 #6
Thanks, suspected that as Im not on the Lathe PC.
Making some headway but struggling a bit as this is new to me.
Current macro, clearly not finished yet.
Num_Tools IS 8
CW_Move_Per_Tool IS 360/Num_Tools
CCW_Move IS 10
CW_Feed IS 1500
CCW_Feed IS 1000
TOOLCHANGEMSG IS Tool Changing Taking Place
;start tool change
;If Requested_Tool > Current_Tool Then moves = Requested_Tool -Current_Tool
;If Requested_Tool < Current_Tool Then moves = Num_Tools - Current_Tool +Requested_Tool
If Requested_Tool > SV_TOOL_NUMBER Then moves = Requested_Tool -Current_Tool
If Requested_Tool < SV_TOOL_NUMBER Then moves = Num_Tools - Current_Tool +Requested_Tool
total_move = (moves * CW_Move_Per_Tool)+(CCW_Move/2)
Code "G91 G94" 'incremental & Feed per minute
Code "G0 A" & total_move '& "F" & CW_Feed
Code "G0 A" & "-" & CCW_Move '& "F" & CCW_Feed
;SetCurrentTool Requested_Tool
;SetUserDRO HoldingDRO, Requested_Tool
Code "G90" ' back to absolute movement
Code "F" & Current_Feed
-
18-02-2018 #7
ive just ordered one of these- pretty good reviews for wired lan extender through power sockets
http://www.ebay.co.uk/itm/BT-Broadba...k/122236222579
-
18-02-2018 #8
The problem isnt connectivity. I have a similar setup. The issue is that the controller connects via Ethernet, so I cant 'get' to the Internet if the cable I need is disconnected. CS Labs allows you to use DHCP on your network to reassign its IP. This doesnt seem to do that.
-
18-02-2018 #9
Chaz been doing little digging and looks like the acorn is setup in such away that it watches inputs to determine where the turret is located.
This is why the Orac code is so simple. The PLC is watching the I/O to determine which turret location currently at then moving to new location.
There isn't any code in the PLC like what your probably thinking. All the PLC does is watch 3 inputs and depending on there logic state knows turret location. ie:
In1=on In2=off in3=on == Turret Position#1
In1=on In2=on In3=off == Turret Position #2
In1=off In2=on In3=on == Turret Position #3
And so on for each Turret location.
Using this Logic indexing it rotates the turret while watching the I/O untill matches tool # taken from G-code and stored in parameter #4102 and when finished returns sets this location in Memory and sets parammeter #90014.
This Logic is the only thing in the PLC which can be changed.
It should be possible to change the PLC but this is beyond me at the minute.
However think we could easily work around this and effectively do it manually using the Macro with simple moves then set the parameters to keep track where located.
Also note Centroid don't use G91 incremental moves. If want to program incremental move you use UVW moves ie: x10 Z-5 would be absolute moves.
incremental moves would be U10 W-5.
What axis would you use for turret.?Last edited by JAZZCNC; 18-02-2018 at 07:09 PM.
-
The Following User Says Thank You to JAZZCNC For This Useful Post:
-
18-02-2018 #10
Thanks, been doing lots of reading too. I'm using A Axis for the turret.
Here is my PLC Source Code.
https://pastebin.com/SLRZQ4Re
Some specific bits of interest seem to be:-
;SV_MACHINE_PARAMETER_6 is ATC on/off. 1 = ATC on, 0 = ATC off.
;SV_MACHINE_PARAMETER_830 = ATC Type, 0 = none. 1 = incremental, 2 = incremental w/sync,
; 4 = absolute 3bit, 8 = absolute 4bit, 16 = switched reverse
; 32 = self reversing
;------------------------------------------------------------------------------
; Memory Bit Definitions
;------------------------------------------------------------------------------
AtcPresent_M IS MEM1
AtcIsAbsolute_M IS MEM2
AtcIsIncremental_M IS MEM3
RotateToolTurret IS MEM329 ;&*;
ReverseToolTurret IS MEM330 ;&*;
I assume if I set parameter 830 to 1, the following code then applies?
;------------------------------------------------------------------------------
AtcIncrementalStage
;------------------------------------------------------------------------------
;For incremental ATC's, ToolTurretPosBit1 is the tool counter and toggles each time the
;turret rotates to a tool position. If ToolTurretPosBit1 toggles while ReverseToolTurret is
;not on, then CurrentTurretPosition_W = CurrentTurretPosition_W + 1. If ToolTurretPosBit1
;toggles while ReverseToolTurret is on, then CurrentTurretPosition_W = CurrentTurretPosition_W -1.
IF ToolTurretPosBit1 && RotateToolTurret && !ReverseToolTurret
THEN CurrentTurretPosition_W = CurrentTurretPosition_W + 1
IF ToolTurretPosBit1 && RotateToolTurret && !ReverseToolTurret
THEN CurrentTurretPosition_W = CurrentTurretPosition_W - 1
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Similar Threads
-
Centroid Acorn DIY CNC controller
By NB70 in forum Control Hardware & SystemsReplies: 3Last Post: 15-11-2017, 02:14 PM -
Centroid Acorn CNC Controller
By wallyblackburn in forum Gantry/Router Machines & BuildingReplies: 22Last Post: 29-10-2017, 12:28 PM -
Controller Cabinet
By cropwell in forum Workshop & EquipmentReplies: 2Last Post: 19-12-2015, 02:23 PM -
FOR SALE: Controller Box for sale
By lateAtNight in forum Items For SaleReplies: 12Last Post: 04-03-2012, 10:17 AM -
Controller Box
By M250cnc in forum Motor Drivers & ControllersReplies: 1Last Post: 21-11-2010, 01:34 AM
Bookmarks