По идее в 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