MAKRO M6
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 5
- Posty: 874
- Rejestracja: 13 sie 2009, 16:15
- Lokalizacja: xxx
szkoda bo bym ci objaśnił co i jak, udostępniłbym ci ekran i byś wszystko widział
zadzwon tak po 19 stej 793 693 779
[ Dodano: 2013-01-19, 22:00 ]
' makro wymiany narżedzia , definiujące całkowicie porty wyjściowe z zabespieczeniem czasowym przed
' przekroczeniem czasu poszukiwania włąsciwego slotu zmieniarki
' UWAGA!!! sciśle określona przynalerżność numerów narzędzi do imaków
' imak 1 narzedzia 1,2,3,4 imak 2 narzedia 5,6,7,8
'------------------------------------------------------------------------------------------------------------
' >>>imak 1<<<
Const czujimaka1 = Input2 'czujnik zamknięcia magazynu imak1 // narzedzia 1-4
Const delayimak1 = 3 'czas na zmiane narzedzia imak1 w s
Const zwlokaimak1 = 500 'pauza po wybraniu narzedzia imak1 w ms
'narzędzie port
Const narz1 = Output7
Const narz2 = Output8
Const narz3 = Output9
Const narz4 = Output10
'------------------------------------------------------------------------------------------------------------
' >>>imak2<<<
Const czujimaka2 = Input4 'czujnik zamknięcia magazynu imak2 // narzedzia 5-8
Const delayimak2 = 3 'czas na zmiane narzedzia imak2 w s
Const zwlokaimak2 = 500 'pauza po wybraniu narzedzia imak2 w ms
'narzędzie port
Const narz5 = Output12
Const narz6 = Output13
Const narz7 = Output14
Const narz8 = Output15
'------------------------------------------------------------------------------------------------------------
' >>>porty wspulne dla obu imaków<<<
Const blokada = Output11 'sygnał zezwalający na obrót imaka
'------------------------------------------------------------------------------------------------------------
'zmienne
Dim Curenttime As Single
Dim narzedzie As Integer
Dim ToolOld As Integer
Dim ToolNew As Integer
'------------------------------------------------------------------------------------------------------------
Sub Main
ToolOld = GetCurrentTool()
ToolNew = GetSelectedTool()
If (ToolNew = 0) Then
SetCurrentTool( ToolOld )
DoOEMButton(1003)
DoOEMButton(1002)
Sleep(150)
Message("W magazynie nie ma T00 !!!")
Sleep(150)
End
ElseIf (ToolNew >
Then
SetCurrentTool( ToolOld )
DoOEMButton(1003)
DoOEMButton(1002)
Sleep(150)
Message("Magazyn mieści tylko" & toolnum & "oprawek")
Sleep(150)
End
ElseIf (ToolNew = ToolOld) Then
SetCurrentTool( ToolOld )
Sleep(150)
Message("Narzędzie jest już w uchwycie")
Sleep(150)
End
End If
Select Case ToolNew
Case 1
Call Ustaw(1, 0, 0, 0, 0, 0, 0, 0, 1)
Call czasimak1
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 2
Call Ustaw(0, 1, 0, 0, 0, 0, 0, 0, 1)
Call czasimak1
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 3
Call Ustaw(0, 0, 1, 0, 0, 0, 0, 0, 1)
Call czasimak1
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 4
Call Ustaw(0, 0, 0, 1, 0, 0, 0, 0, 1)
Call czasimak1
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 5
Call Ustaw(0, 0, 0, 0, 1, 0, 0, 0, 1)
Call czasimak2
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 6
Call Ustaw(0, 0, 0, 0, 0, 1, 0, 0, 1)
Call czasimak2
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 7
Call Ustaw(0, 0, 0, 0, 0, 0, 1, 0, 1)
Call czasimak2
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 8
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 1, 1)
Call czasimak2
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
End Select
SetCurrentTool( ToolNew )
Sleep(150)
Message("załadowano narzedzie nr" & ToolNew )
End Sub
'------------------------------------------------------------------------------------------------------------
Sub czasimak1
Curenttime = Timer
Do Until isActive(czujimaka1)
If Timer > Curenttime + delayimak1 Then
SetCurrentTool( ToolOld )
While IsMoving
Sleep(1)
Wend
DoOEMButton(1021)
Sleep(150)
Message"przekroczono czas wyboru " & ToolNew & " narzędzia > imak 1"
End
End If
Sleep(1)
Loop
Sleep(zwlokaimak1)
End Sub
'------------------------------------------------------------------------------------------------------------
Sub czasimak2
Curenttime = Timer
Do Until isActive(czujimaka2)
If Timer > Curenttime + delayimak2 Then
SetCurrentTool( ToolOld )
While IsMoving
Sleep(1)
Wend
DoOEMButton(1021)
Sleep(150)
Message"przekroczono czas wyboru " & ToolNew & " narzędzia > imak 2"
End
End If
Sleep(1)
Loop
Sleep(zwlokaimak2)
End Sub
'------------------------------------------------------------------------------------------------------------
Public Sub Ustaw (ByVal a As Integer, ByVal b As Integer, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByVal f As Integer, ByVal g As Integer, ByVal h As Integer, ByVal i As Integer)
If a = 1 Then
ActivateSignal(narz1)
Else
DeactivateSignal(narz1)
End If
If b = 1 Then
ActivateSignal(narz2)
Else
DeactivateSignal(narz2)
End If
If c = 1 Then
ActivateSignal(narz3)
Else
DeactivateSignal(narz3)
End If
If d = 1 Then
ActivateSignal(narz4)
Else
DeactivateSignal(narz4)
End If
If e = 1 Then
ActivateSignal(narz5)
Else
DeactivateSignal(narz5)
End If
If f = 1 Then
ActivateSignal(narz6)
Else
DeactivateSignal(narz6)
End If
If g = 1 Then
ActivateSignal(narz7)
Else
DeactivateSignal(narz7)
End If
If h = 1 Then
ActivateSignal(narz8)
Else
DeactivateSignal(narz8)
End If
If i = 1 Then
ActivateSignal(blokada)
Else
DeactivateSignal(blokada)
End If
End Sub
'------------------------------------------------------------------------------------------------------------
zadzwon tak po 19 stej 793 693 779
[ Dodano: 2013-01-19, 22:00 ]
' makro wymiany narżedzia , definiujące całkowicie porty wyjściowe z zabespieczeniem czasowym przed
' przekroczeniem czasu poszukiwania włąsciwego slotu zmieniarki
' UWAGA!!! sciśle określona przynalerżność numerów narzędzi do imaków
' imak 1 narzedzia 1,2,3,4 imak 2 narzedia 5,6,7,8
'------------------------------------------------------------------------------------------------------------
' >>>imak 1<<<
Const czujimaka1 = Input2 'czujnik zamknięcia magazynu imak1 // narzedzia 1-4
Const delayimak1 = 3 'czas na zmiane narzedzia imak1 w s
Const zwlokaimak1 = 500 'pauza po wybraniu narzedzia imak1 w ms
'narzędzie port
Const narz1 = Output7
Const narz2 = Output8
Const narz3 = Output9
Const narz4 = Output10
'------------------------------------------------------------------------------------------------------------
' >>>imak2<<<
Const czujimaka2 = Input4 'czujnik zamknięcia magazynu imak2 // narzedzia 5-8
Const delayimak2 = 3 'czas na zmiane narzedzia imak2 w s
Const zwlokaimak2 = 500 'pauza po wybraniu narzedzia imak2 w ms
'narzędzie port
Const narz5 = Output12
Const narz6 = Output13
Const narz7 = Output14
Const narz8 = Output15
'------------------------------------------------------------------------------------------------------------
' >>>porty wspulne dla obu imaków<<<
Const blokada = Output11 'sygnał zezwalający na obrót imaka
'------------------------------------------------------------------------------------------------------------
'zmienne
Dim Curenttime As Single
Dim narzedzie As Integer
Dim ToolOld As Integer
Dim ToolNew As Integer
'------------------------------------------------------------------------------------------------------------
Sub Main
ToolOld = GetCurrentTool()
ToolNew = GetSelectedTool()
If (ToolNew = 0) Then
SetCurrentTool( ToolOld )
DoOEMButton(1003)
DoOEMButton(1002)
Sleep(150)
Message("W magazynie nie ma T00 !!!")
Sleep(150)
End
ElseIf (ToolNew >

SetCurrentTool( ToolOld )
DoOEMButton(1003)
DoOEMButton(1002)
Sleep(150)
Message("Magazyn mieści tylko" & toolnum & "oprawek")
Sleep(150)
End
ElseIf (ToolNew = ToolOld) Then
SetCurrentTool( ToolOld )
Sleep(150)
Message("Narzędzie jest już w uchwycie")
Sleep(150)
End
End If
Select Case ToolNew
Case 1
Call Ustaw(1, 0, 0, 0, 0, 0, 0, 0, 1)
Call czasimak1
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 2
Call Ustaw(0, 1, 0, 0, 0, 0, 0, 0, 1)
Call czasimak1
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 3
Call Ustaw(0, 0, 1, 0, 0, 0, 0, 0, 1)
Call czasimak1
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 4
Call Ustaw(0, 0, 0, 1, 0, 0, 0, 0, 1)
Call czasimak1
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 5
Call Ustaw(0, 0, 0, 0, 1, 0, 0, 0, 1)
Call czasimak2
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 6
Call Ustaw(0, 0, 0, 0, 0, 1, 0, 0, 1)
Call czasimak2
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 7
Call Ustaw(0, 0, 0, 0, 0, 0, 1, 0, 1)
Call czasimak2
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
Case 8
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 1, 1)
Call czasimak2
Call Ustaw(0, 0, 0, 0, 0, 0, 0, 0, 0)
End Select
SetCurrentTool( ToolNew )
Sleep(150)
Message("załadowano narzedzie nr" & ToolNew )
End Sub
'------------------------------------------------------------------------------------------------------------
Sub czasimak1
Curenttime = Timer
Do Until isActive(czujimaka1)
If Timer > Curenttime + delayimak1 Then
SetCurrentTool( ToolOld )
While IsMoving
Sleep(1)
Wend
DoOEMButton(1021)
Sleep(150)
Message"przekroczono czas wyboru " & ToolNew & " narzędzia > imak 1"
End
End If
Sleep(1)
Loop
Sleep(zwlokaimak1)
End Sub
'------------------------------------------------------------------------------------------------------------
Sub czasimak2
Curenttime = Timer
Do Until isActive(czujimaka2)
If Timer > Curenttime + delayimak2 Then
SetCurrentTool( ToolOld )
While IsMoving
Sleep(1)
Wend
DoOEMButton(1021)
Sleep(150)
Message"przekroczono czas wyboru " & ToolNew & " narzędzia > imak 2"
End
End If
Sleep(1)
Loop
Sleep(zwlokaimak2)
End Sub
'------------------------------------------------------------------------------------------------------------
Public Sub Ustaw (ByVal a As Integer, ByVal b As Integer, ByVal c As Integer, ByVal d As Integer, ByVal e As Integer, ByVal f As Integer, ByVal g As Integer, ByVal h As Integer, ByVal i As Integer)
If a = 1 Then
ActivateSignal(narz1)
Else
DeactivateSignal(narz1)
End If
If b = 1 Then
ActivateSignal(narz2)
Else
DeactivateSignal(narz2)
End If
If c = 1 Then
ActivateSignal(narz3)
Else
DeactivateSignal(narz3)
End If
If d = 1 Then
ActivateSignal(narz4)
Else
DeactivateSignal(narz4)
End If
If e = 1 Then
ActivateSignal(narz5)
Else
DeactivateSignal(narz5)
End If
If f = 1 Then
ActivateSignal(narz6)
Else
DeactivateSignal(narz6)
End If
If g = 1 Then
ActivateSignal(narz7)
Else
DeactivateSignal(narz7)
End If
If h = 1 Then
ActivateSignal(narz8)
Else
DeactivateSignal(narz8)
End If
If i = 1 Then
ActivateSignal(blokada)
Else
DeactivateSignal(blokada)
End If
End Sub
'------------------------------------------------------------------------------------------------------------
Mach3 + CSMIO =



