Просмотр полной версии : Проблемы с опросом по RS-485
jamaicarso
15.03.2026, 00:36
Всем привет!
Помогите разобраться с проблемкой.
Написан проект для ПР103-24.1610.06. ПР опрашивает по modbus rtu 16 устройств считывая по три параметра с плавающей запятой и 16 устройств по одному параметру значение целочисленное. эти значения я перекладываю в сетевые переменные, с присвоением регистров, учитывая количество регистров для значений с плавающей запятой. Вроде все должно работать, я загрузил проект в ПР подключил ко входу rs485 вместо устройств преобразователь интерфейсов и имитировал работу датчика программой modbus slave, все опрашивается, тут проблем нет. Далее мне пришлось сменить целевую платформу на Написан проект для ПР103-24.1610.03 т.к. на объекте стоят именно такие ПРки, по идее это никак не должно влиять на работоспособность проекта. Однако после записи проекта в ПР103-24.1610.03 у меня перестали считываться показания второй группы датчиков с целочисленными значениями. Изначально я считывал показания из этих 16 устройств как значения с плавающей запятой, но из-за того что не все модификации датчиков их поддерживают перешел на регистры с целочисленными значениями, оставив номера регистров сетевых переменных прежними, т.е. если раньше они у меня писались по порядку к примеру 16416-17, 16418-19, 16420-21 и т.д., то теперь эти же регистры но для целочисленного 16416, 16418, 16419. В освободившиеся регистры записываю статус опроса, но ради интереса их тоже удалил, также удалил все кроме этих устройств, но все равно не читаются. С помощью программы Open Modscan я эти устройства спокойно опрашиваю. Писать заново проект конкретно под эту ПР не хотелось бы, хотя я накидал несколько датчиков в новый проект, в этом случает все читается. В какую сторону смотреть?
Спасибо
Смотреть надо в сторону номеров регистров и вида данных туда записанных. Целочисленные могут быть и 16 бит (1 регистр) и 32 бита (2 регистра). И что это за датчики такие, что от модификации типами данных различаются?
Сергей0308
15.03.2026, 03:43
Всем привет!
Помогите разобраться с проблемкой.
Написан проект для ПР103-24.1610.06. ПР опрашивает по modbus rtu 16 устройств считывая по три параметра с плавающей запятой и 16 устройств по одному параметру значение целочисленное. эти значения я перекладываю в сетевые переменные, с присвоением регистров, учитывая количество регистров для значений с плавающей запятой. Вроде все должно работать, я загрузил проект в ПР подключил ко входу rs485 вместо устройств преобразователь интерфейсов и имитировал работу датчика программой modbus slave, все опрашивается, тут проблем нет. Далее мне пришлось сменить целевую платформу на Написан проект для ПР103-24.1610.03 т.к. на объекте стоят именно такие ПРки, по идее это никак не должно влиять на работоспособность проекта. Однако после записи проекта в ПР103-24.1610.03 у меня перестали считываться показания второй группы датчиков с целочисленными значениями. Изначально я считывал показания из этих 16 устройств как значения с плавающей запятой, но из-за того что не все модификации датчиков их поддерживают перешел на регистры с целочисленными значениями, оставив номера регистров сетевых переменных прежними, т.е. если раньше они у меня писались по порядку к примеру 16416-17, 16418-19, 16420-21 и т.д., то теперь эти же регистры но для целочисленного 16416, 16418, 16419. В освободившиеся регистры записываю статус опроса, но ради интереса их тоже удалил, также удалил все кроме этих устройств, но все равно не читаются. С помощью программы Open Modscan я эти устройства спокойно опрашиваю. Писать заново проект конкретно под эту ПР не хотелось бы, хотя я накидал несколько датчиков в новый проект, в этом случает все читается. В какую сторону смотреть?
Спасибо
Лечение по фотографии, даже без фотографии, это Вы думаете способствует процессу?
witalexxx
26.03.2026, 15:18
Здравствуйте. По вопросу проблем с опросом. У меня есть модуль расширения дискретных входов, модель MR-D/O-1 от компании Евроавтоматика ФИФ. Столкнулся проблемой, что в режиме Мастер ПР-200 не могу опростить этот модуль, опрос по RS-485 осуществляется чтением состояния дискретных входов модуля (всего 6, Bool) по адресу с 4000 по 4005 (Dec), функция чтения 0х02 (Read Discrete Inputs). Понятное дело, что слот в ПР-200 - мастер, все настройки опроса соответствуют параметрам настройки модуля (адрес, скорость и т.д.).
88607
Но при этом, модуль напрямую опрашивается любым ОРС сервером с такими же параметрами опроса (те же адреса и такие же регистром чтения).
88608
Получается, что ПР200 в режиме мастер не может читать булевые переменные?! Потому что когда я ПР-200 в режиме мастер делаю опрос конфигурации модуля (там переменные имеют вид INT, адреса с 0 по 4, функция 0х03/0Х16), а не состояния дискретных входов, у меня ПР200 сетевую конфигурацию модуля опрашивает.
88609
Здравствуйте. По вопросу проблем с опросом. У меня есть модуль расширения дискретных входов, модель MR-D/O-1 от компании Евроавтоматика ФИФ. Столкнулся проблемой, что в режиме Мастер ПР-200 не могу опростить этот модуль, опрос по RS-485 осуществляется чтением состояния дискретных входов модуля (всего 6, Bool) по адресу с 4000 по 4005 (Dec), функция чтения 0х02 (Read Discrete Inputs). Понятное дело, что слот в ПР-200 - мастер, все настройки опроса соответствуют параметрам настройки модуля (адрес, скорость и т.д.).
88607
Но при этом, модуль напрямую опрашивается любым ОРС сервером с такими же параметрами опроса (те же адреса и такие же регистром чтения).
88608
Получается, что ПР200 в режиме мастер не может читать булевые переменные?! Потому что когда я ПР-200 в режиме мастер делаю опрос конфигурации модуля (там переменные имеют вид INT, адреса с 0 по 4, функция 0х03/0Х16), а не состояния дискретных входов, у меня ПР200 сетевую конфигурацию модуля опрашивает.
88609
Попробуйте задать адрес: регистр 250, бит 0; регистр 250, бит 1; и т.д.
witalexxx
30.03.2026, 11:14
Спасибо, уважаемый Dimensy, пошел опрос булевских переменных, странно, что модуль MR-D/O- имеет регистры по руководству 2000-2005, а читается мастером ПР-200 по адресу 250, бит 0,1..5.
88653
Сергей0308
30.03.2026, 11:54
Спасибо, уважаемый Dimensy, пошел опрос булевских переменных, странно, что модуль MR-D/O- имеет регистры по руководству 2000-2005, а читается мастером ПР-200 по адресу 250, бит 0,1..5.
88653
Вообще-то не 2000-2005, а 4000-4005, так на вашем скрине написано, короче 4000 делим на 16, получаем 250, всё логично!
Спасибо, уважаемый Dimensy, пошел опрос булевских переменных, странно, что модуль MR-D/O- имеет регистры по руководству 2000-2005, а читается мастером ПР-200 по адресу 250, бит 0,1..5.
Особенность ПРок, которая, почему-то не прописана в руководстве
регистр = coil / 16
бит = coil mod 16
Королев Кирилл
30.03.2026, 13:48
Особенность ПРок, которая, почему-то не прописана в руководстве
регистр = coil / 16
бит = coil mod 16
Ну не наговаривайте)
88655
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot