605
« on: June 11, 2020, 08:31:27 PM »
This is a Mach3 M6Start.m1s file for an Emco that I did some time back, you should be able to replace the relevant calls with Mach4 ones and I am sure we can help if you get stuck.
' Emco 8 station turret index
' Version 1.0.2
' (c) G. Waterworth 11/12/2007
Sub Main()
If IsLoading() then
' do nowt
Else
OldTurretPos=(GetOEMDRO(824)) 'current tool position
NextTool=GetSelectedTool() 'tool to be indexed
If OldTurretPos<>NextTool Then
' new tool required
If NextTool<1 Or NextTool>8 Then 'valid tool check
Message("Next Tool out of range")
Exit Sub
End If
ActivateSignal(OUTPUT4) 'rotate Turret
'=== Index Tool ===
Select Case NextTool
Case 1
count=1
Case 2
count=3
Case 3
count=2
Case 4
count=6
Case 5
count=4
Case 6
count=12
Case 7
count=8
Case 8
count=9
End Select
thistool=OldTurretPos
While thistool<>count
sensors=0
While sensors=0
if IsActive(OEMTRIG1) then sensors=sensors+1
if IsActive(OEMTRIG2) then sensors=sensors+2
if IsActive(OEMTRIG3) then sensors=sensors+4
if IsActive(OEMTRIG4) then sensors=sensors+8
Wend
thistool=sensors
Wend
Code"G04 P50"
While Ismoving()
Wend
DeActivateSignal(OUTPUT4) 'stop turret rotation
SetCurrentTool(thistool)
End If
End If
End Sub
'The actual timings are:-
'
'opto 1 2 3 4
'pin 10 11 12 13
'value 1 2 4 8
'Tool 1 on off off off
'Tool 2 on on off off
'Tool 3 off on off off
'Tool 4 off on on off
'Tool 5 off off on off
'Tool 6 off off on on
'Tool 7 off off off on
'Tool 8 on off off on