Разработка проекта и порядок работы

Для успешной разработки проекта, загрузки на устройство и мониторинга работы приложения в ALTA IDE следует выполнить определенный ряд действий:

Создание проекта

После установки и запуска откроется главное окно, в котором доступно создание проекта.

  1. Создать проект можно одним из способов:

    • воспользуйтесь кнопкой Создать проект Graphic на панели инструментов;

    • или пунктом Главное меню → Файл → Создать проект.

  2. В открывшемся окне введите данные:

    Graphic

    Название проекта — название создаваемого проекта;

    Примечание
    При именовании проекта допустимо использование латиницы, кириллицы, а также цифр и символов, исключая специальные символы, запрещённые файловыми системами. Ограничение по длине имени 255 символов. При этом следует учитывать ограничение на путь к файлу в 259 символов. Регистр символов значения не имеет.

    Директория сохранения проекта — расположение папки с файлами проекта;

    Автор проекта — по умолчанию системное имя пользователя.

    После заполнения всех строк нажмите кнопку Далее.

  3. Выберите устройство и модификацию:

    Graphic

    Устройство — из выпадающего списка выберите устройство, для которого разрабатывается проект;

    Модификация устройства — из выпадающего списка выберите модификацию устройства;

    Описание — после выбора устройства в области описания отобразится изображение устройства и его описание.

  4. Нажмите кнопку Создать. В дереве проекта отобразится наименование и модификация устройства и обязательные системные папки:

    Graphic

Открытие проекта

  1. Открыть ранее сохраненный проект можно одним из способов:

    • воспользуйтесь кнопкой Открыть проект Graphic на панели инструментов;

    • или пунктом Главное меню → Файл → Открыть проект.

  2. В открывшемся окне выберите файл проекта с расширением .alta и нажмите Открыть.

    В дереве проекта отобразятся компоненты проекта, в рабочей области будут доступны просмотр и редактирование проекта.

Возможные ошибки

В случае, если компонент проекта был поврежден (например файл, расположенный в папке проекта был удален, или у компонента был изменен тип), то этот компонент отобразится в дереве проекта с иконкой, оповещающей об ошибке:

Graphic

Для корректной работы приложения рекомендуется удалить такой компонент: нажмите ПКМ на поврежденный компонент в дереве проекта и выберите Удалить.

Разработка программы

Процесс разработки программы рекомендуется начать с этапа планирования. После формирования перечня задач, которые должны выполняться в рамках программы, следует приступить к созданию программных объектов, предназначенных для решения этих задач. Затем созданные программы необходимо привязать к соответствующим задачам, которые добавляются в Менеджере задач.

Программные блоки

Системная папка Программные блоки располагается в дереве проекта и позволяет создавать программные объекты:

  • Программа — высокоуровневый программный объект, привязываемый к задачам устройства. Программы соответствуют крупным фрагментам технологического процесса (например, «управление вентиляцией», «обработка тревог» и т.д.);

  • Функция — программный объект, возвращающий одно значение;

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

Тип каждого элемента определяется специальной иконкой:

Graphic

Программа

Graphic

Функция

Graphic

Функциональный блок

Graphic

Программа, привязанная к задаче

Graphic

Предупреждение. В случае, если рядом с иконкой отображается символ предупреждения, следует навести мышку на иконку - отобразится информационное окно с предупреждением.

Действия с программными объектами
Добавление POU

Для добавления программного объекта воспользуйтесь контекстным меню системной папки Программные блоки в дереве проекта:

Graphic
Контекстное меню системной папки Программные блоки
  • Добавить FB — добавление функционального блока;

  • Добавить FUN — добавление функции;

  • Добавить PRG — добавление программы.

Добавленный программный объект отобразится в дереве проекта, как ответвление системной папки Программные блоки:

Graphic

Созданный программный объект по умолчанию имеет имя *_1 (имя зависит от типа объекта). Каждому последующему программному блоку будет присваиваться следующий порядковый номер. Переименование доступно в момент создания, либо через контекстное меню программного блока.

Контекстное меню
Graphic

С помощью контекстного меню программы, функции и функционального блока можно выполнить следующие действия:

Открыть

Открыть вкладку редактора программного объекта в рабочей области.

Переименовать

Изменить имя программного объекта.

Нажмите ПКМ на POU в дереве проекта и выберите пункт Переименовать. В предложенной строке введите имя программного объекта в соответствии с правилами именования языка ST, убедившись, что выбранное имя не дублирует названия других компонентов в дереве проекта - создание компонентов с одинаковыми именами не допускается.

После переименования новое имя отобразится:

  • в дереве проекта;

  • в названии вкладки POU;

  • в имени программы в редакторе ST.

    Graphic

Предупреждение
Рекомендуется сразу сохранить изменение имени POU с помощью клавиш CTRL+S.
Возможные сценарии и рекомендации при переименовании
  1. Расхождение имен компонентов

    Если после переименования закрыть вкладку POU без сохранения изменений, то возникнет расхождение имен компонентов: в дереве проекта и в названии вкладки будет отображено новое имя компонента, а в имени программы редактора ST имя, присвоенное до переименования.

    Graphic

    Иконка компонента в дереве проекта будет помечена маркером Graphic Предупреждение, при наведении на который отобразится сообщение:

    Graphic

    Для корректной работы необходимо выполнить синхронизацию имен. Нажмите ПКМ на компонент с расхождением имен и выберите:
    • Синхронизировать по имени в дереве — компоненту будет присвоено имя, отображенное в дереве проекта.

    • Синхронизировать по имени из редактора — компоненту будет присвоено имя, отображенное в редакторе ST.

    • Переименовать — подтвердите ввод предложенного имени.

  2. Переименование программы, имеющей привязку.

    Если изменить имя программы, привязанной к задаче, то после переименования программа отобразится в системной папке Программные блоки в дереве проекта и будет иметь статус непривязанной. Программа с прежним именем будет отображаться в дереве проекта и во вкладке Менеджер задач помеченная маркером красного крестика Graphic. Задача, к которой выполнена привязка переименованной программы будет подчеркнута красным, при наведении мышки возникнет подсказка с описанием ошибки:

    Graphic
    Отображение ошибки в дереве проекта
    Чтобы устранить ошибку, выберите один из вариантов:
    • Создайте новую программу с прежним именем — созданная программа автоматически привяжется к задаче.

    • Удалите задачу, связанную с несуществующей программой.

Удалить

Удалить выбранный программный объект.

При выборе данного пункта отобразится информационное окно с подтверждением удаления объекта. Если программа была привязана к задаче, то в случае удаления она будет удалена из системной папки Программные блоки, но останется в Менеджере задач (будет отображаться с ошибкой). Задача к которой выполнена привязка удаленной программы будет подчеркнута красным, при наведении мышки возникнет подсказка с описанием ошибки и способом ее исправления. Если будет создана программа с именем ранее удаленной привязанной программы, привязка к задаче выполнится автоматически.

Редактор ST

Вкладка редактора функции/функционального блока/программы предназначена для написания кода на языке программирования ST. Подробнее правила работы на языке ST рассмотрены далее.

Чтобы открыть вкладку редактора ST дважды нажмите ЛКМ на имя программного объекта в дереве проекта, или воспользуйтесь контекстным меню POU:

Graphic
Контекстное меню POU

Вкладка содержит имя программного объекта, а также поле для написания кода. Строки кода автоматически нумеруются в процессе написания программы.

Вкладка редактора ST программы

Graphic

Содержит нередактируемый заголовок Программа: <имя_программы>, который является объявлением программы (дополнительно объявлять программу в коде не требуется). Строка END_PROGRAM является обязательной завершающей частью конструкции объявления компонента. В теле программы расположен блок объявления локальных переменных в текстовом виде.

Вкладка редактора ST функции

Graphic

Содержит заголовок Функция: <имя_функции>, который является объявлением функции (дополнительно объявлять функцию в коде не требуется). Строка END_FUNCTION является обязательной завершающей частью конструкции объявления компонента. В теле функции расположен блок объявления локальных переменных в текстовом виде. Тип возвращаемого значения можно задать в редактируемой части заголовка. Сменить тип возвращаемого значения можно в любой момент, для этого начните вводить новое значение — автодополнение предложит возможные варианты.

Вкладка редактора ST функционального блока

Graphic

Содержит нередактируемый заголовок Функциональный блок: <имя_фб>, который является объявлением функционального блока (дополнительно объявлять функциональный блок в коде не требуется). Строка END_FUNCTION_BLOCK является обязательной завершающей частью конструкции объявления компонента. В теле программы расположен блок объявления локальных входных и выходных переменных в текстовом виде.

Примечание
В одном POU доступно объявление только одного программного объекта. В случае объявления нескольких программных объектов в одном POU возможны ошибки компиляции.

В ALTA IDE поддержана интеллектуальная подсветка кода и автодополнение.

Автодополнение

Автодополнение позволяет получить список возможных вариантов кода на основе текущего контекста и частично введенного текста.

Окно автодополнения открывается автоматически, в процессе написания кода. При необходимости окно автодополнения можно открыть принудительно, для этого нажмите CTRL + SPACE, если место в коде предполагает наличие вариантов автодополнения, то окно откроется.

Graphic

Из предложенных вариантов с помощью стрелок или мышки выберите нужный, нажмите ЛКМ, либо Enter - слово добавится в код. Если нажать клавишу Tab, то выбранный вариант заменит слово, при написании которого открылось окно автодополнения, включая уже введенные символы.

После добавления слова окно автодополнения закроется автоматически. Также закрыть окно автодополнения можно с помощью клавиши Esc, либо нажатием ЛКМ за пределами окна автодополнения.

Менеджер задач

Компонент Менеджер задач предназначен для создания, мониторинга и управления задачами. Помогает следить за приоритетами задач и периодами выполнения, а также добавлять задачи, которые представлены в иерархии в области дерева проекта.

Graphic
Менеджер задач в дереве проекта

Под каждой задачей располагается список привязанных программ (при наличии), которые будут выполняться в рамках задачи. Разрешенное количество привязываемых к задаче программ зависит от прибора. Для того, чтобы свернуть/развернуть список привязанных программ нажмите на стрелку, расположенную слева от имени задачи. Если стрелка отсутствует, значит к задаче не привязано ни одной программы.

Тип задач и вложенных элементов можно определить по иконке в дереве проекта:

Graphic

Циклическая задача

Graphic

Задача по событию

Примечание
В ALTA IDE текущей версии для создания доступны только циклические задачи.
GraphicПрограмма, привязанная к задаче

В случае возникновения ошибок, иконки помечаются маркерами:

Возможные ошибки

Графическое отображение

Тип ошибки

Варианты устранения ошибки

GraphicЗадача содержит ошибкуНаведите мышку для получения подсказки
GraphicПрограмма привязана к нескольким задачам

Удалите повторные привязки программы - для корректной работы программа может быть привязана к задаче только один раз

GraphicПривязанная программа не существует (удалена или переименована)
  • Создайте программу с именем удаленной/переименованной программы, она автоматически привяжется к задаче.

  • Удалите привязку удаленной/переименованной программы к задаче

При наведении на маркер возникает подсказка с информацией об ошибке и способах исправления.

Чтобы открыть вкладку Менеджер задач дважды нажмите ЛКМ на системную папку Менеджер задач в дереве проекта, или выберите в контекстном меню пункт Открыть:

Graphic

Вкладка Менеджер задач содержит информацию о созданных задачах, основных настройках, и привязанных программах (при наличии):

Graphic
Вкладка Менеджер задач

  • Задача — имя созданной задачи и имена программ, привязанных к задаче (при наличии).

  • Тип вызова — циклическая задача или задача по событию;

    Примечание
    В ALTA IDEтекущей версии для создания доступны только циклические задачи.
  • Приоритет — приоритет выполнения задачи (от 1 до 99, в зависимости от типа задачи, где 99 наивысший приоритет).

Порядок выполнения задач определяется согласно установленному приоритету и условию вызова. Условием вызова задачи может служить:

  • время (циклическое выполнение);

  • событие внутреннее или внешнее (например, превышение заданного порога глобальной переменной или прерывание в устройстве).

При выполнении задач применяются следующие правила:

  1. Выполняется та задача, условия выполнения которой истинны, т.е. прошло указанное время.

  2. Если у нескольких задач условия выполнены одновременно, то выполняется задача с наивысшим приоритетом.

  3. Программы одной задачи выполняются в том же порядке, в каком они перечислены в списке Менеджера задач и расположены в дереве проекта.

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

Для упрощения понимания логики работы приложения на устройстве ниже приведен пример последовательности выполнения задач проекта.

Пример

Многопоточное выполнение задач. Достаточно ресурсов процессора для одновременного выполнения задач:

Graphic
Действия с задачами
Добавление задачи

Для добавления задачи в проект воспользуйтесь контекстным меню системной папки Менеджер задач в дереве проекта: Добавить CYCLE_TASK

Graphic
Контекстное меню системной папки Менеджер задач

Добавленная задача отобразится в дереве проекта, как ответвление системной папки Менеджер задач:

Graphic

Созданная задача по умолчанию имеет имя task_1 (имя созданного компонента зависит от прибора). Каждой последующей задаче будет присваиваться следующий порядковый номер. Переименование доступно в момент создания, либо через контекстное меню задачи. При задании компоненту имени следует учитывать правила именования языка ST, и убедиться, что выбранное имя не дублирует название других компонентов в дереве проекта - создание компонентов с одинаковыми именами не допускается.

В случае, если достигнут лимит добавленных задач, появится сообщение об ошибке:

Graphic
Информационное окно
Примечание
Максимальное количество добавленных задач зависит от прибора.
Контекстное меню
Graphic
Контекстное меню задачи

С помощью контекстного меню задачи можно выполнить следующие действия:

  • Добавить привязку программы — привязать программу к задаче.

  • Открыть — открыть вкладку редактора задачи в рабочей области.

  • Переименовать — изменить имя задачи. Компоненты, в которых использовалась ссылка на переименованную задачу, будут помечены маркером ошибки.

  • Удалить — удалить выбранную задачу.

    Примечание
    При удалении задачи с привязанными программами удаляется только задача, программы остаются в проекте и переходят в статус непривязанных.

После добавления задачи необходимо настроить условия выполнения и привязать программы.

Привязка программы

Привязать программу к задаче можно несколькими способами:

  1. С помощью drag&drop программы в дереве проекта из папки Программные блоки в папку:

    • Менеджер задач → Задача: привязанная программа добавляется вниз списка;

    • Менеджер задач → Задача → Программа: привязанная программа добавляется на место выбранной программы, остальные программы сдвигаются вниз.

  2. С помощью контекстного меню элемента Задача в дереве проекта, выберите пункт Добавить привязку программы.

    В открывшемся окне привязки программы выберите нужную программу, нажмите кнопку Сохранить. Привязанная программа добавится вниз списка.

    При выборе программы учитывайте, что у программ, имеющих расхождение имен, в списке отображается имя, указанное в редакторе ST:

    Graphic

    В проекте может присутствовать несколько программ, имеющих идентичные имена в редакторе ST (в дереве проекта имена этих программ будут отличаться). В этом случае к задаче будут привязаны все программы с выбранным именем.

    Для привязки нескольких программ к задаче нажмите и удерживайте кнопку Shift и с помощью ЛКМ выделите программы, которые требуется привязать. Нажмите Сохранить - выделенные программы будут привязаны к задаче.

  3. В окне редактора задачи, в разделе "Привязанные программы" с помощью кнопки Graphic:

Возможные ошибки привязки программы
  1. Лимит привязанных программ.

    В случае, если достигнут лимит привязанных к задаче программ, появится сообщение об ошибке:

    Graphic
    Информационное окно

  2. Множественный вызов.

    В случае привязки программы, уже привязанной к задаче возникнет логическая ошибка. Программа привяжется, задачи будут подчеркнуты красным цветом, иконка повторно привязанной программы отобразит множественный вызов. При наведении мышки на задачу (программу) появится всплывающее сообщение об ошибке.

    Graphic
    Отображение множественного вызова в дереве проекта
    Для корректной работы программы требуется удалить привязку к одной из задач, в противном случае выполнение программы может быть некорректно.

Смена порядка вызова привязанных программ

Программы в задаче выполняются в том порядке, в котором они расположены в дереве проекта (перечислены в списке менеджера задач). Порядок выполнения программы в задаче можно сменить методом drag&drop в дереве проекта. Для перетаскивания доступна как одна программа, так и несколько (выбор с помощью удержания кнопки Shift и ЛКМ).

Удаление привязки программ

Для удаления привязки программы воспользуйтесь контекстным меню программы, расположенной в дереве проекта в системной папке Менеджер задач:

Graphic

Выберите Отвязать программу, или воспользуйтесь кнопкойGraphic в окне редактора задачи, в разделе "Привязанные программы". Программа перейдет в статус непривязанной.

Циклическая задача

Циклическая задача вызывает привязанные программы периодически в соответствии с заданным пользователем интервалом времени.

Схема выполнения циклической задачи на ПЛК приведена ниже:

Graphic

Блоки, отмеченные звёздочкой (*), выполняются только при наличии заданных пользователем фиксированных значений переменных. Если фиксированные значения отсутствуют, данные блоки исключаются из цикла.

После создания задачи необходимо задать настройки. Для этого откройте окно редактора задачи одним из следующих способов:

  • дважды щёлкните ЛКМ по элементу Задача в дереве проекта;

  • выберите пункт Открыть в контекстном меню элемента Задача в дереве проекта.

Graphic
Настройки циклической задачи

Заполните:

  • Приоритет — приоритет выполнения задачи. Число от 5 до 50 со следующими значениями: 50 - самый высокий, 5 – самый низкий приоритет;

  • Период вызова, мкс — период времени (в микросекундах), после которого задача должна быть вызвана в очередной раз;

  • Ограничить количество вызовов — поставьте галочку, и введите число, если требуется ограничение количества вызовов задачи;

В случае недопустимого значения любого из параметров окно ввода будет выделено красным цветом:
  • поле параметра не может быть пустым;

  • введенное значение не соответствует типу данных, допустимый формат ввода целочисленный;

  • введенное значение вне диапазона.

При наведении курсора мыши отобразится сообщение с текстом ошибки:

Graphic

Раздел редактора циклической задачи Привязанные программы содержит список привязанных программ в порядке их выполнения.

Graphic

Нажмите кнопку Graphic для привязки программы к задаче.

Чтобы удалить привязку программы нажмите кнопку Graphic.

Сохранение и сборка проекта

Сохранение проекта

Сохранить все изменения в проекте можно одним из следующих способов:

  1. Через Главное меню→Файл→Сохранить проект.

  2. Нажатием кнопки Сохранить проект Graphic на панели инструментов.

  3. С помощью сочетания клавиш Ctrl+S.

Информация будет сохранена в папку проекта, по пути, указанному при создании проекта.

Несохраненные изменения обозначаются в ALTA IDE значком * рядом с названием вкладки:

Graphic

При попытке закрыть вкладку, содержащую несохраненные изменения, отобразится информационное окно с предложением сохранить изменения. В случае выбора Да информация, содержащаяся во вкладке сохранится в проекте. При выборе Нет вкладка закроется без сохранения изменений.

Сборка проекта

Сборка проекта — это процесс подготовки проекта к запуску на устройстве. В ходе сборки все файлы проекта обрабатываются и преобразуются в исполняемые файлы с приложением, которые содержат пользовательскую программу и могут быть загружены и выполнены на устройстве.

Для Сборки проекта нажмите кнопку Graphic на панели инструментов. ALTA IDE автоматически выполнит сохранение всех вкладок, в которых произошли изменения. Кнопка перейдет в статус реализации сборкиGraphic, в строке состояния отобразится шкала с индикацией процесса сборки:

Graphic
Шкала сборки проекта

После окончания сборки файл с приложением будет сохранен в папку ...\{Папка с проектом Alta}/Build/.

Информационные сообщения, предупреждения, а также возможные ошибки, возникшие в процессе сборки, будут отображаться в окне вывода, расположенном в нижней части основного окна ALTA IDE.

Процесс сборки проекта можно остановить одним из следующих способов:

  • нажмите кнопку Graphic на панели инструментов;

  • нажмите на значок Graphic на шкале сборки проекта, расположенной в строке состояния главного окна ALTA IDE.

Процесс сборки проекта будет остановлен.