Edycja postprocesorów

NX CAM/Unigraphics

Autor tematu
kaspian91
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 5
Rejestracja: 09 gru 2016, 19:41
Lokalizacja: Jarocin

Edycja postprocesorów

#1

Post napisał: kaspian91 » 09 lut 2017, 09:09

Witam

Moja firma jest fazie wdrażania postprocesorów dla Heidenhain oraz Fanuc w wersji NX 10 od firmy Camdivision. Problem polega na tym że postprocesor generuj kod z niepożądanymi kropkami typu X+80. X-80. F250. Kolejna sprawa to gdy liczba nie jest całością to wychodzi X-.5 zamiast X-0.5. Pan twierdzi że tak ma być. Jeśli ktoś wie w których miejscach można to z edytować to proszę o zdjęcia.
Załączniki

[Rozszerzenie h zostało wyłączone i nie będzie dłużej wyświetlane.]

Test_NXCAM.txt
(1.96 KiB) Pobrany 176 razy



Tagi:


davish88
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 244
Rejestracja: 26 gru 2012, 11:06
Lokalizacja: Strzelce Opolskie

#2

Post napisał: davish88 » 09 lut 2017, 17:40

A zapytałeś dlaczego tak ma być?


mateu5
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 618
Rejestracja: 31 paź 2009, 16:20
Lokalizacja: PL

#3

Post napisał: mateu5 » 09 lut 2017, 20:34

Czy twoja maszyna nie przyjmuje takiego zapisu ? Czy chcesz to zmienić ze względów wizualnych ?


Żeby to zmienić trzeba dopisać odpowiednią procedurę która już w kodzie wyjściowym będzie usuwać kropki, czy też wstawiać zera. Robiłem to jakiś czas temu na HH426 który właśnie nie chciał czytać takiego zapisu "X-.3".
Mazak -> Fanuc -> Acramatic -> Sinumeric -> Heidenhain -> Mitsubishi meldas -> EdgeCAM -> NX CAM -> Postprocesory.


Autor tematu
kaspian91
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 5
Rejestracja: 09 gru 2016, 19:41
Lokalizacja: Jarocin

#4

Post napisał: kaspian91 » 10 lut 2017, 09:06

davish88 pisze:A zapytałeś dlaczego tak ma być?

Nie da się i koniec.

[ Dodano: 2017-02-10, 09:08 ]
mateu5 pisze:Czy twoja maszyna nie przyjmuje takiego zapisu ? Czy chcesz to zmienić ze względów wizualnych ?


Żeby to zmienić trzeba dopisać odpowiednią procedurę która już w kodzie wyjściowym będzie usuwać kropki, czy też wstawiać zera. Robiłem to jakiś czas temu na HH426 który właśnie nie chciał czytać takiego zapisu "X-.3".
A zrobił byś jakieś zdjęcia poglądowe w których miejscach i jak ta procedura wygłąda??


pragmatic_player
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 2
Posty: 54
Rejestracja: 09 sty 2013, 20:00
Lokalizacja: Madera

#5

Post napisał: pragmatic_player » 10 lut 2017, 13:08

Wrzuć procedurę ... bo też mam wątpliwości.
Przerzucanie każdej wartości przez procedure na pewno spowolni generowanie kodu.


rc666
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1244
Rejestracja: 27 cze 2011, 14:48
Lokalizacja: Chrząszczyżewoszyce

#6

Post napisał: rc666 » 10 lut 2017, 13:17

kaspian91

Przedewszystkim zapis bez kropki wyraza zupelnie inna wartos niz z kropka. Pamietaj o tym!!!
Dla sprawdzenia zrob prosty program I wprowadz posow z kropka na koncu I bez kropki na koncu. Zobaczysz roznice.
Nie ma głupich pytań, są tylko głupcy którzy ich nie zadają...


pragmatic_player
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 2
Posty: 54
Rejestracja: 09 sty 2013, 20:00
Lokalizacja: Madera

#7

Post napisał: pragmatic_player » 10 lut 2017, 13:21

Nie zawsze...
Niektóre maszyny nie muszą mieć kropki. Zależy od ustawień sterownika.
Zazwyczaj jest tak, że bez kropki traktuje jako "mikrony" ale nie zawsze tak jest.
Wydaje mi się, że kolega kaspian91 chce nacieszyć oko bo generalnie ten zapis jest prawidłowy, popularny i jeśli przyjdzie nowy operator, który pracował na maszynie gdzie są kropki (bo musiały być) to nie będzie się dziwił ...
Ale o gustach się nie dyskutuje :)


Autor tematu
kaspian91
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 5
Rejestracja: 09 gru 2016, 19:41
Lokalizacja: Jarocin

#8

Post napisał: kaspian91 » 10 lut 2017, 14:42

pragmatic_player pisze:Nie zawsze...
Niektóre maszyny nie muszą mieć kropki. Zależy od ustawień sterownika.
Zazwyczaj jest tak, że bez kropki traktuje jako "mikrony" ale nie zawsze tak jest.
Wydaje mi się, że kolega kaspian91 chce nacieszyć oko bo generalnie ten zapis jest prawidłowy, popularny i jeśli przyjdzie nowy operator, który pracował na maszynie gdzie są kropki (bo musiały być) to nie będzie się dziwił ...
Ale o gustach się nie dyskutuje :)
Dla maszyn i sterowań DMC635V eco – 3 osie; Fanuc 0iMC oraz DMC1035 eco – 3 osie; Heidenhain TNC620 kropki są niepotrzebne a współrzędne są traktowane jako milimetry. Taki zapis stosujemy z myślą o pracujących pracownikach nie o nowych.
Wiadomo że jest to kwestia przyzwyczajenia i taki problem to nie problem.

Ale nie odbiegając od tematu to prosił bym o konkretne informacje jeśli ktoś takie posiada.


mateu5
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 2
Posty: 618
Rejestracja: 31 paź 2009, 16:20
Lokalizacja: PL

#9

Post napisał: mateu5 » 10 lut 2017, 21:13

Wspomniana wcześniej procedura to PB_CMD_before_output, należy dodać do niej kilka wpisów.



global mom_o_buffer
global mom_sys_leader
global mom_sys_control_out mom_sys_control_in

set buff $mom_o_buffer

# Remove trailing in-line comment
set i_at [string first "$mom_sys_control_out" $buff]
if { $i_at > -1 } {
#set buff [string trimright [string range $buff 0 [expr $i_at - 1]]]
}

# Process to avoid output of block buffer without any useful address
regsub -all {[0-9]+} $buff "" buff
regsub -all {L} $buff "" buff
regsub -all {F} $buff "" buff
regsub -all {MAX} $buff "" buff
regsub -all { } $buff "" buff



regsub -all {\. } $mom_o_buffer { } mom_o_buffer
regsub -all {\.0 } $mom_o_buffer { } mom_o_buffer
regsub -all {\.000 } $mom_o_buffer { } mom_o_buffer

regsub -all {X\.} $mom_o_buffer {X0.} mom_o_buffer
regsub -all {Y\.} $mom_o_buffer {Y0.} mom_o_buffer
regsub -all {Z\.} $mom_o_buffer {Z0.} mom_o_buffer
regsub -all {R\.} $mom_o_buffer {R0.} mom_o_buffer

regsub -all {X-\.} $mom_o_buffer {X-0.} mom_o_buffer
regsub -all {Y-\.} $mom_o_buffer {Y-0.} mom_o_buffer
regsub -all {Z-\.} $mom_o_buffer {Z-0.} mom_o_buffer
regsub -all {R-\.} $mom_o_buffer {R-0.} mom_o_buffer




regsub -all { \.} $mom_o_buffer { 0.} mom_o_buffer
regsub -all { \-\.} $mom_o_buffer { -0.} mom_o_buffer

regsub -all {end} $mom_o_buffer {} mom_o_buffer



set buff [join $buff ""]
set l [string length $buff]
if { $l == 0 } {
set mom_o_buffer ""

}
Mazak -> Fanuc -> Acramatic -> Sinumeric -> Heidenhain -> Mitsubishi meldas -> EdgeCAM -> NX CAM -> Postprocesory.


Autor tematu
kaspian91
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 5
Rejestracja: 09 gru 2016, 19:41
Lokalizacja: Jarocin

#10

Post napisał: kaspian91 » 13 lut 2017, 14:52

mateu5 pisze:Wspomniana wcześniej procedura to PB_CMD_before_output, należy dodać do niej kilka wpisów.
Dzięki sprawdzę to.



Jest jeszcze druga sprawa. Moja firma wdraża również postprocesor dla Sinumeric 810D oraz 840D. Dotychczas korzystaliśmy z modułu ShopMill dla operatora oraz z licencjonowanego symulatora SinuTrain. Jednak jest to zbyt czasochłonne przy skomplikowanych detalach.
Miałbym prośbę aby ktoś ocenił poprawność formuły oraz doradził ewentualne poprawki.

Dodam że maszyny są 5-osiowe, ze indeksowanymi skrętami.
Załączniki
Test_NXCAM_5osi.txt
(9.5 KiB) Pobrany 197 razy

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „NX CAM/Unigraphics”