Столкнулся с необходимостью управлять преобразователем частоты Eaton DC1. Застрял на прочтении слова состояния и неисправности (они объединены в одно слово).

eaton_1.PNG

То есть неисправность шифруется шестнадцатеричным кодом во втором байте слова состояния и неисправности.
eaton_2.PNG

Соответственно, как я понимаю мне нужно вырезать нужный кусок информации из WORDа и его анализировать. Но с операторами сдвига у меня мягко говоря пока туго (то есть вообще ещё не сталкивался).

Если я правильно понял, то последовательность действий примерно такая:
Код:
VAR
	pt		:POINTER TO WORD;
	avar_pch	:BYTE;
	stat_pch	:WORD;
        code_err    :WORD;
END_VAR

pt:=ADR(stat_pch);
avar_pch:=WORD_TO_BYTE(SHR(pt^,??));  (*Смещаемся на 8 бит (или не 8??) вправо и остальное заполняем нулями*)

(*Анализируем коды ошибок*)
CASE avar_pch OF
16#00: code_err:=1;
16#01: code_err:=2;
...
...
END_CASE
Но почти уверен, что код не совсем верен. Так как на руках преобразователя ещё нет, хотел бы проконсультироваться по коду у профессионалов