Прототип ПЛК на базе отечественного 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» — отечественная система на кристалле на базе архитектуры нового поколения 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 нм.
Технология программирования контроллеров 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 тыс.).
Ниже представлено более подробное описание тестов:
- Функция с вызовом функционального блока FBD с таймерами. Вызов функции 100 000 раз в течение одного цикла ресурса. Внутри функции задействованы такие стандартные функциональные блоки, как таймеры (TON, TOF, TP), определение переднего/заднего фронта (R_TRIG, F_TRIG), счетчики (CTU, CTD).
- Тригонометрическая функция ATAN. Вызов функции на языке ST 40 раз в течение одного цикла ресурса. Внутри функции вызов тригонометрической функции арктангенс 6000 раз.
- Функции работы с числами с плавающей точкой. Вызов функции на языке ST 4000 раз в течение одного цикла ресурса. Внутри функции выражения с вещественными переменными, такие как сложение, умножение, деление, вычитание, вычисление квадратного корня, возведение в степень. Всего 10 блоков выражений, в каждом из которых по 2–3 выражения.
- Функция с таймерами на языке ST. Вызов функции на языке ST 80 000 раз в течение одного цикла ресурса. Содержимое функции аналогично функции из первого теста, но только на языке ST.
- Операции с булевскими переменными. Вызов функции на языке ST 40 000 раз в течение одного цикла ресурса. Внутри функции булевы инструкции NOT, OR, AND, XOR.
- Вызов функции с тригонометрическими функциями ATAN, COS, SIN, TAN, … Вызов функции на языке ST 25 раз в течение одного цикла ресурса. Внутри функции вызов тригонометрических функций косинус, синус, тангенс, арктангенс, арккосинус, арксинус. Вызовы объединены в блоки, всего 1000 блоков, в каждом из которых по 6 функций.
- Присвоение переменных типа REAL. Вызов функции на языке ST 4000 раз в течение одного цикла ресурса. Внутри функции выражения присваивания вещественных переменных. Всего 1001 такое присваивание, типа a=b, где a и b — вещественные переменные.
- Функция вычисления расхода природного газа. Вызов функции на языке ST 2 раза в течение одного цикла ресурса. Внутри функции вызов функционального блока. Вычиcление раcхода природного газа на диафрагме c угловым cпоcобом отбора давления. Всего 100 вызовов этого ФБ.
- Функции вычислений с переменными типа DINT. Вызов функции на языке ST 4000 раз в течение одного цикла ресурса. Внутри функции арифметические выражения.
- Функции вычислений с переменными типа REAL. Вызов функции на языке ST 200 раз в течение одного цикла ресурса. Внутри функции умножение двух вещественных переменных, 6000 строк умножений.
- Функция с таймерами на языке LD. Вызов функции на языке LD 40 000 раз в течение одного цикла ресурса. Внутри функции задействованы такие стандартные функциональные блоки, как таймеры (TON, TOF, TP), определение переднего/заднего фронта (R_TRIG, F_TRIG), счетчики (CTU, CTD).
- Функции вычислений с битовыми переменными. Вызов функции на языке ST 40 000 раз в течение одного цикла ресурса. Внутри функции используются операции циклического сдвига целочисленных переменных вправо и влево. Также имеются инструкции взятия маски по И, ИЛИ, исключающее ИЛИ.
- Функции вычислений с переменными типа 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 ГГц | |
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, модуль горячего резервирования, планирование действий на объекте по расписанию.
- Ревзин Л. М., Золотарев С. В. Технология программирования контроллеров ISaGRAF 6 как универсальный инструмент создания систем управления процессами и устройствами в области АСУ ТП и АСУЗ // Control Engineering. 2013. № 3.
- Ризо А. Е., Золотарев С. В. Отечественные контроллеры со встроенной исполнительной системой ISaGRAF 6 Fiord Target: функциональность, расширяемость и безопасность // Control Engineering Россия. 2016. № 4.