Стартовая страница › Форумы › Взаимодействие с устройствами › Modbus › Очередной Modbus Slave
- В этой теме 38 ответов, 4 участника, последнее обновление 2 года, 6 месяцев назад сделано vg.
-
АвторСообщения
-
22.09.2021 в 21:59 #20870vgУчастник
Не получается получить записанные в регистры данные, хотя Скада реагирует на получение. Получаю следующие сообщения в журнале линии после каждой отправки значения своим софтом в регистры от 0х1000 до 0х1006.
2021-09-22 21:40:22 Обработка входящего запроса, удалённый адрес: 192.168.0.145
Приём (7/7): 00 26 00 00 00 09 01
Приём (8/8): 10 10 02 00 01 02 00 2F
OK!
Запрошено КП с адресом 1
Записано регистров: 1. Найдено элементов: 0
Отправка (12): 00 26 00 00 00 06 01 10 10 02 00 01Записать записали, но не нашли.
Настройки линии связи:
https://pastenow.ru/07d599b917f04f318b84fc59b81a9ef4
https://pastenow.ru/2a2826c84d942339b9cd4afc43ed1c08
https://pastenow.ru/ed2be3437bb0100ab4e15702dbd5f92aСвойства КП:
https://pastenow.ru/a6ea4ba4ab3d5c70bad5fb4477a318dcНастройки шаблона (тип данных выбран ushort, 2 байта):
https://pastenow.ru/199e6868980903e7bef8a9142e995e1aПри просмотре КП время записи есть, значений нет:
https://pastenow.ru/dfd819520e706f9febd5f64369589e5dВходной канал создать не удалось. При попытке создания мастером вылезает ошибка:
https://pastenow.ru/f88e6e3a446a3428c9de15c7687dd9acПри запуске линии тоже порядок:
https://pastenow.ru/c6eb4884e95b39cbeed3f3260e290452По всей видимости, как писал Михаил выше о карте регистров, она не создаётся или создаётся некорректно.
И скада и имитатор записи от устройства находятся на одном компьютере, но работают на разных портах и мешать друг другу вроде не должны.
23.09.2021 в 06:49 #2087123.09.2021 в 15:03 #20879MikhailМодераторВ первую очередь нужно избавиться от ошибки «Метод не найден». Должна быть обновлена не только KpModbusSlave.dll, но и KpModbus.dll. Кроме того, продублируйте KpModbus.dll в C:\SCADA\ScadaAdmin\Lib — Администратор ищет её там при открытии интерфейса драйвера.
В шаблоне Модбас создайте команду, соответствующую Вашему регистру. И введите имена регистров. Это должно повлиять на состав тегов КП. На странице данных КП должны появиться группы IN и OUT.
23.09.2021 в 15:26 #20880vgУчастникПосле выполнения Вашей инструкции всё заработало. Благодарствую!
Но есть последний нюанс. Время при первом получении значения от имитатора устройства обозначается как 01.01.0001 0:00:00
https://pastenow.ru/a62d9c9ef4d0e209e790dd3120bb7034
При этом значения также нет.А следующая отправка уже как надо:
https://pastenow.ru/720ebb24c3fbd64be1d231d8c2fcdea2Правильно ли я понимаю, что если мы хотим записать значение от устройства в Scada, то мы всегда формируем команды с соответствующими кодами и регистрами. При этом группы элементов для чтения вообще не нужны, так как они не участвуют в процессе обмена при такой конфигурации?
24.09.2021 в 16:02 #20890MikhailМодераторЧто в журнале линии при получении первого значения, у которая не получается записаться в тег? И что в журнале при получении второго значения, с которым всё нормально?
Разбивка тегов по группам в Modbus Slave не важна. Так сделано для полной совместимости шаблона с Modbus Master. Но группы для чтения нужны, если Ваше устройство запрашивает данные из скады.
Если устройство передаёт данные на компьютер, то используются команды из шаблона.
24.09.2021 в 16:14 #20891vgУчастникВвёл в заблуждение: значение есть, а метка времени как описывал выше. Значение пропадает через 1 минуту, так как в настройках драйвера выставлено такое время ухода в недостоверность.
Касаемо журнала линии. Соответственно первый и второй запросы:
2021-09-24 16:13:37 Обработка входящего запроса, удалённый адрес: 192.168.0.145
Приём (7/7): 87 00 00 00 00 09 01
Приём (8/8): 10 10 02 00 01 02 00 07
OK!
Запрошено КП с адресом 1
Записано регистров: 1. Найдено элементов: 1
Отправка (12): 87 00 00 00 00 06 01 10 10 02 00 01
2021-09-24 16:13:40 Соединение с клиентом 192.168.0.145
2021-09-24 16:13:40 Отключение клиента 192.168.0.1452021-09-24 16:13:40 Обработка входящего запроса, удалённый адрес: 192.168.0.145
Приём (7/7): D4 18 00 00 00 09 01
Приём (8/8): 10 10 02 00 01 02 00 11
OK!
Запрошено КП с адресом 1
Записано регистров: 1. Найдено элементов: 1
Отправка (12): D4 18 00 00 00 06 01 10 10 02 00 01UPD.
То есть оба раза всё нормально. Значение записывается и отображается в КП, но временная метка становится актуальной только со 2-го раза. Отправляю значения по одному и вручную.- Этот ответ был изменен 2 года, 7 месяцев назад от vg.
27.09.2021 в 18:16 #20899MikhailМодераторПосмотрю насчёт метки времени и напишу в эту тему.
28.09.2021 в 09:29 #20905MikhailМодераторИсправлено. Ссылка на обновление
28.09.2021 в 12:04 #20907vgУчастникБлагодарствую!
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.