Разработка программного обеспечения
В структуру компании ООО «СПК» входит Департамент разработки программного обеспечения, выполняющий следующие функции:
- разработка человеко-машинных интерфейсов АСУТП;
- разработка управляющих программ промышленных контроллеров;
- разработка собственного прикладного ПО различного назначения;
- разработка документации на выпускаемое ПО.
Разработка человеко-машинных интерфейсов (HMI – human-machine interface) выполняется в специализированных SCADA-системах и включает нижеперечисленные виды работ:
- проектирование интерфейса АРМ оператора;
- наладка сетевого взаимодействия между SCADA и ПЛК;
- реализация решений по сбору, обработке, резервированию и хранению данных;
- разработка скриптов по обработке команд оператора и получаемых сигналов от ПЛК.
Существует множество SCADA-систем для разработки проектов АСУТП, но в своей работе мы преимущественно используем SCADA приведенные ниже:
- iFix, производства General Electric;
- Alpha.Platform, производства Атомик Софт;
- AstraRegul, производства Прософт-Системы;
- InTouch, производства Wonderware;
- Vijeo Designer, производства Schneider Electric;
- Simatic WinCC, производства
Разработка управляющих программ промышленных контроллеров выполняется в средах конфигурирования промышленных контроллеров. Каждый производитель ПЛК (промышленный логический контроллер) предоставляет собственную среду разработки для своих контроллеров. Однако перечень языков программирования в данных средах как правило следующий:
- IL (Instruction List) — список инструкций;
- ST (Structured Text) — структурированный текст;
- LD (Ladder Diagram) — релейно-контактная логика;
- FBD (Function Block Diagram) — функциональные блоковые диаграммы;
- SFC (Sequential Function Chart) — последовательные функциональные диаграммы.
Список сред, применяемых в наших проектах:
- Astra.IDE для контроллеров линейки Regul компании Прософт-Системы;
- EcoStruxure для контроллеров компании Schneider Electric;
- Simatic Step 7 для контроллеров компании Siemens;
- OwenLogic для контроллеров компании ОВЕН;
Для выполнения отдельных прикладных задач так же разрабатываются собственные настольные приложения, библиотеки и системные скрипты. Перечень собственных приложений и библиотек:
- DataReader – приложение для считывания оперативных сообщений с ПЛК и передачи их в HMI;
- FixLogViewer – приложение для просмотра, поиска и печати архива оперативных сообщений системы;
- MailSend – приложение для отправки электронных сообщений о нарушении целостности ПО и файлов с АРМ оператора на центральный сервер;
- MediaControl – приложение для воспроизведения звуковой сигнализации;
- SetPoints – приложение для просмотра, редактирования и записи технологических уставок в ПЛК и архивную БД уставок;
- TrendViewer – приложение для отображения трендов изменения аналоговых сигналов системы;
- VersionControler – приложение для контроля целостности файлов и контроля активности процессов;
- SettingsApp – приложение для конфигурирования вышеперечисленных приложений;
- ПО «Симулятор» – приложение для программной имитации полевого оборудования.
Для разработки вышеперечисленных приложений используются следующие технологии и языки программирования:
- C#;
- WPF;
- Платформа .NET.
Также для решения ряда оперативных задач разрабатываются различные скрипты и макросы, например, для администрирования системы или обработки большого объема данных. Данные утилиты разрабатываются посредством следующих сред и языков программирования:
- PowerShell;
- Python;
- MS-DOS;
- Visual Basic.
Информация об ИТ-технологиях и фреймворках:
- Языки программирования: ST, SFC, FBD, Om, JavaScript, VBA, Python, bash, C#
- Фреймворки и среды разработки: Alpha.Platform (рег. номер реестра российского ПО — 1157017005188), AstraRegul(рег. номер реестра российского ПО — 1226600012330), Astra.IDE(рег. номер реестра российского ПО — 1226600012330), Codesys, .NET, .NET Framework, WinForms, WFP, Avalonia UI
- Системы версионирования: Mercury, Git.
- Перечень оборудования: коммутаторы, роутеры, NTP-серверы, АРМы, панели сигнализации (Zelax, Eltex, iROBO, Cisco, Moxa).
- Меры безопасности: соответствие требованиям ФСТЭК, шифрование каналов, резервирование, мониторинг (SNMP, NTP).
- ОС серверов и АРМ: Astra Linux (рег. номер реестра российского ПО — 5167746207459), настроенная в соответствии с ФСТЭК и требованиями заказчика.
- Процедуры безопасности: управление правами доступа, регулярное обновление, аудит.