1) При ошибках/таймауте - в буфере может быть что угодно. Соответственно, надо проверять результат операции чтения/записи и, при необходимости, выполнять нужные действия (например, обнулять регистры, выводимые на экран).
2) Можно указывать просто имя массива. В примерах везде используется взятие адреса, чтобы не усложнять документацию и отдельно не пояснять, почему такой код не работает:
а такой - работает:Код:Reads(HMI_LOCAL_MCH, 0, TYPE_PSW, 300, 4, PSW[400]);
Код:Reads(HMI_LOCAL_MCH, 0, TYPE_PSW, 300, 4, &PSW[400]);


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