⚡ Работаем 27 апреля. 28 марта - 1 мая офис не работает. Все оформленные заказы будут обработаны и отгружены 2 мая.
0
КОРЗИНА
0 ТОВАРА

Библиотека iarduino_Modbus для работы по протоколу Modbus

tremaru / iarduino_Modbus

★ Обновлено: 16:22 13.04.2024 ☆ Создан: 18:43 16.01.2023

Релизы

archive
13.04.2024
Cкачать

Библиотека iarduino_Modbus позволяет работать с устройствами по шине RS485 используя протокол Modbus RTU или Modbus ASCII. Так как у большинства плат Arduino и ESP нет шины RS485, библиотека использует аппаратную или программную шину UART. Сигналы шины UART необходимо преобразовать в сигналы шины RS485 при помощи конвертирующего модуля UART-RS485.

Синтаксис функций библиотеки iarduino_Modbus совместим с библиотекой ArduinoModbus.

Подробное описание работы с библиотекой, находится в разделе Wiki - Работа с протоколом Modbus RTU/ASCI по шине RS485.

Назначение функций:

#include <iarduino_Modbus.h> // Подключаем библиотеку iarduino_Modbus.

ModbusClient ОБЪЕКТ( UART , DE ); // Создаём объект указав класс UART и вывод DE.

Функция begin(); // Инициализация работы по протоколу Modbus.

Функция setTypeMB( ТИП ); // Указание типа протокола Modbus (RTU/ASCII).

Функция setTimeout( ВРЕМЯ ); // Указание максимального времени ожидания ответа.

Функция setDelay( ВРЕМЯ ); // Указание паузы до отправки сообщения.

Функция coilRead( [АДРЕС], РЕГИСТР ); // Чтение регистра "Coil".

Функция discreteInputRead( [АДРЕС], РЕГИСТР ); // Чтение регистра "Discrete Input".

Функция holdingRegisterRead( [АДРЕС], РЕГИСТР ); // Чтение "Holding Register".

Функция inputRegisterRead( [АДРЕС], РЕГИСТР ); // Чтение "Input Register".

Функция coilWrite( [АДРЕС], РЕГИСТР, ДАННЫЕ ); // Запись в регистр "Coil".

Функция holdingRegisterWrite([АДРЕС],РЕГИСТР,ДАННЫЕ);// Запись"Holding Register".

Функция registerMaskWrite( [АДРЕС], РЕГИСТР, AND, OR ); // Запись масок в регистр.

Функция beginTransmission( [АДРЕС], ТИП, РЕГИСТР, КОЛИЧЕСТВО );

// Инициализация записи в несколько регистров "Coils" или "Holding Registers".

Функция write( ДАННЫЕ ); // Постановка значения в очередь на запись.

Функция endTransmission(); // Выполнение инициированной ранее записи.

Функция requestFrom( [АДРЕС], ТИП, РЕГИСТР, КОЛИЧЕСТВО);

// Чтение из нескольких регистров указанного типа.

Функция available(); // Получение количества значений, доступных для чтения read().

Функция read(); // Получение очередного прочитанного значения.

Функция end(); // Функция для совместимости с библиотекой ArduinoModbus.

Функция exceptionStatusRead( [АДРЕС] ); // Чтение состояния 8 статусных выходов.

Функция getSate( [АДРЕС] ); // Чтение состояния устройства.

Функция diagnostic( АДРЕС, ФУНКЦИЯ [,ДАННЫЕ] ); // Выполнение диагностики.

Функция getEventCounter( [АДРЕС] ); // Чтение счетчика событий.

Функция getEventLog( [АДРЕС] ); // Чтение журнала событий.

Функция getInfo( [АДРЕС] ); // Чтение информации об устройстве.

Функция lastError(); // Получение кода причины последней ошибки.

Функции для работы с адресами:

Функция checkID( АДРЕС ); // Определение принадлежности устройства.

Функция changeID( АДРЕС, АДРЕС ); // Изменение адреса устройства iarduino на шине.

Функция sortID( АДРЕС ); // Функция сортировки адресов iarduino по порядку.

Функция searchERR(); // Обнаружение устройств iarduino с одинаковыми адресами.

Функция findID( [МОДЕЛЬ] ); // Обнаружение всех адресов ведомых устройств на шине.

Сопровождающие товары

Гарантии и возврат Используя сайт Вы соглашаетесь с условями
Есть вопрос?