RS485 control interface requirements

Transkrypt

RS485 control interface requirements
Statecznik Columbus® do lamp wysokoprężnych, wersja RS485
Protokół sterowania na interfejsie RS485
data uaktualnienia: wrzesień 2014
T R IM A X
Ten dokument opisuje protokół komunikacyjny pomiędzy urządzeniem (komputerem) sterującym a statecznikiem
Columbus® w wersji RS485.
1.
Warstwa fizyczna.
Komunikacja spełnia wymagania standardu EIA-485 (RS485).
Parametry elektryczne:
1.1. rezystancja nadajnika/odbiornika w stanie nie aktywnym: minimum 9,6 kΏ
1.2. Rezystancja wewnętrzna nadajnika w stanie aktywnym: max 50 Ώ
Parametry transmisji:
1.3. transmisja:
1.4. prędkość bodowa:
1.5. format znaku:
asynchroniczna, half-duplex, master-slave
2400 bit/s
1 bit startu + 8 bitów danych + 1 bit stop (bez parzystości)
Interfejs RS485 statecznika jest galwanicznie odizolowany od pozostałych jego obwodów.
2.
Organizacja transmisji.
Wymian danych między kontrolerem sterującym a statecznikiem odbywa się tylko z inicjatywy kontrolera. Statecznik
wysyła pakiet bajtów (komunikat) jako odpowiedź na komunikat komendy odebraną z kontrolera. Nie na wszystkie
komendy wysyłana jest odpowiedź – szczegóły są opisane w punkcie 6 poniżej.
Wymiana komunikatów powinna spełniać wymagania czasowe pokazane na rysunku poniżej:
Master active
t_off
t_on
t_ic
Data characters
t_ic
t_resp
t_on
t_nc
t_off
Slave active
min
max
t_ic
0
1 char (4.17 ms @ 2400 b/s)
t_resp
1.5 char (6.25 ms @ 2400 b/s)
3.5 char (14.6 ms @ 2400 b/s)
t_nc
3.5 char (14.6 ms @ 2400 b/s)
t_on
0
0.5 char (2.08 ms @ 2400 b/s)
t_off
0
1 char (4.17 ms @ 2400 b/s)
Master active: Aktywny nadajnik kontrolera sterującego
Slave active : Aktywny nadajnik statecznika
Data characters: Bajty wymienianych komunikatów (z bitami START i STOP włącznie)
t_ic: Odstęp między kolejnymi bajtami pojedyńczego komunikatu
t_resp: Czas między końcem bity STOP ostatniego bajtu komunikatu komendy a początkiem bitu START
pierwszego bajtu komunikatu odpowiedzi
t_nc: Rozpoczęcie następnej komendy nie może rozpocząć się wcześniej niż po czasie t_nc po zakończeniu
odpowiedzi na poprzednią komendę (lub po zakończeniu transmisji poprzedniej komendy jeżeli odpowiedź nie
jest spodziewana).
t_on: Maksymalne wyprzedzenie załączenia nadajnika
t_off: Maksymalne opóźnienie wyłączenia nadajnika
Statecznik Columbus®, , wersja RS48, Protokół sterowania ■ Trimax
1/6
3.
Format komunikatu komendy (od kontrolera do statecznika).
Bajt nr
wartość
opis
1
0xA5
Stały nagłówek, bajt nr 1
2
0x69
Stały nagłówek, bajt nr 2
3
długość
Rozmiar komunikatu w bajtach liczony od bieżącego bajtu (długość) do końca
komunikatu z bajtem sumy kontrolnej włącznie (cała długość komunikatu minus 2)
4
adres
Adres statecznika:
adres = 0 oznacza komendę adresowania (nadawania adresu) statecznika,
adresy w zakresie 1 - 191 (0x01 - 0xBF) to adresy indywidualne,
adresy w zakresie 192 - 254 (0xC0 - 0xFE) to adresy grupowe,
adres 255 (0xFF) jest adresem rozgłoszeniowym (broadcast)
5
Kod komendy
Patrz punkt 6
6,...
Dane (opcjonalnie)
Patrz punkt 6
ostatni
Suma kontrolna
Suma modulo 256 wszystkich bajtów komunikatu od bajtu długości do bieżącego bajtu
sumy kontrolnej włącznie powinna wynosić zero.
4.
Format komunikatu odpowiedzi (od statecznika do kontrolera).
Statecznik wysyła komunikat odpowiedzi jako dwa kolejne bajty. Pierwszy zawiera wartość, drugi jest bitową negacją
pierwszego. Cały komunikat odpowiedzi ma zawsze długość dwóch bajtów. Nie na wszystkie komunikaty komendy
odsyłana jest odpowiedź – dokładny opis: patrz punkt 6.
5.
Adresowanie i identyfikacja statecznika.
Każdy statecznik (typu Columbus® do lamp wysokoprężnych) ma unikalny fabryczny identyfikator nadany przez
producenta. Identyfikator jest ośmioznakowym ciągiem znaków ASCII.
Statecznik reaguje na komunikaty komend (z adresem indywidualnym lub grupowym) tylko jeżeli zostanie mu nadany
indywidualny adres (z zakresu 1..191). Adresowanie następuje po pomyślnym odebraniu i wykonaniu komendy
adresowania o następującym formacie:
[0xA5][0x69][0x0C][0x00]<i1><i2><i3><i4><i5><i6><i7><i8><ADR><checksum>
Potwierdzeniem przyjęcia komendy adresowania jest komunikat odpowiedzi, którego wartością jest bajt statusu (patrz
p. 7).
Pole <ADR> może mieć wartość od 1 do 191 (dziesiętnie). Komunikaty z inną wartością są ignorowane.
Przykład: Nadanie adresu 123 statecznikowi o identyfikatorze fabrycznym „C1234567”;
[0xA5][0x69][0x0C][0x00][0x43][0x31][0x32][0x33][0x34][0x35][0x36][0x37][0x7B][0xCA]
Zaadresowanemu indywidualnie statecznikowi można nadać adres grupowy. Adres grupowy identyfikuje wybraną grupę
stateczników. Adresy grupowe mieszczą się w zakresie 192..254 i jest nadawany komendą „Nadaj adres grupowy”
(kod 0x3F).
Przykład: Nadanie adresu grupowego statecznikowi o adresie indywidualnym 123:
[0xA5][0x69][0x05][0x7B][0x3F][0xC8][0x79]
Komenda adresowania grupowego, w której wartość adresu grupowego nie mieści się w dozwolonym zakresie jest
ignorowana.
Adres grupowy jest pamiętany przez statecznik do wyłączenia jego zasilania lub do chwili otrzymania kolejnej komendy
adresowania grupowego z innym legalnym adresem grupowym.
Komenda z wartością pola adresu z zakresu adresów grupowych zostanie zinterpretowana przez wszystkie dołączone
stateczniki, którym został nadany adres grupowy o tej wartości.
Adres o wartości 255 (0xFF) jest adresem rozgłoszeniowym („broadcast”). Komenda z polem adresu o tej wartości
zostanie zinterpretowana przez wszystkie (zasilone) stateczniki dołączone do magistrali RS485.
Statecznik Columbus®, , wersja RS48, Protokół sterowania ■ Trimax
2/6
Po odebraniu komunikatu komendy z adresem indywidualnym statecznik odsyła odpowiedź zgodnie z pkt 6. Na komendę
z adresem grupowym lub rozgłoszeniowym nie jest odsyłana odpowiedź za wyjątkiem komendy „Prześlij informację
o stateczniku” (kod 0x3C) z polem adresowym równym adresowi rozgłoszeniowemu (0xFF). Ta własność pozwala na
uzyskanie informacji o stateczniku gdy niedostępna jest jego indywidualna dokumentacja.
6.
Lista komend.
Nazwa
Kod
Parametr
Wartość odpowiedzi
Uwagi
Prześlij tryb pracy
0x30
(brak)
OPERATION_MODE
Zwraca aktualny tryb pracy statecznika opisany
w punkcie 8.
Prześlij bity statusu
0x31
(brak)
Bity statusu
Zwraca bity statusu staecznika opisane
w punkcie 7.
Ustaw moc zadaną
0x34
Procent mocy
(0..100)
Bity statusu
Patrz uwaga 1.
Prześlij moc zadaną
0x38
(brak)
Wartość zadana procentu
mocy
Wartość odebrana jako parametr komendy Ustaw
moc zadaną (0x34)
Prześlij moc maksymalną
0x39
(brak)
100 (0x64)
To polecenie istnieje dla zachowania zgodności ze
starymi wersjami oprogramowania kontrolerów.
Maksymalna wartość mocy statecznika wynosi
zawsze 100% (0x64)
Prześlij czas do przyciemnienia
0x3A
(brak)
Czas do pozwolenia na
przyciemnianie w
jednostkach = 0,1 sek
Nie ma gwarancji, że wszystkie serie stateczników
realizują to polecenie. Patrz również uwaga 2.
Prześlij informację o stateczniku 0x3C
Numer bajtu
informacji
Pojedyńczy bajt
informacji o stateczniku
Patrz uwaga 3 i punkt 10
Prześlij stan przełączników
0x3D
(brak)
Stała wartość 0xFC
Symuluje nie istniejące w starych modelach
stateczników przełączniki. Istnieje dla zachowania
zgodności ze starymi wersjami oprogramowania
kontrolerów.
Prześlij moc aktualną
0x3E
(brak)
Aktualny procent mocy
Zwraca aktualną moc statecznika wprocentach.
Ustaw adres grupowy
0x3F
Adres
grupowy
Bity statusu
Patrz punkt 5.
UWAGA 1: Wartości mocy zadanej większe od 100 skutkują ustawieniem mocy maksymalnej (tj. 100%). Wartość mocy
zadanej mniejsza od minimalnej, gwarantującej stabilną pracę lampy, mocy skutkuje ustawieniem tej minimalnej mocy.
Wartość zero wyłącza lampę.
UWAGA 2: Bezpośrednio po zapaleniu wysokoprężnego źródła światła, dopóki źródło nie będzie w pełni rozgrzane, nie
może ono być przyciemniane. Polecenie Prześlij czas do przyciemnienia zwraca czas (wyrażony w jednostkach 0,1 sek) do
pełnego rozgrzania lampy, gdy jej przyciemnianie będzie możliwe.
OSTRZEŻENIE: Nie wszystkie serie stateczników Columbus® realizują to polecenie.
UWAGA 3: Legalne wartości numeru bajtu informacji mieszczą się w zakresie 0..255. Bajty 240 do 247 zawierają numer
seryjny (identyfikator fabryczny) statecznika.
OSTRZEŻENIE: Nie wszystkie serie stateczników Columbus® realizują polecenie Prześlij Informację o stateczniku.
Jednak jeśli realizują to gwarantują poprawną odpowiedź na pytanie o informację w zakresie numeru identyfikacyjnego.
Opis pełnej informacji znajduje się w punkcie 10.
Statecznik Columbus®, , wersja RS48, Protokół sterowania ■ Trimax
3/6
7.
Bity statusu.
Bit 0 jest najmniej znaczący, bit 7 jest bitem najbardziej znaczącym.
Bit
Nazwa
Opis
0
DIM_ENABLED
Przyciemnianie jest dozwolone (Lampa jest rozgrzana)
1
REMOTE_ACTIVE
Aktywne sterowanie zdalne. Ustawiony na stałe na wartość 1
2
IGN_PULSE_PRESENT
Bit jest ustawiony po wygenerowaniu pierwszego impulsu zapalania źródła.
3
TEMPERATURE_HIGH
Ustawiony w przypadku przegrzania statecznika
4
ECONOMY_ACTIVE
Wskazuje tryb ekonomiczny czyli moc ustawioną w zakresie 87,5% do 99%
5
DIM_INTERNAL_ENABLED Istnieje dla zachowania zgodności ze starymi wersjami gdzie wskazywał na
przyciemnienie zadane wewnętrznym programem statecznika.
6
DIMMING_ACTIVE
Aktywne przyciemnienie, moc < 100%
7
LAMP_IS_OLD
Wykryte źródło światła, którego nie da się zapalić.
Uwagi:
Bit 0 (DIM_ENABLED) : Wskazuje, że źródło światła jest w pełni rozgrzane i możliwa jest redukcja mocy lampy
(przyciemnienie).
Bit 1 (REMOTE_ACTIVE): Modele stateczników Columbus® w wersji RS485 są zawsze ustawione na sterowanie
zewnętrzne.
Bit 2 (IGN_PULSE_PRESENT): Ten bit służy do rozróżnienia niemożliwości zapalenia uszkodzonego lub zużytego
źródła od innego uszkodzenia np. samego statecznika. Jeżeli statecznik pracuje poprawnie a źródła nie można było zapalić
to bit ten jest ustawiony.
Bit 3 (TEMPERATURE_HIGH): Wskazuje przekroczenie przez statecznik bezpiecznego poziomu temperatury
wewnętrznej. W tym przypadku lampa zostaje wyłączona. Po ostygnięciu statecznik powraca do normalnej pracy.
Bit 4 (ECONOMY_ACTIVE): Bit jest ustawiany gdy aktualny procent mocy jest mniejszy od 100% i większy od 87,5%.
Bit 5 (DIM_INTERNAL_ENABLED): Bit istnieje dla zachowania zgodności z wcześniejszymi wersjami. Wskazuje na
przyciemnienie zadane wewnętrznym programem statecznika co w omawianych wersjach stateczników nie występuje. Ten bit
ma zawsze wartość „0”.
Bit 6 (DIMMING_ACTIVE): Ustawiony gdy moc lampy jest mniejsza od 100%.
Bit 7 (LAMP_IS_OLD): Ten bit jest ustawiony gdy źródło światła nie może być zapalony ze względu na degradację jego
parametrów elektrycznych lub z powodu przerwy lub zwarcia w obwodzie źródła.
Patrz także punkt 11 opisujący interpretację bitów statusu przez program kontrolera.
Statecznik Columbus®, , wersja RS48, Protokół sterowania ■ Trimax
4/6
8.
Tryby pracy statecznika.
Nazwa trybu
Kod
Opis
IGNITION_MODE
0x31
Zapalanie źródła (generowanie impulsów zapalania)
LAMP_WARMUP_MODE
0x32
Źródło w trakcie nagrzewania.
DIM_PREPARE_MODE
0x34
Statecznik jest w trakcie zmiany mocy
LAMP_NORMAL_MODE
0x35
Normalna praca (moc stabilna)
DELAY_LONG_MODE
0x37
Przerwa między kolejnymi próbami zapalenia źródła.
OFF_IDLE_MODE
0x3A
Polecenia nie dało się wykonać, statecznik wyłączony
SHUTDOWN_MODE
0x3B
Wyłączenie lampy (moc 0)
Uwagi:
Nie wszystkie wewnętrzne tryby są widoczne na zewnątrz. Niewidoczne zostały w powyższym wykazie pominięte.
Punkt 10 bardziej szczegółowo objaśnia interpretację wartości trybu. Należy wspomnieć, że SHUTDOWN_MODE ma
miejsce nie tylko w przypadku wyłączenia lampy przez zadanie zerowej mocy ale także wtedy gdy statecznik uległ
przegrzaniu. W przypadku błędnej pracy statecznika lub uszkodzenia źródła statecznik przechodzi ostatecznie do trybu
OFF_IDLE_MODE a nie do trybu SHUTDOWN.
9.
Bajt stanu przełączników i zewnętrznego sterowania przyciemnieniem.
Poniższa lista pokazuje znaczenie bitów bajtu będącego odpowiedzią na polecenie „Prześlij stan przełączników”:
bit 0:
Stan przewodu sterującego przyciemnieniem (w obecnej wersji statecznika nie ma takiego przewodu),
„0”: nie podłączony; „1”: dołaczony do 230VAC
bit 1: Wewnętrzny stan SHUTDOWN
bit 2: przełącznik „TEST MODE”
bit 3: przełącznik „LINE/TIMER” (wybierał sterowanie zewnętrzne lub z wbudowanego w statecznik programu)
bit 4: przełącznik „ECONOMY” (moc pełna/ekonomiczna=87,5%)
bit 5: przełącznik „SEASON” (Pora roku: wpływał na czasy zaszyte w wewnętrznym programie statecznika)
bit 6,7: bity 6 i 7 określały poziom przyciemnienia w wewnętrznym programie statecznika
Dla wszystkich przełączników 0 oznacza(ło) pozycję „ON” przełącznika
Aktualne wersje statecznika nie mają przełączników. Polecenie „prześlij stan przełączników” zostało zachowane dla
zapewnienia zgodności ze starymi wersjami oprogramowania kontrolerów.
Statecznik Columbus®, , wersja RS48, Protokół sterowania ■ Trimax
5/6
10. Bajty informacji o stateczniku.
0 – 79
80 – 95
96 – 111
112 – 191
192 – 195
196 – 199
200 – 227
228 – 239
240 – 247
248 – 255
Informacja ogólna, zakończona bajtem '0'
Napięcie, zakończona bajtem '0'
Moc, zakończona bajtem '0'
Komentarz, zakończona bajtem '0'
Czteroznakowe oznaczenie wersji parameterów
Czteroznakowe oznaczenie wersji oprogramowania
Numer partii, zakończona bajtem '0'
Data produkcji, zakończona bajtem '0'
Numer seryjny (identyfikator fabryczny)
Zarezerwowane
Nie używane bajty mają wartość 255 (0xFF)
11. Interpretacja stanu statecznika przez oprogramowanie kontrolera.
Stan lampy (czyli statecznika i źródła światła) może być określony na podstawie odpowiedzi statecznika na komendy
„Prześlij tryb pracy”, „Prześlij bity statusu” i „Prześlij moc aktualną”. Przykładowa wersja algorytmu jest następująca
(zakładamy, że statecznik jest zasilony):
Jeżeli brak odpowiedzi na każdą z komend to oznacza błąd w komunikacji
Jeżeli tryb pracy jest jednym z IGNITION, WARM_UP, DELAY_LONG to lampa jest w stadium zapalania lub
rozgrzewania źródła.
Jeżeli tryb jest NORMAL to:
Jeżeli aktywne są bity statusu DIMMING_ACTIVE i DIM_ENABLED to źródło jest przyciemnione
W przeciwnym przypadku źródło pracuje z mocą nominalną (pełną).
Jeżeli tryb jest DIM_PREPARE to następuje zmiana mocy
Jeżeli tryb jest SHUTDOWN to:
Jeżeli bit statusu TEMPERATURE_HIGH jest ustawiony to statecznik się przegrzał
W przeciwnym przypadku lampa została wyłączona poleceniem ustawienia mocy równej zero
Jeżeli tryb jest OFF_IDLE to:
Jeżeli bit statusu LAMP_IS_OLD jest ustawiony to źródło jest zużyte.
Jeżeli bit statusu IGN_PULSE_PRESENT jest ustawiony, to uszkodzony jest obwód źródła
W przeciwnym przypadku uszkodzony jest sam statecznik.
Pozostałe kombinacje są teoretycznie nielegalne i oznaczają również błąd w pracy statecznika.
Statecznik Columbus®, , wersja RS48, Protokół sterowania ■ Trimax
6/6