sub, podprogram nie działa

Dyskusje dotyczące działania obsługi programu LinuxCNC

Autor tematu
kmeld
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 2
Posty: 30
Rejestracja: 25 wrz 2011, 15:19
Lokalizacja: Warszawa

sub, podprogram nie działa

#1

Post napisał: kmeld » 16 lis 2013, 20:08

Witam,
mam problem ponieważ nie mogę zmusić programu do użycia pod-procedur (sub).

Wszystko jest dobrze napisane, najprościej jak można

o100 sub
g1 x100 y100
o100 end sub
....


o100 call


w podglądzie ścieżki nie ma tego fragmentu, tak ja by po prostu go zignorował.

Czemu tak może się dziać.

KM



Tagi:

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 8033
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: sub, podprogram nie działa

#2

Post napisał: tuxcnc » 16 lis 2013, 21:55

kmeld pisze:Wszystko jest dobrze napisane
No tak, to Linux jest porąbany ...

Co prawda pliku o zawartości :

Kod: Zaznacz cały

o100 sub 
g1 x100 y100 
o100 end sub 
o100 call
wczytać się do programu nie da, bo brakuje właściwego zakończenia, ale taki już wczytać można :

Kod: Zaznacz cały

o100 sub 
g1 x100 y100 
o100 end sub 
o100 call 
m30
a taki to nawet da się wykonać

Kod: Zaznacz cały

f1000
o100 sub 
g1 x100 y100 
o100 end sub 
o100 call 
m30
więc naprawdę nie wiem co masz dobrze napisane i nie jestem w stanie Ci pomóc.

.


Autor tematu
kmeld
Czytelnik forum poziom 3 (min. 30)
Czytelnik forum poziom 3 (min. 30)
Posty w temacie: 2
Posty: 30
Rejestracja: 25 wrz 2011, 15:19
Lokalizacja: Warszawa

#3

Post napisał: kmeld » 16 lis 2013, 23:14

Cześć,

fragment kodu w pierwszym poście to nie cały mój plik tylko fragmencik dotyczący procedury.

Cała reszta potrzebna do wykonania była w nim również i program działał.

Całość kodu poza procedurą była w podglądzie i maszyna po niej chodziła.

Tylko fragmentu z sub - endsub nie chciało przyjąć w miejscu gdzie próbowałem się do niego odwołać.

Wszystko było w jednym pliku więc nie ma możliwości pomyłki ścieżek. Oczywiście nie planowałem używać podprocedury do wykonania polecenia
G1 X100

tego użyłem tylko w celu wyeliminowania ewentualnych błędów kodu wewnątrz procedury.

Po wczytaniu mojego pliku program nie wyrzuca żadnych błędów, całość programu oprócz fragmentu z procedury chodzi.

Nie wiem co jest nie tak, ale problem na pewno nie jest tak prozaiczny jak sugerujesz.

Praktycznie wszystkie swoje programy piszę z palca i po kilku miesiącach stwierdziłem, że kilka procedur sobie zoptymalizuję, ale niestety z jakiegoś powodu program je ignoruje.

KM


Raven
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 1
Posty: 681
Rejestracja: 24 paź 2011, 11:54
Lokalizacja: Warszawa

#4

Post napisał: Raven » 16 lis 2013, 23:20

Marnujesz nasz czas... albo dajesz kod który się przemagluje, albo idź do wróżki.

Może masz bardziej skomplikowane G1 X10 a potem G1 X0 i zawsze jedzie dokładnie w tym samym miejscu a ty byś chciał aby robiło kreskę od miejsca wywołania?

Nie wiemy nic poza dwoma - masz gdzieś błąd w myśleniu lub w kodzie.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „LinuxCNC (dawniej EMC2)”