Форум АО "ВЗЛЕТ"

Вопросы измерений и учета => Технические вопросы => Тема начата: sav от 13.04.2023, 11:53:48



Название: Управление реле Modbus
Отправлено: sav от 13.04.2023, 11:53:48
Кто может подсказать, как в СП4 реализовать управление реле Modbus. В программе выбираю Modbus-прибор, создаю набор, а дальше затык. Для примера - Команда 01 05 00 01 FF 00 DD FA - включить реле. Хочу реализовать в скада системе.


Название: Re:Управление реле Modbus
Отправлено: 7in от 13.04.2023, 15:13:10
После создания набора справа внизу у вас будут параметры "битовая ячейка", "регистр хранения", регистр ввода.
Перетаскиваете мышью нужный параметр в центр экрана, затем правой кнопкой по параметру - ввод канала.
Дальше думаю понятно: если все верно настроить - можно читать и записывать модбас регистры


Название: Re:Управление реле Modbus
Отправлено: 7in от 13.04.2023, 15:16:13
В вашем случае нужно использовать первый параметр "Битовая ячейка, код функции чтения 1, записи 5 (1 бит)" и указать номер канала (в вашем случае видимо будет "1")


Название: Re:Управление реле Modbus
Отправлено: Иван Кривокора от 13.04.2023, 15:21:46
Здравствуйте.

Команда 05 - это запись битовых ячеек. Значит, вам нужно в набор добавить "Битовая ячейка, код функции чтения 1, записи 5 (1 бит)", задать ей адрес и проверить работу.

С уважением,
Кривокора Иван


Название: Re:Управление реле Modbus
Отправлено: sav от 13.04.2023, 15:59:18
Спасибо всем, кто откликнулся. У меня прогресс. 1 реле заработало, правда почему-то адрес канала пришлось вводить 0, вместо 1. Второе реле (2 канал) пока почему-то не отреагировал как надо. Это я думаю вопрос времени. Еще раз благодарю.


Название: Re:Управление реле Modbus
Отправлено: sav от 13.04.2023, 18:55:14
В продолжении этой истории - Что имеем,  двойной модуль реле с интерфейсом RS485. С помощью неравнодушных и самое главное, грамотных участников "оживил" одно реле (1). Второе пока никак не реагирует. Пробую методом перебора найти заветную цифру и параллельно пишу сюда. В программе qModMaster все хорошо работает. Команда 0A 05 00 00 FF 00 8D 41 включает 1 реле, команда 0A 05 00 01 FF 00 DC 81 включает 2 реле. В СП4, как я писал выше, ввожу 0 в КанПар, все работает (1 реле включается), ввожу туда же 1 и до (пока) 100, никакой реакции. Что может быть?


Название: Re:Управление реле Modbus
Отправлено: sav от 14.04.2023, 08:33:43
У меня сложилось стойкое убеждение в том, что второй канал не работает из-за того, что в СП4 набор универсальное modbus-устройство некорректно работает, поэтому не видит его. Как это можно проверить? К сожалению у меня только одно такое устройство, поэтому в полной мере утверждать не могу. Пробовал поменять преобразователи RS485 с Mikrotik Nport 5150A на USR-DR302 - картина такая же. Через программу qModMaster оба канала работают.


Название: Re:Управление реле Modbus
Отправлено: Иван Кривокора от 14.04.2023, 11:45:29
Здравствуйте.

Меня зовут Кривокора Иван. Я тестировщик в проекте Взлет СП. Мне переслали ваше письмо в техподдержку.

Во-первых, попробуйте включить логирование самого высокого уровня, чтобы в логах видеть отправляемые запросы и приходящие ответы от приборов. Для этого в приложении Взлет СП. Консоль откройте Настройки, и на форме "Протоколирование" выберите "Ошибки, предупреждения, сообщения и отладочная информация". После этого перезапустите все службы. Логи обмена с прибором будут в директории C:\Program Files\Vzljot Sp\Logs, в файлах с именем вида "VzljotSp.Services.TransportService.log".

Во-вторых, я в рамках эксперимента создал Modbus-прибор с сетевым адресом 10, создал для него набор с двумя параметрами "Битовая ячейка, код функции чтения 1, записи 5 (1 бит)" и задал им адреса (КанПар) 0 и 1. В итоге получил прекрасные запросы, полностью соответствующие ожидаемым:
[DEBUG] 11:32:39.264 Session 52. Посылаем запрос: 0A050000FF008D41

[DEBUG] 11:33:41.706 Session 57. Посылаем запрос: 0A050001FF00DC81

Работа с Modbus-прибором через "Набор" осуществляется корректно. У меня складывается стойкое убеждение, что вы что-то делаете неверно.

С уважением,
Кривокора Иван


Название: Re:Управление реле Modbus
Отправлено: Иван Кривокора от 14.04.2023, 13:45:20
Нам был направлен лог обмена. Как оказалось, проблема не в выполнении записи, а в чтении.

Прибор ответил на запрос чтения битовой ячейки с адресом 0:
[DEBUG] 12:35:25.405 Session 1. Посылаем запрос: 0A0100000001FCB1
[DEBUG] 12:35:25.526 Session 1. Обработка данных: 0A01010053AC
Прибор не ответил на запрос чтения битовой ячейки с адресом 1:
[DEBUG] 12:35:29.421 Session 1. Посылаем запрос: 0A0100010001AD71
[DEBUG] 12:35:32.458 Session 1. Закончился тайм-аут ожидания ответа прибора
[DEBUG] 12:35:32.584 Session 1. Посылаем запрос: 0A0100010001AD71
[DEBUG] 12:35:35.633 Session 1. Закончился тайм-аут ожидания ответа прибора
[DEBUG] 12:35:35.757 Session 1. Посылаем запрос: 0A0100010001AD71
[DEBUG] 12:35:38.763 Session 1. Закончился тайм-аут ожидания ответа прибора

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

С уважением,
Кривокора Иван


Название: Re:Управление реле Modbus
Отправлено: sav от 14.04.2023, 16:01:35
ОК. Спасибо за поддержку. Если вдруг одолею проблему, отпишусь.


Название: Re:Управление реле Modbus
Отправлено: sav от 20.04.2023, 18:25:38
Выяснил в чем проблема. Спасибо ребятам из тех. поддержки интернет магазина pcus.ru. Оказывается реакция модуля на команду 1 канала, содержат информацию по 2 каналу. В нашем случае
запрос: 01 01 00 00 00 01 fd ca,
ответ: 01 01 01 03 11 89
Выделенное число может быть:
00 - оба выключены
01 - включено первое реле
02 - включено второе реле
03 - включены оба реле

Можно ли как-то обойти данный алгоритм в СП4?


Название: Re:Управление реле Modbus
Отправлено: KIA от 21.04.2023, 08:33:37
Здравствуйте.
Ваше реле работает не на modbus-протоколе, а на каком-то своем, похожем на modbus.


Название: Re:Управление реле Modbus
Отправлено: Иван Кривокора от 21.04.2023, 15:44:16
Выяснил в чем проблема. Спасибо ребятам из тех. поддержки интернет магазина pcus.ru. Оказывается реакция модуля на команду 1 канала, содержат информацию по 2 каналу. В нашем случае
запрос: 01 01 00 00 00 01 fd ca,
ответ: 01 01 01 03 11 89
Выделенное число может быть:
00 - оба выключены
01 - включено первое реле
02 - включено второе реле
03 - включены оба реле

Можно ли как-то обойти данный алгоритм в СП4?
Здравствуйте.

Это можно обойти только путем реализации непосредственной поддержки вашего реле со всеми особенностями его частной реализации протокола Modbus RTU.

С уважением,
Кривокора Иван