Прототип ПЛК на базе отечественного 28-нм процессора «Байкал-Т1» и исполнительной системы ISaGRAF 6 Fiord Target

Опубликовано в номере:
PDF версия
В статье анонсирован прототип ПЛК на базе отечественного 28-нм процессора «Байкал-Т1» и исполнительной системы ISaGRAF 6 Fiord Target, а также приведены результаты тестирования прототипа ПЛК в сравнении с другими известными на рынке изделиями. На основе проведенных экспериментов можно сделать вывод о перспективности и целесообразности доработки прототипа ПЛК в законченное конкурентное изделие с высокой производительностью и богатым набором интерфейсов.

Компания «ФИОРД» провела портирование и тестирование исполнительной системы ISaGRAF 6 Fiord Target технологии программирования контроллеров (ПЛК) ISaGRAF для прототипа ПЛК на базе отечественного процессора «Байкал-Т1» (Baikal-T1) компании «Байкал Электроникс». Данный процесс построен на базе аппаратного тестового комплекта ТК-Т1 (предоставлен компанией «Байкал Электроникс», рис. 1) и специальных программ (предоставлены компанией Rockwell Automation) на языках стандарта IEC 61131-3 в среде технологии программирования контроллеров ISaGRAF[1]. В качестве базовой операционной системы для ISaGRAF 6 Fiord Target [2] использовался готовый образ Debian 8 Jessie Linux. Тестирование проводили ведущие специалисты по ISaGRAF в России из компании «ФИОРД» — Ю. Полулях, Н. Левизи и В. Панков, полученные ими результаты представлены в таблице. Приводится время выполнения каждого теста в миллисекундах по отдельности и время выполнения всех тестов сразу, а также название и аппаратная платформа ПЛК, фирма и страна производителя. По результатам экспериментов можно констатировать, что прототип ПЛК на базе «Байкал-Т1» успешно прошел проверку на производительность и может быть взят на вооружение отечественными производителями. Еще одним его преимуществом является то, что он базируется на отечественной аппаратной платформе.

Тестовый комплект ТК-Т1

Рис. 1. Тестовый комплект ТК-Т1

О системе на кристалле «Байкал-Т1»

«Байкал-Т1» — отечественная система на кристалле на базе архитектуры нового поколения MIPS Warrior P-class P5600 разработки компании «Байкал Электроникс», входящей в холдинг «Т-Платформы». Семейство процессоров «Байкал» (Baikal) имеет широкий набор высокоскоростных интерфейсов и включает ряд возможностей, предназначенных для использования в энергоэффективных компьютерных и промышленных системах с разным уровнем производительности и функциональности.

Основные характеристики «Байкал-Т1» (рис. 2): 2 суперскалярных ядра P5600 MIPS 32 r5, частота до 1,2 ГГц, кэш L2 1 Мбайт, контроллер памяти DDR3-1600, интегрированные интерфейсы (1 порт 10 Gb Ethernet, 2 порта 1 Gb Ethernet, контроллер PCIe Gen.3, 2 порта SATA 3.0, USB 2.0), энергопотребление менее 5 Вт, технологический процесс 28 нм.

 

Байкал-Т

Рис. 2. Образец процессора Байкал-Т

Технология программирования контроллеров ISaGRAF

Комплекс средств ISaGRAF [1] компании Rockwell Automation (владельца торговой марки ISaGRAF) широко известен как инструмент разработки приложений для ПЛК на языках стандарта IEC 61131-3 и IEC 61499 и позволяет создавать локальные или распределенные системы управления процессами и устройствами. Основа технологии — среда разработки приложений ISaGRAF Workbench и адаптируемая под различные аппаратно-программные платформы исполнительная система ISaGRAF Runtime. В ISaGRAF 6 поддерживаются языки стандарта IEC 61131-3:

  • ST — Structured Text (структурированный текст), адаптированный вариант языка Паскаль;
  • LD — Ladder Diagram (язык релейных диаграмм), графический язык в терминах контактов электромагнитных реле и их обмоток;
  • FBD — Function Block Diagram (язык функциональных блоков), графический язык представления инструкций;
  • SFC — Sequential Function Chart (язык последовательных функциональных схем).

 

Описание тестов на производительность

Всего используется 13 тестов, в которых вычисляется время выполнения каждого теста в миллисекундах по отдельности и время выполнения всех тестов сразу. Тесты включают программы на языках FBD (рис. 3), ST (рис. 4) и LD (рис. 5) с числами различных типов (с плавающей точкой, вещественных, целых, булевских, битовых) и функций разных классов (работа с таймерами, тригонометрия, арифметические и булевские функции). Тест вызывается в цикле определенное число раз (от 2 до 100 тыс.).

Рис. 3. Пример теста на производительность на языке FBD

Рис. 4. Пример теста на производительность на языке ST

Рис. 5. Пример теста на производительность на языке LD

Ниже представлено более подробное описание тестов:

  1. Функция с вызовом функционального блока FBD с таймерами. Вызов функции 100 000 раз в течение одного цикла ресурса. Внутри функции задействованы такие стандартные функциональные блоки, как таймеры (TON, TOF, TP), определение переднего/заднего фронта (R_TRIG, F_TRIG), счетчики (CTU, CTD).
  2. Тригонометрическая функция ATAN. Вызов функции на языке ST 40 раз в течение одного цикла ресурса. Внутри функции вызов тригонометрической функции арктангенс 6000 раз.
  3. Функции работы с числами с плавающей точкой. Вызов функции на языке ST 4000 раз в течение одного цикла ресурса. Внутри функции выражения с вещественными переменными, такие как сложение, умножение, деление, вычитание, вычисление квадратного корня, возведение в степень. Всего 10 блоков выражений, в каждом из которых по 2–3 выражения.
  4. Функция с таймерами на языке ST. Вызов функции на языке ST 80 000 раз в течение одного цикла ресурса. Содержимое функции аналогично функции из первого теста, но только на языке ST.
  5. Операции с булевскими переменными. Вызов функции на языке ST 40 000 раз в течение одного цикла ресурса. Внутри функции булевы инструкции NOT, OR, AND, XOR.
  6. Вызов функции с тригонометрическими функциями ATAN, COS, SIN, TAN, … Вызов функции на языке ST 25 раз в течение одного цикла ресурса. Внутри функции вызов тригонометрических функций косинус, синус, тангенс, арктангенс, арккосинус, арксинус. Вызовы объединены в блоки, всего 1000 блоков, в каждом из которых по 6 функций.
  7. Присвоение переменных типа REAL. Вызов функции на языке ST 4000 раз в течение одного цикла ресурса. Внутри функции выражения присваивания вещественных переменных. Всего 1001 такое присваивание, типа a=b, где a и b — вещественные переменные.
  8. Функция вычисления расхода природного газа. Вызов функции на языке ST 2 раза в течение одного цикла ресурса. Внутри функции вызов функционального блока. Вычиcление раcхода природного газа на диафрагме c угловым cпоcобом отбора давления. Всего 100 вызовов этого ФБ.
  9. Функции вычислений с переменными типа DINT. Вызов функции на языке ST 4000 раз в течение одного цикла ресурса. Внутри функции арифметические выражения.
  10. Функции вычислений с переменными типа REAL. Вызов функции на языке ST 200 раз в течение одного цикла ресурса. Внутри функции умножение двух вещественных переменных, 6000 строк умножений.
  11. Функция с таймерами на языке LD. Вызов функции на языке LD 40 000 раз в течение одного цикла ресурса. Внутри функции задействованы такие стандартные функциональные блоки, как таймеры (TON, TOF, TP), определение переднего/заднего фронта (R_TRIG, F_TRIG), счетчики (CTU, CTD).
  12. Функции вычислений с битовыми переменными. Вызов функции на языке ST 40 000 раз в течение одного цикла ресурса. Внутри функции используются операции циклического сдвига целочисленных переменных вправо и влево. Также имеются инструкции взятия маски по И, ИЛИ, исключающее ИЛИ.
  13. Функции вычислений с переменными типа LINT/LREAL. Вызов функции на языке ST 4000 раз в течение одного цикла ресурса. Внутри функции операции присваивания, умножения вещественных переменных повышенной точности.
Таблица. Сравнительные результаты тестирования ПЛК 
Номер теста Платформа
Колибри-K1
(«ФИОРД», Россия) ARM926EJ-S rev. 5 ARMv5TEJ, 454 МГц
Simbol-100,
(«Европрибор», Белоруссия) ARM920T rev. 0 ARMv4T, 405 МГц
LinPac (ICP DAS, Тайвань) Xscale-PXA270 rev 8 ARMv5, 520 МГц Bailkal-T1 («Байкал Электроникс», Россия) P5600 MIPS 32 r5, 1200 МГц CL-SOM-AM57x
(CompuLab,
Израиль) AM5728 dual-core ARM Cortex-A15, 1,5 ГГц
Segnetics SMH 2Gi («Сегнетикс», Россия) Freescale iMX27 с ядром ARM926EJ-S, 400 МГц «Колибри-K2» (ICP DAS) («ФИОРД», Россия) Intel Atom CPU E3815, 1,46 ГГц
  Колибри-K1 Simbol-100 LinPac Bailkal-T1 CL-SOM-AM57x Segnetics SMH 2Gi Колибри-K2
1 761 426 430 168 77 1056 111
2 931 948   74 24 1201 37
3 1763 1444   91 47 2643 52
4 587 335 330 130 60 839 82
5 138 97 95 42 25 170 31
6 1029 934   56 24 1401 24
7 316 1599 400 130 54 699 107
8 2063 1924   138 65 2900 112
9 753 780 760 110 106 885 157
10 498 895 8300 124 12 595 43
11 300 169 160 63 29 422 51
12 600 366 322 147 81 1535 102
13 742 604 4300 118 58 716 94
Полный тест 10481 10521 15097 1391 662 15062 1003

 

Исполнительная система ISaGRAF 6 Fiord Target

ISaGRAF 6 Fiord Target — полный комплекс решений для высокоскоростной обработки, управления и доставки данных на верхний уровень систем АСУ. ISaGRAF 6 Fiord Target — целевая система, разработанная компанией «ФИОРД» на основе оригинальной целевой системы ISaGRAF. Исполнительная система ISaGRAF 6 Fiord Target включает подсистему FDA (быстрого доступа к данным), а также драйверы протоколов Modbus RTU/TCP в режимах Master/Slave, библиотеки функций (функциональные блоки ПИД-регулятора, ШИМ, быстрая обработка массивов и матриц, модуль отправки тревог, фильтры сигналов, модуль инициализации переменных, работа с последовательным портом, чтение/запись значений переменных с/на диск, отправка SMS-сообщений, вызов внешних программ, работа с таймером). В ISaGRAF 6 Fiord Target по желанию пользователя могут быть включены дополнительные опции, такие как архивирование, быстрый обмен данными с контроллерами через FDA OPC Server, драйверы протокола IEC 60870-5-104 Master/Slave, модуль горячего резервирования, планирование действий на объекте по расписанию.

Литература
  1. Ревзин Л. М., Золотарев С. В. Технология программирования контроллеров ISaGRAF 6 как универсальный инструмент создания систем управления процессами и устройствами в области АСУ ТП и АСУЗ // Control Engineering. 2013. № 3.
  2. Ризо А. Е., Золотарев С. В. Отечественные контроллеры со встроенной исполнительной системой ISaGRAF 6 Fiord Target: функциональность, расширяемость и безопасность // Control Engineering Россия. 2016. № 4.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *