Автор: Miden
Дата: 18.05.18 10:37
bulatt писал(а):
> Сообщение Bulatos » Сегодня, 15:59
> Использую, например, CP441-1. Утверждается, что он не поддерживает Modbus-RTU, а
> только Modbus-ASCII. Мне нужен Modbus-RTU.
> Мне непонятно: вот я сформирую нужную последовательность байтов, добавлю CRC и
> выплюну это посредством библиотечного FB8 - почему не должно работать? Добавляет
> ли к моей телеграмме что-нибудь CP441-1? Если да, то что? Подскажите,
> пожалуйста. Тогда я эту добавку просто учту в подсчете CRC.
> Еще проблема (см.фото во вложении):
> - почему у CP441-1 только Input-адрес, и почему он один, а не диапазон (менял
> стартовый, но за ним меняется и End-вый)?
> - почему нет Output-адресов?
> - задаю в программе Степ-7 в блоке FB8 LADDR=8191, в диагностическом буфере
> ошибка, и адрес указан 8201. Откуда он?
> В чем ошибка, и что делать?
Выставляете в хардваре Modbus-ASCII, а телеграммы формируете как RTU. Мной проверена данная ситуация на CP341 & LMV51(данный менеджер горения не поддерживает Modbus-ASCII, только RTU). Работает замечательно.
СР441 ничего не добавляет в телеграмму. Есть чётко определённый макет телеграммы. Никаких "добавлений" в телеграммах быть не должно иначе работать не будет.
https://ipc2u.ru/articles/prostye-resheniya/modbus-rtu/
Насчёт адреса зачем Вам замарачиваться? Блокам P_RCV_RK и P_SND_RK на входе нужен адрес типа INT. Подсовываете им стартовый адрес из хардвары.
Насчёт ошибки - там нюансов куча. Параметры модуля в хардваре, время обработки в программе, правильность формирования телеграммы, правильность построения физической линии, настройки и возможности слэйва, время между телеграммами и т д.
Потренируйтесь для начала на программном слейве ModbusPoll под виндой с конвертером USB-RS[xxx].Посмотрите правильность телеграмм на нём, а затем переходите на физический слэйв. Если слёту ничего не получилось - так Вы потеряете меньше времени, а как вариант и вообще возможность.
Для CP441 вы купили загружаемый драйвер или хотите работать без него? У меня CP341 работают без dongle.
|
|