emulator relay unit with control interface rs232
115200 8N1
hardware/software control off
Все команды представляют собой символьные строки с байтами 0x0d 0x0a на конце
1. "SET_ON X Y\r\n" - команда "замкнуть реле" с номером X на время равное Y секунд (если Y=0 - постоянно)
Ответом на команду будет символьная строка "SET_ON X Y : OK\r\n" - если команда распознана и параметры команды валидные (X=1..8, Y=0..255);
в противном случае ответ будет таким "SET_ON X Y : ERROR\r\n"
2. "SET_OFF X Y\r\n" или "SET_OFF X\r\n" - команда "разомкнуть реле" с номером X (параметр Y не имеет значения и может отсутствовать)
Ответом на команду будет символьная строка "SET_OFF X Y : OK\r\n" - если команда распознана, параметры команды валидные (X=1..8, Y=0..255);
в противном случае ответ будет таким "SET_OFF X Y : ERROR\r\n"
Ответом на команду будет символьная строка "GET_STAT X : Z\r\n" - если команда распознана, параметры команды валидные (X=1..8),
где Z=1 - если реле замкнуто, Z=0 - если реле разомкнуто;
в противном случае ответ будет таким "GET_STAT X : ERROR\r\n"
Ответом на команду будет символьная строка "GET_STAT : H\r\n" - если команда распознана, где H - байт статуса всех реле,
то есть позиционный код статуса каждого реле:
* 1 в нулевом разряде - реле 1 - замкнуто, 0 в нулевом разряде - реле 1 - разомкнуто,
* 1 в первом - реле 2 - замкнуто, 0 в первом разряде - реле 2 - разомкнуто,
* .......
* 1 в седьмом разряде - реле 8 - замкнуто, 0 в седьмом разряде - реле 8 - разомкнуто;
если команда не распознана ответ будет таким "GET_STAT : ERROR\r\n"
* с номером 1 в X1 (X1=0 - разомкнуть реле, X1=1 - замкнуть реле на время Y1, X1=X - оставить у реле предидущее состояние, то есть не трогать его),
* с номером 2 в X2 (X2=0 - разомкнуть реле, X2=1 - замкнуть реле на время Y2, X2=X - оставить у реле предидущее состояние, то есть не трогать его),
* с номером 3 в X3 (X3=0 - разомкнуть реле, X3=1 - замкнуть реле на время Y3, X3=X - оставить у реле предидущее состояние, то есть не трогать его),
* с номером 4 в X4 (X4=0 - разомкнуть реле, X4=1 - замкнуть реле на время Y4, X4=X - оставить у реле предидущее состояние, то есть не трогать его),
* с номером 5 в X5 (X5=0 - разомкнуть реле, X5=1 - замкнуть реле на время Y5, X5=X - оставить у реле предидущее состояние, то есть не трогать его),
* с номером 6 в X6 (X6=0 - разомкнуть реле, X6=1 - замкнуть реле на время Y6, X6=X - оставить у реле предидущее состояние, то есть не трогать его),
* с номером 7 в X7 (X7=0 - разомкнуть реле, X7=1 - замкнуть реле на время Y7, X7=X - оставить у реле предидущее состояние, то есть не трогать его),
* с номером 8 в X8 (X8=0 - разомкнуть реле, X8=1 - замкнуть реле на время Y8, X8=X - оставить у реле предидущее состояние, то есть не трогать его)
Ответом на команду будет символьная строка "SET_ALL X1,Y1 X2,Y2 X3,Y3 X4,Y4 X5,Y5 X6,Y6 X7,Y7 X8,Y8 : OK\r\n" - если команда распознана и параметры команды валидные (Yn=0..255);
в противном случае ответ будет таким "SET_ALL X1,Y1 X2,Y2 X3,Y3 X4,Y4 X5,Y5 X6,Y6 X7,Y7 X8,Y8 : ERROR\r\n"
Например:
Команда - "SET_ALL 1,0 1,10 X,0 0,0 1,0 X,0 X,0 X,0\r\n" будет означать следующие действия :
* реле 1 замкнуть постоянно
* реле 2 замкнуть на 10 секунду
* реле 3 не трогать
* реле 4 разомкнуть
* реле 5 замкнуть постоянно
* реле 6 не трогать
* реле 7 не трогать
* реле 8 не трогать
Если команда распознана и параметры команды валидные (Xn=0,1,X Yn=0..255), ответ должен выглядеть так :
"SET_ALL 1,0 1,10 X,0 0,0 1,0 X,0 X,0 X,0 : OK\r\n"
в противном случае так :
"SET_ALL 1,0 1,10 X,0 0,0 1,0 X,0 X,0 X,0 : ERROR\r\n"