Skocz do zawartości

[C#] - Jaka struktura dla programu sterującego urządzaniem przy pomocy portu RS


(robotyka)

Pomocna odpowiedź

Moim głównym problemem jest znalezienie odpowiedniej struktury klas jak również komunikacji pomiędzy nimi.

Program ten służyć ma do sterowania urządzeniem któremu można ustawić kilka parametrów, oraz pobierać z niego dane pomiarowe.

Według mnie program powinien działać według następującego „algorytmu”

- użytkownik uruchamia funkcje ustawiającą parametr1 na 1000 (Urządzenie.UstawParametr1(1000))

- klasa „Urządzenie” Urządzenie powinna sprawdzić czy wielkość podana w parametrze mieści się w ograniczeniach jeśli tak powinna wysłać odpowiednie polecenie sterujące na port

- klasa „Urządzenie” po otrzymaniu odpowiedzi z portu powinna sprawdzić czy jest ona poprawna jeśli tak to ustawić aktualną wartość Parametru1 w klasie „Parametry urządzenia”

Klasa urządzenie powinna być zabezpieczona tak żeby nie wysyłała kolejnego polecenia przed otrzymaniem odpowiedzi na poprzednie polecenie.

Wstępnie założyłem iż program powinien składać się z klas

- „Port” korzystającej z funkcji klasy SerialPort, odpowiedzialnej za komunikacje po RS 232

- „Urządzenie” tu mają być zawarte wszystkie funkcje sterujące urządzenie UstawParamatr1, UstawParamatr2, UstawParamatr3, PobierzDane, PobierzDaneCo (1000 [ms])

- „Parametry urządzenia” – ma przechowywać parametry urządzenia oraz ograniczenia dla nich (np. Parametr1 < 10 000 )

- „Dane”, przechowującej i udostępniającej dane pomiarowe

Prosiłbym o pomoc, w szczególności o przesłaniu linów do programów służących do sterowania urządzeniami.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.