Столкнулся с необходимостью управлять преобразователем частоты 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![]()




Ответить с цитированием