мучаюсь с тойже проблемой что и автор , нет связи через rs, если вы решили данную проблему подскажите как, а то уже собрался в финляндию производителю звонить, никак не найду ответ?
мучаюсь с тойже проблемой что и автор , нет связи через rs, если вы решили данную проблему подскажите как, а то уже собрался в финляндию производителю звонить, никак не найду ответ?
Проблему пока не решил, т.к. с конца прошлой недели временно пропала возможность экспериментировать. Писал производителю (Русэлком), там ответили следующее: "У нас нет данных о работе NXL(RVL) с контроллером Овен ПЛК 160", предложили возможный вариант решения: "Как вариант, изменить адреса на 1 меньше. Т.е. считывать 32001 из 32000". Но мне он не помог.
Сегодня собираюсь попробовать связаться не через встроенный функционал контроллера (вдруг, в нем проблема, т.к. на самом ПЧ счетчик "плохих" пакетов тикает исправно при попытке связи), а через библиотеку modbus.lib. Собсно, с ней и разбирался последние пару дней. :-) О результатах отпишусь.
Последний раз редактировалось s3rjke; 02.10.2012 в 11:10.
звонил в финляндию на завод сказали что адрес слейва может быть +-1 из- за номерации с 0 -- не помогло.
Хм. Я, вроде, пробовал крутить в бОльшую сторону на самом контроллере (т.к. в меньшую у меня было другое устройство). Вроде, не помогало. :-) Но тогда я вообще кучу параметров вертел по-разному, может быть, неудачно так совпало.
Через modbus.lib вроде че-то показывает, но непонятно, что именно. Возможно, просто мусор. Да и счетчик "правильных" пакетов на ПЧ с нулевой отметки не сдвигается. Завтра попробую с адресом слейва поэкспериментировать.
Пример запроса для чтения из регистров 42001 —42003 от ведомого устройства 1:
АДРЕС 01 hex Адрес ведомого устройства 1 hex (= 1)
ФУНКЦИЯ 03 hex Функция 03 hex (= 3)
Начальный адрес HI 07 hex
Начальный адрес LO D0 hex
Начальный адрес 07d0 hex (= 2000)
Число точек HI 00 hex
ДАННЫЕ
Число точек LO 03 hex
Количество регистров 0003 hex (= 3)
ПРОВЕРКА CRC HI 05 hex
ОШИБКИ CRC LO 46 hex
Для чтения 42000 нужно опрашивать регистр 2000(+-1)
Увы, продвижения пока нет. Единственное, удалось определить некоторую закономерность. Закономерность, при которой работает хотя бы счетчик "плохих" пакетов на частотнике.
Во-первых, на частотнике выставлен адрес modbus = 3. При этом в среде codesys у устройства universal modbus device нужно выставить адрес слэйва = 4.
Во-вторых, скорость обмена на частотнике выставлена = 5 (т.е. 9600, если верить инструкции). Но счетчик крутится тогда, когда в codesys стоит скорость 19200. Возможно, в инструкции наврали, и 5 соответствует скорости 19200.
В параметре 3.1 нужно выставить =fieldbus!
затем внимательно прочтите инструкцию.
У меня сейчас нет копии файла параметров. Как нибудь сниму, выложу.
Но заработало с первого раза.
free picture hosting
Последний раз редактировалось lara197a; 03.10.2012 в 10:53. Причина: =fieldbus в некоторых версиях прошивок 3, в некоторых 2