LV 8 i TCP
LV 8 i TCP
Witam!
Przedewszystkim witam wszystkich.
Problem już poruszany był na forum kilkanaście razy, jednak po przeczytaniu wszystkich postów nie udało mi sie poprawnie uruchomić mojej aplikacji. Obecnie jesten na etapie projektowania ukladu regulacji z 3 zbiornikami i 2 regulatorami, które sterują wypływami ze zbiorników. Chciałem połączyć symulator i regulatory z wykorzystnaiem TCP. Jednak mam problemy z przesyłaniem danych z jednego programu do drugiego. Czy ktoś mógłby rzucić okiem na sposób wykonywania połączenia TCP. I ewentualnie powiedzieć co nie działa poprawnie bądź, źle jest zrobione.
Pozdrawiam
P.S.
Sam symulator i regulatory mogą jeszcze działać niepopranie ale bo nie mam jak przetestować tego na tym obiekcie.
Dziekuje za pomoc.
Przedewszystkim witam wszystkich.
Problem już poruszany był na forum kilkanaście razy, jednak po przeczytaniu wszystkich postów nie udało mi sie poprawnie uruchomić mojej aplikacji. Obecnie jesten na etapie projektowania ukladu regulacji z 3 zbiornikami i 2 regulatorami, które sterują wypływami ze zbiorników. Chciałem połączyć symulator i regulatory z wykorzystnaiem TCP. Jednak mam problemy z przesyłaniem danych z jednego programu do drugiego. Czy ktoś mógłby rzucić okiem na sposób wykonywania połączenia TCP. I ewentualnie powiedzieć co nie działa poprawnie bądź, źle jest zrobione.
Pozdrawiam
P.S.
Sam symulator i regulatory mogą jeszcze działać niepopranie ale bo nie mam jak przetestować tego na tym obiekcie.
Dziekuje za pomoc.
Re: LV 8 i TCP
Witam
Skoro zassałem te pliki i je otworzyłem, to sie wypowiem:
Ładny interface ... calkiem calkiem - i dobrze, że pokazuje sie jako pierwszy, bo oto zaraz block diagram i ... nawet mi sie nie chciało białej strzałki wcisnąć.
to tyle odnośnie jakości kodu - i tu rada osobista - popraw go przed uruchamianiem, będziesz mial kilka razy mniej pracy. Wiem z doświadczenia.
Nie wiem wiec dlaczego nie dziala ci komunikacjia, ale to co mozesz zrobić i w Twojej sytuacji będzie łatwe to otworzyć przykład z komunikacją TCPIP - ten simple cos tam i rdzeń komunikacji przewalić do odpowiednich twoich programów. Powinno działać. Wówczas dokładasz funkcjonalność - czyli przekazywanie odpowiednich danych.
PS. W LabVIEW nie piszemy - raczej drutujemy. Wówczas kod jest efektywniejszy. To co zrobiłeś byłby ci wygodniej zaimplementować w CVI - czyli budujesz ladny interfejs na panelu i piszesz kod w c
pozdrawiam
pmaj
Skoro zassałem te pliki i je otworzyłem, to sie wypowiem:
Ładny interface ... calkiem calkiem - i dobrze, że pokazuje sie jako pierwszy, bo oto zaraz block diagram i ... nawet mi sie nie chciało białej strzałki wcisnąć.
to tyle odnośnie jakości kodu - i tu rada osobista - popraw go przed uruchamianiem, będziesz mial kilka razy mniej pracy. Wiem z doświadczenia.
Nie wiem wiec dlaczego nie dziala ci komunikacjia, ale to co mozesz zrobić i w Twojej sytuacji będzie łatwe to otworzyć przykład z komunikacją TCPIP - ten simple cos tam i rdzeń komunikacji przewalić do odpowiednich twoich programów. Powinno działać. Wówczas dokładasz funkcjonalność - czyli przekazywanie odpowiednich danych.
PS. W LabVIEW nie piszemy - raczej drutujemy. Wówczas kod jest efektywniejszy. To co zrobiłeś byłby ci wygodniej zaimplementować w CVI - czyli budujesz ladny interfejs na panelu i piszesz kod w c
pozdrawiam
pmaj
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
Mam zawyżone wymagania motywacyjne
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: LV 8 i TCP
Prawda!
Popraw kod, zredukuj do Twojego problemu i coś się poradzi. Tak to nie bardzo widać co się dzieje.
Jutro postaram się o bardziej owocną wypowiedź;)
Popraw kod, zredukuj do Twojego problemu i coś się poradzi. Tak to nie bardzo widać co się dzieje.
Jutro postaram się o bardziej owocną wypowiedź;)
Re: LV 8 i TCP
Witam!
Z tym, że kod nie jest czytelny zgodze sie, ale szczerze mówiąc nie widze możliwości uproszczenia go.(czytaj to moj pierwszy projekt w lab view) Nie jest to projekt profesjonalny. Moge postarać się ładniej to poukładać i połączyć, ale dla studentów i na uczelni nie liczy sie aby było optymalnie tylko, żeby działało.(z doświadczenia)
Optymalizacja wg mnie powinna zostać wykonana na samym końcu jak juz problem zostanie rozwiązany.
Przyjże się temu przykładowi z połączenia TCP.
Będe bardzo wdzęczny o bardziej owocną wypowiedź. Interesuje mnie tylko TCP bo z resztą sobie poradze.
Nie do końca rozumiem stwierdzenie, że w lab view raczej drutujemy niż piszemy. Wiem, że to jest język graficzny, ale tego co się nauczyłem rownania różcznikowe opisujące obiekt powinny zostać zapisane w formula node. I tam doprowadzamy odpowiednie parametry oraz wyprowadzamy to co nas interesuje. W moim przypadku poziomy H1 i H2 oraz kva i kv2.
Pozdrawiam....
P.S.
Analiza przykładu z LV nie przyniosła żadnego skutku bo wg mnie mam zrobione podobnie.
Z tym, że kod nie jest czytelny zgodze sie, ale szczerze mówiąc nie widze możliwości uproszczenia go.(czytaj to moj pierwszy projekt w lab view) Nie jest to projekt profesjonalny. Moge postarać się ładniej to poukładać i połączyć, ale dla studentów i na uczelni nie liczy sie aby było optymalnie tylko, żeby działało.(z doświadczenia)
Optymalizacja wg mnie powinna zostać wykonana na samym końcu jak juz problem zostanie rozwiązany.
Przyjże się temu przykładowi z połączenia TCP.
Będe bardzo wdzęczny o bardziej owocną wypowiedź. Interesuje mnie tylko TCP bo z resztą sobie poradze.
Nie do końca rozumiem stwierdzenie, że w lab view raczej drutujemy niż piszemy. Wiem, że to jest język graficzny, ale tego co się nauczyłem rownania różcznikowe opisujące obiekt powinny zostać zapisane w formula node. I tam doprowadzamy odpowiednie parametry oraz wyprowadzamy to co nas interesuje. W moim przypadku poziomy H1 i H2 oraz kva i kv2.
Pozdrawiam....
P.S.
Analiza przykładu z LV nie przyniosła żadnego skutku bo wg mnie mam zrobione podobnie.
Re: LV 8 i TCP
Z doświadczenia powiem że jedno i drugie to bzdura. Na końcu będziesz miał taki stopień komplikacji kodu że nie będzie ci się chciało go porządkować. Powiesz "dobrze że działa" i zostawisz jak jest.marte pisze: Moge postarać się ładniej to poukładać i połączyć, ale dla studentów i na uczelni nie liczy sie aby było optymalnie tylko, żeby działało.(z doświadczenia)
Optymalizacja wg mnie powinna zostać wykonana na samym końcu jak juz problem zostanie rozwiązany.
W wyniku tego będziesz miał nieczytelny kod, który nie bedzie nadawał się do dlaszego rozwoju i ewentualnych modyfikacji przez studentów/prowadzących nie wspominając nawet o próbie omówienia go w składny sposób studentom lub rzeczowego zaprezentowania prowadzącemu - nie wiem z której strony jesteś 8).
Czytelny kod jest elementem podejścia inżynierskiego (nie tylko w LabVIEW) a jak rozumiem tego powinna uczyć uczelnia.
"Powinny"?marte pisze:
Nie do końca rozumiem stwierdzenie, że w lab view raczej drutujemy niż piszemy. Wiem, że to jest język graficzny, ale tego co się nauczyłem rownania różcznikowe opisujące obiekt powinny zostać zapisane w formula node.

Re: LV 8 i TCP
Jestem studentem.
Projekt jest tylko na zaliczenie i obiekt jest tylko teoretyczny wiec nie zamierzam go udoskonalac.
Czytelnosc kodu jest bardzo dużą zaletą ale mając w semstrze do zrobienia 15 projektów takie rzeczy nie mają znaczenia. Liczy się efekt, czy regulator i obiekt jest dobrze zamodelowany w formula node.
Może to jest tylko wytłumaczenie z mojej strony.
Przez 4 lata studiów nauczyłem się kilku zasad odnośnie programowania i ogólnie przemysłu i jak na razie sie do tego stosuje.
1. Optymalizacją kodu zajmujemy się dopiero po dojściu do zamierzonego celu. tzn zrobieniu tego, żeby program działał (Programowanie obiektowe)
2. W przemyśle stosuje sie najprostrze rozwiązania. A jako automatyk jestem(będe) specjalistą od rozwiązywania równań różniczkowych zamodelowanych obiektów. Formula node jest dla mnie wygodna i umożliwia mi zapis taki jak mi odpowiada.
3. Musze się jeszcze dużo nauczyć....
Zgodze się z tym również, że jeżeli napisze nieczytelny kod to potem mogą wystąpić różne problemy z wykryciem błędów. Ale nie w tak prostym programie. Bynajmniej tak mi się wydaje.
Pozdrawiam
Projekt jest tylko na zaliczenie i obiekt jest tylko teoretyczny wiec nie zamierzam go udoskonalac.
Czytelnosc kodu jest bardzo dużą zaletą ale mając w semstrze do zrobienia 15 projektów takie rzeczy nie mają znaczenia. Liczy się efekt, czy regulator i obiekt jest dobrze zamodelowany w formula node.
Może to jest tylko wytłumaczenie z mojej strony.
Przez 4 lata studiów nauczyłem się kilku zasad odnośnie programowania i ogólnie przemysłu i jak na razie sie do tego stosuje.
1. Optymalizacją kodu zajmujemy się dopiero po dojściu do zamierzonego celu. tzn zrobieniu tego, żeby program działał (Programowanie obiektowe)
2. W przemyśle stosuje sie najprostrze rozwiązania. A jako automatyk jestem(będe) specjalistą od rozwiązywania równań różniczkowych zamodelowanych obiektów. Formula node jest dla mnie wygodna i umożliwia mi zapis taki jak mi odpowiada.
3. Musze się jeszcze dużo nauczyć....
Zgodze się z tym również, że jeżeli napisze nieczytelny kod to potem mogą wystąpić różne problemy z wykryciem błędów. Ale nie w tak prostym programie. Bynajmniej tak mi się wydaje.
Pozdrawiam
Re: LV 8 i TCP
zatem : 1. Kiedy piszesz program w C lub C++ wrzucasz składnie komend na ekran jak leci a potem dopiero to układasz w wiersze, stosujesz wcięcia itd...? Jakoś nie potrafię w to uwierzyć. 2. Twoje doświadczenia z przemysłu 8). Wygoda formula node jest wygodą Twoją co nie jest tożsame z optymalnością kodu. 3: jak my wszyscy.
Kod powinien być czytelny na początku a w zasadzie na każdym etapie tworzenia. To powinien być nawyk.
A ten nawyk procentuje .
Kod powinien być czytelny na początku a w zasadzie na każdym etapie tworzenia. To powinien być nawyk.
A ten nawyk procentuje .
Re: LV 8 i TCP
Stosuje wcięcia. Ale w tym przypadku uzałem, że nie ma potrzeby bo program ma 10 linijek:D.
W każdym bądź razie postanowiłem zoptymalizować moje kody.
Doświadcznia z przemysłu nie mam żadnego. Wszystko co umiem wiem z uczelni i książek.
Nie próbowałem stosować innego narzędzia do rozwiązywania równań różniczkowych bo to dla mnie jest idealne. Spotkałem się ze stwierdzeniami, że w LV nie powinno być fomula node ponieważ odbiega od graficznej konwencji języka(albo coś w tym stylu). Ale skoro jest dlaczego tego nie używać?
pzdr
W każdym bądź razie postanowiłem zoptymalizować moje kody.
Doświadcznia z przemysłu nie mam żadnego. Wszystko co umiem wiem z uczelni i książek.
Nie próbowałem stosować innego narzędzia do rozwiązywania równań różniczkowych bo to dla mnie jest idealne. Spotkałem się ze stwierdzeniami, że w LV nie powinno być fomula node ponieważ odbiega od graficznej konwencji języka(albo coś w tym stylu). Ale skoro jest dlaczego tego nie używać?
pzdr
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: LV 8 i TCP
Mikrobi dobrze gada o kodzie i nie ma co z tym dyskutować, bo to oczywiste choćby było 30 projektów w semestrze.
Przykład prostej komunikacji TCP z symulatorem zbiornika w załączniku. Najpierw uruchom zbiornik potem sterowanie. Mam nadzieję, że coś pomoże.
Pozdrawiam:)
Przykład prostej komunikacji TCP z symulatorem zbiornika w załączniku. Najpierw uruchom zbiornik potem sterowanie. Mam nadzieję, że coś pomoże.
Pozdrawiam:)
Ostatnio zmieniony 28 maja 2006 22:16 przez jogurt_owocowy, łącznie zmieniany 1 raz.
Re: LV 8 i TCP
Witam
Tak czysto informacyjnie dla marte: W LabVIEW napisałem juz kilka programików, większych i mniejszych a formula node użyłem tylko raz - aby zobaczyć czy zadziała, poczym usunąłem ją i "przedrutowałem" kod, gdyż tak trzeba w LabVIEW pisać.
Należy pamiętać, że to DATA FLOW determinuje wykoanie programu a nie sekwencyjne czytanie linii kodu - to właśnie siła języka G
pozdrawiam pmaj
Tak czysto informacyjnie dla marte: W LabVIEW napisałem juz kilka programików, większych i mniejszych a formula node użyłem tylko raz - aby zobaczyć czy zadziała, poczym usunąłem ją i "przedrutowałem" kod, gdyż tak trzeba w LabVIEW pisać.
Należy pamiętać, że to DATA FLOW determinuje wykoanie programu a nie sekwencyjne czytanie linii kodu - to właśnie siła języka G
pozdrawiam pmaj
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
Mam zawyżone wymagania motywacyjne
Re: LV 8 i TCP
Wziąłem pod uwage wszystkie Wasze krytyki i postanowiłem się do nich stosować....
Udało mi się rozwiązać mój problem. ALe chciałem spytać jeszcze o jedną rzecz. Chodzi mi o to czy np element Slide może być jednocześnie elementem typu indicator i control. Chodzi dokładniej o to że jak mam robiona regulacje automatyczna to wyliczane są odpowiednie zmienne i jeżeli przełącze z regulacji automatycznej na ręczną, która będzie realizowana np przez Slide to chciałbym, żeby wartość slide była w chwili przełączenia nastawiona na wartośc tej zmiennej. Za bardzo nie wiem jak to zrealizować. Nie mam pomysłu.
Czekam na jakieś sugesie bądz wskazówki.
Pozdrawiam
Udało mi się rozwiązać mój problem. ALe chciałem spytać jeszcze o jedną rzecz. Chodzi mi o to czy np element Slide może być jednocześnie elementem typu indicator i control. Chodzi dokładniej o to że jak mam robiona regulacje automatyczna to wyliczane są odpowiednie zmienne i jeżeli przełącze z regulacji automatycznej na ręczną, która będzie realizowana np przez Slide to chciałbym, żeby wartość slide była w chwili przełączenia nastawiona na wartośc tej zmiennej. Za bardzo nie wiem jak to zrealizować. Nie mam pomysłu.
Czekam na jakieś sugesie bądz wskazówki.
Pozdrawiam
Re: LV 8 i TCP
Możesz odczytać Slide i ustawić wartość zmienną lokalną.
- jogurt_owocowy
- Posty: 1317
- Rejestracja: 30 lis 2004 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Kraków
Re: LV 8 i TCP
To jeszcze dodam, że po zmianie sterowania na automatyczne najlepiej będzie "zamrozić" kontrolkę za pomocą Slide->Property Node->Disabled ustawiając tą wartość na 1(lub 2-help) i będzie działać jak rasowy Indicator.