Скрипты в SCADA: основное применение
сергей рылов
к.т.н., эксперт по автоматизации производства,
Школа Fine Start
В любой SCADA системе есть стандартный набор функциональных возможностей. Однако возникают ситуации, когда необходимый функционал невозможно реализовать при помощи стандартных функций той или иной SCADA системы.
В таких случаях на выручку приходят так называемые сценарии или иначе - “скрипты” (Scripts).
Что это такое, расскажу в этой статье, которая будет интересна будущим инженерам по автоматизации и инженерам-программистам АСУ ТП.
Скрипт – программа на языке программирования. Используя скрипт, можно реализовать любые алгоритмы в рамках SCADA системы.
Использование скриптов дает неограниченные возможности для разработчика SCADA системы в процессе реализации задач по автоматизации технологических процессов.Таким образом, базовый функционал SCADA системы можно расширять практически безгранично, в зависимости от требований заказчика.
Скрипты позволяют модернизировать уже работающую SCADA систему в случае необходимости. Основными языками, которые используются для написания скриптов в SCADA системах являются следующие:
- C#
- Object Pascal
- Visual Basic
- JavaScript
- SQL
Могут использоваться и другие языки программирования. Каждый производитель SCADA определяет, какой язык используется в его решении.
Высокая скорость выполнения алгоритма, реализованного скриптом, достигается за счет предварительной компиляции кода языка программирования в машинные коды. С помощью скриптов можно:
- Изменять свойства графического примитива
- Считывать / устанавливать значения аргументов
- Реализовать алгоритмы обработки данных и многое другое.
Зачастую в документации к SCADA системе можно найти основные несложные скрипты для реализации часто используемых функций.
Для реализации более сложного функционала потребуется знание основ программирования.
Давайте рассмотрим стандартные случаи, в которых могут пригодится скрипты в SCADA проекте. Предположим, нам надо изменять цвет объекта (например, индикатора) при изменении значения связанной с ним переменной.
Приведем пример кода скрипта на примере языка Object Pascal в Simple- SCADA:
- в свойстве "Переменная" объекта выбираем нужную нам переменную
- в инспекторе объектов переходим на вкладку События и дважды кликаем по событию OnDataChange (изменение значения переменной, связанной с объектом). Затем пишем скрипт:
Рассмотрим работу с файлами для ситуации, когда нам нужно сохранить различные данные в файл, а потом загрузить их в различные объекты.
Создадим две кнопки – для сохранения в файл и для загрузки из файла. В событии OnClick первой кнопки напишем скрипт для сохранения в файл:
В событии OnClick второй кнопки напишем скрипт для чтения данных из файла:
Теперь по нажатию первой кнопки данные будут сохраняться в файл, а по нажатию второй загружаться из файла.
Довольно часто можно встретить использование скриптов в SCADA для автоматизации выполнения повторяющихся действий, например, множество однотипных объектов меняют цвет по одинаковым условиям.
Скрипты также можно использовать для вывода специфических и сложных сообщений пользователю.
Необходимо отдельно остановиться на скриптах SQL. Данные запросы позволяют обращаться к базам данных, делать любые выборки данных, обрабатывать их и выводить результат. Зачастую это очень упрощает работу по формированию табличных данных и графиков.
Таким образом, можно сделать заключение, что любая серьезная SCADA система не сможет обойтись без использования скриптов, реализующих сложные вычисления или нестандартные функции и требования заказчика. Поэтому для создания первоклассных и надежных SCADA систем разработчик должен знать основы программирования в целом и, в частности, на том языке, который используется в конкретной SCADA.
Сергей Рылов
К.Т.Н., ЭКСПЕРТ ПО АВТОМАТИЗАЦИИ ПРОИЗВОДСТВА, ШКОЛА FINE START
Более 10 лет опыта инженером по автоматизации, инженером-программистом АСУ ТП и инженером-проектировщиком АСУ ТП в разных отраслях промышленности.
Принимал участие в таких крупных проектах автоматизации, как проекты ГУП «Мосгортранс» и ОАО "Линде Газ Рус".
Заинтересовала статья?
Освоить востребованную профессию в сфере автоматизации производства вы можете в Школе Fine Start. Узнайте детали в каталоге наших профессий