Главная » Блог » Winlog Evo Code Builder

Winlog Evo Code Builder: программирование SCADA-приложений с помощью собственного языка

Winlog Evo Code Builder: программирование SCADA-приложений с помощью собственного языка

Sielco Sistemi

Современные SCADA-системы больше не ограничиваются отображением значений технологического процесса, аварийных сигналов и трендов. Приложения промышленной автоматизации всё чаще требуют пользовательской логики, автоматических процедур, обработки данных и интеграции между различными компонентами системы диспетчеризации.

Что такое Code Builder в Winlog Evo SCADA?

Code Builder — это интегрированная среда программирования, предоставляемая Winlog Evo для расширения и настройки SCADA-приложений.

Она предоставляет специализированный язык программирования, позволяющий разработчикам создавать процедуры и функции и взаимодействовать с элементами приложения Winlog Evo. Среда также обеспечивает доступ к функциям API и инструментам проверки синтаксиса.

Благодаря этому Code Builder является важным инструментом для разработки и настройки SCADA-приложений.

Подробнее об инструментах разработки Winlog Evo

Зачем нужен язык программирования внутри SCADA-системы?

Каждый проект промышленной автоматизации имеет специфические требования. Стандартная конфигурация SCADA обеспечивает коммуникацию, визуализацию, аварийные сигналы, исторические данные и отчётность, однако отдельным производственным объектам могут требоваться дополнительные процедуры, которые невозможно реализовать только настройкой графических объектов.

  • Расчёт производных технологических значений.

  • Реализация специальных последовательностей управления.

  • Одновременный контроль нескольких условий.

  • Чтение и изменение значений SCADA-тегов.

  • Управление рецептами и производственными процедурами.

  • Чтение и запись файлов.

  • Взаимодействие с базами данных.

  • Формирование отчётов и выполнение расчётов.

  • Реализация автоматических процедур.

Code Builder позволяет реализовать эту специфическую для приложения логику непосредственно внутри проекта Winlog Evo.

Язык программирования, разработанный для SCADA-приложений

Code Builder специально разработан для программирования в среде Winlog Evo SCADA. Язык включает основные концепции программирования, такие как переменные, функции, выражения, условия и циклы.

Документированные базовые типы включают int, unsigned, real, bool и string. Язык также поддерживает вызовы функций, присваивания, возвращаемые значения, If...Then...Else, For...Next, While и Do...While.

Создание пользовательских функций и процедур

Одной из ключевых возможностей Code Builder является создание пользовательских функций. Функция может иметь возвращаемое значение, имя, параметры, директивы, локальные переменные и последовательность инструкций.

Такая структура позволяет разработчикам организовывать сложную SCADA-логику в виде повторно используемых процедур вместо дублирования одного и того же кода в разных частях приложения.

Автоматические процедуры SCADA с помощью Code Builder

Функции Code Builder могут быть связаны с различными режимами выполнения. Документированные директивы включают #Macro, #Startup, #Shutdown и #Modal.

Функция Startup выполняется при запуске Runtime и может использоваться для циклических проверок или автоматических действий. Функция Shutdown выполняется при закрытии Runtime, а функции Macro могут быть доступны оператору.

Эти возможности делают Code Builder подходящим инструментом для разработки автоматических процедур SCADA.

Доступ к SCADA-тегам из программного кода

Одной из наиболее важных характеристик среды программирования Winlog Evo является прямое взаимодействие с SCADA-тегами, которые в Winlog называются gate.

API предоставляет функции для чтения и записи числовых, цифровых и строковых gate, а также функции для работы с другими свойствами и элементами приложения.

Например, такие функции, как GetNumGateValue() и SetNumGateValue(), могут использоваться для чтения и изменения значений числовых gate.

Расширенный API для разработки SCADA-приложений

Язык программирования дополнен API Winlog Evo. Документация Code Builder организует функции API по нескольким направлениям, включая:

  • Операции с битами

  • Журналы данных

  • Базы данных MySQL/MariaDB и SQLite

  • Дата и время

  • Устройства

  • Каталоги и файлы

  • SCADA-теги

  • Исторические файлы

  • Интернет и FTP

  • Математические функции

  • Многоязычная поддержка

  • Рецепты

  • Отчёты

  • SMS

  • Строки

  • Шаблоны и объекты шаблонов

  • Пользователи и группы

Таким образом, Code Builder является не просто средством написания скриптов для расчётов: он предоставляет программный уровень для настройки приложений Winlog Evo.

Базы данных, файлы, отчёты и рецепты

API включает функции для приложений, которым необходимо обмениваться информацией с внешними источниками данных. Документированные функции работы с базами данных включают операции MySQL/MariaDB, такие как управление соединениями, транзакции, SQL-запросы, привязка параметров и получение результатов.

Code Builder также предоставляет функции для управления файлами, журналами данных, историческими данными, отчётами и рецептами. Функции рецептов позволяют создавать, удалять, импортировать и выполнять рецепты, обеспечивая программное взаимодействие логики приложения с системой управления рецептами.

Условия и циклы программирования в SCADA-логике

Промышленные приложения часто требуют повторяющихся операций и условной логики. Code Builder поддерживает условия If...Then...Else и несколько типов циклов.

For...Next может повторять инструкции для заданного диапазона, а While и Do...While могут многократно выполнять инструкции, пока выполняется заданное условие.

Поскольку код Code Builder имеет высокий приоритет внутри приложения, длительные или бесконечные циклы могут влиять на быстродействие приложения. Документация Winlog рекомендует использовать Sleep() внутри длительных циклов, чтобы Runtime мог продолжать обработку других задач приложения.

Интегрированная среда разработки SCADA

Code Builder интегрирован в Project Manager Winlog Evo. Разработчики могут работать с файлами кода проекта с помощью редактора, который предоставляет подсветку синтаксиса, поиск и замену, закладки и другие инструменты разработки.

Среда включает команды для непосредственной вставки функций API и конструкций языка в код. Проверка синтаксиса может выполняться для текущего файла или для всех файлов проекта.

Почему Code Builder полезен разработчикам Winlog Evo?

Главное преимущество Code Builder заключается в возможности объединить визуальную разработку SCADA с процедурным программированием.

Инструменты разработки Winlog Evo могут использоваться совместно: можно определить технологические переменные, создать графические страницы диспетчеризации, а затем с помощью Code Builder реализовать программную логику, связывающую эти элементы.

Такой подход позволяет хранить специфическую для приложения программную логику непосредственно в SCADA-проекте Winlog Evo.

Заключение: гибкое программирование SCADA с Winlog Evo

Winlog Evo Code Builder предоставляет разработчикам практический способ добавления пользовательской программной логики в SCADA-приложения.

Его собственный язык программирования включает переменные, функции, условия, циклы и выражения, а API предоставляет доступ к gate, устройствам, файлам, базам данных, историческим данным, отчётам, рецептам, шаблонам, пользователям и другим функциям Winlog Evo.

Для разработчиков SCADA-приложений это означает, что Winlog Evo выходит за рамки стандартной конфигурации и визуализации. Можно создавать пользовательские процедуры для реализации конкретных требований машины, технологического процесса или производственного объекта.

Таким образом, Code Builder является важной частью среды разработки Winlog Evo: программным уровнем, позволяющим адаптировать SCADA-приложение к конкретным требованиям проектов промышленной автоматизации.

FAQ

Как можно программировать Winlog Evo для пользовательских SCADA-приложений?
Winlog Evo можно настраивать с помощью Code Builder — интегрированной среды программирования, позволяющей создавать процедуры и функции с использованием собственного языка программирования.
Есть ли в Winlog Evo собственный язык программирования SCADA?
Да. Code Builder в Winlog Evo использует собственный язык программирования, предназначенный для разработки SCADA-приложений, с переменными, функциями, выражениями, условиями и циклами
Может ли Winlog Evo Code Builder читать и записывать теги SCADA?
Да. API Winlog Evo предоставляет функции для чтения и записи числовых, цифровых и строковых тегов, позволяя логике приложения напрямую взаимодействовать с технологическими переменными SCADA.
Может ли Winlog Evo выполнять автоматические процедуры при запуске и завершении Runtime?
Да. Code Builder поддерживает директивы Startup и Shutdown. Функции Startup могут выполнять действия при запуске Runtime, а функции Shutdown — при его завершении.
Может ли Winlog Evo Code Builder реализовывать пользовательскую логику автоматизации?
Да. Code Builder позволяет реализовывать специфические для приложения последовательности, вычисления, условные операции, повторяющиеся задачи и автоматические процедуры непосредственно в SCADA-проекте Winlog Evo.
Может ли Winlog Evo Code Builder работать с базами данных?
Да. API Winlog Evo включает функции для работы с базами данных MySQL/MariaDB и SQLite, включая управление соединениями, SQL-запросы, транзакции, привязку параметров и получение результатов.
Может ли Winlog Evo Code Builder управлять рецептами и производственными процедурами?
Да. API Winlog Evo включает функции для работы с рецептами: их можно создавать, удалять, импортировать и выполнять, что позволяет программной логике взаимодействовать с системой управления рецептами.
Можно ли использовать Winlog Evo Code Builder для обработки и вычисления SCADA-данных?
Да. Code Builder поддерживает переменные, выражения, математические функции, условия и циклы, что позволяет использовать его для вычислений и специализированной обработки данных SCADA.
Есть ли в Winlog Evo API для разработки SCADA-приложений?
Да. API Winlog Evo предоставляет программные функции для работы с тегами SCADA, устройствами, базами данных, файлами, журналами данных, рецептами, отчетами, шаблонами, пользователями и другими функциями приложения.
Подходит ли Winlog Evo для разработки пользовательского программного обеспечения промышленной автоматизации?
Да. Winlog Evo объединяет визуальную разработку SCADA с программированием Code Builder, позволяя создавать пользовательскую логику, процедуры и функции с учетом конкретных требований машин, процессов и производственных установок.

Связанные Статьи

Последнее обновление: Сентябрь 2026