Для успешной разработки проекта, загрузки на устройство и мониторинга работы приложения в ALTA IDE следует выполнить определенный ряд действий:
Создание проекта
После установки и запуска
Создать проект можно одним из способов:
воспользуйтесь кнопкой Создать проект
на панели инструментов;или пунктом Главное меню → Файл → Создать проект.
В открывшемся окне введите данные:

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

Устройство — из выпадающего списка выберите устройство, для которого разрабатывается проект;
Модификация устройства — из выпадающего списка выберите модификацию устройства;
Описание — после выбора устройства в области описания отобразится изображение устройства и его описание.
Нажмите кнопку Создать. В дереве проекта отобразится наименование и модификация устройства и обязательные системные папки:

Открытие проекта
Открыть ранее сохраненный проект можно одним из способов:
воспользуйтесь кнопкой Открыть проект
на панели инструментов;или пунктом Главное меню → Файл → Открыть проект.
В открывшемся окне выберите файл проекта с расширением .alta и нажмите Открыть.
В дереве проекта отобразятся компоненты проекта, в рабочей области будут доступны просмотр и редактирование проекта.
Возможные ошибки
В случае, если компонент проекта был поврежден (например файл, расположенный в папке проекта был удален, или у компонента был изменен тип), то этот компонент отобразится в дереве проекта с иконкой, оповещающей об ошибке:

Для корректной работы приложения рекомендуется удалить такой компонент: нажмите ПКМ на поврежденный компонент в дереве проекта и выберите Удалить.
Разработка программы
Процесс разработки программы рекомендуется начать с этапа планирования. После формирования перечня задач, которые должны выполняться в рамках программы, следует приступить к созданию программных объектов, предназначенных для решения этих задач. Затем созданные программы необходимо привязать к соответствующим задачам, которые добавляются в Менеджере задач.
Программные блоки
Системная папка Программные блоки располагается в дереве проекта и позволяет создавать программные объекты:
Программа — высокоуровневый программный объект, привязываемый к задачам устройства. Программы соответствуют крупным фрагментам технологического процесса (например, «управление вентиляцией», «обработка тревог» и т.д.);
Функция — программный объект, возвращающий одно значение;
Функциональный блок — аналог классов из современных языков программирования. Ключевое отличие функциональных блоков от функций в том, что переменные блоков сохраняют свои значения между вызовами. Функциональные блоки используются для создания счетчиков, таймеров и других объектов, которым требуется сохранение данных.
Тип каждого элемента определяется специальной иконкой:
![]() | Программа |
![]() | Функция |
![]() | Функциональный блок |
![]() | Программа, привязанная к задаче |
![]() | Предупреждение. В случае, если рядом с иконкой отображается символ предупреждения, следует навести мышку на иконку - отобразится информационное окно с предупреждением. |
Действия с программными объектами
Добавление POU
Для добавления программного объекта воспользуйтесь контекстным меню системной папки Программные блоки в дереве проекта:

Добавить FB — добавление функционального блока;
Добавить FUN — добавление функции;
Добавить PRG — добавление программы.
Добавленный программный объект отобразится в дереве проекта, как ответвление системной папки Программные блоки:

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

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

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

Иконка компонента в дереве проекта будет помечена маркером
Предупреждение, при
наведении на который отобразится сообщение: Для корректной работы необходимо выполнить синхронизацию имен. Нажмите ПКМ на компонент с расхождением имен и выберите:
Синхронизировать по имени в дереве — компоненту будет присвоено имя, отображенное в дереве проекта.
Синхронизировать по имени из редактора — компоненту будет присвоено имя, отображенное в редакторе ST.
Переименовать — подтвердите ввод предложенного имени.
Переименование программы, имеющей привязку.
Если изменить имя программы, привязанной к задаче, то после переименования программа отобразится в системной папке Программные блоки в дереве проекта и будет иметь статус непривязанной. Программа с прежним именем будет отображаться в дереве проекта и во вкладке Менеджер задач помеченная маркером красного крестика
. Задача, к которой выполнена привязка переименованной программы
будет подчеркнута красным, при наведении мышки возникнет подсказка
с описанием ошибки:Чтобы устранить ошибку, выберите один из вариантов:
Отображение ошибки в дереве проекта Создайте новую программу с прежним именем — созданная программа автоматически привяжется к задаче.
Удалите задачу, связанную с несуществующей программой.
Удалить
Удалить выбранный программный объект.
При выборе данного пункта отобразится информационное окно с подтверждением удаления объекта. Если программа была привязана к задаче, то в случае удаления она будет удалена из системной папки Программные блоки, но останется в Менеджере задач (будет отображаться с ошибкой). Задача к которой выполнена привязка удаленной программы будет подчеркнута красным, при наведении мышки возникнет подсказка с описанием ошибки и способом ее исправления. Если будет создана программа с именем ранее удаленной привязанной программы, привязка к задаче выполнится автоматически.
Редактор ST
Вкладка редактора функции/функционального блока/программы предназначена для написания кода на языке программирования ST. Подробнее правила работы на языке ST рассмотрены далее.
Чтобы открыть вкладку редактора ST дважды нажмите ЛКМ на имя программного объекта в дереве проекта, или воспользуйтесь контекстным меню POU:

Вкладка содержит имя программного объекта, а также поле для написания кода. Строки кода автоматически нумеруются в процессе написания программы.
| Вкладка редактора ST программы | ![]() Содержит нередактируемый заголовок Программа: <имя_программы>, который является объявлением программы (дополнительно объявлять программу в коде не требуется). Строка END_PROGRAM является обязательной завершающей частью конструкции объявления компонента. В теле программы расположен блок объявления локальных переменных в текстовом виде. | |||||
Вкладка редактора ST функции | ![]() Содержит заголовок Функция: <имя_функции>, который является объявлением функции (дополнительно объявлять функцию в коде не требуется). Строка END_FUNCTION является обязательной завершающей частью конструкции объявления компонента. В теле функции расположен блок объявления локальных переменных в текстовом виде. Тип возвращаемого значения можно задать в редактируемой части заголовка. Сменить тип возвращаемого значения можно в любой момент, для этого начните вводить новое значение — автодополнение предложит возможные варианты. |
Вкладка редактора ST функционального блока | ![]() Содержит нередактируемый заголовок Функциональный блок: <имя_фб>, который является объявлением функционального блока (дополнительно объявлять функциональный блок в коде не требуется). Строка END_FUNCTION_BLOCK является обязательной завершающей частью конструкции объявления компонента. В теле программы расположен блок объявления локальных входных и выходных переменных в текстовом виде. |
В ALTA IDE поддержана интеллектуальная подсветка кода и автодополнение.
Автодополнение
Автодополнение позволяет получить список возможных вариантов кода на основе текущего контекста и частично введенного текста.
Окно автодополнения открывается автоматически, в процессе написания кода. При необходимости окно автодополнения можно открыть принудительно, для этого нажмите CTRL + SPACE, если место в коде предполагает наличие вариантов автодополнения, то окно откроется.

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

Под каждой задачей располагается список привязанных программ (при наличии), которые будут выполняться в рамках задачи. Разрешенное количество привязываемых к задаче программ зависит от прибора. Для того, чтобы свернуть/развернуть список привязанных программ нажмите на стрелку, расположенную слева от имени задачи. Если стрелка отсутствует, значит к задаче не привязано ни одной программы.
Тип задач и вложенных элементов можно определить по иконке в дереве проекта:
![]() | |
![]() | Задача по событию В ALTA IDE текущей версии для создания доступны
только циклические задачи. |
![]() | Программа, привязанная к задаче |
В случае возникновения ошибок, иконки помечаются маркерами:
Возможные ошибки
Графическое отображение | Тип ошибки | Варианты устранения ошибки |
|---|---|---|
![]() | Задача содержит ошибку | Наведите мышку для получения подсказки |
![]() | Программа привязана к нескольким задачам | Удалите повторные привязки программы - для корректной работы программа может быть привязана к задаче только один раз |
![]() | Привязанная программа не существует (удалена или переименована) |
|
При наведении на маркер возникает подсказка с информацией об ошибке и способах исправления.
Чтобы открыть вкладку Менеджер задач дважды нажмите ЛКМ на системную папку Менеджер задач в дереве проекта, или выберите в контекстном меню пункт Открыть:

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

Задача — имя созданной задачи и имена программ, привязанных к задаче (при наличии).
Тип вызова — циклическая задача или задача по событию;
ПримечаниеВ ALTA IDEтекущей версии для создания доступны только циклические задачи.Приоритет — приоритет выполнения задачи (от 1 до 99, в зависимости от типа задачи, где 99 наивысший приоритет).
Порядок выполнения задач определяется согласно установленному приоритету и условию вызова. Условием вызова задачи может служить:
время (циклическое выполнение);
событие внутреннее или внешнее (например, превышение заданного порога глобальной переменной или прерывание в устройстве).
При выполнении задач применяются следующие правила:
Выполняется та задача, условия выполнения которой истинны, т.е. прошло указанное время.
Если у нескольких задач условия выполнены одновременно, то выполняется задача с наивысшим приоритетом.
Программы одной задачи выполняются в том же порядке, в каком они перечислены в списке Менеджера задач и расположены в дереве проекта.
Перед выполнением привязанных программ в задаче происходит синхронизация входов компонентов с переменными, используемыми в программах задачи. После выполнения программ происходит аналогичная синхронизация выходов. При каждом старте программы происходит фиксация значений всех переменных проекта, которые были зафиксированы, независимо от того используются ли переменные в выполняемой программе или нет.
Для упрощения понимания логики работы приложения на устройстве ниже приведен пример последовательности выполнения задач проекта.
Пример
Многопоточное выполнение задач. Достаточно ресурсов процессора для одновременного выполнения задач:

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

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

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

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

С помощью контекстного меню задачи можно выполнить следующие действия:
Добавить привязку программы — привязать программу к задаче.
Открыть — открыть вкладку редактора задачи в рабочей области.
Переименовать — изменить имя задачи. Компоненты, в которых использовалась ссылка на переименованную задачу, будут помечены маркером ошибки.
Удалить — удалить выбранную задачу.
ПримечаниеПри удалении задачи с привязанными программами удаляется только задача, программы остаются в проекте и переходят в статус непривязанных.
После добавления задачи необходимо настроить условия выполнения и привязать программы.
Привязка программы
Привязать программу к задаче можно несколькими способами:
С помощью drag&drop программы в дереве проекта из папки Программные блоки в папку:
Менеджер задач → Задача: привязанная программа добавляется вниз списка;
Менеджер задач → Задача → Программа: привязанная программа добавляется на место выбранной программы, остальные программы сдвигаются вниз.
С помощью контекстного меню элемента Задача в дереве проекта, выберите пункт Добавить привязку программы.
В открывшемся окне привязки программы выберите нужную программу, нажмите кнопку Сохранить. Привязанная программа добавится вниз списка.
При выборе программы учитывайте, что у программ, имеющих расхождение имен, в списке отображается имя, указанное в редакторе ST:

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

Информационное окно Множественный вызов.
В случае привязки программы, уже привязанной к задаче возникнет логическая ошибка. Программа привяжется, задачи будут подчеркнуты красным цветом, иконка повторно привязанной программы отобразит множественный вызов. При наведении мышки на задачу (программу) появится всплывающее сообщение об ошибке.
Для корректной работы программы требуется удалить привязку к одной из задач, в противном случае выполнение программы может быть некорректно.
Отображение множественного вызова в дереве проекта
Смена порядка вызова привязанных программ
Программы в задаче выполняются в том порядке, в котором они расположены в дереве проекта (перечислены в списке менеджера задач). Порядок выполнения программы в задаче можно сменить методом drag&drop в дереве проекта. Для перетаскивания доступна как одна программа, так и несколько (выбор с помощью удержания кнопки Shift и ЛКМ).
Удаление привязки программ
Для удаления привязки программы воспользуйтесь контекстным меню программы, расположенной в дереве проекта в системной папке Менеджер задач:

Выберите Отвязать
программу, или воспользуйтесь кнопкой
в окне редактора
задачи, в разделе "Привязанные программы". Программа перейдет в статус
непривязанной.
Циклическая задача
Циклическая задача вызывает привязанные программы периодически в соответствии с заданным пользователем интервалом времени.
Схема выполнения циклической задачи на ПЛК приведена ниже:

Блоки, отмеченные звёздочкой (*), выполняются только при наличии заданных пользователем фиксированных значений переменных. Если фиксированные значения отсутствуют, данные блоки исключаются из цикла.
После создания задачи необходимо задать настройки. Для этого откройте окно редактора задачи одним из следующих способов:
дважды щёлкните ЛКМ по элементу Задача в дереве проекта;
выберите пункт Открыть в контекстном меню элемента Задача в дереве проекта.

Заполните:
Приоритет — приоритет выполнения задачи. Число от 5 до 50 со следующими значениями: 50 - самый высокий, 5 – самый низкий приоритет;
Период вызова, мкс — период времени (в микросекундах), после которого задача должна быть вызвана в очередной раз;
Ограничить количество вызовов — поставьте галочку, и введите число, если требуется ограничение количества вызовов задачи;
поле параметра не может быть пустым;
введенное значение не соответствует типу данных, допустимый формат ввода целочисленный;
введенное значение вне диапазона.
При наведении курсора мыши отобразится сообщение с текстом ошибки:

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

Нажмите кнопку
для
привязки программы к задаче.
Чтобы удалить привязку программы нажмите кнопку
.
Сохранение и сборка проекта
Сохранение проекта
Сохранить все изменения в проекте можно одним из следующих способов:
Через Главное меню→Файл→Сохранить проект.
Нажатием кнопки Сохранить проект
на панели инструментов.С помощью сочетания клавиш Ctrl+S.
Информация будет сохранена в папку проекта, по пути, указанному при создании проекта.
Несохраненные изменения обозначаются в ALTA IDE значком * рядом с названием вкладки:

При попытке закрыть вкладку, содержащую несохраненные изменения, отобразится информационное окно с предложением сохранить изменения. В случае выбора Да информация, содержащаяся во вкладке сохранится в проекте. При выборе Нет вкладка закроется без сохранения изменений.
Сборка проекта
Сборка проекта — это процесс подготовки проекта к запуску на устройстве. В ходе сборки все файлы проекта обрабатываются и преобразуются в исполняемые файлы с приложением, которые содержат пользовательскую программу и могут быть загружены и выполнены на устройстве.
Для Сборки проекта нажмите кнопку
на панели инструментов. ALTA IDE автоматически выполнит сохранение всех вкладок, в которых произошли
изменения. Кнопка перейдет в статус реализации сборки
, в строке состояния
отобразится шкала с индикацией процесса сборки:

После окончания сборки файл с приложением будет сохранен в папку ...\{Папка с проектом Alta}/Build/.
Информационные сообщения, предупреждения, а также возможные ошибки, возникшие в процессе сборки, будут отображаться в окне вывода, расположенном в нижней части основного окна ALTA IDE.
Процесс сборки проекта можно остановить одним из следующих способов:
нажмите кнопку
на панели инструментов;нажмите на значок
на шкале сборки проекта, расположенной в строке состояния главного
окна ALTA IDE.













