Где смотреть ошибки приёма в свободном формате PMP20?
Результат приёма в свободном формате контроллер кладёт в системные регистры своего порта: SD143 — порт 0, SD153 — порт 1, SD163 — порт 2 и далее по той же схеме. Ноль означает нормальный приём, любое другое значение — конкретную причину сбоя.
Расшифровка кодов:
- 410 — переполнение: принято больше данных, чем помещается в приёмный буфер.
- 411 — принятых данных меньше ожидаемого.
- 412 — принятых данных больше ожидаемого.
- 413 — ошибка приёма: сбой на физическом уровне, чаще всего несовпадение скорости или формата кадра.
- 414 — тайм-аут приёма: прибор не ответил в отведённое время.
- 415 — не найден стартовый символ.
- 416 — не найден стоповый символ.
Рядом лежит число фактически принятых байт: SD144 для порта 0, SD154 для порта 1, SD164 для порта 2. Этот регистр — главный инструмент наладки: если байты приходят, но код ошибки говорит о нехватке данных, значит прибор шлёт посылку другой длины, а не молчит.
Как читать коды на объекте. Ошибки 415 и 416 означают, что обрамление посылки задано не так, как у прибора: проверьте коды стартового и стопового символов в настройках порта. Ошибка 411 или 412 при правильном обрамлении — прибор отдаёт другой формат данных, например с дополнительным полем состояния. Ошибка 413 — это уже физика: скорость, чётность, длина данных, качество линии.
Для сравнения: при обмене по Modbus коды результата лежат в других регистрах того же порта и расшифровываются по своей таблице.
Прикреплённая документация
Георгий Жуков
Ведущий инженер