Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2Vtzqx6kV7S
IPB IPB
Проектирование, монтаж, наладка, сервис


Здравствуйте, гость ( Вход | Регистрация )

- Стандарт НП «АВОК» 7.11-2024
«Рекомендации по проектированию инженерных систем
дошкольных образовательных организаций»

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
 
Добавить ответ в эту темуОткрыть тему
> Upac-7186eg, Связь с Modbus RTU Slave и модулями по RS-485
Reasoning
сообщение 21.7.2012, 14:50
Сообщение #1





Группа: New
Сообщений: 12
Регистрация: 21.7.2012
Пользователь №: 157332



Здравствуйте, уважаемые специалисты!
Ситуация следующая: имеется контроллер uPAC-7186EG, связанный с модулями ввода/вывода - i-7k по RS-485. Протокол обмена между модулями с контроллером, насколько мне известно, DCON.
Контроллер модули видит, все работает прекрасно.
Проблема возникла в необходимости связать контроллер со слейвом по Modbus RTU. Кинули витую пару на тот же COM-порт RS-485 (поскольку у этого контроллера их всего два COM1 - RS-232 и COM2 - RS-485), далее добавил в программе (используется IsaGRAF 3.55) в меню "Соединение В/В" оборудование 'mbus: Modbus RTU master' настроив на работу со слейвом. После всех манипуляций конфигурация "Соединение В/В" выглядит следующим образом:

Параметры соединения с модулями:


Параметры соединения со слейвом по Modbus RTU:


В результате, при online отладке, IsaGRAF выкидывает в лог сообщение "Не могу открыть плату ... №10" - т.е. не видит слейв, но работает с модулями. Однако, если поменять местами оборудование 'bus7000c' и 'mbus' в "Соединение В/В", IsaGRAF снова фыркнет "Не могу открыть плату ... №10", т.е. на этот раз покажет что есть связь со слейвом, но нет с модулями! Хорошо, думаю, давайте хотя бы протестируем обмен со слейвом. Добавляю в программу функциональный блок MBUS_R со следующими параметрами: SLAVE_2010 (где 2 - номер COM-порта, 10 - NET_iD слейва (замечу, что NET_iD слейва выбран уникальный, т.е. не пересекается с идентификатором модулей) ), ADDR_1 (стартовый адрес регистра - 1), CODE_3 (функция чтения регистров хранения - 3), NUM_12 - читать 12 регистров; значения на выходе записываются в 12 internal integers. Запускаю отладку, связь со слейвом есть и шлем запросы на чтение регистров, "на том конце" слейв принимает запрос, отвечает но содержимое 12ти internal integers все по нулям! Статус блока "MBUS_R" - FALSE, т.е. ответы от слейва контроллер не получает (?).
Думаю, что вины слейва в этом нет, пробовал через конвертор RS-485-to-USB с ноутбука читать регистры слейва - все ОК.
Ну и собственнно, вопрос - как быть? helpsmilie.gif Сталкивался ли кто-то с опытом подвязки слейвов на данный контроллер по Modbus RTU, при этом сохраняя работу с модулями? Проблема программного рода или не стоит вообще пытаться на один COM2-порт вешать и модуля и слейвы?
Буду признателен за любые советы.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Reasoning
сообщение 21.7.2012, 16:14
Сообщение #2





Группа: New
Сообщений: 12
Регистрация: 21.7.2012
Пользователь №: 157332



Сейчас прочитал в спецификации Modbus RTU что при отстутствии проверки четности требуется выставлять два стоповых бита. Может быть причина в этом?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Reasoning
сообщение 22.7.2012, 15:44
Сообщение #3





Группа: New
Сообщений: 12
Регистрация: 21.7.2012
Пользователь №: 157332



Нашел в факе Why my ISaGRAF project can not connect Modbus slave device correctly? #6: The set “port_no” is occupied by other functions. For ex, if using “bus7000b” at the same port No...
Как раз моя ситуация. Значит, никак не повесить слейв на тот COM-порт, где уже висят модули sad.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
SIM
сообщение 28.7.2012, 13:45
Сообщение #4





Группа: Участники форума
Сообщений: 398
Регистрация: 7.4.2006
Из: Белгород
Пользователь №: 2568



Цитата(Reasoning @ 21.7.2012, 17:14) *
Сейчас прочитал в спецификации Modbus RTU что при отстутствии проверки четности требуется выставлять два стоповых бита.

Так помоему никто не делает, везде стандартные параметры СОМ порта 8, N, 1 (8 бит данных, нет проверки четности, 1 стоп бит).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
AlexG
сообщение 30.7.2012, 19:10
Сообщение #5





Группа: Участники форума
Сообщений: 831
Регистрация: 20.6.2006
Пользователь №: 3194



Цитата(SIM @ 28.7.2012, 13:45) *
Так помоему никто не делает, везде стандартные параметры СОМ порта 8, N, 1 (8 бит данных, нет проверки четности, 1 стоп бит).


Не то что-бы совсем никто. В наших изделиях c Modbus-RTU в соответствии со стандартом предусмотрен режим 8, N, 2. А чтобы работать в одной сети с устройствами тех кто на стандарт забил пришлось добавить режим 8, N, 1.5 (1 стоп при приеме, 2 стопа при передаче)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274




Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqvWgxEU

ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvybpdW

Реклама: ООО «СЛ-ЛАЗЕР» ИНН 7727447267 | erid: 2VtzquvhFWx
Последние сообщения Форума






RSS Текстовая версия Сейчас: 3.8.2025, 9:16
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных