W celu zapisu dodatkowych danych do sterownika należy wysłać do sterownika następujący ciąg znaków (w przypadku platformy 3000 lub nowszej można pominąć początkowy znak [0x11]):
[0x11][0x02]S<?>{-PARAMETRY-}[0x03]gdzie:
<?> - Numer urządzenia (1..9).
{-PARAMETRY-} - Lista par: PARAMETR,WARTOŚĆ_PARAMETRU - oddzielanych od siebie przecinkami, gdzie:
PARAMETR - Określa numer porządkowy parametru, liczony od 0. Jest indeksem tablicy, w której przechowywane są parametry.
WARTOŚĆ_PARAMETRU - Wartość parametru w kodzie ASCII, w formacie dziesiętnym.
Znak S w zapytaniu wysyłanym do sterownika może zostać zastąpiony znakiem P, jeśli oczekujemy od sterownika odpowiedzi w postaci raportu Sekcja 5.1).
Uwaga: w przypadku platform starszych niż 2313 nie jest poprawnie obsługiwane przesyłanie wartości ujemnych - próba przesłania takiej wartości powoduje, że ona oraz wszelkie wartości po niej następujące zostaną zignorowane przez sterownik, w związku z czym należy przesyłania wartości ujemnych na tych platformach unikać.
Przykładowy ciąg znaków wygląda następująco:
[0x11][0x02]P10,100[0x03]
W przypadku komunikacji ze sterownikami zawierającymi platformę (nE) 2313 lub nowszą na końcu listy parametrów {-PARAMETRY-} należy dołączyć parametr specjalny o numerze 299, którego wartością będzie suma kontrolna liczona jako suma wartości wszystkich poprzedzających go wartości parametrów oraz ich numerów obliczana na 16 bitach bez znaku:
unsigned chksum(unsigned char param_numbers[], int param_vals[], unsigned size) { int i; unsigned sum = 0; for (i = 0; i < size; i++) { sum += param_numbers[i] + param_vals[i]; } return sum & 0xFFFF; }
Przykładowy ciąg znaków wygląda następująco:
[0x11][0x02]P10,100,1,-100,299,1[0x03]
Wysłanie tego polecenia do sterownika z platformą starszą niż 2313 nie powoduje żadnych negatywnych konsekwencji (parametr o numerze 299 zostanie zignorowany).
Poprzedni | Spis treści | Następny |
Protokół komunikacyjny sterownika | Początek rozdziału | Odczyt zaprogramowanych wartości parametrów stałych i paczek czasowych (tylko platforma 2315 i nowsze) |