Настройка произвольных номеров каналов KpModbus

Стартовая страница Форумы Взаимодействие с устройствами Modbus Настройка произвольных номеров каналов KpModbus

Помечено: 

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Автор
    Записи
  • #2434
    Vyacheslav
    Участник

    Подскажите каким образом назначить произвольные номера каналов при использовании драйвера Modbus? По умолчанию номера каналов не назначаются. Судя по коду этого КП единственное чего можно добиться это последовательное автоматическое назначение каналов при настройке адресов регистров. Так ли это? Нужно ли вносить изменения в код самостоятельно для настройки произвольных номеров каналов или этого возможно указать опционально в пределах темплейта?
    Пример лога опроса КП

    КП 57 «Arduino»
    —————
    DLL : KpModbus
    Состояние : норма
    Сеанс связи : 26.06.2016 22:27:07
    Команда ТУ : время неопределено

    Сеансы связи (всего / ошибок) : 40 / 0
    Команды ТУ (всего / ошибок) : 0 / 0
    Запросы (всего / ошибок) : 80 / 0

    Текущие данные тегов КП
    +———+—————+———-+——-+
    | Сигнал | Наименование | Значение | Канал |
    +———+—————+———-+——-+
    | ******** gr1 *************************** |
    +———+—————+———-+——-+
    | 1 | t1 | 333 | |
    +———+—————+———-+——-+
    | 2 | t2 | 19 | |
    +———+—————+———-+——-+
    | 3 | t3 | 146 | |
    +———+—————+———-+——-+
    | 4 | t4 | 1198 | |
    +———+—————+———-+——-+
    | 5 | t5 | 86 | |
    +———+—————+———-+——-+
    | ******** gr2 *************************** |
    +———+—————+———-+——-+
    | 6 | t10 | 0 | |
    +———+—————+———-+——-+
    | 7 | t11 | 0 | |
    +———+—————+———-+——-+
    | 8 | t12 | 0 | |
    +———+—————+———-+——-+
    | 9 | t13 | 0 | |
    +———+—————+———-+——-+
    | 10 | t14 | 0 | |
    +———+—————+———-+——-+
    | 11 | t15 | 0 | |
    +———+—————+———-+——-+
    | 12 | t16 | 0 | |
    +———+—————+———-+——-+
    | 13 | t17 | 0 | |
    +———+—————+———-+——-+

    Архивные данные отсутствуют

    События отсутствуют

    Пример темплейта

    <?xml version=»1.0″ encoding=»utf-8″?>
    <DevTemplate>
    <ElemGroups>
    <ElemGroup name=»gr1″ tableType=»InputRegisters» address=»8″>
    <Elem name=»t1″ type=»ushort» byteOrder=»» />
    <Elem name=»t2″ type=»ushort» byteOrder=»» />
    <Elem name=»t3″ type=»ushort» byteOrder=»» />
    <Elem name=»t4″ type=»ushort» byteOrder=»» />
    <Elem name=»t5″ type=»ushort» byteOrder=»» />
    </ElemGroup>
    <ElemGroup name=»gr2″ tableType=»DiscreteInputs» address=»0″>
    <Elem name=»t10″ />
    <Elem name=»t11″ />
    <Elem name=»t12″ />
    <Elem name=»t13″ />
    <Elem name=»t14″ />
    <Elem name=»t15″ />
    <Elem name=»t16″ />
    <Elem name=»t17″ />
    </ElemGroup>
    </ElemGroups>
    <Cmds />
    </DevTemplate>

    #2435
    Mikhail
    Модератор

    Судя по коду этого КП единственное чего можно добиться это последовательное автоматическое назначение каналов при настройке адресов регистров. Так ли это?

    Да, Вы правы. В отличие от KpOpc.dll для Модбас нельзя явно указать номера каналов.

    Нужно ли вносить изменения в код самостоятельно для настройки произвольных номеров каналов или этого возможно указать опционально в пределах темплейта?

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

    Ниже общий список доработок драйвера Модбас, которые хотелось бы реализовать:
    • порядок байт в шаблоне по умолчанию;
    • порядок байт в команде (для стандартных команд);
    • адресация в шаблоне с 0 или 1;
    • активация/деактивация групп опроса;
    • вывод не только обозначения таблицы данных (0X, 1X…), но и кода функции;
    • возможность растянуть форму;
    возможность явно указать номер канала.
    Ищем спонсора 🙂

    Мой вопрос: почему Вам удобнее указывать именно номер канала, а не наоборот, привязывать канал по сигналу (номеру тега)?

    #2439
    Mikhail
    Модератор

    Вчера написал некорректно. Шаблон Модбас создаётся для множества однотипных устройств, поэтому указывать конкретные каналы в шаблоне в принципе неверно.

    #2445
    Vyacheslav
    Участник

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

Просмотр 4 сообщений - с 1 по 4 (из 4 всего)
  • Для ответа в этой теме необходимо авторизоваться.