Ниже описан пошаговый порядок адаптации проекта из CODESYS V2.3 в ALTA IDE. Рекомендуется соблюдать последовательность переноса программных объектов и настройки проекта.
Глобальные переменные
Адаптацию проекта рекомендуется начинать с переноса списка глобальных переменных. При последующем переносе программных объектов (PRG, FB, FUN), содержащих обращение к листу глобальных переменных, связь образуется сразу.

VAR_GLOBAL можно экспортировать аналогично программным объектам (описано ниже) и вставить после ключевого слова конца программного объекта ALTA IDE.
Создадим программу, в которой будут находится только глобальные переменные и для удобства назовем ее GVL (Global Variables List).


Перенос VAR_CONFIG не поддержан, т.к. используются для прямой адресации* переменных экземпляров ФБ.
* Прямая адресация к памяти не поддержана в ALTA IDE.

Программные объекты (PRG, FB, FUN)
Ограничения миграции
| Язык проекта | Если проект написан на любом языке, кроме ST, его необходимо полностью переписать на ST (или на CFC, с момента поддержки в ALTA IDE) |
| Прямая адресация | Если проект использует прямую адресацию AT к ячейкам памяти ПЛК , его необходимо переработать |
| Псевдонимы (alias), диапазоны | Если проект активно использует псевдонимы типов или ограничение диапазона, необходимо проверить работоспособность после переноса |
Исходная программа PLC_PRG Codesys V2.3:

Существует 2 способа копирования программы:
Ctrl+C/Ctrl+V — вставка в редактор ST компонента программа в ALTA IDE;
Экспорт .EXP файла (подробно рассмотрен ниже).
Процесс экспорта PRG/FB/FUN
![]() ![]() Выберите Проект -> Экспорт... | ![]() ![]() Выберите необходимый объект (в нашем случае программу) |
![]() ![]() Введите имя и сохраните файл с расширением .exp | ![]() ![]() Откройте сохраненный файл и скопируйте код |
![]() ![]() Создайте в дереве проекта ALTA IDE необходимый программный объект (в нашем случае это программа programm_1). Вставьте скопированный код в редактор ST, подсветка укажет на места коррекции |
![]() ![]() Скорректируйте код (объявление переменных таргета, проверка синтаксиса) |
Рекомендуем пользоваться вариантом через экспорт по следующим причинам:
а) При прямом копировании из редактора ST CODESYS V2.3 возможно нарушение кодировки комментариев на русском языке. Чтобы этого избежать, перед копированием переключите раскладку клавиатуры на русский язык.
б) В текстовом редакторе объединяются области VAR и кода программы, аналогично редактору ST ALTA IDE.
После вставки кода, необходимо проверить ключевые слова PRG/FB/FUN.
| Программа | Функция | Функциональный блок |
|---|---|---|
![]() | ![]() | ![]() |
Переменные, типы данных
Переменные, привязанные в таргет-файле в CODESYS V2.3 (Конфигурация ПЛК) следует создать в программе ALTA IDE, соблюдая исходный тип данных. В CODESYS V2.3 при привязке переменной к узлу таргету происходит автоматическое объявление. Дополнительное объявление в программе не требуется. В ALTA IDE требуется сначала объявить переменную с типом данных в программном объекте, а далее привязать в таблицу таргет-файла (мы сделали это в примере выше)
Основные типы данных в обеих IDE совпадают и соответствуют МЭК61131-3. Но существуют некоторые различия (улучшения) во временных и особых типах данных:
Тип данных / Особенности | ALTA IDE | CODESYS V2.3 | Различия |
|---|---|---|---|
TIME | 64 бита, ns, T#213503d23h34m33s709ms551us615ns | 32 бита, ms, максимум T#49d17h2m47s295ms) | + |
TIME_OF_DAY (TOD) | 32 бита, ms, 4 294 967 295 ms | 32 бита, ms, 4 294 967 295 ms | - |
DATE | 32 бита, ms, битовая маска, D#0000-0-0 - D#9999-12-31 | 32 бита, D#1970-00-00 - D#2106-02-06 | + |
DATE_AND_TIME (DT) | 64 бита, ms, DT#9999-12-31-23:59:59.999 | 32 бита, s, DT#1970-00-00-00:00:00 - DT#2106-02-06-06:28:15 | + |
INSTANT | 64 бита, ns, T#213503d23h34m33s709ms551us615ns | Отсутствует | + |
WSTRING, CHAR, WCHAR | Поддерживаются | Отсутствуют | + |
STRING | UTF-8 | Однобайтовая | + |
Указатели | 64 бита (ULINT), `REF_TO`/`POINTER TO | 32 бита, `POINTER TO` | + |
Структуры (Литералы) | Имена полей обязательны `(x:=1, y:=2)` | Имена полей можно опускать `(1, 2)` | + |
Библиотеки
Основные библиотеки для ALTA IDE аналогичны библиотекам CODESYS V2.3, за исключением минорных исправлений. Более подробно с составом библиотек можно ознакомиться в документации на конкретную библиотеку ALTA IDE.
Перед вызовом функции или функционального блока из библиотеки в ALTA IDE необходимо указать имя библиотеки
через точку (необязательно для библиотеки Standard). Например, вызов
функции округления из библиотеки OSCAT_BASIC в коде будет выглядеть
так: OSCAT_BASIC.CEIL
Важно сохранить регистр именования библиотеки - UTIL.HYSTERESIS вызовет ошибку компиляции, util.HYSTERESIS - нет. Примеры вызова и использования функций и ФБ из библиотек описаны в документации на библиотеки.
| Наличие библиотеки | Standard | Util | SysLibCom | SysLibSocket | OSCAT_BASIC | SysLibTime |
|---|---|---|---|---|---|---|
| ALTA IDE | + | + | + | + | + | + |
CODESYS V2.3 | + | + | + | + | + | + |
Вызов функции/ФБ | Без указания или std. | util. | SysLibCom. | SysLibSocket. | OSCAT_BASIC. | SysLibTime. |
Задачи
На текущий момент в ALTA IDE поддержано только циклическое выполнение задач. Следует учитывать это и при адаптации создавать задачи вручную.















