Стартовая страница › Форумы › Взаимодействие с устройствами › Modbus › Настройка произвольных номеров каналов KpModbus
Помечено: Modbus
- В этой теме 3 ответа, 2 участника, последнее обновление 10 лет, 2 месяца назад сделано
Vyacheslav.
-
АвторЗаписи
-
27.06.2016 в 17:46 #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>27.06.2016 в 18:23 #2435
MikhailМодераторСудя по коду этого КП единственное чего можно добиться это последовательное автоматическое назначение каналов при настройке адресов регистров. Так ли это?
Да, Вы правы. В отличие от KpOpc.dll для Модбас нельзя явно указать номера каналов.
Нужно ли вносить изменения в код самостоятельно для настройки произвольных номеров каналов или этого возможно указать опционально в пределах темплейта?
Как следует из фразы выше, сейчас в шаблоне нельзя указать номер канала, к сожалению. Можно либо доработать код драйвера самостоятельно, либо заказать.
Ниже общий список доработок драйвера Модбас, которые хотелось бы реализовать:
• порядок байт в шаблоне по умолчанию;
• порядок байт в команде (для стандартных команд);
• адресация в шаблоне с 0 или 1;
• активация/деактивация групп опроса;
• вывод не только обозначения таблицы данных (0X, 1X…), но и кода функции;
• возможность растянуть форму;
•возможность явно указать номер канала.
Ищем спонсора 🙂Мой вопрос: почему Вам удобнее указывать именно номер канала, а не наоборот, привязывать канал по сигналу (номеру тега)?
28.06.2016 в 08:33 #2439
MikhailМодераторВчера написал некорректно. Шаблон Модбас создаётся для множества однотипных устройств, поэтому указывать конкретные каналы в шаблоне в принципе неверно.
28.06.2016 в 12:55 #2445Vyacheslav
УчастникПока пользовался только KpOPC и KpTest где указывается номер канала. Видимо при изучении сработал принцип аналогии и не изученность других возможностей системы.
Посмотрел еще раз пример конфигурации базы по умолчанию, действительно для каналов где используется модбас указываются номера сигналов. Теперь надо разобраться, какая опция отвечает за то чтобы сервер начал обрабатывать теги в принимаемом срезе по номеру сигнала. Подозреваю что это опция байнд, рядом с опцией активации КП, в разделе конфигурации. -
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.