все действительно очень просто.
кусочек из проекта (вместе с конфигурацией ) вытащить труднее чем новый написать.
в описании на частотник(самое подробное описание в мире)есть список модбас адресов.
команда (слово управления) 2000н-десятичный 8192,пуск /стоп -биты 0и1.
заданная частота 2001н-десятичный 8193.
что может быть проще???
Алексей , адрес 2001Н - только для записи,чтение заданной частоты-2102Н.
А,также все программируемые параметры можно читать и писать ,адрес-номер(только не помню шестнадцатеричный или десятичный).
Terring modbus не использовал , пользуюсь Modbus tester,но разницы особой быть не должно.
Сам лично соединял Deltы с ПЛК все должно работать, причем ASCII надо использовать если в сети несколько приборов , если только один VFD можно(и лучше)RTU режим.
буфер приема я не очищаю, т.к. принимаю весь трафик с использованием программы мониторинга ком-порта через отдельный преобразователь ас4.
код рабочий, сомнений нет. если подставить адреса других устройств и их регистры - читается без проблем, только во всех устройствах имеется задержка ответа, а в частотнике - нет. установить задержку ответа в частотнике - нет возможности.
трудно даже себе представить какой должна быть скорость обмена, если в ответе теряются первые четыре байта на скорости 9600. наверное не больше чем 9600/4. попробую убавить - посмотрю что получится.
к сожалению, не обнаружил в присланном коде места, где бы можно было посмотреть буфера приёма/передачи и тем более, сколько где байт теряется.
попробуйте сделать простую программу:
открыть порт,
прочитать все из буфера приёма,
послать посылку в чп,
подождать десяток другой мс и
прочитать все из буфера приёма - и проанализировать что пришло.
повторить то-же самое при связи через 232 порт плк (через преобразователь)