В статье рассмотрены вопросы, связанные с актуальностью обучения студентов не связанных на прямую со сферой информационных технологий методам и приемам программирования программируемых логических контроллеров с применением языка CFD. В статье предложено применение среды разработки с низким порогом вхождения, рассмотрен пример реализации порогового регулятора, даны рекомендации по дальнейшему внедрению решений на базе языка CFD в учебный процесс.
Ключевые слова: программируемый логический контроллер, язык функциональных блоковых диаграмм, обучение.
Введение. Процесс цифровизации экономики приводит к изменению социально-экономической парадигмы, в связи с чем актуальным становится вопрос о подготовке кадров способных в полной мере воспользоваться преимуществами её изменения [1]. Современный рынок онлайн-обучения воспринял данные тенденции, одним из наиболее крупных сегментов рынка открытых онлайн курсов является именно сегмент учебных программ в области информационных технологий [2]. Однако, зачастую при выборе языка программирования для обучения акцент смещается в пользу его популярности, таким образом зачастую студенту предлагается изучить один из популярных языков, например Java, C#, C++, Python [3] и другие. Вместе с тем цифровая экономика не ограничивается только сервисной сферой, в которой наиболее популярны вышеуказанные языки, не следует забывать о производящих и обрабатывающих отраслях экономики, а также о транспортной отрасли, в которых активное применение находят программируемые логические контроллеры [4].
При этом зачастую программирование логических контроллеров, организовано в более доступной для обучения форме, как правило при обучении основам программирования логических контроллеров не требуется изучение основ парадигмы объектно-ориентированного или функционального программирования. Существуют графические языки для программирования микроконтроллеров, в частности язык функциональных блоковых диаграмм (FBD) и близкие к нему по парадигме языки.
Применение графических языков программирования на базе функциональных блоковых диаграмм для обучения автоматическому управлению.
На российском рынке представлены различные микроконтроллеры, программируемые на языке FBD [5], данный язык востребован поскольку достаточно нагляден и прост для освоения профессионалами, имеющими опыт работы с микроконтроллерами, однако для лиц только начинающих обучаться нередко сложность освоения и визуальная составляющая интерфейса, могут снизить мотивацию к обучению. Рассмотрим интерфейс (рисунок 1) одной из популярных систем программирования микроконтроллеров в том числе на языке FBD — CoDeSys [6].
Рис. 1. Фрагмент рабочего окна CoDeSys при работе с программой на языке FBD
Несмотря на свою функциональность интерфейс программы может для неопытного пользователя показаться «перегруженным», поэтому целесообразно перед изучением данного инструмента, ознакомится с более простой и наглядной средой разработки, основанной на аналогичных принципах работы.
В качестве такой среды разработки в данной статье предлагается рассмотреть программу CannyLab, которая является интегрированной средой разработки на языке Canny Function Diagram (CFD). Язык CFD основан на языке FBD, при его разработке учитывался стандарт МЭК 61131–3 [7]. Внешний вид интерфейса CannyLab показан на рисунке 2.
Несмотря на то, что CannyLab и язык CFD предназначены только для программирования контроллеров CANNY, в программе присутствует режим симулятора, в котором можно провести моделирование распространенных функциональных блоков, достаточных для имитации различных автоматических регуляторов. Также определенным преимуществом данной среды разработки является, то, что её не надо устанавливать на компьютер пользователя, достаточно распаковать архив с программой и запустить.exe файл. Данный фактор может быть полезен в условиях ограниченных прав пользователя, в соответствии с различными политиками информационной безопасности учебного заведения.
Рис. 2. Фрагмент рабочего окна CannyLab при работе с программой на языке CFD
Рассмотрим пример реализации порогового регулятора на языке CFD в режиме симулятора CannyLab (рисунок 3).
Рис. 3. Пример реализации порогового регулятора в режиме симулятора CannyLab
В данном примере может быть использовано практически любое сочетание датчика и исполнительного устройства, например фоторезистор и светодиодная матрица, включение которой производится при снижении светового потока поступающего на измерительный орган датчика ниже определённого порога.
Дальнейшим развитием практики применения языка CFD в учебном процессе может стать организация различных учебных стендов (макетов) переводящих обучение из исключительно виртуальной плоскости симуляции в физическое воплощение, аналогично примерам учебных стендов для обучения на языке FBD [8]. Учитывая схожесть языка CFD и FBD в дальнейшем возможно будет продолжить обучение именно на языке FBD.
Заключение. Вусловиях постепенного повышения степени цифровизации экономики РФ актуальной становится задача не толькообучения языкам программирования, распространённым в сфере сервисной автоматизации, но и языкам программирования, связанным с обеспечением реального сектора экономики, в том числе языку FBD. В случае если студенты имеют низкую способность к освоению языков программирования или низкую мотивацию, целесообразно начать обучение с более наглядного языка CFD.
Литература:
1. Басаев З. В. Цифровизация экономики: Россия в контексте глобальной трансформации // Мир новой экономики. 2018. № 4. C. 32–38.
2. Семенова Т. В., Вилкова К. А., Щеглова И. А. Рынок массовых открытых онлайн-курсов: перспективы для России // Вопросы образования. 2018. № 2. С. 173–197.
3. Наумов Родион Владимирович Актуальные языки программирования // Academy. 2016. № 1 (4). С.49–50
4. Банников Евгений Викторович Использование ПЛК в промышленности // International scientific review. — 2019. № LV. С. 25–28.
5. Лещёв В. С., Шилин А. А., Светлаков А. А. Современные промышленные контроллеры и их программирование на языке функциональных блоковых диаграмм FBD // Доклады ТУСУР. 2007. № 2 (16). С. 62–67
6. Новиков С. О. Возможности системы программирования CoDeSys при разработке программного обеспечения и проектировании микропроцессорных систем управления // Энергетика. Известия высших учебных заведений и энергетических объединений СНГ. 2009. № 1. С. 27–35
7. Язык CFD. — Текст: электронный // Canny.ru: [сайт]. — URL: https://wiki.canny.ru/index.php?title= %D0 %AF %D0 %B7 %D1 %8B %D0 %BA_CFD (дата обращения: 21.06.2020).
8. Ежов В. Д., Дубоделов В. Е., Крышнев Ю. В. Обучающий комплекс для промышленных систем управления // Энергетика. Известия высших учебных заведений и энергетических объединений СНГ. 2013. № 1. С. 17–25.