Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Możliwości USB w sterowaniu w czasie rzeczywistym

Zgredzio69 27 Gru 2012 20:22 1293 5
  • #1 27 Gru 2012 20:22
    Zgredzio69
    Poziom 14  

    Witam,
    proszę o argumenty pro i kontra odnośnie sterowania urządzeniem tj. precyzyjnym piecem laboratoryjnym z wykorzystaniem interfejsu USB.
    Do tej pory caly system opierał się na komputerze PC z interfejsem centronics, poprzez który realizowane było sterowanie i pomiary. Oprogramowanie działało pod kontrolą DOS.
    System się całkowicie sprawdza, jednak jest mało uniwersalny, biorąc pod uwagę obecne standardy i wymagania uzytkowników, którzy wolą "coś" okienkowo zorientowanego na windows.
    Stąd pomysł przebudowania systemu z wykorzystaniem interfejsu USB.

    Nie mam jednak pewności czy wymóg realizacji zadania w czasie rzeczywistym, jest realny do spełnienia w systemie windows przy wykorzystaniu USB.
    Znane mi są urządzenia sterujące, wykorzystujące ten standard np. LabJack, ale nie mam nadal 100% pewności, że uda mi się zachować istniejącą jakość sterowania.


    Konstruktor urządzenia twierdzi, że nie jest możliwe zastosowanie USB, bez wyraźnej konkretnej argumentacji.

    Wg mnie uzyskanie poprawnego sterowania (bez utraty probek, przeinaczen wskutek niedostatecznego probkowania lub nienadążania z czasem realizacji algorytmu sterowania) jest możliwe, nawet na poziomie powiedzmy 100 ms, co w przypadku układów termodynamicznych jest przesadą.

    Jeśli ktoś ma jakieś doświadczenia na tym polu, to chętnie skorzystam.

    0 5
  • #2 27 Gru 2012 21:09
    acid12
    Poziom 21  

    System windows nie jest systemem czasu rzeczywistego, więc istnieje ryzyko, że proces pojdzie w krzaki.

    Jezeli 'program okienkowy' sluzy jedynie do nadawanie ustawien i do wizualizacji procesu, to jak najbardziej, jest to ok; jednak gdy sterowanie, kontrola ma odbywac sie po stronie windows to juz zalezy od procesu/klienta/poziomu bezpieczenstwa itd.

    Gdy komunikacja będzie odbywac się w standardzie USB 2.0, realnie jestes w stanie zapisywac 30MB/s ... to już musisz zdecydowac czy to wystarcza. (Ethernet ma 12MB/s (100Mb/s) i jakoś urządzenia sobie na nim gładko działają ;) )

    0
  • #3 27 Gru 2012 23:59
    jestam
    Specjalista Automatyk

    Zwykły Centronics pozwalał uzyskać transfery na poziomie góra 100 kB/s, czyli 1 transfer / 10 us. USB 1.0 full speed to 12Mbit/s. Do tego USB ma tryb izochroniczny, który zapewnia stałość cyklu transferu danych. Problem zapewne leży w tym, że Centronics pod DOSem był bardzo prosty. Zastosowanie USB jest znacznie trudniejsze, szczególnie dla kogoś, kto robi to po raz pierwszy.

    Prościej i zapewne taniej będzie zastosować jakiś sterownik PLC z Ethernetem.

    0
  • #4 28 Gru 2012 11:54
    Luklukowaty
    Poziom 18  

    Panowie - kombinujecie jak koń pod górkę w Zakopanym.

    Standard USB sam w sobie umożliwia bezproblemowe sterowanie w czasie rzeczywistym. Gorzej jeżeli chodzi o połączenie USB-system operacyjny-oprogramowanie. Ja to widzę tak, że najlepiej dać konwerter USB na Centronics, dzięki czemu nie będzie trzeba przerabiać samego urządzenia (jeżeli nie wykorzystywałeś jakichś udziwnień w LPT). Zawsze taki konwerter można rozbebeszyć i zamontować w urządzeniu wyprowadzając jedynie gniazdo USB. Nie zakładam, że potrafisz samodzielnie zrobić sobie taki konwerter, ponieważ całą logikę przeniósł byś wtedy na mikrokontroler.

    Co do stosowania LabJacka - jest to rozwiązanie troszkę lepsze niż zwykły konwerter USB-LPT. Sam go stosowałem. Jedynym problemem jest w tym wszystkim system operacyjny. Z mojego punktu widzenia Windows nie nadaje się do działania 24h/dobę. Okazuje się, że po jakimś czasie (dzień, kilka dni) system traci komunikację z portami zewnętrznymi i trzeba wykrywać taki stan i zamknąć port po czym go otworzyć ponownie. LabJack też miewał różnego rodzaj dziwy i skończyło się na dziennym harmonogramie resetu Windowsa. DOS był o tyle lepszy, że nie miał wielu zbędnych programików. Teoretycznie możesz skonfigurować Windowsa, żeby działał stabilnie ale uważam, że prościej będzie zmusić Linuxa do pracy stabilnej. Nie jest tu problemem, że Windows nie jest RTOSem, na dzisiejszych komputerach sprawa tego typu jest pomijalna w szczególności przy sterowaniu temperaturą.

    Reasumując - USB nie jest problemem, problemem jest niestabilność Windowsa nawet jak będziesz mieć na płycie wbudowane LPT.

    0
  • #5 29 Gru 2012 02:18
    2134684
    Użytkownik usunął konto  
  • #6 08 Sty 2015 09:41
    Zgredzio69
    Poziom 14  

    Dziękuję za cenne komentarze.

    0