Очередной Modbus Slave

Просмотр 9 сообщений - с 31 по 39 (из 39 всего)
  • Автор
    Сообщения
  • #20870
    vg
    Участник

    Не получается получить записанные в регистры данные, хотя Скада реагирует на получение. Получаю следующие сообщения в журнале линии после каждой отправки значения своим софтом в регистры от 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

    По всей видимости, как писал Михаил выше о карте регистров, она не создаётся или создаётся некорректно.

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

    #20871
    vg
    Участник

    *Сообщение удалено*

    • Этот ответ был изменен 2 года, 7 месяцев назад от vg.
    #20879
    Mikhail
    Модератор

    В первую очередь нужно избавиться от ошибки «Метод не найден». Должна быть обновлена не только KpModbusSlave.dll, но и KpModbus.dll. Кроме того, продублируйте KpModbus.dll в C:\SCADA\ScadaAdmin\Lib — Администратор ищет её там при открытии интерфейса драйвера.

    В шаблоне Модбас создайте команду, соответствующую Вашему регистру. И введите имена регистров. Это должно повлиять на состав тегов КП. На странице данных КП должны появиться группы IN и OUT.

    #20880
    vg
    Участник

    После выполнения Вашей инструкции всё заработало. Благодарствую!
    Но есть последний нюанс. Время при первом получении значения от имитатора устройства обозначается как 01.01.0001 0:00:00
    https://pastenow.ru/a62d9c9ef4d0e209e790dd3120bb7034
    При этом значения также нет.

    А следующая отправка уже как надо:
    https://pastenow.ru/720ebb24c3fbd64be1d231d8c2fcdea2

    Правильно ли я понимаю, что если мы хотим записать значение от устройства в Scada, то мы всегда формируем команды с соответствующими кодами и регистрами. При этом группы элементов для чтения вообще не нужны, так как они не участвуют в процессе обмена при такой конфигурации?

    • Этот ответ был изменен 2 года, 7 месяцев назад от vg.
    • Этот ответ был изменен 2 года, 7 месяцев назад от vg.
    #20890
    Mikhail
    Модератор

    Что в журнале линии при получении первого значения, у которая не получается записаться в тег? И что в журнале при получении второго значения, с которым всё нормально?

    Разбивка тегов по группам в Modbus Slave не важна. Так сделано для полной совместимости шаблона с Modbus Master. Но группы для чтения нужны, если Ваше устройство запрашивает данные из скады.

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

    #20891
    vg
    Участник

    Ввёл в заблуждение: значение есть, а метка времени как описывал выше. Значение пропадает через 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.145

    2021-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 01

    UPD.
    То есть оба раза всё нормально. Значение записывается и отображается в КП, но временная метка становится актуальной только со 2-го раза. Отправляю значения по одному и вручную.

    • Этот ответ был изменен 2 года, 7 месяцев назад от vg.
    #20899
    Mikhail
    Модератор

    Посмотрю насчёт метки времени и напишу в эту тему.

    #20905
    Mikhail
    Модератор
    #20907
    vg
    Участник

    Благодарствую!

Просмотр 9 сообщений - с 31 по 39 (из 39 всего)
  • Вы должны авторизироваться для ответа в этой теме.