Спасибо за наводку, я с 0х02 и начинал, не получалось. Сейчас еще раз все попробую и отпишусь.
11_Read Discrete Inputs 0x02 tM-P3R3.jpg
Спасибо за наводку, я с 0х02 и начинал, не получалось. Сейчас еще раз все попробую и отпишусь.
11_Read Discrete Inputs 0x02 tM-P3R3.jpg
Пробую 0х02. Я с этой функции и начинал, но не работало. В поисках хоть чего-то рабочего ушел в 0х01, но и там не получилось.
Регистры:
11_Read Discrete Inputs 0x02 tM-P3R3.jpg
Настройки обмена (птички перепробовал во всех комбинациях 00 / 01 / 10 / 11):
10_настройка опроса в ПР.jpg
Работа сниффера:
12_скрин работы сниффера.jpg
OwenLogic onine:
13_OwenLogic Online.jpg
Результат то же: запрос формируется корректно, ответ выглядит корректно, но в OL переменная не работает, бит состояния связи в 0, состояние DI0 в 1, поскольку загружается состояние на момент запуска программы после загрузки ПО и остается таковым до последующей перезагрузки или переподачи питания.
Давайте заглянем сюда?
Owen3.jpg
Скрин настроек:
14_настройки RS485.jpg
По идее, если бы я неверно задал параметры, то через сниффер у меня не проходили бы запросы/ответы.
Я бы на вашем месте начал с чтения 0 регистра и прочитал число 29 - адрес модуля, то есть наладил связь и расставил галки перестановки байт и больше их не трогал. Сеть сделал бы по умолчанию 9600 8N1.
Потом бы занялся чтением бит.
Решение проблемы:
1. По рекомендациям kondor3000 изменил настройки сети:
20_настройки RS485.jpg
2. Настройки модуля tM
21_настройки tM.jpg
3. Настройки сниффера
22_настройки сниффера.jpg
4. OwenLogic онлайн (работает, счастье-то какое!!!)
23_OwenLogic Online.jpg
Что изменилось: скорость с 38400 на 9600, контроль четности с Even на None. Это и решило проблему, сейчас скорость подниму до 38400 и отпишусь.
kondor3000: вам огромная благодарность! я даже не подозревал копать в этом направлении...
Поднял скорость до 38400, как и было: все работает. Получается, что помогло изменение Even на None. Более не менялось ничего.
Вывод у меня такой:
1. ПР200 формировало запрос верно (видно по снифферу)
2. tM формировал и отдавал ответ верно (видно по снифферу)
3. по непонятным причинам ПР200 ответ tM не видело
После изменения Even на None ПР200 ответы от tM начало воспринимать.
Согласен, писали про Even. Но я это понял как вопрос "а у вас действительно везде Even, вы не забыли его везде включить?". Скрином я показал, что "нет, не забыл, везде Even". Мысли поменять на None у меня тогда не возникло. В Вашем случае вы четко написали: "поставь 9600 8N1 и посмотри что будет". А будет чудо![]()