Komunikacja z ANSYS

Tematy związane z LabVIEW pracującym w czasie rzeczywistym.
Awatar użytkownika
rivui
Posty: 27
Rejestracja: 01 lut 2010 16:50
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Kopenhaga

Komunikacja z ANSYS

Post 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
Konsole Systemowe i Ansys'a
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

Komunikacja z ANSYS

Post 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...)?
Awatar użytkownika
rivui
Posty: 27
Rejestracja: 01 lut 2010 16:50
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Kopenhaga

Re: Komunikacja z ANSYS

Post 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ć :P 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ć :)
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

Re: Komunikacja z ANSYS

Post 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ć :P 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.
Awatar użytkownika
rivui
Posty: 27
Rejestracja: 01 lut 2010 16:50
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Kopenhaga

Re: Komunikacja z ANSYS

Post 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ć?
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

Re: Komunikacja z ANSYS

Post 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")
Awatar użytkownika
rivui
Posty: 27
Rejestracja: 01 lut 2010 16:50
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Kopenhaga

Re: Komunikacja z ANSYS

Post 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!
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

Komunikacja z ANSYS

Post 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ś)
Awatar użytkownika
rivui
Posty: 27
Rejestracja: 01 lut 2010 16:50
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Kopenhaga

Re: Komunikacja z ANSYS

Post 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)
Awatar użytkownika
rivui
Posty: 27
Rejestracja: 01 lut 2010 16:50
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Kopenhaga

Komunikacja z ANSYS

Post 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!
ODPOWIEDZ