This is topic Вопрос про ModBusRTU in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/000477.html

Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
 
Здравствуйте, помогите начинающему разработчику.
У меня есть несколько вопросов:
1. Есть функции R_Exception(7), и например Rout_Float(3) и Rin_Float(4). Что означают эти функции?
2. Можно ли в режиме реального времени изменить сетевой адрес устройства, если можно то каким образом?
3. Как уведомить пользователя о том, что запрос на запись параметра по какому-то адресу не прошел?

Заранее благодарен.
С уважением Сидоров АЛександр
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. Описание функций можно посмотреть здесь
http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf

2. Нет, нельзя

3. В канале должен появиться признак недостоверности (атрибут 4, I)
 
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
 
Спасибо. Но я не понимаю, почему нельзя изменить сетевой адрес. Ведь сам стандарт ModBus против этого ничего не имеет, это ограничения TM?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В Trace Mode изменение в реальном времени не предусмотрено. Для каких целей Вам это необходимо?
 
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
 
Для управления параметрами конфигурации блока контроля удаленно. Т.е. если сетевой адрес устройства изменился, то нужно будет переделывать весь проект? Я имею ввиду для функций ModBus нужно будет изменить все сетевые адреса в ручную.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Еще можно изменить настройки файла ip_modbus, который находится в папке узла. Он подчитывается во время загрузки узла в монитор.
 
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
 
Я имею ввиду не ModBus TCP/IP, ModBusRTU
 
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
 
Я имею ввиду не ModBus TCP/IP, а ModBusRTU. Простите, опечатался.
 
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
 
И еще хотел бы спросить, как делать групповой запрос, для нескольких каналов? И как его потом "распихивать" по каналам?
 
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
 
И еще хотел бы спросить, как делать групповой запрос, для нескольких каналов? И как его потом "распихивать" по каналам?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Тогда можно, изменив атрибут (94, IA_C1, МРВ – C1) C1 – значение первого байта (0x00000000FF00) удаленного адреса.

Групповой запрос создается автоматически, если:
1) считываемые регистры должны идти подряд
2) индексы каналов должны монотонно возрастать

Также групповой запрос можно создать с помощью канала Call с типом вызова ChGroupReq.
 
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
 
Я не совсем понимаю. Например, у меня есть, 12 каналов, которые имеют индексы по возрастанию. И для каждого канала я применяю функцию Rin_Float(4) для опроса устройства (т.е. у меня 12 Rin_Float(4)). А как сделать, чтобы была одна, и значения расходились на каждый канал?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Когда Вы делаете групповой запрос, то в результате источником\приемников все равно 12, но запрашивает данные только первый и распределяет их по каналам.
 
Posted by Сидоров Александр Александрович (Участник № / Member № 3279) on :
 
Спасибо. Все получилось.
 
Posted by Вяткин Н В (Участник № / Member № 1853) on :
 
Вопрос индексы каналов это ID каналов?

"Тогда можно, изменив атрибут (94, IA_C1, МРВ – C1) C1 – значение первого байта (0x00000000FF00) удаленного адреса.

Групповой запрос создается автоматически, если:
1) считываемые регистры должны идти подряд
2) индексы каналов должны монотонно возрастать

Также групповой запрос можно создать с помощью канала Call с типом вызова ChGroupReq"
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Да, здесь подразумевалось ID каналов.
 
Posted by Вяткин Н В (Участник № / Member № 1853) on :
 
"индексы каналов должны монотонно возрастать"

это значит возростать с различным шагом или идти подряд, так же как регистры?

что происходит, если этой монотонности нет?
опрос идет по каждому каналу отдельно?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Возрастать означает, что ID канала с большим номером регистра должен быть больше ID канала с меньшим. Т.е. "возрастать с различным шагом".

Если такой монотонности нет, то групповой запрос не создается.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2