0

Передача архивных файлов по по протоколу Modbus.

Организация передачи архивных файлов по последовательному интерфейсу по протоколу Modbus (при помощи 20-ой функции ModBus)

 

1. Введение

Данная функция предназначена для чтения файлов архива во флеш памяти PLC и передачи их по шине ModBus в ответ на запросы по 20-ой функции со стороны ModBus мастера (например ПК с установленным на нем  Lectus OPC).

2. Подключение и настройка

Функция реализована как подмодуль модуля ModBus slave в конфигурации PLC и называется File,  это выглядит так:

Передача архивных файлов по  по протоколу Modbus., image00210

где

- File name – имя файла из которого происходит чтение.

- Amount Byte – количество байт в одной записи (в запросе записей может быть много)

3. Форматы запросов и ответов

Информация справочная или необходимая для случая создания собственного ПО обмена, запускаемого на ПК. При использовании ПО на КП, поддерживающего работу с функцией 20 особенности обмена скрыты от пользователя.

Формат запроса:

Function Code 0×14 Byte Код функции
Byte count 0×07 Byte Кол во байт, следующих ниже
Referens Type 0×06 Byte Подфункция (в нашем случае константа =6)
Hi File number - Byte Старший Байт номера требуемого файла
Lo File number - Byte Соответственно младший
Hi Rec addr - Byte Старший Байт адреса записи в файле
Lo Rec addr - Byte Соответственно младший
Hi Rec num - Byte Старший Байт количества запрашиваемых записей
Lo Rec num - Byte Соответственно младший

Соответственно ответ в случае успеха ответ должен быть таким:

Function Code 0×14 Byte Код функции
Byte count 0×07 Byte Кол во байт, следующих ниже
Byte count 0×07 Byte Кол во байт, следующих ниже (необходимо по стандарту)
Referens Type 0×06 Byte Подфункция (в нашем случае константа =6)
Data - Byte*Rec_num*Amount_byte Собственно данные длиной Rec num из (запрса), умноженные на длину одной записи из конфигурации.

File number – может принимать значение от 0×0000 до 0xffff

Rec number – может принимать значение от 0×0000до 0xffff

Rec addr – может принимать значение 0×0000-0xfffe

Важно! При запросе с адресом Recaddr=0xffff происходит удаление файла.

При ошибке возвращается стандартный код ошибки ModBus, то есть 0×02.

4. Работа с несколькими файлами.

Для работы с несколькими файлами архивных данных необходимо подключить в модуле Modbus Slave несколько модулей File. Так как в запросе нет возможности передать имя файла то соответствие имени файла (их может быть много) и запроса осуществляется следующим образом. Номер файла в запросе соответствует позиции файла в дереве

PLC Configurations, начиная с нуля, то есть запрос с нулевым номером файла будет читать данные из первого стоящего файла в PLC Configurations модуля, первый из второго и так далее. Если запрошен файл которого нет на диске или в конфигурации он не указан, выдается код ошибки с номером 0×04.

Примечание: Для того чтобы Lectus OPC работал с этой функцией необходимо дополнительно поместить в его рабочую директорию библиотеку ModBus.dll.

 

Раздел: ОВЕН ПЛК, Программы ПЛК Метки: ,

Оставить комментарий

Отправить сообщение

CoDeSys GSM/GPRS модем Lectus OPC MasterSCADA Modbus MX110 Omron OPC-сервер owen owen logic PLC Configuration PROFIBUS s-200 SCADA scada системы siemens siemens plc SIMATIC Simplight SMS step7 TRACE MODE Динамизация ИП-320 МЭК 1131–3 ОВЕН ОВЕН ПЛК ОВЕН ПЧВ ПЛК ПЛК ОВЕН ПР 110 Панель оператора Программируемое реле Частотный преобразователь библиотека в CoDeSys визуализация диспетчеризация конфигурация панели программирование ПЛК серия NS сименс плк частотник частотное управление язык CFC язык ST
.