PDA

Просмотр полной версии : Опрос МВА8 по MODBUS RTU контроллером КР-500М фирмы Волмаг



bratan
28.01.2024, 05:26
К полевой сети контроллера КР-500М подключил МВА8, все настроил, опрос идет. Вопрос в чтении регистров МВА8, в документации указано:
73137
В программе на контроллер использую Алгоблоки MBS и ЧМД, в ЧМД параметр Nадр (адрес для чтения) ставлю 3, тогда данные передаются, но по документации на МВА, я должен поставить 4...
Кто-нибудь сталкивался с подключением к КР-500М по Modbus приборов разных производителей?

bratan
28.01.2024, 08:52
по начальному адресу 3 принимется прямо точные значения если менять воздействие на датчик подключенный к мва8?
Может дело в

Да, передаются точные значения, аналоговый сигнал и дискрет.
Пробовал менять модификатор типа на MBS(14), результат всегда одинаковый.

bratan
28.01.2024, 09:26
по начальному адресу 3 принимется прямо точные значения если менять воздействие на датчик подключенный к мва8?
Может дело в

Возник еще один вопрос:
Так же в КР-500М пытаюсь прочитать данные ТМ5103 (Элемер), Nадр (адрес для чтения) ставлю 1280 (73141), на выходе получается хаотично меняющаяся цифра от 0 до +-большие значения (73140).

Сергей0308
28.01.2024, 10:36
К полевой сети контроллера КР-500М подключил МВА8, все настроил, опрос идет. Вопрос в чтении регистров МВА8, в документации указано:
73137
В программе на контроллер использую Алгоблоки MBS и ЧМД, в ЧМД параметр Nадр (адрес для чтения) ставлю 3, тогда данные передаются, но по документации на МВА, я должен поставить 4...
Кто-нибудь сталкивался с подключением к КР-500М по Modbus приборов разных производителей?

Может Вам и INT-а достаточно в первом регистре, если значения не космических масштабов? В два раза меньше регистров потребуется для передачи.
Главное(для Вас) байты не надо "тасовать", если проблемы с этим возникают, в смысле, всё сразу правильно покажет!

Валенок
28.01.2024, 11:45
В программе на контроллер использую Алгоблоки MBS и ЧМД, в ЧМД параметр Nадр (адрес для чтения) ставлю 3, тогда данные передаются, но по документации на МВА, я должен поставить 4...

Читать с регистра именно 4 (четыре).
(кроме случаев когда ПО, за каким-то, неявно прибавляет 1 адресу регистра непосредственно в пакете запроса)

Читая с регистра 3 и приводя порядок данных только из сетевого в порядок локальной машины в соответствии с протоколом модбас вы получает похожие но неправильные данные (точностью около 0.4%)


Вещественное число в линию .....1-0-3-2.

Для (от) МВА8 сетевой флоат - 3210 (4321 по человечески)


----

контроллером КР-500М фирмы Волмаг
Рекомендую сначала выяснить порядок байт для флоат на вашем железе (яйца с тупых или острых концов) безотносительно модбас или каких-то там протоколов

bratan
06.02.2024, 20:05
Так как в на форумах и в интернете почти ни чего не нашел по поводу подключения к КР-500М приборов по ModBus RTU, поделюсь своими наработками, может быть кому-нибудь пригодится.

MasterSCADA 4 + КР-500М + МВА8 + ТМ 5103
Схема подключения представлена на рисунке 1. К МВА8 подключена термопара и два сухих контакта, к ТМ 5103 подключено термосопротивление.

73325

Рисунок 1 – Схема подключения
Сетевые параметры ТМ 5103:
Адрес – 1;
Скорость обмена – 9.6;
Паритет – нет;
Стоп-бит в посылке – 2;
Тип протокола: ModBus RTU.

Сетевые параметры МВА8:
Адрес – 16;
Скорость обмена – 9.6;
Паритет – нет;
Стоп-бит в посылке – 1;
Тип протокола: ModBus RTU.

Сетевые параметры КР-500М (см. рисунок 2):
IP адрес – 192.168.3.45;
ModBus TCP порт – 501.


73326

Рисунок 2 – Сетевые параметры КР-500М

Параметры RS-485 КР-500М ПС3 (см. рисунок 3):
Скорость обмена – 9.6;
Таймаут – 1000;
Паритет – нет;
Стоп-бит в посылке – 2.


73327

Рисунок 3 – Параметры RS-485 КР-500М ПС3

Параметры RS-485 КР-500М ПС4 (см. рисунок 4):
Скорость обмена – 9.6;
Таймаут – 1000;
Паритет – нет;
Стоп-бит в посылке – 1.


73328

Рисунок 4 – Параметры RS-485 КР-500М ПС4

Программа в контроллер КР-500М
Для обмена данными по ModBus RTU в контроллере КР-500М используют алгоблоки: MBS (14) – MODBUS обмен и ЧМД (15) – MODBUS-чтение.
MBS (14) – MODBUS обмен
Назначение:
Алгоритм применяется для обеспечения обмена с устройством полевой сети контроллера, работающего по протоколу Modbus client (Modbus ведущий). Алгоритм предназначен для совместного использования с алгоритмами ЧМД(15) и ЗМД(16). Алгоритм MBS осуществляет обмен с одним устройством полевой сети MODBUS RTU одной или несколькими командами.
Описание алгоритма:
Модификатор размера МР = 00 – 60, модификатор типа МТ = 1 – 4, масштаб времени МВ отсутствует.
Входы-выходы алгоритма MBS приведены на рисунке 5.


73329

Рисунок 5 – Входы-выходы алгоритма MBS

Один алгоритм MBS применяется для обмена с одним устройством полевой сети MODBUS RTU одной или несколькими командами.
Модификатор типа задает перестановки байт и слов для устройств, работающих по нестандартному протоколу. Модификатор типа 1 - значения передаются в неизменном виде 0-1-2-3, модификатор типа 2 - в значении переставляются байты 1-0-3-2, модификатор типа 3 - в значении переставляются слова 2-3-0-1, модификатор типа 4 - в значении переставляются байты и слова 3-2-1-0.
На входе Nпс задаётся номер полевой сети контроллера.
На входе Nустр задаётся номер устройства полевой сети контроллера.
На входе Т задаётся период опроса одного и того же устройства в миллисекундах. При Т = 0 означает, что при получении ответа сразу формируется следующая команда, При Т = 200 следующая команда формируется через 200 мс.
В резервированном контроллере время Т необходимо задавать в 2 раза больше реального времени цикла контроллера для обеспечения синхронизации работы контроллеров.
Количество команд определяется модификатором обмена МР. Для обеспечения обмена входы С.i алгоритма необходимо связать с первым выходом алгоблока содержащего алгоритм ЧМД(15) или ЗМД(16).
На входах Dп.i устанавливается признак передачи команды. Если Ск.i = 0, то i-ая команда не посылается.
Алгоритм MBS работает следующим образом:
1) определяет номер алгоблока и тип алгоритма связанного с входом С.i;
2) посылает команду чтения или записи в соответствии с типом алгоритма ЧМД(15) или ЗМД(16);
3) при получении ответа, записывает данные в алгоблок с алгоритмом ЧМД(15) или ЗМД(16);
4) ожидает истечения времени заданного на входе Т;
5) выбирается следующий вход С.i, на котором Ск.i = 1 и переходит к шагу 1.
На выходе Dош формируется признак ошибки работы алгоритма.
На выходе Nош формируется код ошибки работы алгоритма в соответствии с таблицей.
На выходе Nком выводится порядковый номер текущей обрабатываемой команды.
С версии 56.02 контроллеров БК-500М, БК-500К-(00,01,05,06), МК-500-10(20) и версии 011 контроллера МДА-Р-22 при отрицательных значениях Nпс и/или Nустр алгоритм отключен от обмена с устройством по полевой сети, при этом выход Dош обнулен, на выходе Nош выдается код 95.

ЧМД (15) – MODBUS-чтение
Назначение:
Алгоритм применяется для ввода данных с устройств полевой сети контроллера работающего по протоколу MODBUS RTU. Алгоритм ЧМД формирует одну команду чтения устройства MODBUS для посылки в полевую сеть и позволяет прочитать до 60-ти 4-х байтовых данных (120 регистров) с устройства MODBUS.
Описание алгоритма:
Один алгоритм ЧМД применяется для формирования команды чтения и индикации данных поступающих от одного устройства одной из полевых сетей. Номер полевой сети и сетевой номер устройства задаётся в алгоритме МBS(14).
Модификатор размера МР=00-60, модификатор типа МТ и масштаб времени МВ отсутствует.
Входы-выходы алгоритма ЧМД приведены на рисунке 6.


73330

Рисунок 6 – Входы-выходы алгоритма ЧМД

Алгоритм имеет 3 входа для формирования команды чтения.
На входе Nк задаётся код команды для чтения из устройства MODBUS, обычно используют код команды 3.
На входе Nадр указывается адрес для чтения.
На входе Nрег указывается количество регистров для чтения. Если значение на входе Nрег больше чем модификатор размера МР умноженный на 2 (на одном 4-х байтовом выходе алгоритма умещаются два 2-х байтовых регистра), то количество регистров ограничивается:
Nрег = 2 * МР
Для индикации результата обмена с устройством предназначены два выхода: Dош и Nош.
На выходе Dош формируется признак ошибки работы алгоритма.
На выходе Nош формируется код ошибки работы алгоритма в соответствии с таблицей.
Для представления данных с устройства в технологическую программу используются 4-х байтовые выходы H.i.
Сигналы на выходах H.i могут обрабатываться другими алгоритмами, связанными по конфигурации с алгоритмом ЧМД. При приеме упакованных значений обязательна предварительная их дешифрация при помощи соответствующих алгоритмов.
В соответствии со всем выше сказанным программа для опроса МВА8:
MBS (МТ=4, МР=1)
73331
ЧМД (МР=24)
73332
В соответствии со всем выше сказанным программа для опроса ТМ 5103:
MBS (МТ=1, МР=1)
73333
ЧМД (МР=4)
73334

Для определения начального регистра чтения использовал документацию на МВА8 и ТМ 5103 (см. рисунок 7, 8).


73335

Рисунок 7 – Адреса параметров МВА8

73336

Рисунок 8 – Адреса параметров ТМ 5103

Для обмена данными по ModBus TCP в контроллере КР-500М используют алгоблок ИНР (07) – Интерфейсный вывод радиальный.
ИНР (07) – Интерфейсный вывод радиальный
Назначение:
Алгоритм предназначен для формирования в реальном времени значений сигналов и выдаче их по командам абонента в радиальный канал контроллера.
Описание алгоритма:
Входы алгоритма ИНР подобны алгоритму ИНВ, за исключением значений модификаторов МР и МТ: МР = 0 .. 126, МТ = 1 .. 32.
Принцип работы алгоритма ИНР аналогичный, как и алгоритма ИНВ, но со следующими особенностями:
- Формируемые ИНР значения сигналов необходимо запрашивать специальной командой, посылаемой с верхнего уровня, то есть ИНР формирует значения в темпе работы контроллера, а передает их на верхний уровень в темпе работы ПЭВМ верхнего уровня.
- ИНР имеет расширенное до 126 число входов, то есть МР = 0 – 126.
- В составе программы пользователя может быть до 32 ИНР. Номер ИНР задается модификатором типа МТ = 1 – 32, что позволяет передавать с одного контроллера на верхний уровень до 4032 4-х байтовых значений, при упаковке значений количество сигналов возрастает в зависимости от типа передаваемых данных.
- Буфер алгоритма можно вычитывать по сети МАГИСТР, при этом буфер усекается до 30 сигналов (передаются только первые 30 входов).
Входы алгоритма ИНР приведены на рисунке 9.


73337

Рисунок 9 – Входы алгоритма ИНР

В соответствии со всем выше сказанным, программу на КР-500М можно представить в виде структурной схемы (см. рисунок 10).


73338

Рисунок 10 – Структурная схема программы на КР-500М


MasterSCADA 4D
Для опроса контроллера КР-500М в MS4D создал АРМ1, добавил протокол ModBus TCP, добавил ModBusTCP Device1, добавил 9 базовых каналов (см. рисунок 11).


73339

Рисунок 11 – Дерево объектов

На рисунке 12 представлены основные настройки ModBusTCP Device1.


73340

Рисунок 12 – Настройки ModBusTCP Device1

На рисунке 13 представлены основные настройки Базового канала (адреса для следующих каналов увеличиваются на +2).


73341

Рисунок 13 – Настройки Базового канала

На рисунке 14 представлен конечный результат, опрос MS4D контроллера КР-500М.


73342

Рисунок 14 – Опрос MS4D контроллера КР-500М

Валенок
10.02.2024, 22:33
Очень много букв. Непонятные ЧМД/MBS/ИНР и др.
Почему МВА8 и ТМ5103 не на одном интерфейсе?
Почему не 115200?
Почему для МВА8 43 регистра а не 44?
Для ТМ5103 почему не 520..55F?
Для ТМ5103 быстрый гугл - 8 каналов, ТМ5104 -16. На картинке в карте 16 каналов, а в тексте ТМ5103. Лажа?
Структуры Ai МВА8 и ТМ5103 удивительно похожи. Унифицированы?
Зачем таймаут по секунде?
Зачем опрос 300мс? или ТМ5103 такой быстрый?

Sergey666
10.02.2024, 23:31
Очень много букв.
Зачем таймаут по секунде?
Зачем опрос 300мс? или ТМ5103 такой быстрый?
Э-Э_Э, Брат, мва8 что быстрее данные дают?

Валенок
10.02.2024, 23:58
Согласен. По обоим вопрос))

bratan
11.02.2024, 17:26
Очень много букв. Непонятные ЧМД/MBS/ИНР и др.

ЧМД/MBS это алгоритмические блоки для обмена по Modbus rtu, ИНР для обмена по Modbus tcp в контроллере КР-500М, суть поста, показать, что можно опросить по Modbus rtu разные приборы контроллером КР-500М, потому-что ни на форумах, ни где нет примеров.



Почему МВА8 и ТМ5103 не на одном интерфейсе?

Чтобы показать, что можно опрашивать разными полевыми сетями, для опроса в одной полевой сети, нужно только привести стоп-биты к одному значению, ну и адреса к разным.



Почему не 115200?
У нас на предприятии все приборы настроены на 9.6, поэтому делал на подобие.



Почему для МВА8 43 регистра а не 44?
Если внимательно посмотреть на рисунок 7, то можно увидеть, что регистров в мва8 47, а читаем мы с 4-го регистра, 47-4=43. Хотя для моего примера можно использовать и меньше.


Для ТМ5103 почему не 520..55F?
А в чем разница? Если мне нужен, только результат измерения.


Для ТМ5103 быстрый гугл - 8 каналов, ТМ5104 -16. На картинке в карте 16 каналов, а в тексте ТМ5103. Лажа?

ТМ 5103 быстрый гугл - 8 входных каналов, 8 реле.


Структуры Ai МВА8 и ТМ5103 удивительно похожи. Унифицированы?
Зачем таймаут по секунде?
Зачем опрос 300мс? или ТМ5103 такой быстрый?

Время тайм-аута и опроса пока выбрано экспериментально, не претендую, на то что все идеально, параметры связи и опроса можно настраивать под себя.

Повторю, суть поста: это пример опроса контроллером КР-500М приборов по Modbus RTU, ибо ни где, не нашел примеров, решил показать, что у меня получилось.

Валенок
11.02.2024, 17:58
что можно опросить по Modbus rtu разные приборы контроллером КР-500М,
Любым контроллером работающим Modbus rtu мастером можно опросить разные приборы.
Или реклама КР500М?

Чтобы показать, что можно опрашивать разными полевыми сетями,
Любым контроллером где больше одной сети можно опросить 2 прибора по разным сетям

Если внимательно посмотреть на рисунок 7, то можно увидеть, что регистров в мва8 47,
Если еще внимательней, то 48
Далее - вытекает

А в чем разница?
В коде ошибки

Если мне нужен, только результат измерения.
Вы эльф у которого всё вокруг всегда идеальное?(см. строчку выше)

ТМ 5103 быстрый гугл - 8 входных каналов, 8 реле.
пост 6 рис 8. Цифра 16


решил показать, что у меня получилось.
Так опрос-то норм?