Помогите выяснить с протоколом 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 відповідно, аварійні повідомлення відповідають аварійним повідомленням БУСів наведених в їх технічних описах.
З допомогою даних регістрів можна змінити задане значення вихідного параметру, запустити чи зупинити котел . БУС виконує команди дистанційного керування тільки при встановленій в розділі “ІНТЕРФЕЙС 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-ручне.
Сообщения / Posts 105 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
В соответствии с приведенным описанием надо использовать компоненты Modbus RTU с функциями Rout_word (3) для чтения и W_word(6) - для записи. Если адреса регистров в памяти начинаются с 1, то надо задавть их в настройках компонентов на 1 меньше: для регистра 26, например, надо задавать 25.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sinegub_mihail
Forum Haunter / Завсегдатай форума
Участник № / Member № 4460
sinegub_mihail
Forum Haunter / Завсегдатай форума
Участник № / Member № 4460
отправлено / posted
Уточните пожалуйста, подключаем по протоколу 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) - для записи ???
Сообщения / Posts 105 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Именно так. Надо только учесть, что возможно смещение адресов у Modbus-переменных устройства по отношению к стандарту Modbus? на который ориентируется драйвер Trace Mode 6. Иногда адреса в устройстве Modbus Slave начинаются не с 0, как в стандарте, а с 1. В этом случае для обращения к переменной устройства с адресом K надо задавать в Modbus-"Источнике/Приемнике" "Канал" = K-1.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sinegub_mihail
Forum Haunter / Завсегдатай форума
Участник № / Member № 4460
sinegub_mihail
Forum Haunter / Завсегдатай форума
Участник № / Member № 4460
отправлено / posted
Как можно реализовать контроль каждого устройства по Modbus RTU, в сети 4 устройства подключены в общую шину RS-485. Контроль самой сети Modbus RTU настроили но и помучились сбросом ошибки переменной @e_Modbus в автоматическом режиме. При отключении из сети любого устройства эта переменная выдает ошибку всей сети. Как точнее проконтролировать по устройству, чтобы знать где отказ ????
Сообщения / Posts 105 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Нужно контролировать по атрибуту "Достоверность" канала, связанного с соответствующим устройством.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
sinegub_mihail
Forum Haunter / Завсегдатай форума
Участник № / Member № 4460
отправлено / posted
Добрый день.
Есть вопрос по источникам/приемникам
Пытаюсь считать регистр типа М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.
Сообщения / Posts 105 | Из / From: Украина
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
то что назвали "функцией FLOAT" это чтение 3 или 4 функциями ModBus сразу 2х регистров( 1 рег по стандарту 2 байта) с автоматическим преобразованием в целое 32бита или Float32 в зависимости от привязанного канала.
Сообщения / Posts 873 | Из / From: Россия
| IP / IP: IP адрес / IP address |
stalker7
Junior Member / Новичок
Участник № / Member № 6381
отправлено / posted
Здравствуйте.В контроллере WinPac8831 стоит модуль i-87041w(дискретный выход),в этот источник-приемник записываются значения с канала HEX16(тип-выход),теперь для данного источника-приемника создается еще один канал Hex16(тип чтение) для контроля достоверности модуля.Запускаем МРВ,вытаскиваем модуль из слота контроллера...при этом в канале,который отвечает за достоверность значение не меняется!!! Как в этом случае проверять достоверность данного модуля???
Сообщения / Posts 5 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Данный пост не соответствует теме топика.
Достоверность обмена с модулем (запись/чтение) проверяется по признаку достоверности у соответствующего канала. При недостоверном чтении значение канала INPUT не изменяется. Достоверность отработки модулем своей функции не определяется.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |