Универсальная среда разработки Agava: различия между версиями
| (не показаны 4 промежуточные версии этого же участника) | |||
| Строка 214: | Строка 214: | ||
=== Сохранение проекта === | === Сохранение проекта === | ||
Для сохранения проекта на диск вызовите команду «Файл->Сохранить проект» или «Файл->Сохранить проект как...», если необходимо сделать копию открытого проекта и продолжить работу в ней после сохранения. | Для сохранения проекта на диск вызовите команду «Файл->Сохранить проект» или «Файл->Сохранить проект как...», если необходимо сделать копию открытого проекта и продолжить работу в ней после сохранения. | ||
| + | |||
| + | == Библиотеки ресурсов AgavaSCADA/AgavaPLC == | ||
| + | {{Шаблон:Библиотеки ресурсов AgavaSCADA/AgavaPLC}} | ||
== Проверка и отладка проекта == | == Проверка и отладка проекта == | ||
| Строка 340: | Строка 343: | ||
# Подготовьте USB-Flash накопитель, предварительно отформатировав его в файловую систему FAT32. | # Подготовьте USB-Flash накопитель, предварительно отформатировав его в файловую систему FAT32. | ||
| − | # Вызовите в среде разработки команду «Подготовка архива для обновления» в меню «Проект». | + | # Вызовите в среде разработки команду «Подготовка архива для обновления» или «Сохранить архив проекта» в меню «Проект». |
# Сохраните архив в корень USB-Flash накопителя. | # Сохраните архив в корень USB-Flash накопителя. | ||
# Перейдите в системную утилиту, перезагрузив панель оператора, при загрузке во время однократного звукового сигнала нажмите на экран и удерживайте до повторного звукового сигнала. Введите пароль: 111111. | # Перейдите в системную утилиту, перезагрузив панель оператора, при загрузке во время однократного звукового сигнала нажмите на экран и удерживайте до повторного звукового сигнала. Введите пароль: 111111. | ||
| Строка 350: | Строка 353: | ||
Для загрузки проекта через браузер необходимо произвести следующие действия в указанном порядке. | Для загрузки проекта через браузер необходимо произвести следующие действия в указанном порядке. | ||
| − | # Вызовите в среде разработки команду «Подготовка архива для обновления» в меню «Проект». | + | # Вызовите в среде разработки команду «Подготовка архива для обновления» или «Сохранить архив проекта» в меню «Проект». |
# Сохраните архив. | # Сохраните архив. | ||
# Откройте системную утилиту, введя IP-адрес контроллера в адресную строку браузера. | # Откройте системную утилиту, введя IP-адрес контроллера в адресную строку браузера. | ||
| Строка 359: | Строка 362: | ||
== Отладка проекта == | == Отладка проекта == | ||
| − | + | {{Шаблон:Отладка проекта AgavaSCADA/AgavaPLC}} | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
[[Категория:AgavaSCADA/AgavaPLC]] | [[Категория:AgavaSCADA/AgavaPLC]] | ||
Текущая версия на 09:21, 15 октября 2026
Универсальная среда разработки предназначена для создания и редактирования программного обеспечения для панелей оператора АГАВА ПО, многоканальных программируемых реле АГАВА МПР-60 и систем диспетчеризации на базе SCADA-системы AgavaSCADA.
1 Введение
Универсальная среда разработки Agava имеет удобный и эргономичный пользовательский интерфейс со всеми инструментами, необходимыми для создания эффективных проектов-приложений, предназначенных для исполнения на ПК, панелях оператора или персональных компьютерах.
Среда разработки совмещает редакторы текста, редакторы визуальных представлений объектов, компоновщики структуры, средства связывания объектов и других частей проекта, анализаторы проекта в одном приложении и дает пользователю возможность ведения эффективной разработки проектов-приложений от начала и до завершения в одной программе, без использования разнородных приложений-утилит и необходимости переключения между ними.
1.1 Версии программного обеспечения
| При использовании среды разработки совместно с панелями оператора АГАВА ПО или многоканальными программируемыми реле АГАВА МПР-60 необходимо использовать соответствующую версию среды разработки |
Для определения подходящей версии среды разработки необходимо определить версию среды исполнения, установленной в панели оператора или реле. Тип и версия среды исполнения указаны в системной утилите прибора. Например, "AgavaPLC 1.1", "AgavaPLC 1.2" и т.д. Для использования со средой исполнения AgavaPLC 1.1 необходимо использовать среду разработки версии 1.1, для среды исполнения AgavaPLC 1.2 необходима среда разработки версии 1.2 и так далее.
1.2 Дополнительные статьи и документы
- Описание узлов AgavaSCADA/AgavaPLC.
- Свойства узлов в AgavaSCADA/AgavaPLC.
- Транспорты AgavaSCADA/AgavaPLC.
- Описание языка С++ в AgavaSCADA/AgavaPLC..
- Объектная модель AgavaSCADA/AgavaPLC.
- Описание базовых классов AgavaSCADA/AgavaPLC.
- Коды ошибок и предупреждений AgavaSCADA/AgavaPLC.
- Рекомендации по разработке приложений AgavaSCADA/AgavaPLC.
Полный перечень всех документов, связанных с разработкой приложений на AgavaSCADA/AgavaPLC, приведен на странице категории AgavaSCADA/AgavaPLC.
2 Разработка проекта
2.1 Создание нового проекта
Создание нового проекта в среде разработки осуществляется с помощью команды «Создать проект…» в меню «Файл». После вызова данной команды откроется диалоговое окно создания нового проекта (см. Рисунок 1).
Для создания проекта необходимо в списке типов проектов выбрать необходимый, ввести имя проекта и путь для его сохранения, после чего нажать кнопку «Создать проект».
Доступны несколько типов проектов:
- «Пустой проект» – пустой проект, не содержащий никаких узлов. Данный тип можно использовать для создания произвольного проекта "с нуля".
- «Локальный проект» – предварительно настроенный проект, содержащий необходимые подсистемы и предназначенный для реализации простой системы для одного устройства, при выборе данного типа пользователь имеет возможность выбрать нужные ему подсистемы и получить полностью рабочий проект в минимальной конфигурации.
- «Проект АГАВА ПО-40» - проект, предназначенный для исполнения на панели оператора АГАВА ПО-40.
- «Проект АГАВА ПО-50» - проект, предназначенный для исполнения на панели оператора АГАВА ПО-50.
- «Проект АГАВА МПР-60» - проект, предназначенный для исполнения на контроллере АГАВА МПР-60.
- «Проект АГАВА ПЛК-70.А» - проект, предназначенный для исполнения на контроллере АГАВА ПЛК-70.А.
2.2 Редактирование существующего проекта
Редактирование существующего проекта начинается с открытия файла проекта путем вызова команды «Открыть…» в меню «Файл». После загрузки файла в основном окне среды разработки будут отображены свойства и параметры проекта (см. Рисунок 2).
По умолчанию основное окно среды разработки содержит перечисленные ниже части:
- Строка заголовка приложения, панель меню и панель инструментов.
- Окно дерева проекта. Предоставляет доступ ко всей структуре проекта (см. раздел Узлы проекта).
- Окно свойств (см. раздел #Редактирование свойств узлов ).
- Область для отображения содержимого, например графического представления окна, текста программы или задачи ПЛК.
- Область вспомогательных окон:
- Окно "Сообщения".
- Окно "Ошибки".
- Окно "Точки останова".
- Окно "Ресурсы".
- Окно "Глобальные переменные".
- Окно "Выражения".
- Окно "Стек вызовов".
- Окно "Наблюдение".
- Окно "Локальные переменные".
- Окно "Поиск".
После открытия проекта можно приступить к его редактированию.
По завершению всех операций по редактированию необходимо выполнить проверку проекта на корректность с помощью команды «Проверить проект», расположенной в меню «Проект» (см. 6.1).
2.3 Структура и состав проекта
Типичный проект содержит следующие части:
- станция – важнейший объект, управляющий работой собственных подсистем и осуществляющий обмен данными с другими станциями;
- транспортная подсистема, выполняющая сбор данных с УСО;
- подсистема визуализации, обеспечивающая отображение информации в различных видах.
Проект также может содержать следующие части:
- подсистема архивирования, сохраняющая данные в БД для последующего извлечения и анализа;
- подсистема проверки прав пользователей, предназначенная для контроля доступа пользователя к объектам в режиме исполнения;
- подсистема тревог, предназначенная для оповещения пользователя об обнаруженных нарушениях;
- подсистема журналирования, выполняющая архивирование зарегистрированных событий в БД для последующего извлечения и анализа.
Проект имеет древовидную структуру, вследствие чего все узлы связаны друг с другом. Узлы нижних уровней подчиняются узлам верхних уровней. К примеру, станции подчинены все подсистемы, а каждой подсистеме подчинены все узлы, которыми она управляет.
Описание всех частей проекта и их узлов приведено в разделе 4.
2.4 Разработка проекта
Перед началом разработки проекта рекомендуется проанализировать поставленную задачи и определить подсистемы, необходимые для её реализации. Взаимодействие с подсистемами осуществляется через дерево проекта (см. Рисунок 2), в которое добавляются нужные узлы. Для добавления нового узла, необходимо нажать правой кнопкой мыши на узел верхнего уровня, которому он подчинён, и выбрать в контекстном меню команду «Добавить узел».
Основные части типовой программы и способы их реализации приведены ниже.
2.4.1 Взаимодействие с внешними устройствами
Реализуется через подсистему «Транспорты» в окне дерева проекта. Необходимо добавить в нее нужные протоколы, в зависимости от имеющейся конфигурации контроллера.
- Транспорт для обмена с субмодулями контроллера (для контроллеров с корзиной субмодулей). В качестве порта транспорта необходимо указать “/dev/ttyS0”. В проекте для МПР-60 присутствует по-умолчанию.
- Транспорт последовательный (для управления по RS-232, RS-485 и т.д.).
- Транспорт TCP/IP (для управления по Ethernet).
К транспортам присоединяются либо регистры Modbus, либо субмодули. Для регистра задается адрес устройства, номер регистра, функция чтения/записи и другие параметры, при необходимости. Для субмодуля указывается слот, в котором он установлен, и тип аналоговых входов/выходов.
2.4.2 Визуализация данных
Визуализация данных технологических процессов реализуется с помощью элементов подсистемы «Визуализация».
Система визуализации недоступна в проектах для контроллеров МПР.
Визуализация содержит одно или несколько окон, описанных ниже.
- Форма, которая может использоваться как меню или панель инструментов. Также применяется в небольших проектах, в которых нет необходимости изменения выводимого набора виджетов.
- Окно с композицией, которое позволяет переключаться между различными экранами (например мнемосхемой, настройками, архивированием и т.д). Каждый из этих экранов реализуется на отдельной композиции.
Процесс создания визуализации начинается с добавления нужных окон в группу «Окна» в дереве проекта. В том случае, если используется окно с композицией, необходимо задать ему отображаемую композицию по умолчанию, перед этим добавив ее в группу «Композиции». Созданные окна нужно добавить к одному фрейму, указав их в соответствующем свойстве фрейма.
Редактирование содержимого окна или композиции осуществляется в его графическом представлении (см. раздел #Редактирование графического представления узла).
Более подробное описание подсистемы визуализации приведено в разделе #Подсистема визуализации.
2.4.3 Пользовательские алгоритмы
Реализовать нужные алгоритмы работы программы можно с помощью различных инструментов, которые выбираются в зависимости от сложности проектов и навыков программиста:
- Операции в группе «Сигналы» – отдельные логические операции. В основном используются для небольших проектов, не требующих сложных методов управления;
- Задачи ПЛК – графическое программирование с помощью связывания между собой различных функциональных блоков. Подходит для больших проектов. Реализуется в узле «Задача ПЛК» группы «Задачи». Подробное описание приведено в разделе #Задача ПЛК.
- Скрипты С++ – текстовое программирование на языке высокого уровня. Подходит для больших проектов. Реализуется с помощью операций «Скрипт С++», расположенных в группе «Сигналы» или в задаче ПЛК. Описание реализации языка С++ приведено на странице Описание языка С++ в AgavaPLC.
2.5 Редактирование свойств узлов
Среда разработки обладает развитыми возможностями по редактированию свойств узлов. Описание доступных типов свойств приведно в статье Свойства узлов в AgavaPLC/AgavaSCADA.
2.5.1 Редактирование свойств узлов с помощью окна «Свойства»
Редактирование свойств всех узлов осуществляется с помощью окна «Свойства».
В окне «Свойства» в виде таблицы отображаются все доступные свойства узла, объединенные в группы. В левой колонке отображены наименования свойств, в правой отображены их значения. Свойства, недоступные для изменения, имеют наименование серого цвета. В нижней части окна расположена область подсказки, содержащая пояснение к выделенному свойству.
2.5.1.1 Редактирование свойств группы узлов
В случае, когда необходимо изменить свойства у нескольких узлов, можно воспользоваться возможностью группового редактирования свойств. Для этого нужно выделить несколько узлов в дереве конфигурации либо на графическом представлении с помощью левой кнопки мыши и нажатой кнопки «Ctrl». При этом в окне свойств будут отображены только те свойства, что имеются у всех выделенных узлов. Далее можно изменить нужное свойство, при этом после завершения редактирования измененное значение будет установлено во всех выбранных узлах.
2.5.2 Групповое редактирование свойств узлов
При необходимости редактирования разных свойств у большого количества узлов можно воспользоваться специальным окном «Список узлов».
Открытие окна выполняется с помощью вызова команды «Открыть список узлов» в контекстном меню дерева конфигурации. Открытое окно содержит все узлы, вложенные в выбранные при вызове команды.
Окно позволяет редактировать свойства непосредственно в ячейках таблицы, без переключения на окно «Свойства». Групповое редактирование свойств узлов через окно «Свойства» также доступно.
Щелчок правой кнопкой мыши на списке вызывает контекстное меню, содержащее команды:
- “Свойства”;
- “Экспорт в *.txt”;
- “Импорт из *.txt”;
- “Удалить узел”.
Команда «Свойства» открывает диалоговое окно выбора отображаемых свойств.
Команды «Экспорт», «Импорт» выполняют экспорт списка свойств узлов в текстовый файл и импорт соответственно.
Команда «Удалить узел» производит удаление выделенного узла (узлов).
2.5.3 Функция групповой замены источников в узлах
При разработке сложных проектов может возникнуть необходимость заменить источники сразу в большом количестве узлов. Для этой цели используется функция групповой замены источников. Необходимо перейти в редактирование свойств типа «Список источников», которое производится в соответствующем окне (см. Рисунок 8).
Затем необходимо использовать функцию групповой замены (см. Рисунок 9), выделив нужные узлы, нажав на них правой кнопкой мыши и выбрав «Групповая замена».
2.6 Редактирование графического представления узла
Редактирование содержимого окон, слоев, форм, композиций и других элементов, предназначенных для отображения на экране, осуществляется в окне графического представления. Открытие окна возможно с помощью команды «Открыть графическое представление» в контекстном меню дерева конфигурации или двойного нажатия левой кнопки мыши для узлов следующих типов:
- фрейм;
- форма;
- окно с композицией;
- слой.
Открытое графическое представление выбранного узла может содержать все уже размещенные на нем элементы визуализации и (или) другие узлы и позволяет добавить новые.
На рисунке 10 представлено графическое представление окна «winMain», обведенное пунктирной рамкой серого цвета, обозначающей внешнюю границу открытого узла. Тип рамки пользователь может выбрать по своему усмотрению, выбор производится в окне настроек среды разработки, доступном через команду «Настройки» в меню «Параметры».
Щелчок правой кнопкой мыши на пустом месте в открытом графическом представлении узла вызывает контекстное меню, содержащее команды удаления и вставки виджетов из буфера обмена, а также команды добавления новых виджетов доступных типов.
Добавление новых виджетов также может осуществлять путем их перестаскивания в рабочую область из панели виджетов.
Графическое представление позволяет перемещать выделенные виджеты кнопками перемещения курсора на клавиатуре, а также изменять их размеры кнопками перемещения курсора при нажатой кнопке Shift.
2.6.1 Связывание источников и виджетов
Связывание виджетов и других узлов с источниками данных необходимо для того, чтобы виджеты или другие узлы могли отображать или обрабатывать значения, хранящиеся в источниках.
Для связи виджетов с источниками данных можно воспользоваться обычным способом связывания через окно «Свойства». К примеру, связывание размещенного на форме виджета «Текстовая метка» с регистром Modbus осуществляется добавлением регистра Modbus в свойство виджета «Источник».
Вместе с обычным способом связывания существует и другой, более быстрый способ. Для быстрого связывания регистра с виджетом достаточно нажать на регистр в дереве конфигурации левой кнопкой мыши и перенести его на виджет в открытом графическом представлении.
При помещении курсора над виджетом последний будет заштрихован сеткой зеленого или красного цвета, а курсор изменит свой вид на стрелку с квадратиком (см. рисунок 11).
Зеленая штриховка виджета означает отсутствие связи выделенного виджета с источником данных, в этом случае связывание будет произведено. Красная штриховка говорит об ошибках связывания виджета и сигнала/источника.
2.6.2 Редактирование многослойных композиций
Редактирование многослойных композиций принципиально не отличается от редактирования форм, кроме одного нюанса. Так как композиция может состоять из нескольких слоев, и виджеты на слоях могут располагаться один над другим, для использования наиболее удобного способа редактирования такой композиции можно воспользоваться возможностью открытия каждого слоя в отдельном окне.
Для открытия графического представления слоя нужно воспользоваться командой «Открыть графическое представление» аналогично открытию графического представления формы или композиции.
Открыв одновременно композицию и слой, при редактировании слоя можно видеть, что содержимое композиции также изменяется и наоборот, при редактировании композиции изображение слоя будет изменяться.
Слой обладает важным свойством «Прозрачность для действий». Данное свойство позволяет регулировать доступность виджетов, расположенных на нижележащих слоях, для действий пользователя. Например, если у верхнего слоя данное свойство выключено, то виджеты, расположенные на всех нижележащих слоях, будут недоступны для взаимодействия. Если же у верхнего слоя свойство включено, то виджеты нижележащего слоя будут доступны.
2.6.3 Использование якорей
Данная возможность доступна с версии AS 1.6.32+.
При работе с графическими представлениями окон и композиций, содержащих большое количество виджетов, могут быть полезны якоря - создаваемые пользователем метки на размерных линейках.
Якоря позволяют контролировать положение групп виджетов благодаря связанным с ними линиям привязки. Линии привязки, позволяют быстрее выстраивать группы виджетов благодяря "прилипанию".
Создание якоря выполняется следующими способами:
- Двойным кликом левой кнопки мыши по размерной линейке.
- Кликом правой кнопки мыши на размерной линейке и выбором команды "Добавить якорь".
Удаление якоря выполняется следующими способами:
- Двойным кликом левой кнопки мыши по якорю на размерной линейке.
- Кликом правой кнопки мыши на размерной линейке и выбором команды "Удалить якорь".
Созданные якоря можно перемещать по размерной линейке с помощью мыши.
2.7 Сохранение проекта
Для сохранения проекта на диск вызовите команду «Файл->Сохранить проект» или «Файл->Сохранить проект как...», если необходимо сделать копию открытого проекта и продолжить работу в ней после сохранения.
3 Библиотеки ресурсов AgavaSCADA/AgavaPLC
Библиотеки ресурсов AgavaSCADA/AgavaPLC предназначены для централизованного хранения файлов, используемых объектами проекта, и их повторного применения при разработке. Библиотека сохраняется в отдельном файле с расширением .res и содержит ресурсы, а также структуру папок, определяющую их организацию. Назначение ресурса объекту осуществляется посредством ссылки на библиотеку и путь к соответствующему элементу внутри неё.
3.1 Открытие окна ресурсов
Работа с библиотеками выполняется при открытом проекте в окне «Ресурсы». Для его отображения необходимо выбрать команду «Вид → Показать окно „Ресурсы“». Предусмотрены древовидное и объектное представления. Древовидное представление используется для управления структурой библиотек; объектное — для просмотра их содержимого. В объектном представлении переход в библиотеку или папку осуществляется двойным щелчком, возврат к предыдущему уровню — кнопкой «Вверх».
3.2 Создание библиотеки
Для создания новой библиотеки следует вызвать контекстное меню корневого узла ресурсов и выбрать «Добавить узел → Библиотека ресурсов». После создания необходимо выделить библиотеку и задать её параметры в окне свойств.
Следует различать наименование библиотеки и значение свойства «Имя файла». Наименование используется при обращении к ресурсам из объектов проекта; свойство «Имя файла» определяет файл .res, в котором сохраняется содержимое библиотеки. Рекомендуется устанавливать содержательные и уникальные наименования библиотек, а для каждой самостоятельной библиотеки использовать отдельный файл.
Свойства «Номер сборки» и «Дата сборки» формируются автоматически при сохранении библиотеки и доступны только для чтения.
3.3 Подключение существующей библиотеки
Для использования ранее подготовленной библиотеки необходимо вызвать контекстное меню корневого узла ресурсов, выбрать «Добавить существующую библиотеку ресурсов» и указать один или несколько файлов .res.
Если выбранный файл находится в каталоге проекта или его подкаталогах, путь к нему сохраняется относительно каталога проекта. Для файла, расположенного вне каталога проекта, сохраняется абсолютный путь. Подключение существующей библиотеки использует выбранный файл по месту его размещения; автоматическое копирование в каталог проекта данной операцией не предусмотрено.
Для обеспечения переносимости рекомендуется предварительно размещать библиотеки в каталоге проекта. При подключении библиотеки необходимо проверить её наименование, путь и состав ресурсов.
3.4 Формирование структуры библиотеки
В библиотеке допускается размещать отдельные ресурсы и папки. Папки могут содержать ресурсы и другие папки, что позволяет формировать многоуровневую структуру.
Для создания папки следует выделить библиотеку либо существующую папку и выбрать в контекстном меню «Добавить узел → Папка». Структуру целесообразно формировать по назначению ресурсов, например выделять папки для изображений оборудования, элементов интерфейса и звуковых сообщений.
Наименования папок и ресурсов участвуют в формировании адресов. Поэтому рекомендуется использовать уникальные имена в пределах одного родительского узла и сохранять расширения файлов ресурсов.
3.5 Добавление файлов
Для включения файлов в библиотеку необходимо выделить библиотеку или требуемую папку, выбрать «Добавить узел → Ресурс», затем указать один или несколько файлов. Наименования создаваемых ресурсов первоначально соответствуют именам выбранных файлов.
При добавлении содержимое файла считывается в ресурс, а при сохранении библиотеки записывается в файл .res. Таким образом, сохранённая библиотека содержит данные включённых в неё файлов. Последующее изменение исходного файла на диске само по себе не обновляет ранее добавленный ресурс.
Диалог добавления допускает выбор файлов любых типов. Однако возможность использования конкретного формата определяется объектом, которому назначается ресурс. Например, включение файла в библиотеку ещё не означает, что он может быть отображён как изображение или воспроизведён как звук.
3.6 Назначение ресурса объекту проекта
Для использования библиотечного ресурса следует выделить объект проекта и открыть соответствующее свойство, поддерживающее выбор ресурса, например «Изображение». В меню кнопки выбора необходимо выполнить команду «Выбрать ресурс», указать библиотеку и требуемый файл. Для перехода во вложенную папку используется двойной щелчок; выбор файла можно завершить двойным щелчком по нему либо командой «Выбрать» его контекстного меню.
Ссылка на ресурс имеет вид Библиотека:Папка/Файл. Например, запись Equipment:Images/Pump.png обозначает ресурс Pump.png, находящийся в папке Images библиотеки Equipment. Одному ресурсу могут соответствовать ссылки из нескольких объектов проекта.
Команда «Выбрать файл» задаёт обращение к внешнему файлу. Такой файл сохраняет зависимость от своего расположения в файловой системе и не становится содержимым библиотеки вследствие назначения объекту.
3.7 Копирование и удаление элементов
Для копирования следует выделить элементы в дереве ресурсов, выполнить команду «Копировать», выбрать допустимый родительский узел и выполнить команду «Вставить». Поддерживаются сочетания клавиш Ctrl+C и Ctrl+V. Папка копируется вместе с её содержимым.
Вставка ограничивается допустимой структурой: библиотеки размещаются на корневом уровне, папки и ресурсы — внутри библиотек или папок. После копирования библиотеки необходимо проверить её наименование и свойство «Имя файла», обеспечив самостоятельное размещение копии.
Удаление выделенных элементов выполняется командой «Удалить» или клавишей Delete. Перед удалением ресурса, папки либо библиотеки необходимо проверить их использование объектами проекта и при необходимости изменить соответствующие ссылки. Удаление библиотеки из структуры проекта не следует рассматривать как операцию удаления её файла с диска.
3.8 Соблюдение правил адресации
Поиск библиотечного ресурса выполняется по наименованию библиотеки и пути внутри неё. Поэтому изменение наименования библиотеки, переименование ресурса или папки, а также перенос ресурса в другую папку могут нарушить ранее заданные ссылки.
После изменения структуры необходимо проверить свойства объектов, использующих затронутые ресурсы, и повторно назначить их при необходимости. При выборе одноимённых файлов из разных папок следует контролировать полный адрес ресурса.
Наименование библиотеки и путь к файлу .res имеют различное назначение. Изменение одного параметра не следует считать эквивалентом изменения другого.
3.9 Сохранение и перенос проекта
Сохранение изменённых библиотек выполняется при сохранении проекта. При записи обновляются сведения о сборке библиотеки. Для успешного сохранения каталог размещения файла .res должен существовать и быть доступен для записи.
Существующая подключённая библиотека сохраняется по указанному для неё пути. Если один файл библиотеки используется несколькими проектами, изменение его содержимого может отразиться на каждом из них после повторной загрузки. Для независимого редактирования рекомендуется создавать отдельную копию файла.
При переносе проекта необходимо передавать все используемые файлы .res, сохраняя предусмотренное относительное расположение. Внешние файлы, назначенные непосредственно объектам, также подлежат переносу с последующей проверкой путей.
3.10 Проверка результата
После завершения работы следует сохранить проект, повторно открыть его и проверить наличие библиотек, состав папок и корректность назначенных ресурсов. Затем необходимо проверить использование ресурсов в соответствующих объектах: отображение изображений, применение макетов и воспроизведение звуков, если такие функции задействованы.
Для звуковых ресурсов системы тревог дополнительно требуется проверить настройку разрешения воспроизведения звуков. Наличие звукового файла в библиотеке и назначение ссылки являются отдельными условиями и сами по себе не обеспечивают воспроизведение.
4 Проверка и отладка проекта
4.1 Эмуляция проекта
Проверить работоспособность проекта можно, не загружая его в контроллер. Для этого существует возможность запустить среду исполнения прямо на компьютере.
Для этого необходимо:
- Установить текущий проект как проект по умолчанию. Для этого необходимо вызвать команду "Проект->Установить проект по умолчанию..." и выбрать ранее сохраненный файл конфигурации.
- Запустить среду исполнения. Для этого нужно вызвать команду меню "Проект->Запуск среды исполнения". После этого будет выполнен запуск в новом окне среды исполнения.
4.2 Мониторинг сигналов
Функция мониторинга сигналов позволяет наблюдать значения, хранящиеся в узлах проекта при исполнении проекта на целевом устройстве.
Для запуска данной функции необходимо:
- Запустить среду исполнения.
- Вызвать команду меню «
Устройство → Подключение/отключение», в появившемся окне выбрать IP-адрес и порт устройства, значения узлов которого необходимо мониторить. При необходимости просмотра значений узлов и сигналов в режиме эмуляции проекта на персональном компьютере укажите адрес 127.0.0.1. Если необходимо просматривать значения узлов проекта, выполняющегося на контроллере или панели оператора, укажите IP-адрес контроллера или панели. - Нажать кнопку «Подключение».
Поле подключения к среде исполнения нужно добавить в окно "Наблюдение" узлы, значения которых необходимо наблюдать. Такие узлы должны иметь возможность чтения или записи значений – это регистры Modbus и другие узлы типа "Источник", сигналы.
Для добавления узлов в окно "Наблюдение" необходимо нажать на нужном узле в дереве проекта правой кнопкой мыши и выбрать команду «Добавить в окно наблюдения». Выбранные узлы будут отображаться в окне «Наблюдение» вместе со считанными значениями.
4.3 Мониторинг событий
Мониторинг событий позволяет наблюдать за исполнением проекта, работающего в устройстве. При включении мониторинга пользователь получает информацию о возникающих нефатальных ошибках и предупреждениях, возникающих в ходе исполнения проекта со следующими признаками:
- метка времени, соответствующая времени возникновения события;
- степень важности события;
- тип события - информационное или события активирования, деактивирования и квитирования тревог;
- имя узла, сформировавшего событие.
- текст события.
4.3.1 Использование мониторинга
Для старта мониторинга необходимо подключиться к нужному устройству способом, рассмотренным в разделе #Мониторинг сигналов, а затем вызвать команду «Устройство → Просмотр событий». В открывшемся окне будут выводиться все события, регистрируемые устройством.
С помощью выпадающего списка в левом верхнем углу окна можно выбрать минимальный уровень выводимых событий.
4.3.2 Фильтрация событий
Функция доступна начиная с версии AgavaSCADA/AgavaPLC 1.2.56+, 1.5.25+.
В нижнем левом углу окна расположена область настройки фильтра событий, позволяющая фильтровать выводимые события по имени узла и тексту событий. При использовании фильтра возможно задание фильтра в виде:
- простой строки, при этом в список попадают события, содержащие полное совпадение заданной строки; при задании строки возможно в(ы)ключение признака учета регистра символов в строке;
- регулярного выражения, при этом в список попадают события, удовлетворяющие введенное выражение. Правила составления регулярных выражений описаны на странице Использование регулярных выражений.
4.4 Отладка в задаче ПЛК
Данный раздел актуален для версии AS 1.2.61 и старее. В версиях AS 1.6+ используется современный пошаговый отладчик.
Задача ПЛК (см. раздел #Задача ПЛК) позволяет проводить тестирование проектов с помощью режима симулятора (на компьютере, без использования контроллера) или онлайн отладки (на контроллере).
4.4.1 Управление отладкой
Управление режимом симуляции и онлайн отладкой осуществляется с помощью панели инструментов задачи ПЛК (см. рисунок 16).
Панель инструментов содержит следующие элементы:
- Кнопка «Запустить симуляцию».
- Кнопка «Сделать шаг на один цикл».
- Кнопка «Приостановить симуляцию» - ставит выполнение задачи на паузу.
- Кнопка «Остановить симуляцию» - сбрасывает состояние всех блоков к их состоянию по умолчанию.
- Список выбора периода выполнения задачи.
- Кнопка «Показать окно «Наблюдение».
4.4.2 Режим симулятора
Режим симулятора позволяет провести тестирование работы алгоритмов проекта на компьютере. С помощью симуляции можно выявить ошибки в работе алгоритмов проекта до его загрузки в контроллер.
Управление симуляцией осуществляется через команды на панели инструментов задачи ПЛК.
Для перехода в режим симуляции нажмите кнопку «Режим симулятора» на панели управления задачи ПЛК.
После активации режима симуляции, для изменения значения входа дважды щелкните на нем левой кнопкой мыши и выберите нужный тип и значение. Текущие значения всех блоков, в соответствии с работой программы, будут отображаться в реальном времени.
Для выхода из режима симуляции повторно нажмите кнопку «Режим симуляции» на панели управления задачи ПЛК.
4.4.3 Онлайн отладка
Режим онлайн отладки позволяет провести тестирование проекта, загруженного и исполняемого в контроллере. Для перехода в режим онлайн отладки загрузите конфигурацию в контроллер, подключитесь к нему, после чего нажмите кнопку «Онлайн отладка» на панели инструментов задачи ПЛК.
На рисунке 18 изображен вид задачи ПЛК в режиме онлайн отладки проекта, запущенного на МПР-60 с установленными субмодулями DI (входы) и R (выходы).
Для онлайн отладки на панели инструментов недоступны кнопка «Приостановить симуляцию» и список выбора периода.
5 Компиляция проекта
Перед загрузкой проекта в контроллер или запуском эмуляции проекта необходимо откомпилировать проект и получить файл конфигурации, предназначенный для исполнения средой исполнения, установленной в контроллере или на персональном компьютере (в случае разработки системы диспетчеризации). Для этого необходимо вызвать команду меню "Проект->Сохранить конфигурацию", выбрать папку проекта и нажать кнопку "Сохранить".
5.1 Проверка проекта
Перед сохранением проекта желательно выполнить его проверку на наличие ошибок с помощью команды «Проект->Проверить проект». После проверки обнаруженные ошибки будут отображены в окне «Ошибки».
Если отображение окна «Ошибки» выключено, его можно включить командой «Вид->Показать окно ошибок».
Для облегчения исправления обнаруженных ошибок окно поддерживает выполнение некоторых команд над обнаруженными ошибками, вызывать которые можно из контекстного меню, отображаемого щелчком правой кнопки мыши на строке c ошибкой в окне. Контекстное меню позволяет вызывать команду «Показать узел в дереве конфигурации», выполняющую соответствующее действие.
Также щелчок левой кнопкой мыши на строке с ошибкой открывает окно «Свойства» и дает возможность изменить в нем все свойства узла, содержащего ошибку.
5.1.1 Установка пароля на файл конфигурации
Файл конфигурации, загружаемый в контроллер или панель оператора, можно защитить паролем, чтобы предотвратить его несанкционированное изменение.
Для установки пароля на файл конфигурации необходимо выбрать в дереве проекта узел «Конфигурация» и отредактировать его свойство «Пароль». Допускается использование любых цифр, букв и спецсимволов.
В дальнейшем при открытии файла конфигурации в среде разработки будет появляться окно с запросом пароля.
6 Загрузка проекта в устройство
Загрузка проекта в целевое устройство может быть осуществлена несколькими способами:
- загрузка из среды разработки;
- загрузка с помощью USB-Flash накопителя (для панелей оператора);
- загрузка через браузер (для МПР-60).
6.1 Загрузка из среды разработки
Для загрузки проекта из среды разработки необходимо произвести следующие действия в указанном порядке:
- Создайте файл конфигурации.
- Выполните подключение целевого устройства к ПК по сети Ethernet.
- После подключения вызовите в среде разработки команду «Проект->Загрузка проекта в устройство».
- В открывшемся окне будет отображен список файлов проекта, доступных для загрузки в целевое устройство.
- Выберите необходимые файлы и нажмите кнопку «Загрузить». После нажатия кнопки начнется процесс загрузки файлов, при этом в нижней части окна будет меняться состояние полосы прогресса, а также для каждого файла в таблице будет отображен результат загрузки.
- После окончания загрузки среда исполнения в целевом устройстве будет перезапущена и загруженный проект будет запущен.
6.2 Загрузка через USB-Flash (для ПО-40 и ПО-50)
Для загрузки проекта в устройство с помощью USB-Flash накопителя необходимо произвести следующие действия в указанном порядке:
- Подготовьте USB-Flash накопитель, предварительно отформатировав его в файловую систему FAT32.
- Вызовите в среде разработки команду «Подготовка архива для обновления» или «Сохранить архив проекта» в меню «Проект».
- Сохраните архив в корень USB-Flash накопителя.
- Перейдите в системную утилиту, перезагрузив панель оператора, при загрузке во время однократного звукового сигнала нажмите на экран и удерживайте до повторного звукового сигнала. Введите пароль: 111111.
- Перейдите на вкладку «Обновление», затем подключите USB-Flash накопитель через переходник USB-OTG, выберите из списка загрузочный архив, нажать кнопку «Обновить». Дождитесь сообщения «Обновление успешно» и нажмите кнопку «ОК».
- Перейдите на вкладку «Перезапуск» и нажмите кнопку «Перезапуск».
После перезагрузки панели загруженный проект будет запущен.
6.3 Загрузка через браузер (для МПР-60)
Для загрузки проекта через браузер необходимо произвести следующие действия в указанном порядке.
- Вызовите в среде разработки команду «Подготовка архива для обновления» или «Сохранить архив проекта» в меню «Проект».
- Сохраните архив.
- Откройте системную утилиту, введя IP-адрес контроллера в адресную строку браузера.
- Перейдите на вкладку «Загрузка ПО». Рисунок 71 - Вкладка системной утилиты «Загрузка ПО»
- Выберите на компьютере архив с проектом, который необходимо загрузить в контроллер.
- Нажмите кнопку «Загрузить».
- Дождитесь окончания загрузки файла и обновления проекта.
7 Отладка проекта
Встроенная отладка проекта доступна в AgavaSCADA (AS) начиная с версии 1.6. В версии AS 1.2 для анализа выполнения программы применяются мониторинг и средства отладки задач ПЛК. Состав команд и средств отображения данных определяется используемой версией среды разработки и среды исполнения; приведённое ниже описание учитывает реализацию версии 1.7.8.
7.1 Назначение
Отладка предназначена для исследования поведения прикладной программы в процессе её выполнения, выявления логических ошибок и проверки соответствия реализованного алгоритма заданным требованиям. Средства отладки обеспечивают установку точек останова, приостановку и возобновление выполнения, пошаговое исполнение, просмотр локальных и глобальных переменных, а также анализ стека вызовов. Для поддерживаемых типов данных предусмотрено изменение значений переменных во время остановки.
Среда разработки поддерживает следующие инструменты отладки:
- локальная отладка на компьютере разработчика с запуском среды исполнения;
- удалённая отладка на контроллере или панели оператора.
- локальный отладочный вызов отдельной функции с заданными входными аргументами.
7.2 Локальная отладка
Локальная отладка применяется для предварительной проверки алгоритмов на компьютере разработчика. Она позволяет исследовать последовательность выполнения программы и преобразование данных до запуска проекта на целевом устройстве. При оценке результатов необходимо учитывать различия аппаратных ресурсов, внешних подключений и временных характеристик компьютера и контроллера.
7.2.1 Отладка отдельной функции
Для локального исследования функции выполняется следующая последовательность действий:
- Открыть редактор требуемой функции и проверить её исходный текст. Устранить ошибки компиляции.
- Установить точки останова в исследуемых участках программы с помощью клавиши F9 либо щелчка левой кнопкой мыши в поле установки точек останова рядом с номером строки.
- Нажать кнопку «Начать локальную отладку» в редакторе функции.
- Если функция имеет входные аргументы, задать их значения в открывшемся диалоговом окне и подтвердить запуск.
- После остановки исследовать значения переменных и стек вызовов. Для проверки дальнейшего выполнения использовать команды продолжения и пошагового исполнения, приведённые в подразделе 7.3.2.
При таком запуске подготавливается отдельный контекст вызова выбранной функции. Результат характеризует её выполнение при заданных аргументах и доступном состоянии данных приложения. Проверка взаимодействия задач и внешних устройств требует запуска проекта в соответствующей среде исполнения.
7.2.2 Отладка проекта в локальной среде исполнения
Для запуска проекта под управлением отладчика на компьютере разработчика необходимо:
- Выполнить сборку командой «Проект → Сохранить конфигурацию» и убедиться в отсутствии ошибок в окне «Ошибки».
- Установить требуемые точки останова.
- В поле адреса устройства на панели инструментов указать 127.0.0.1 или localhost.
- Выполнить команду «Отладка среды исполнения» на панели инструментов.
- Дождаться запуска локальной среды исполнения и установления соединения с отладчиком.
Среда разработки запускает локальную среду исполнения с подготовленной конфигурацией и включённой отладкой. Для этого на компьютере должна быть доступна программа rtu.exe. Просмотр данных и управление выполнением осуществляются теми же средствами, что и при удалённой отладке.
7.3 Удалённая отладка
Удалённая отладка предназначена для исследования программы непосредственно на контроллере или панели оператора. Среда исполнения выполняет программу на целевом устройстве, а среда разработки предоставляет интерфейс управления выполнением и отображения отладочных данных.
7.3.1 Подготовка к отладочному запуску
Перед запуском необходимо обеспечить сетевую доступность целевого устройства и соответствие используемых версий среды разработки и среды исполнения.
Подготовка и запуск выполняются в следующем порядке:
- Открыть требуемый проект и выполнить сборку командой «Проект → Сохранить конфигурацию». Убедиться в отсутствии ошибок в окне «Ошибки».
- Установить точки останова в исследуемых участках программы с помощью клавиши F9 либо щелчка левой кнопкой мыши в поле установки точек останова рядом с номером строки.
- Указать IP-адрес контроллера или панели оператора в поле выбора адреса устройства на панели инструментов.
- Выполнить команду «Отладка среды исполнения».
- Дождаться передачи файлов конфигурации, перезапуска среды исполнения в режиме отладки и установления соединения.
В процессе запуска среда разработки передаёт конфигурацию на устройство, настраивает отладочный режим и инициирует перезапуск среды исполнения. После повторного подключения устанавливается отладочный сеанс. Индикатор «Подключение/отключение» отображает состояние соединения с устройством; готовность к управлению выполнением дополнительно определяется состоянием сеанса и доступностью команд на панели отладки.
Отладочный запуск предусматривает перезапуск среды исполнения, а точки останова изменяют временную последовательность выполнения программы. Эти особенности необходимо учитывать при исследовании циклических алгоритмов и взаимодействия с внешним оборудованием.
7.4 Просмотр состояния программы и управление выполнением
Данные переменных и стека вызовов характеризуют состояние программы в момент остановки. После возобновления выполнения эти сведения обновляются при следующей остановке. Текущее состояние отладчика определяет доступность команд управления: во время выполнения доступна приостановка, а во время остановки — продолжение и пошаговое исполнение.
При достижении точки останова выполнение отлаживаемого кода приостанавливается. Среда разработки отображает позицию остановки, значения доступных переменных и стек вызовов. Жёлтым выделением в редакторе обозначается текущая позиция выполнения; её следует интерпретировать как место остановки перед дальнейшим исполнением соответствующего участка программы.
Основные команды управления приведены в таблице. Указаны сочетания клавиш по умолчанию; для настраиваемых команд фактические сочетания определяются параметрами среды разработки.
| Команда | Сочетание клавиш | Назначение |
|---|---|---|
| Возобновить отладку | F5 | Продолжить выполнение до следующего останова или завершения выполнения. |
| Приостановить отладку | F6 | Запросить остановку на ближайшей доступной для отладчика позиции. |
| Установить или снять точку останова | F9 | Изменить наличие точки останова на текущей строке редактора. |
| Шаг | F10 | Продолжить выполнение до следующей доступной позиции на текущем или меньшем уровне вложенности вызовов. Вызов подпрограммы выполняется без пошагового входа в её тело; установленные точки останова сохраняют действие. |
| Шаг с заходом | F11 | Перейти к следующей доступной позиции, включая вход в вызываемую подпрограмму при наличии доступного для отладки кода. |
| Шаг с выходом | Shift+F11 | Продолжить выполнение до выхода из текущей подпрограммы либо до срабатывания точки останова. |
| Завершить сессию отладки | Кнопка панели отладки | Завершить текущий отладочный сеанс. |
Пошаговое выполнение определяется отладочными позициями скомпилированной программы. Поэтому один шаг не во всех случаях соответствует одной строке исходного текста, а вход в системные или встроенные функции может быть недоступен.
Точки останова могут устанавливаться до запуска и изменяться во время сеанса. Если выбранная строка не соответствует исполняемому коду, отладчик может скорректировать положение точки. Фактическое положение следует проверять по отметке в редакторе и данным окна «Точки останова».
7.5 Окна отладчика
Отладочные окна открываются соответствующими командами меню «Вид».
7.5.1 Окно «Локальные переменные»
Данное окно отображает параметры и локальные переменные текущего контекста остановки, а также доступные данные объекта при выполнении метода.
Для переменных приводятся имя, значение и объявление. Состав отображаемых сведений определяется доступностью переменных в текущей позиции программы. Поля составных значений и элементы массивов представляются вложенными строками, если их раскрытие поддерживается отладчиком.
7.5.2 Окно «Глобальные переменные»
Данное окно содержит глобальные переменные модуля, к которому относится выполняемый код.
Глобальные переменные принадлежат модулю и не являются локальными данными отдельного кадра стека. При наличии пространства имён оно учитывается при отображении имени переменной.
7.5.3 Окно «Выражения»
Данное окно предназначено для ведения пользовательского списка наблюдаемых значений.
Добавление выполняется через команду «Добавить выражение», изменение — редактированием записи, удаление — командами контекстного меню.
Значения определяются в контексте текущей остановки. В рассматриваемой реализации поддерживаются имена переменных и квалифицированные имена с указанием области видимости, например counter, ::counter или Control::counter.
Вычисление произвольных арифметических выражений, вызов функций, обращение к полям через точку и индексирование массива в строке выражения не поддерживаются.
Недоступное имя или неподдерживаемая запись сопровождаются диагностическим сообщением.
7.5.4 Окно «Стек вызовов»
Данное окно отображает последовательность активных вызовов, приведших к текущей позиции. Для каждого элемента приводятся объявление функции, секция исходного кода, строка и столбец. Двойной щелчок по записи открывает соответствующий участок программы. Такой переход служит навигации по исходному тексту: данные переменных сохраняют контекст фактической остановки.
7.5.5 Окно «Точки останова»
Данное окно содержит перечень установленных точек с указанием строки и программного узла. Контекстное меню позволяет удалить выбранные точки либо весь перечень. Дополнительные сведения о расположении точки доступны во всплывающей подсказке.
При включённом отображении отладочных значений в текстовом редакторе значения переменных также выводятся непосредственно в исходном тексте. Для составного значения может быть открыт отдельный инспектор. Эти сведения относятся к последней остановке и очищаются после продолжения выполнения.
7.6 Изменение значений и завершение сеанса
Во время остановки допускается редактирование значения переменной в столбце «Значение», если её тип и способ представления поддерживают запись. Введённое значение должно соответствовать типу переменной. Изменение передаётся в отлаживаемый процесс и влияет на дальнейшее выполнение текущего запуска. Оно не изменяет исходный текст и само по себе не задаёт начальное значение для последующих запусков.
Для продолжения исследования применяется команда «Возобновить отладку».
Для завершения используется команда «Завершить сессию отладки». При отладке проекта через соединение со средой исполнения эта команда также передаёт запрос на завершение приложения среды исполнения; она не равнозначна продолжению программы без отладчика. Дальнейший запуск определяется режимом работы целевого устройства.
После изменения исходного текста для проверки новой редакции программы необходимо повторить сборку и отладочный запуск. При ошибке подключения следует проверить адрес и доступность устройства, сообщения среды разработки и состояние среды исполнения.