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 – интервал обновления значения переменной (мс). Если переменную не нужно обновлять, то устанавливается ноль

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

 
Поделиться:

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

16.10.2019 12:45
Экспорт Google Sheets в PDF файл
Пример экспорта Google таблицы в PDF файл с помощь Google Script
09.10.2019 02:20
Обновлена версия компонентов для Delphi
Опубликована новая версия компонентов для Delphi от 9.10.2019 г.
22.09.2019 22:31
Добавлено описание модуля KRVCheckBox.pas
KRVCheckBox - интерактивный элемент мониторинга и управления удаленным устройством
14.09.2019 16:00
Добавлено описание модуля KRVariables.pas
KRVariables - виртуальные классы для работы с переменными удаленного устройства

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

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