W makro M6 co umieścić? PAUSE czy coś takiego...
Może być coś w tym stylu:
M6_beg – unosi Z do górnej krańcówki i wyłącza wrzeciono
M6_put – nic nie robi - ale musi być!
M6_get – jedzie do pozycji wymiany (w tym wypadku 0,0) , następnie czeka na sygnał z wejścia 1 (START)
M6_mess – jest wykonywane jeśli narzędzie jest oznaczone w magazynku jako nie zmierzone. Jest to pomiar na czujnik zdefiniowany w ustawieniach.
M6_end – Włączenie wrzeciona i powrót do pracy
Plik M6_beg
%
Move(PosX,PosY,Base_Z); // Uniesienie „Z” na wysokość bezpieczną
WaitMove;
SetOut(1,FALSE); //wyłączenie wrzeciona
// END ==============================
Plik M6_put
%
// END ==============================
Plik M6_get
const // deklaracja stałych
POZ_X_WYMIANY=0;
POZ_Y_WYMIANY=0;
%
Move(POZ_X_WYMIANY, POZ_Y_WYMIANY, PosZ); // Przejazd do pozycji wymiany
WaitMove;
if (not Input(1)) then Wait; // czekanie na przycisk START
SetActTool(GetReqTool); // Ustalenie żądanego narzędzia jako aktualnego
// END ==============================
Plik M6_mess
const // deklaracja stałych
F_NAJAZD=600; // prędkość najazdu na czujnik
%
Move(PosX,PosY,Base_Z);
WaitMove();
Move(TMESS_X,TMESS_Y,PosZ); // Przejazd do punktu pomiarowego na wysokości aktualnej
WaitMove();
SoftLimit(FALSE);
RefOn(0,0,-1,F_NAJAZD); // zjazd do czujnika
SetToolPos(SMT_HEIGHT); // ustalamy aktualną pozycję "Z"
Move(PosX,PosY,SMT_HEIGHT+10); // uniesienie "Z" 10mm nad czujnik wysokości
WaitMove();
SoftLimit(TRUE);
// END ==============================
Plik M6_end
%
Move(PosX,PosY,Base_Z); // Uniesienie „Z” na wysokość bezpieczną
WaitMove;
SetOut(1,TRUE); //włączenie wrzeciona
// END ==============================