< Wróć do bazy wiedzy

Wytyczne przy programowaniu komunikacji S-Bus

W celu osiągnięcia wysokiej i stałej szybkości przesyłania danych w sieci S-Bus, poniższe wskazówki mogą być przydatne podczas programowania komunikacji S-Bus.

Sieć S-Bus w Fupli

  • Fupla obsługuje wszystkie bloczki Transmit i Receive FBoxes jednakowo. Domyślnie, wszystkie zapytania obsługiwane są cyklicznie i automatycznie wysyłane do portu komunikacyjnego.
    Oznacza to, że wartość np. flagi alarmu jest wysyłana z taką samą częstością jak wartość temperatury zewnętrznej, która zwykle nie zmienia się w przeciągu minuty.
  • Komunikacja S-Bus jest zawsze zarządzana z programu użytkownika. Wydajność może zależeć od czasu cyklu programu.
    W przypadku cyklu programu z czasem 300 ms, maksymalnie jeden telegram będzie wysyłany również z czasem 300 ms.
  • Każdy FBox tworzy jeden telegram na cykl komunikacji.
  • Telegram może zawierać do 128 bajtów (tablica 32 rejestrów lub 128 flag).
    Transmisja telegramu, który zawiera 128 bajtów nie zabiera znacznie więcej czasu od przesłania telegramu z 1 bitem danych (czasy zależą od szybkości transmisji).
    Z drugiej strony wysyłanie dwóch telegramów zabiera dwa razy więcej czasu niż wysłanie jednego.
    Powoduje to, że wydajność zależy bardziej od liczby telegramów niż od liczby transmitowanych bajtów.

Wnioski

  • Wysyłaj wiele zasobów w jednym bloczku kiedy jest to możliwe.
    Uzywaj bloczków “Transmit- i odpowiednio Recive quick”.
  • W celu zwiększenia wydajności komunikacji zaleca się wysyłanie wolnozmiennych danych w odstępach czasowych.

Jednym z możliwych rozwiązań może być dwa lub więcej bloczków send lub recive, które wyzwalane są po kolei (zobacz stronę fupli powyżej). Należy się upewnić, że czas sygnału ‘enable’ każdego z tych bloczków jest co najmniej równy cyklowi komunikacji.

  • Transmituj wejścia i wyjścia jako flagi (w tabeli). Lub nawet lepiej – mapuj je w rejestrach.
    Tym sposobem możemy oszczędzić na telegramach (tym samym cyklu komunikacji).
  • Używaj bloczka “S-Bus station (-IP)” w celu uniknięcia bardzo dużego cyklu komunikacji w przypadku uszkodzenia stacji slave!
  • Ten bloczek nie wysyła ciągle telegramów do stacji ‘oznaczonej’ jako nieobecna ale w określonych odstępach (po krótkim lub długim czasie ponownego połączenia).
  • W celu odczytu wolno zmiennych wartości należy rozważyć użycie bloczka “Receive Integer Multiple” (tylko PG5 1.4 i wyższe)

W zależności od projektu mogą oczywiście być wzięte pod uwagę tylko pojedyncze lub nawet żadne z powyższych zaleceń.

Nasz serwis wykorzystuje pliki cookies. Korzystając z witryny wyrażasz zgodę na ich zapis lub wykorzystanie. Zgoda na wykorzystanie plików cookies jest jednoznaczna z zapoznaniem się i przyjęciem treści polityki cookies.
Akceptuję