Что записывать в регистры при настройке порта командой CFGCW?
Команда CFGCW делает обратное чтению: она берёт блок регистров и применяет его как настройки порта. Формат тот же — CFGCW HD0 K8 K2, где HD0 — начало блока, K8 — число регистров, K2 — номер порта.
Назначение регистров при работе по Modbus:
| Регистр | Что задаёт | Значения |
|---|---|---|
| HD0 | тип сети | 1 — Modbus, 2 — свободный формат, 3 — X-NET, 4 — Modbus TCP |
| HD1 | номер станции | 1…254 |
| HD2 | режим | 0 — RTU, 128 — ASCII |
| HD3 | скорость обмена | код скорости |
| HD4 | формат кадра | биты стопа, чётности и длины данных |
| HD5 | число повторов | 0…5 |
| HD6 | тайм-аут ответа | 0…65535 |
| HD7 | задержка перед отправкой | 0…255 |
Два регистра заслуживают отдельного внимания. Тайм-аут ответа в HD6 — это время, которое ведущий ждёт ответа ведомого; при опросе медленных приборов его увеличивают, иначе обмен будет постоянно завершаться по ошибке приёма. Задержка перед отправкой в HD7 нужна на линиях RS-485 с преобразователями интерфейса: без паузы первые биты кадра теряются, пока драйвер переключается на передачу.
Осторожность с портом COM1: через него идёт связь со средой программирования, и запись в него неверных параметров оставит контроллер без связи с компьютером. Настройку меняйте по разовому условию, а не каждый цикл, и предусмотрите в программе возврат к заводским значениям по отдельному сигналу.
Прикреплённая документация
Георгий Жуков
Ведущий инженер