Чтение архива станции Электон-5

<< Click to Display Table of Contents >>

Navigation:  Modbus Universal MasterOPC Server > Руководство по языку Lua 5.1 > Примеры и полезности > Чтение файлов по Modbus >

Чтение архива станции Электон-5

Мы рассмотрели пример получения данных по функции 0x14, теперь рассмотрим пример опроса по данной функции реального устройства. В качестве примера рассмотрим станцию управления электродвигателем (частотный преобразователь) ЭЛЕКТОН-05 фирмы "Электон".

Данное устройство применяется для управления насосами добычи нефти и водозаборов, дымососов, промышленной вентиляции. Описание устройства можно найти на сайте производителя:

http://www.elekton.ru/elekton05.shtml

Данный частотный преобразователь снабжен специальным управляющим контроллером, который реализует следующие функции - плавный пуск и торможение двигателя, отображение информации на дисплее, ПИД-регулятор, контроль состояния внешних устройств подключенным к входам, а также реализует возможность обмена по интерфейсам RS-232 и RS-485 для диспетчерского контроля и управления.

Опрос устройства производится по протоколу Modbus RTU. Текущие значения читаются функциями 0x03 и 0x04, для чтения архивов поддержана функция 0x14. Подробное описание реализации Modbus протокола в данном устройстве можно скачать со страницы загрузки:

http://www.elekton.ru/soft/elekton-09.35.zip

Для лучшего восприятия описываемого далее материала советуем скачать данный документ, и ознакомится с ним.

Рассмотрим создание OPC конфигурация для чтения архива данного устройства.

Архив Электон-05 представляет собой набор файлов, количество файлов регулируется – пользователь может установить его равным 512, 1536, 2560 или 3584. Каждый файл состоит из записей, длина одной записи одинакова – 128 байт (64 регистра), длина файла ограничена 512 байтами (256 регистров), таким образом, каждый файл содержит 4 записи.

Электон-05 содержит пять типов записей, имеющих собственную структуру.

1 тип записи – периодическая запись текущих параметров, представляет собой запись о состоянии параметров в определенный момент.

2 тип записи – запись о событии Пуск-Стоп и отключении напряжения.

3 тип записи – запись об изменении уставки.

4 тип записи – запись о событии изменении даты времени.

5 тип записи – запись о прочих событиях (блокировка, реверс, сброс счетчиков наработки).

Записи записываются в файл по определенному событию или периодически. Все записи записываются одним непрерывным массивом, то есть в одном файле могут оказаться разные типы записей. Чтобы определить какого типа считанная запись, в ней содержится номер-идентификатор (см. ниже). Запись циклическая – на место самой старой записи, записывается новая.

Для примера мы будем считывать запись первого типа. Запись первого типа имеет следующую структуру:

primery_i_poleznosti_chtenie_fajlov_po_modbus_chtenie_arhiva_stancii_ehlekton_5

Примечание. Данная таблица взята из документа "Приложение 2" официальной документации (ссылка выше). Таблица взята не полностью – поскольку пример учебный, мы ограничимся четырьмя параметрами – Выходная частота (регистр 12), Ток двигателя фаза А, В и С (регистры 13 – 15).

Рассмотрим таблицу. Регистры 0 и 1 – номер записи в хронологии (порядковый номер записи), его мы использовать не будем. Регистр 2 – тип записи, как мы писали ранее, записи всех типов записываются в файлы. Чтобы определить какого типа считанная запись нужно проверить данный регистр – если он равен единице, то мы считали нужную нам запись. Регистр 3 – версия программы, его мы использовать также не будем. Регистр 4 и 5 – время записи, с этой меткой времени нам и нужно записать значения в архив. Время представлено в формате UnixTime – количество секунд с полуночи 1 января 1970 года. Остальные регистры – это считываемые параметры.

В следующем топике рассмотрим создание конфигурации ОРС сервера.