---
title: "Адаптация проектов Codesys V2.3 ALTA IDE"
product: "ALTA IDE"
document_number: "№ 1-RU-164160-1.2"
version: "1.2"
language: "ru"
source: "https://docs.owen.ru/product/alta-ide/doc/migration_codesys_to_alta_IDE_stable"
pdf: "https://docs.owen.ru/download/pdf/7gx7E.adaptacia+proektov+codesys_alta+ide_1-ru-164160-1.2.pdf"
generated: "2026-10-14"
---

# Адаптация проектов Codesys V2.3 ALTA IDE

## Содержание

- [Цель документа](#topic-124394)
- [Правила адаптации](#topic-124395)
  - [Глобальные переменные](#topic-124396)
  - [Программные объекты (PRG, FB, FUN)](#topic-124397)
  - [Переменные, типы данных](#topic-124398)
  - [Библиотеки](#topic-124399)
  - [Задачи](#topic-124400)

<a id="topic-124394"></a>

## Цель документа

Настоящее руководство представляет собой сборник рекомендаций по ручной адаптации готового проекта из CODESYS V2.3 в ALTA IDE, с учетом особенностей нашей среды.

В планах развития ALTA IDE инструмент автоматической миграции проектов из CODESYS. Если у вас есть идеи, как улучшить это руководство, или предложения по будущему инструменту автоматической миграции, напишите нам. Если после прочтения у вас останутся вопросы обратитесь в техническую поддержку: [**support@owendigital.ru**](mailto:support@owendigital.ru)

Все документы доступны на сайте компании [ОВЕН Цифровые решения](https://owendigital.ru/products/altaide/dokumentaciia).

<a id="topic-124395"></a>

## Правила адаптации

Ниже описан пошаговый порядок адаптации проекта из CODESYS V2.3 в ALTA IDE. Рекомендуется соблюдать последовательность переноса программных объектов и настройки проекта.

<a id="topic-124396"></a>

### Глобальные переменные

Адаптацию проекта рекомендуется начинать с переноса списка глобальных переменных. При последующем переносе программных объектов (PRG, FB, FUN), содержащих обращение к листу глобальных переменных, связь образуется сразу.

![Глобальные переменные Кодесис](https://docs.owen.ru/book_img/2412/164140.png)

*Глобальные переменные в CODESYS V2.3*

**VAR_GLOBAL** можно экспортировать аналогично программным объектам (описано [ниже](#topic-124397)) и вставить <u>после ключевого слова</u> конца программного объекта ALTA IDE.

Создадим программу, в которой будут находится только глобальные переменные и для удобства назовем ее GVL (Global Variables List).

![Создание программы](https://docs.owen.ru/book_img/2412/164139.png)

*Создание программы для объявления GVL*

![Глобальные переменные Альта](https://docs.owen.ru/book_img/2412/164138.png)

*Список глобальных переменных ALTA IDE внутри PRG*

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

\* Прямая адресация к памяти не поддержана в ALTA IDE.

> [!NOTE]
> **Примечание.** В будущих версиях ALTA IDE компонент GVL (глобальные переменные) будет вынесен как отдельный объект в дерево проекта.

> [!NOTE]
> **Примечание.** Переменные, привязанные к таргет-файлу в проекте CODESYS V2.3, также являются глобальными и рекомендуются к переносу до вставки программных компонентов.![Глобальные переменные в ПЛК](https://docs.owen.ru/book_img/2412/164137.png)

<a id="topic-124397"></a>

### Программные объекты (PRG, FB, FUN)

> [!WARNING]
> **Внимание.** **Ограничения миграции**
>
> |   |   |
> | --- | --- |
> | Язык проекта | Если проект написан на любом языке, кроме ST, его необходимо полностью переписать на ST (или на CFC, с момента поддержки в ALTA IDE) |
> | Прямая адресация | Если проект использует прямую адресацию AT к ячейкам памяти ПЛК , его необходимо переработать |
> | Псевдонимы (alias), диапазоны | Если проект активно использует псевдонимы типов или ограничение диапазона, необходимо проверить работоспособность после переноса |

Исходная программа PLC_PRG Codesys V2.3:

![Программа CDS](https://docs.owen.ru/book_img/2412/164136.png)

Существует 2 способа копирования программы:

- Ctrl+C/Ctrl+V — вставка в редактор ST компонента программа в ALTA IDE;
- Экспорт .EXP файла (подробно рассмотрен ниже).

#### Процесс экспорта PRG/FB/FUN

![1](https://docs.owen.ru/book_img/2412/154331.png)

![Экспорт программы](https://docs.owen.ru/book_img/2412/164135.png)

Выберите Проект -> Экспорт...

![2](https://docs.owen.ru/book_img/2412/154329.png)

![Сохранить программу](https://docs.owen.ru/book_img/2412/164134.png)

Выберите необходимый объект (в нашем случае программу)

![3](https://docs.owen.ru/book_img/2412/154327.png)

![Задайте имя](https://docs.owen.ru/book_img/2412/164133.png)

Введите имя и сохраните файл с расширением .*exp*

![4](https://docs.owen.ru/book_img/2412/154325.png)

![Текст кода](https://docs.owen.ru/book_img/2412/164132.png)

Откройте сохраненный файл и скопируйте код

![5](https://docs.owen.ru/book_img/2412/154323.png)

![Программа до корректировки](https://docs.owen.ru/book_img/2412/164131.png)

Создайте в дереве проекта ALTA IDE необходимый программный объект (в нашем случае это программа programm_1).

Вставьте скопированный код в редактор ST, подсветка укажет на места коррекции

![6](https://docs.owen.ru/book_img/2412/154341.png)

<a id="primer"></a>

![Программа после корректировки](https://docs.owen.ru/book_img/2412/164150.png)

Скорректируйте код (объявление переменных таргета, проверка синтаксиса)

> [!NOTE]
> **Примечание.** Рекомендуем пользоваться вариантом через экспорт по следующим причинам:
>
> а) При прямом копировании из редактора ST CODESYS V2.3 возможно нарушение кодировки комментариев на русском языке. Чтобы этого избежать, перед копированием переключите раскладку клавиатуры на русский язык.
>
> б) В текстовом редакторе объединяются области VAR и кода программы, аналогично редактору ST ALTA IDE.

После вставки кода, необходимо проверить <u>ключевые слова</u> PRG/FB/FUN.

| Программа | Функция | Функциональный блок |
| --- | --- | --- |
| ![Программа](https://docs.owen.ru/book_img/2412/164149.png) | ![Функция](https://docs.owen.ru/book_img/2412/164148.png) | ![ФБ](https://docs.owen.ru/book_img/2412/164147.png) |

> [!NOTE]
> **Примечание.** При переносе программных объектов не торопитесь импортировать все объекты сразу. Вставляйте по одной программе/ФБ/функции, исправляйте, следуя диагностике ошибок (подсветке), и переходите к следующему программному объекту.

<a id="topic-124398"></a>

### Переменные, типы данных

Переменные, привязанные в таргет-файле в CODESYS V2.3 (Конфигурация ПЛК) следует создать в программе ALTA IDE, соблюдая исходный тип данных. В CODESYS V2.3 при привязке переменной к узлу таргету происходит автоматическое объявление. Дополнительное объявление в программе не требуется. В ALTA IDE требуется сначала объявить переменную с типом данных в программном объекте, а далее привязать в таблицу таргет-файла (мы сделали это в [примере](#primer) выше)

Основные типы данных в обеих 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)\` | + |

<a id="topic-124399"></a>

### Библиотеки

Основные библиотеки для ALTA IDE аналогичны библиотекам CODESYS V2.3, за исключением минорных исправлений. Более подробно с составом библиотек можно ознакомиться [в документации на конкретную библиотеку](https://owendigital.ru/products/altaide/dokumentaciia) 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. |

<a id="topic-124400"></a>

### Задачи

На текущий момент в ALTA IDE поддержано только циклическое выполнение задач. Следует учитывать это и при адаптации создавать задачи вручную.

![Менеджер задач](https://docs.owen.ru/book_img/2412/164146.png)

*Менеджер задач в ALTA IDE*
