Библиотека Modbus. Изменена с целью добавления непрерывного чтения/записи модулей ET7000 от ICPDAS.
На основе открытого репозитория NI
1. Изменены зависимости классов с целью приведения к дереву без перехлестов и повторных вложений
2. В модель данных добавлены некоторые модули от ICPDAS
2. Добавлен класс мастер непрерывного чтения.
Класс непрерывного чтения
Читает список мастеров, их параметры. По массиву имеющихся мастеров выбирает из списка и запускает. При отсутствии запускается пустой класс.
В зависимости от модели непрерывно читает модули ввода вывода с заданной периодичностью
Прочитанные параметры записывает в локальную модель данных соответствующую этому модулю.
Параметры для записи так же читаются из локальной модели данных.
Управление через очередь сообщений. Старт чтения, старт записи, останов мастера.
Метод ping в мастере перед коннектом с заданной периодичностью отправляет UDP запросы в формате ICPDAS. Таким образом при отключении модуля на длительное время и повторном подключении коннект проходит быстрее и не требуются запросы на TCP connect.
При ошибке ответа разрывает соединение. Затем производит повторное соединение.
Transaction ID сделан в виде FGV, что обеспечивает уникальность для разных модулей.
В serial мастер добавлен модуль инициализации с копированием интерфейса и другим ID.
Примеры в Examples
Предыдущая модель, сделанная на основе библиотеки 8.2 отработала несколько лет. Эта пока в стадии экспериментов и будет тестироваться и дорабатываться.
Как минимум требуется добавить уведомление на запись параметра в модель для асинхронной записи мастером в модуль. Сейчас все в общем периоде вместе с чтением.
Тема с Modbus часто возникала, поэтому кому-нибудь пригодится как официальная открытая версия от NI так и доработка.
Доработка библиотеки Modbus RTU от NI из github
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 7 Ответы
- 515 Просмотры
-
Последнее сообщение BAS
-
- 0 Ответы
- 618 Просмотры
-
Последнее сообщение dadreamer
-
- 0 Ответы
- 701 Просмотры
-
Последнее сообщение Dima123_Dima321
-
- 10 Ответы
- 2371 Просмотры
-
Последнее сообщение PAG
-
- 19 Ответы
- 7873 Просмотры
-
Последнее сообщение Artem.spb