Po RS komunikację obsłużysz wyłącznie pluginem - były jakieś odwołania o nim tu na forum że ktoś coś robił. Raczej nie ma to sensu wobec prostoty Twojej potrzeby. Tu powyżej już wszystko jest napisane.
Reszta o której dopisuje kol Dziabi3 jest zabezpieczeniami na wszelki wypadek - w dobrym tonie dodatkami w eleganckim potraktowaniu programu.
( popatrz na makro do czujnika narzędzi które masz - początek to kontrola warunków aby makro nie poszło w buraki bo brak pozycji, albo narzędzie ,albo korekta..., dopiero parę końcowych linijek jest faktycznym programem)
Ale na surowo bez nich też przystawkę uruchomisz.
Przypilnuj tylko czy realizacja będzie na podstawie synchroniazacji czasowej - masz 100ms aby zobaczyć że start - czy w oparciu o sekwencję stanów na danym wyjściu/wejściu ( moim zdaniem łatwiej i pewniej) z watchdog'iem dla buczka.
[ Dodano: 2013-01-01, 13:28 ]
Z wieszaniem nie ma problemu - bo właśnie brak sleep w pętli dla warunku isActive jest głównym sprawcą zwałki systemu który tylko młóci wejście i nie ma czasu na nic innego.
Napisz te parę linijek w Mxx i puść z palca tak jak w ręcznym wywołujesz zwykłe polecenia Gxx.
Najlepszego w Nowym roku
Prośba o pomoc w napisaniu makra
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 5
- Posty: 874
- Rejestracja: 13 sie 2009, 16:15
- Lokalizacja: xxx
QQAZ zgadza sie ze pusta petla muli komp przekonalem sie o tym
Poprostu procek nie wyrabia i nie potrafi odswierzyc portow w lpt i wychodzi kupa
Dlatego trzeba pisac tak
Do Until isActive(oemtrig1)
(tu kontrola przekroczenia czqsu)
sleep(1)
Loop
To daje 1khz odczytu portu i 0%obciazenia procka
Poprostu procek nie wyrabia i nie potrafi odswierzyc portow w lpt i wychodzi kupa
Dlatego trzeba pisac tak
Do Until isActive(oemtrig1)
(tu kontrola przekroczenia czqsu)
sleep(1)
Loop
To daje 1khz odczytu portu i 0%obciazenia procka
Mach3 + CSMIO =
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 2
- Posty: 1418
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
ale Panowie po co takie brednie?
w logice ustawiamy sobie i ładnie sam sprawdza bez zamulanie kiedy zmieniła siw wartośc na danym wejsciu zadnych petli
sleep(1) to za mało
przynajmniej 100 z mojego doświadczenia
w logice ustawiamy sobie i ładnie sam sprawdza bez zamulanie kiedy zmieniła siw wartośc na danym wejsciu zadnych petli
sleep(1) to za mało
przynajmniej 100 z mojego doświadczenia
MACH3 cncTworzenie Makr do palników magazynków THC OHC inneEKRANY dla firm producentów maszyn Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 703 196 Tomek Komor [email protected]
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 5
- Posty: 874
- Rejestracja: 13 sie 2009, 16:15
- Lokalizacja: xxx
sleep(1) to 1khz i nie zamula nawet kompa z Prockiem 1.6ghz sprawdź to sobie
nie czaje o co ci biega z tą logiką
A tak wygląda ubogie ale poprawne makro na to co chce właściciel tematu
Można tu jak najbardziej dodać obsługę błędu przystawki na podstawie np 2 krótkich impulsów po 50 czy 100 ms świadczących o awaria przystawki czy co tam właściciel tematu sobie uroi
Można dodać np jakiś parametr konfiguracyjny parametry w środku makra z g codu np M12 P100 Q300 R4 niema problemu hulaj dusza
Const x = Output1 'tu wpisać output
Const y = Input1 'tu wpisac input lub Oemtrig
Const delay = 10 'dopuszczalny czas pracy przystawki <<<<<<<"w sekundach "
Const ImpSTART = 200 'czast trwania impulsu startu przystawki <<<"w ms"
Dim curenttime As Single
'--------------------------------------------------------------------------------------------------
Sub Main
ActivateSignal(x)
Sleep(ImpulsSTART)
DeActivateSignal(x)
curenttime = Timer
Do Until isActive(y)
If Timer > curenttime + delay Then
If Not GetOEMLed(800) Then
DoOEMButton(1021)
Sleep(150)
End If
Message"Przekroczono czas pracy przystawki"
End
End If
Sleep(1)
Loop
Message"Komunikacja OK"
End Sub
niestety forum nie obsługuje tabulatorów i brzydko to wygląda , dlatego dodaje plik makra m12
nie czaje o co ci biega z tą logiką
A tak wygląda ubogie ale poprawne makro na to co chce właściciel tematu
Można tu jak najbardziej dodać obsługę błędu przystawki na podstawie np 2 krótkich impulsów po 50 czy 100 ms świadczących o awaria przystawki czy co tam właściciel tematu sobie uroi
Można dodać np jakiś parametr konfiguracyjny parametry w środku makra z g codu np M12 P100 Q300 R4 niema problemu hulaj dusza
Const x = Output1 'tu wpisać output
Const y = Input1 'tu wpisac input lub Oemtrig
Const delay = 10 'dopuszczalny czas pracy przystawki <<<<<<<"w sekundach "
Const ImpSTART = 200 'czast trwania impulsu startu przystawki <<<"w ms"
Dim curenttime As Single
'--------------------------------------------------------------------------------------------------
Sub Main
ActivateSignal(x)
Sleep(ImpulsSTART)
DeActivateSignal(x)
curenttime = Timer
Do Until isActive(y)
If Timer > curenttime + delay Then
If Not GetOEMLed(800) Then
DoOEMButton(1021)
Sleep(150)
End If
Message"Przekroczono czas pracy przystawki"
End
End If
Sleep(1)
Loop
Message"Komunikacja OK"
End Sub
niestety forum nie obsługuje tabulatorów i brzydko to wygląda , dlatego dodaje plik makra m12
- Załączniki
-
- M12.rar
- (459 Bajtów) Pobrany 163 razy
Mach3 + CSMIO =