По идее в avar_pch уже и есть код ошибки. Можно и без CASE обойтись и не использовать переменную code_err.
Но если хочется иметь коды ошибок по порядку, то и CASE можно уменьшить
Код:VAR stat_pch: WORD; pt: POINTER TO BYTE; avar_pch: WORD; code_err: WORD; END_VAR pt:=ADR(stat_pch)+1; avar_pch:=pt^; (*Анализируем коды ошибок*) CASE avar_pch OF 16#C0: code_err:=11; 16#0C: code_err:=12; 16#0D: code_err:=13; 16#0E: code_err:=14; 16#0F: code_err:=15; 16#10: code_err:=16; 16#11: code_err:=17; 16#12: code_err:=18; ELSE IF avar_pch <= 10 THEN code_err:=avar_pch; ELSE code_err:=0; END_IF END_CASE




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