Strona 1 z 1
Komunikacja z ANSYS
: 22 kwie 2010 15:11
autor: rivui
Witam!
Od pewnego czasu przeglądam tutejsze forum i próbuje poszerzyć swoją wiedzę na temat LabView.
Jednakże nadal nie mogę rozwiązać pewnego problemu który jest ważny dla mojego projektu. W moim projekcie natomiast używać programu ANSYS jak i LabView i co więcej muszą one sie wymieniać pomiędzy sobą danymi. A mianowicie:
LabView podaje wartość pewnej siły do ANSYS -> ANSYS rozwiązuje problem i podaje wynik do LabView -> LabView analizuje wynik i wylicza nową siłę do podania do ANSYS etc. etc.
Jako że nie ma (albo nie znalazłem!) takiego fajnego urządzenia jak Matlab Script dla ANSYSa musiałem pomyśleć o czymś innym.
Jako rozwiązania które wymyśliłem użyłem znanej i lubianej funkcji System Exec.vi która to po prostu odpala komendy z konsoli systemowej. A jako że ANSYSa da się odpalić z konsoli w wersji Batch która przerabia dany plik z komendami wszystko było cacy. Problem powstaje ponieważ za każdym razem kiedy LabView odpala ANSYSa ten musi od początku zbudować cały model i dopiero wtedy go rozwiązać co zajmuje sporo czasu w szczególności dla większych modeli.
Jednakże można także odpalić ANSYSa w wersji tekstowej która praktycznie odpala konsole ANSYS'a. I tutaj kusi mnie pytanie czy ktoś może wie jak zmodyfikować System Exec.vi, znaleźć inne vi lub jakiś inny sposób tak aby kontrolować input konsoli ANSYS'a?
Wszystko co muszę potrafić robić to kontrolować wpisywany tekst w konsole ANSYS'a przy pomocy LabView.
P.S. Wybaczcie zagmatwany opis

- Konsole Systemowe i Ansys'a
Komunikacja z ANSYS
: 22 kwie 2010 16:08
autor: vugie
Rozwiązaniem mogłaby być symulacja naciskania klawiszy. Garść linków:
http://zone.ni.com/devzone/cda/epd/p/id/3711
http://decibel.ni.com/content/docs/DOC-9001
http://forums.ni.com/ni/board/message?m ... uid=813598
Podejrzewam, że konsolę Ansysa można zmusić by przyjmowała wejście z stdin (prawdopodobnie jest to nawet domyślny tryb). Można spróbować tą drogą:
http://forums.ni.com/ni/board/message?m ... id=1103481
Czy komunikację w drugą stronę masz rozwiązaną? Jakie możliwości ma w tym zakresie język konsoli Ansysa (dostęp do plików, TCP, możliwość uruchamiania zewnętrznych programów...)?
Re: Komunikacja z ANSYS
: 22 kwie 2010 16:27
autor: rivui
Hej dzięki za szybką odpowiedź!
Sprawdzę wszystko co podałeś.
Myślałem o symulowaniu klawiatury ale to rozwiązanie wydaje się mało...hm..stabilne (zapomniałem słowa jakiego chciałem tu użyć

robust z ang.)
Co do komunikacji w drugą stronę to ANSYS jest ograniczony w swoim języku ADPL ale ma możliwości zapisywania zmiennych do pliku (PARSEV) i LabView już potrafi to łatwo odczytać

Re: Komunikacja z ANSYS
: 22 kwie 2010 16:38
autor: vugie
rivui pisze:
Myślałem o symulowaniu klawiatury ale to rozwiązanie wydaje się mało...hm..stabilne (zapomniałem słowa jakiego chciałem tu użyć

robust z ang.)
Jest przede wszyskim nieeleganckie... ale może okazać się skuteczne. Zależy czy robisz ten program na użytek swój/wewnętrzny czy raczej "na zewnatrz".
Jeżeli zadziała stdin, to powinno działać stdout, czyli odczytywanie wyników wprost z konsoli.
Re: Komunikacja z ANSYS
: 23 kwie 2010 11:54
autor: rivui
Niestety moj projekt jest na uzytek zewnetrzny jako ze jest to czesc mojej pracy magisterskiej

Dzieki jeszcze raz za pomoc ale mam jeszcze jeden maly problem. Obsluga stdin i stdout tam byla zrobiona dzieki OpenG Pipes.
Jednakze nie wiedziec czemu w ogole nie moge znalezc tego library nigdzie....na oficjalnej stronie OpenG Pipes jakby nie istnieje...wszystko co udalo mi sie znalezc to wersja 1.0 alpha. Jednakze gdzies znalazlem nie zbuildowana wersje 1.7 (po prostu plik .dll).
Takze eric.atherton pisze ze w w VI package manager Pipe'y sa skompilowane dla LabView 7.x i moga byc niewidoczne dla LabView 8.5. Jednakże osobiście nie mam dostępu do wersji 7.x. Co w takim razie zrobić?
Re: Komunikacja z ANSYS
: 23 kwie 2010 12:25
autor: vugie
rivui pisze:Niestety moj projekt jest na uzytek zewnetrzny jako ze jest to czesc mojej pracy magisterskiej

Dzieki jeszcze raz za pomoc ale mam jeszcze jeden maly problem. Obsluga stdin i stdout tam byla zrobiona dzieki OpenG Pipes.
Jednakze nie wiedziec czemu w ogole nie moge znalezc tego library nigdzie....na oficjalnej stronie OpenG Pipes jakby nie istnieje...wszystko co udalo mi sie znalezc to wersja 1.0 alpha. Jednakze gdzies znalazlem nie zbuildowana wersje 1.7 (po prostu plik .dll).
Takze eric.atherton pisze ze w w VI package manager Pipe'y sa skompilowane dla LabView 7.x i moga byc niewidoczne dla LabView 8.5. Jednakże osobiście nie mam dostępu do wersji 7.x. Co w takim razie zrobić?
Waersja 1.0-1 to według mnie najnowsza wersja jaka jest. Link do paczki jest podany w poście rolfa na forum NI (jeden z moich linków). 1.7 to prawdopodobnie tylko wewnętrzny numer wersji samej dll-ki.
A Ericowi chodziło o to, że trudno znaleźć VI-je na palecie - instalują się w porządku (choć nie używałem ich jeszcze). I dają się znaleźć przez search (właśnie w subpalecie "7.x Functions")
Re: Komunikacja z ANSYS
: 23 kwie 2010 14:40
autor: rivui
W takim razie nie wiem o co chodzi. Zainstalowałem tę paczkę i wszystkie moduły co były w środku ale Pipes tam nie było. Może dlatego że jaka wersję mam tam LV 8.6? W każdym razie znalazłem odzielnie tę bibliotekę więc nie jest źle. Teraz tylko wymyśleć jak to działa i dam znać jak wyniki!
Komunikacja z ANSYS
: 23 kwie 2010 14:58
autor: vugie
??? Jakie moduły były w środku????
Trzeba zainstalować VI Package Manager, potem mozna zainstalować różne pakiety OpenG (bo są fajne i przydatne), a potem dwukliknąć na plik OGP, który ściagnąłeś i zainstalować pipes razem z ewentualnymi zależnościami (nie pamiętam czy są jakieś)
Re: Komunikacja z ANSYS
: 23 kwie 2010 16:50
autor: rivui
No właśnie tak zrobiłem. Tylko źle napisałem w sensie że moduły = pakiety. Chodziło mi o to że razem z VI Packet Manager nie było odrazu dodanych pipesow i musiałem osobno ściągnąć ogp. Ale już wszystko mam i na palecie są pipesy (z wersji 1.0 alpha 1)
Komunikacja z ANSYS
: 03 maja 2010 15:27
autor: rivui
Vugie dzięki za wszelką pomoc. Niestety użycie OpenG pipesów nie zadziałało z ANSYSem (konsola ANSYSa produkuje wyjątek krytyczny) ale użyłem wspomnianego w jednym z Twoich linków kontrolowania API i używając API okienka konsoli wklejam pożądaną komendę. Działa świetnie!