This is topic Modbus RTU in forum Редактор проекта TRACE MODE 6 / at Форум TRACE MODE: техническая поддержка.


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

Posted by sinegub_mihail (Участник № / Member № 4460) on :
 
Уважаемая техническая поддержка!!!

Помогите выяснить с протоколом Modbus RTU, а именно:

1. Существует блок управления котлом КотБус-1-12у, в котором реализована функция Modbus RTU по RS-485, с помощью которой можно получить/оправить данные с/в регистры. Функции Modbus RTU реализована стандартным протоколом Modbus. Получится ли с помощью Trace Mode 6, вытянуть эти данные на компьютер? Какие каналы в Modbus Trace Mode надо использовать ?

Вот пример описания интерфейса блока:

Інтерфейс RS-485
1. Характеристики:
1. Повна сумісність по реалізованим функціям з с протоколом MODBUS.
2. Робота в RTU режимі.
3. Доступні функції:
- 03 Read Holding Registers (Читання регістрів);
- 06 Preset Single Register (Запис одиночного регістра).
4. Контроль парності: EVEN і NO PARITY.
5. Робота у всьому діапазоні швидкостей UART (2400 – 115200 kbit/s).
6. Розпізнання широкотрансляційного режиму без його обробки.
8. Цифровий інтерфейс: RS-485.
9. Передача інформації по 2-х провідній лінії в напівдуплексному режимі на відстань до 1000 м.
10. Можливість настройки комунікаційних параметрів з передньої панелі.

2. Технічні специфікації RS-485 інтерфейсу:
1. Режим роботи: диференційний.
2. Максимальна довжина кабелю: 1200 м.
3. Максимальне значення вихідних напруг приймача: -7V до +12V.
4. Роз’єм: D-shell 9-pin connector DB-9.
3. Установка і наладка
Для організації роботи з блоком, що являється підлеглим пристроєм, через послідовний інтерфейс RS-485 необхідно реалізувати мережу з аналогічних пристроїв, де один з пристроїв буде ведучим. Так само можна працювати з кожним блоком окремо при організації прямого з’єднання “точка – точка” між блоком і ведучим пристроєм. Всі пристрої повинні мати інтерфейс RS-485 і їх комунікаційні параметри повинні бути однаковими.
В якості ведучого пристрою може використовуватися окремий автономний пристрій або персональний комп’ютер з клієнтською програмою полінгу підлеглих пристроїв. Якщо використовуються пристрої з інтерфейсом відмінним від RS-485, то для них необхідно використовувати відповідний перетворювач інтерфейсу. Адреса кожного пристрою в мережі повинна бути індивідуальною.
Фізичне підключення пристроїв необхідно виконувати у відповідності з офіційним документом розробника протоколу MODBUS “MODBUS over Serial Line Specification & Implementation guide V1.0” розділ 3.3 “Electrical Interfaces”.
Всі комунаційні параметри і адреса блоку виставляються в діалоговому режимі в підрозділі ІНТЕРФЕЙС RS485. Після кожної зміни цих параметрів відбувається ініціалізація зв’язку у відповідності з діаграмою стану (розділ 2.5.1.1 MODBUS Message RTU Framing, рис.14 документу “MODBUS over Serial Line Specification & Implementation guide V1.0”).
СЕРВІС \ УСТАНОВКИ \ІНТЕРФЕЙСRS-485 \ ...
... Швидкість ХХХХХХ – значення швидкості передачі даних. Параметр може приймати значення: 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 76800, 115200 б/с, т.у.=19200 б/с.
... Парність немає – контроль парності. Параметр може приймати значення: “немає”, “парність” , т.у.: “немає” контролю парності;
Стоп бітів ХХ - кількість стоп бітів. Значення параметра може змінюватись в межах від 1 до 2, т.у.=2;
... Адреса ХХХ – індивідуальна адреса клієнтського пристрою. Значення параметра може змінюватись в межах від 1 до 247, т.у.=1;
... Затр. відпов. ХХ – пауза після отримання запиту до передачі відповіді. Значення параметра може змінюватись в межах від 0 до 50 мс, т.у.=0 мс;


ІІ. ОПИС РЕГІСТРІВ ОБМІНУ ІНФОРМАЦІЄЮ

2.1. РЕГІСТРИ ПРЕДНАЗНАЧЕНІ ТІЛЬКІ ДЛЯ ЧИТАННЯ:
Регістр 1 - регістр ідентификації виробу:
біти 7.....0 - номер версії програми (хххD);
біти 11....8 - код модифікації виробу ( 10D для Котбус1-10, 12D для Котбус1-12 – паровий котел, 13D для Котбус1-13 ) ;
біти 12...15 - код виробу (0D - Котбус).

Регістр 2 – регістр стану керуємого агрегату (водогрійний котел, паровий котел, сушильний агрегат)
біт 0 – очікування команди на запуск пальника;
біт 1 – заборона запуску пальника;
біт 2 – запуск пальника;
біт 3 – прогрів;
біт 4 – регулювання температури *3;
регулювання тиску пари*1;
біт 5 –аварийная зупинка;
біт 6 – плановая зупинка.;
біт 7 – дозвіл управліня з диспетчерского пункту;
біт 8 – очікування команди на заповнення котла водою *1;
біт 9 – заборона заповнення котла водою *1;
біт 10 – заповнення котла водою *1;
біт 11 – очікування команди “Робота” *2.

Наявність логічної одиниці в одному з бітів 0-6, 8-10 визначає стан агрегату, наявність логічної одиниці у біті 7 дозволяє виконання команд, поступаючих по інтерфейсу (наприклад з диспетчерского пункту), біт 7 встановлюється з клавіатури БУС.
Регістри 3-7 - регістри ознак сигналів,блокующих запуск пальника.
Інтерпритація даных регістрів 3-7 аналогична регістрам 8-12 відповідно, аварійні повідомлення відповідають аварійним повідомленням БУСів наведених в їх технічних описах.

Регістр 8 - регістр ознак аварійных сигналів N 1, логічній одиниці відповідає наявність аварийного cигналу.
біт 0 - tвих. НЕСПР *3;
біт 1 - Рпари ав.>XXX *2 ;
tвих ав.>XXX *3;
біт 2 – Негерм. натікання;
біт 3– Негерм. витікання;
біт 4 –Зап.F>45 Гц/К.З.;
біт 5 -Пал .F>45 Гц/К.З.;
біт 6 -Хибне полум.ЗАП.;
біт 7 -Хибне полум.ПАЛ.;
біт 8 -Погас запальник;
біт 9 -Погас пальник;
біт 10 –Ргазу вх. низький;
біт 11 –Ргазу низький;
біт 12 -Ргазу високий;
біт 13 –Рповітря низький;
біт 14 - Пальник не закр.;
біт 15 - Рпари аварійна *2;
tвих. аварійна *3.

РЕГІСТРИ ПРИЗНАЧЕНІ ДЛЯ ЧИТАННЯ І ЗАПИСУ

З допомогою даних регістрів можна змінити задане значення вихідного параметру, запустити чи зупинити котел . БУС виконує команди дистанційного керування тільки при встановленій в розділі “ІНТЕРФЕЙС RS485” ознаці дистанційного керування "Дисп.упр.ВКЛ". Задане значення регулятору і задане значення обмеження потужності перевіряються на допустимість і ігноруються у випадку виходу за межі допустимих значень.

Регістр 26 - задане значєння температури або тиску пари на выході

біти 0-15 – значення заданої регулятору температури на виході, в градусах С , для водогрійних котлів і сушарок;
– значення заданого регулятору тиску пари, в барах, помножене на 10, для парових котлів.

Регістр 27 – обмеження витрати газу (потужності) в процентах від максимального значення на графіку
Газ-Повітря.

Регістр 28 - регістр режимів роботи:
біт 0 – команда запустти з диспетчерського пункту (логічна 1), значення логічної 1 може бути записане тільки в стані очікування команди “запуск” (готовності до запуску), зберігається під час запуску і роботи, і автоматично скидається в 0 після зупинки агрегату, запис логічної одиниці в даний біт в стані заборони пуску приводить до її автоматичного скидання в 0;
біт 1 – команда зупинити і блокування роботи з диспетчерського пункту (логічна 1- робота заборонена, 0-дозволена). Значення біту блокування роботи з диспетчерського пункту запам’ятовується в енергонезалежній пам’яті і відновлюється після вимикання-вмикання живлення БУСа, заборона запуску може бути знята тільки по команді отриманій по інтерфейсу, після зняття на БУСі дозволу управліня з диспетчерского пункту, тобто піcля переходу в режим місцевого управління значення даного біту ігнорується, що дозволяє виконати запуск агрегату кнопкою “пуск”;

Запуск здійснюється установкою в 1 біта 0 при нульовому біті 1, зупинка установкою в 1 біта 1
біт 2,3– ознака ручного, автоматичного чи дистанційного управління,
10- автоматичне, 01- дистанційне 0-ручне.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В соответствии с приведенным описанием надо использовать компоненты Modbus RTU с функциями Rout_word (3) для чтения и W_word(6) - для записи.
Если адреса регистров в памяти начинаются с 1, то надо задавть их в настройках компонентов на 1 меньше: для регистра 26, например, надо задавать 25.
 
Posted by sinegub_mihail (Участник № / Member № 4460) on :
 
Большое спасибо, хорошо работаете, быстро ответили!
 
Posted by sinegub_mihail (Участник № / Member № 4460) on :
 
Уточните пожалуйста, подключаем по протоколу Modbus RTU микропроцессорный регулятор к Trace Mode 6 , в описании к регулятору написано, регулятор поддерживает следующие функции:
03 - Чтение регистра(тов);
06 - Запись в один регистр.
Поле данных сообщения, посылаемого SCADA системой удаленному устройству содержит добавочную информацию, которая необходима slave-устройству для детализации функции. Она включает:
1. начальный адрес регистра и количество регистров для функции 03 (чтение);
2. адрес регистра и значение этого регистра для функции 06 (запись)

Поле данных сообщения, посылаемого в ответ удаленным контролером содержит:
1. количество байт ответа на функцию 03 и содержимое запрашиваемых регистров;
2. адрес регистра и значения этого регистра для функции 06.

В источниках/приемниках Trace Mode 6 нужно создавать Rout_word (3) для чтения и W_word(6) - для записи ???
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Именно так.
Надо только учесть, что возможно смещение адресов у Modbus-переменных устройства по отношению к стандарту Modbus? на который ориентируется драйвер Trace Mode 6.
Иногда адреса в устройстве Modbus Slave начинаются не с 0, как в стандарте, а с 1.
В этом случае для обращения к переменной устройства с адресом K надо задавать в Modbus-"Источнике/Приемнике" "Канал" = K-1.
 
Posted by sinegub_mihail (Участник № / Member № 4460) on :
 
Поняли, спасибо...
 
Posted by sinegub_mihail (Участник № / Member № 4460) on :
 
Как можно реализовать контроль каждого устройства по Modbus RTU, в сети 4 устройства подключены в общую шину RS-485. Контроль самой сети Modbus RTU настроили но и помучились сбросом ошибки переменной @e_Modbus в автоматическом режиме. При отключении из сети любого устройства эта переменная выдает ошибку всей сети.
Как точнее проконтролировать по устройству, чтобы знать где отказ ????
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Нужно контролировать по атрибуту "Достоверность" канала, связанного с соответствующим устройством.
 
Posted by sinegub_mihail (Участник № / Member № 4460) on :
 
Добрый день.

Есть вопрос по источникам/приемникам

Пытаюсь считать регистр типа МL-Memory Long Integer с Unitronics Vision V1040. Данные передаются как с положительным так и с отрицательным значением.
Какой источник применить? Применял все float, в канале пишет бесконечность.

В описании переменной этого типа:
Memory Long Integer (ML)
Memory Long Integers are 32-bit integer operands that may be signed or
unsigned, with a range of -2,147,483,648 to +2,147,483,647.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Надо с считать функцией FLOAT, но привязать к каналу HEX32.
 
Posted by sinegub_mihail (Участник № / Member № 4460) on :
 
А стандартной функции что нету?
 
Posted by Nico (Участник № / Member № 5342) on :
 
то что назвали "функцией FLOAT"
это чтение 3 или 4 функциями ModBus сразу 2х регистров( 1 рег по стандарту 2 байта)
с автоматическим преобразованием в целое 32бита или Float32 в зависимости от привязанного канала.
 
Posted by stalker7 (Участник № / Member № 6381) on :
 
Здравствуйте.В контроллере WinPac8831 стоит модуль i-87041w(дискретный выход),в этот источник-приемник записываются значения с канала HEX16(тип-выход),теперь для данного источника-приемника создается еще один канал Hex16(тип чтение) для контроля достоверности модуля.Запускаем МРВ,вытаскиваем модуль из слота контроллера...при этом в канале,который отвечает за достоверность значение не меняется!!! Как в этом случае проверять достоверность данного модуля???
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Данный пост не соответствует теме топика.

Достоверность обмена с модулем (запись/чтение) проверяется по признаку достоверности у соответствующего канала.
При недостоверном чтении значение канала INPUT не изменяется.
Достоверность отработки модулем своей функции не определяется.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2