KRModbusClient.pas

Константы

  • MBC_ERRORS_COUNT – количество ошибок модуля
  • mbceAskLimit – ошибка превышения лимита ожидания ответа от потока
  • mbceFileNotFount – файл не найден
  • mbceFileDeleteError – ошибка удаления файла
  • mbceFileOpenForReadError – ошибка открытия файла для чтения
  • mbceFileReadError – ошибка чтения файла
  • mbceFileOpenForWriteError – ошибка открытия файла для записи
  • mbceFileWriteError – ошибка записи файла
  • MBC_ERRORS_MSG – список сообщений о ошибках

Типы данных

  • TMBCError – тип ошибки модуля (integer)
  • TMBReadFunction – стандартные функции чтения протокола Modbus
    • mbrfReadHoldingRegisters – функция чтения значения регистров (0x03)
    • mbrfReadInputRegisters – функция чтения значения входящих регистров (0x04)
  • TMBWriteFunction – стандартные функции записи протокола Modbus
    • mbwfWriteHoldingRegister – функция записи одного регистра (0x06)
    • mbwfWriteHoldingRegisters – функция записи нескольких регистров (0x10)
  • TMCVarType – тип значения переменной
    • MCT_BYTE – беззнаковый целочисленный байт
    • MCT_WORD – беззнаковое 16-битное целочисленное значение
    • MCT_DWORD – беззнаковое 32-битное целочисленное значение
    • MCT_SMALLINT – 16-битное целочисленное значение
    • MCT_INT – 32-битное целочисленное значение
    • MCT_SINGLE – 32-битное значение с плавающей точкой
    • MCT_STRING – строка фиксированной длины. Длина указывается в свойстве StrLen
    • MCT_DWSTR – строка переменной длины. Данные передаются последовательно, используя два регистра
    • MCT_WD_STREAM – беззнаковое 16-битное целочисленное значение. Является элементом массива с индексом указанным в свойстве StreamIndex. Для передачи данных используется два регистра
    • MCT_DW_STREAM – беззнаковое 32-битное целочисленное значение. Является элементом массива с индексом указанным в свойстве StreamIndex. Для передачи данных используется два регистра
    • MCT_BT_STREAM – беззнаковый целочисленный байт. Является элементом массива с индексом указанным в свойстве StreamIndex. Для передачи данных используется один регистр
    • MCT_SINT_STREAM – 16-битное целочисленное значение. Является элементом массива с индексом указанным в свойстве StreamIndex. Для передачи данных используется два регистра
    • MCT_INT64 – 64-битное целочисленное значение
    • MCT_FILE – набор регистров для работы с файлами. Для передачи данных используется количество регистров заданное в свойстве FileRegs, плюс один регистр для управления процессом
    • MCT_ARRAY – доступ к переменному количеству регистров. Для установки количества считываемых регистров используется свойство ArrayLen
    • MCT_UINT64 – беззнаковое 64-битное целочисленное значение
    • MCT_DOUBLE – 64-битное значение с плавающей точкой
  • TKRMBRegFileInfo – структура, содержащая информацию о файле
    • crc16 – контрольная сумма
    • size – размер файла
    • dtCreation – дата создания
    • dtLastAccess – дата последнего доступа
    • dtLastModification – дата последнего изменения

Классы

Класс TKRMBRegister

Родительский класс TKRVariable

TKRMBRegister – класс для чтения и установки значения в удаленную переменную по протоколу Modbus

Свойства класса TKRMBRegister
  • ReadFunction – функция для чтения значения
  • WriteFunction – функция для записи значения
  • MCVarType – тип переменной
  • RegisterIndex – индекс регистра
  • CfgReadFunc – конфигурационная переменная TKRIniCfgParam, для хранения номера функции чтения
  • CfgWriteFunc – конфигурационная переменная TKRIniCfgParam, для хранения номера функции записи
  • CfgRegisterIndex – конфигурационная переменная TKRIniCfgParam, для хранения индекса регистра
  • ArrayLen – количество регистров в массиве. Используется при MCVarType равном MCT_ARRAY
  • StrLen – длина строковой переменной с учетом символа конца строки. Используется если тип переменной MCT_STRING. Значение должно быть кратно двум
  • AskLimit – максимальное количество попыток получить ответ от обработчика. Используется в тех переменных, для которых на стороне удаленного устройства используется дополнительный обработчик данных, а именно MCT_WD_STREAM, MCT_DW_STREAM, MCT_BT_STREAM, MCT_SINT_STREAM, MCT_DWSTR, MCT_FILE
  • FileRegs – количество регистров используемых для приема/передачи данных файла
  • HighByteFirst – последовательность байт в каждом слове. Для типа MBC_STRING просто последовательность байт от старшего к младшему или наоборот
  • HighWordFirst – последовательность слов. Актуально для 32-битных и 64-битных значений
  • HighDWordFirst – последовательность двойных слов. Актуально для 64-битных значений
События класса TKRMBRegister
  • OnFile – вызывается, когда процесс работы с файлом (копирование на устройство, копирование с устройства, удаление, получение характеристик файла) завершился, вне зависимости от того произошла ошибка или нет
Методы класса TKRMBRegister
  • UpdateReadPack – обновляет запрос чтения. Запрос чтения значения изменяется только при изменении индекса и количества регистров. По этом нет смысла его генерировать при каждом обновлении значения, и он хранится в памяти. Но если возникает необходимость его обновить, используется данный метод
  • UpdateValueAsync – асинхронное обновление значения
  • FileDelete – удаление файла на удаленном устройстве
    • AFileName – имя удаляемого файла
  • FileRead – чтение файла с удаленного устройства и запись его в поток
    • AFileName – имя файла на удаленном устройстве
    • AFile – поток, для сохранения данных из удаленного файла
  • FileWrite – запись файла на удаленное устройство
    • AFileName – имя файла на удаленном устройстве
    • AFile – поток, данные которого будут переданы в удаленный файл
  • FileDeleteAsinc – асинхронное удаление файла на удаленном устройстве
    • AFileName – имя удаляемого файла
  • FileReadAsinc – асинхронное чтение файла с удаленного устройства и запись его в поток
    • AFileName – имя файла на удаленном устройстве
    • AFile – поток, для сохранения данных из удаленного файла
  • FileWriteAsinc – асинхронная запись файла на удаленное устройство
    • AFileName – имя файла на удаленном устройстве
    • AFile – поток, данные которого будут переданы в удаленный файл
  • FileInfoAsinc – асинхронное получение характеристик удаленного файла
    • AFileName – имя файла на удаленном устройстве
    • AFileInfo – указатель на структуру TKRMBRegFileInfo, куда будут записаны характеристики удаленного файла
  • FileInfo – получение характеристик удаленного файла
    • AFileName – имя файла на удаленном устройстве
    • AFileInfo – указатель на структуру TKRMBRegFileInfo, куда будут записаны характеристики удаленного файла

Класс TKRModbusClient

Родительский класс TKRVariabels

TKRModbusClient – коллекция переменных Modbus класса TKRMBRegister

Свойства класса TKRModbusClient
  • Active – включение/выключение модуля
  • Modbus – свойство для подключения модуля класса TKRModbusMaster
  • Addres – адрес удаленного устройства
  • MBType – тип протокола Modbus TMBType
Методы класса TKRModbusClient
  • AddVar – добавление переменной TKRMBRegister в коллекцию. Возвращает указатель на объект созданной переменной
    • AName – имя переменной
    • AType – тип переменной TMCVarType
    • AIndex – индекс регистра
    • AInterval – интервал обновления значения переменной (мс). Если переменную не нужно обновлять, то устанавливается ноль

Примеры использования:

 
Поделиться:

Новости сайта

05.05.2020 15:34
Новая статья про удаленное управление принтером Domino V-series
Реализация протокола передачи данных для связи с термотрансферным принтером Domino V-series из Delphi
24.04.2020 22:14
Добавлена статья по работе с сенсором Omron FQ-CR1 из Delphi
Подключение по сети к считывателю штрих-кодов Omron FQ-CR1 из программы на Delphi
17.03.2020 20:46
Обновлен пакет компонентов для Delphi
Доступна для скачивания новая версия компонентов для Delphi, от 17.03.2020г. С данной версии библиотеки доступны и на GitHub
28.01.2020 16:15
Опубликована статья о принципе работы коннекторов в Delphi
Коннектор – это объект, осуществляющий связь с внешними объектами(объектом). Внешним объектом может выступать другая программа или другое устройство, которое поддерживает тот же интерфейс или протокол связи.

Популярные статьи

Modbus Slave на Arduino
Реализация клиентской части протокола Modbus RTU и Modbus ASCII для контроллеров Arduino
Инструкция по установке компонентов на Delphi
Подробная инструкция по установке компонентов на Delphi с видео обзором
Набор компонентов для Delphi
Набор компонентов для Delphi включает в себя компонент для работы с файловой системой, сетью, автоматизацией и другие.
Пример передачи данных по протоколу Modbus на Delphi
Пример передачи данных с контроллера ОВЕН ПЛК100 в программу на Delphi по протоколу Modbus