Наука — Школе |
Проект «Информатика-21» не только служит
целям научного просвещения и качественного образования, но и оказывается
каналом трансляции в промышленность настоящих инноваций в настолько
мифологизированной сфере, какой является сфера информационных
технологий |
На Дне Оберона-2016, прошедшем в Москве 2016-10-08, об использовании Оберона в энергетике рассказал Валерий Игоревич Шипков -- инженер из Калининграда, должностная обязанность которого -- обеспечить автоматизированное управление бесперебойным электроснабжением нового микрорайона "Восточный", расчитанного на 35 тысяч жителей, в котором уже функционирует детский сад, автотранспортные предприятия, магазины и другие объекты социальной инфраструктуры, в будущем появится школа и прорабатывается вариант использования подстанции как резервного источника питания для стадиона, строящегося к Чемпионату мира по футболу-2018.
В энергетике требуется самая высокая надёжность, управляемость и отсутствие аварийных ситуаций. В данном случае речь о требованиях надёжности I категории подачи электропитания (перерыв не более одного часа).
Комплекс автоматизации представлен самыми разнообразными устройствами, в том числе работающими с высокими напряжениями (от 380 вольт до ста десяти киловольт): релейно-защитное оборудование со временем реакции не более одной миллисекунды; устройства дискретного управления заземлителями, разъединителями и т.п.; устройства коммерческого учёта электроэнергии -- всего более 130 блоков, круглосуточно регистрирующих более трёх тысяч параметров.
Логика управления таким сложным оборудованием должна гарантировать своевременное предоставление сопряжённым системам управления и оперативному персоналу надёжной информации со всего оборудования, включая встроенные системы самодиагностики. Две основные задачи цифрового комплекса -- защитить персонал от ошибочных действий и снизить вероятность повреждения дорогостоящего оборудования при аварийных ситуациях.
Программное обеспечение должно обладать соответствующей надёжностью: регламентированное время непрерывной работы должно быть не менее 99.8% от общего времени работы.
Поэтому при выборе языка и инструментов программирования ключевым было требование обеспечить как максимальную надёжность внутренних механизмов языка, так и максимальную защиту от ошибок программиста.
Важно понимать, что в данном случае инженер-программист -- это одновременно и потребитель своей продукции: он не может переложить на кого-то стоимость избыточной сложности инструментария, соответствующую стоимость сопровождения ПО и величину возможного ущерба от ненадлежащего качества при эксплуатации. |
Тщательный поиск (было изучено более 50 мест в Сети, посвящённых теме языков программирования для промышленных приложений) показал, что выбор здесь крайне ограничен: либо языки оказывались просто популярными в мейнстриме, но на самом деле не отвечали требованиям промышленной надёжности (python, C, C++, Java, С#), либо они слишком сложны для освоения и понимания с соответствующими последствиями для интеллектуального контроля ПО (erlang, ocaml и т.п.), либо слишком новые и непредсказуемые (golang, nim, scala).
Может показаться удивительным, но наиболее приемлемый вариант нашёлся в виде учебных сборок Блэкбокса на сайте проекта Информатика-21: компактное автономное окружение, достаточно полный комплект русифицированной документации, предельно простой синтаксис и отсутствие двусмысленностей в семантике, а также продуманный минималистичный вспомогательный инструментарий. |
Неожиданным, приятным и полезным бонусом оказалась возможность полной русификации программ.
При дальнейшем знакомстве подкупили возможности гибкой настройки среды под себя и под задачи.
Всего пары недель хватило, чтобы изучить основные возможности среды и языка, выбрать для себя сборку и приступить к полноценной работе. В качестве основной сейчас используется сборка 1.7 с поддержкой Юникода в идентификаторах от международного сообщества, развивающего систему Блэкбокс.
Продуманная структура инструментария обеспечила высокую скорость разработки без снижения качества ПО:
Неформальный отчёт об опыте применения Блэкбокса в этой задаче
Наука — Школе |