15 ноября 2023 года в рамках Восемнадцатого чемпионата по спортивному программированию компания АдАстра (Москва) провела Одиннадцатый студенческий SCADA-чемпионат по скоростному программированию в SCADA-системе. 

На этот раз, перед участниками чемпионата была поставлена задача из мира Интернета вещей и Индустрии 4.0. При помощи базовой версии TRACE MODE 7.1, считать данные по протоколу IoT MQTT, накопить их и отобразить на экране ПК с помощью нового графического элемента SCADA TRACE MODE 7 - "Профиль".  Бесплатный нативный драйвер MQTT встроен в SCADA TRACE MODE 7, а в качестве брокера MQTT использовался сайт mosquitto.org.

С технологиями четвертого промышленного уклада справилось большинство участников. Подключением по MQTT к SCADA TRACE MODE 7 прошло без проблем, даже несмотря на то, что  в процессе соревнований брокер MQTT на сайте mosquitto.org вдруг перестал отвечать. А вот накопление буфера данных в аргументах канала CALL и передача его для отображения на профиле почему-то вызвало затруднения - с задачей не справились 90% (!) участников. По-видимому, свою роль сыграла традиционное для SCADA-систем представление - ось абсцисс тренда - это время. В ГЭ Профиль - это не так - по горизонтали отображаются порядковые номера временного ряда, а не время события.

В итоге, с заданием справились 4 участника - три специалиста и один студент ФГБОУ ВО "Донецкий государственный университет".

Главный приз студенческого SCADA-чемпионата этого года: смартфон Смартфон Xiaomi 12 8/128Gb и профессиональная версия SCADA TRACE MODE 7 на 32000 источников присужден Скрибченко Арсению Владиславовичу, студенту ФГБОУ ВО "Донецкий государственный университет" и его преподавателю - Ломоносу Г.Т. 

Остальные студенты, к сожалению, с заданием не справились. Поэтому второй и третий приз студенческого чемпионата в этом году вручаться не будут, а перейдут на следующий год в качестве джекпота (увеличение призового фонда).

Характерными ошибками студентов были:

  • применение каналов класса CALL;
  • отображение значений аргументов канала CALL.ChGrReq с помощью ГЭ Профиль.

Данные, поступающие от процесса, можно было набирать на аргументы каналов трех типов – ChGrReq, Data и TVC. Отличие лишь в структуре аргументов – в случае TVC аргументы создаются парными - «значение/метка времени».

Однако поскольку ГЭ Профиль работает лишь с ChGrReq, то выбирать надо было именно данный тип. Сам набор данных на аргументы был возможен как непосредственно – по привязке к каналу, получающего данные по активным подключениям к брокеру, либо те же данные можно набирать непосредственно в одномерный массив через входной аргумент программы , написанной исключительно на языке ST. А потом пересылать элементы накопленного и обработанного массива на аргументы ChGrReq с помощью специальной функции SetChannelVF. Временной интервал набора данных задается программно или на ST, или на FBD.

Размещенный на графическом экране ГЭ Профиль должен иметь привязку к атрибуту Реальное значение ChGrReq. Для обновления данных на ГЭ Профиль надо направить ненулевое значение в атрибут Входное значение ChGrReq.

Интерфейс и файл проекта победителя - Скрибченко А.В. приведены ниже. 

Скачать проект Арсения Скрибченко

Результаты чемпионата опубликованы в Турнирной таблице 

Основной SCADA-чемпионат продолжается. 22 ноября 2023 нас ждет второй тур. Арсений Скрибченко теперь может бороться за главный приз чемпионата для специалистов - игровой ноутбук.

 

Пожелаем успехов нашим киберспортсменам!