Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
31.08.2025
Размер:
5.84 Mб
Скачать

Приложение K: Ошибки и предупреждения компилятора

Приложение K: Ошибки и предупреждения компилятора

CoDeSys V2.3

10-105

Приложение K: Ошибки и предупреждения компилятора

Если при компиляции проекта обнаружены ошибки или предупреждения, то соответствующие им сообщения будут отображены в окне сообщений. Клавиша <F4> позволяет переходить к следующему сообщению. При этом открывается окно редактора соответствующего POU. Каждая ошибка и сообщение имеет уникальный номер. Клавиша <F1> в окне сообщений открывает соответствующее ошибке окно описания справочной системы.

Предупреждения

1100

"Неизвестная функция '<имя>' в библиотеке."

Используется внешняя библиотека. Проверьте, все ли функции, присутствующие в .hex file, опре-

делены в .lib file.

1101

"Неразрешенный символ '<символ>'."

Генератор кода предполагает POU с именем <символ>, неопределенный в проекте. Определите функцию/программу с таким именем.

1102

"Ошибка в интерфейсе '<символ>'."

Генератор кода предполагает функцию с именем <символ> и имеющую один скалярный вход, либо программу с именем <символ> и не имеющую входов и выходов.

1103

"Константа '<имя>' по адресу '<адрес>' превышает границу 16K страницы!"

Строковая константа превышает 16K-границу страницы. Система не имеет таких ограничений. Свяжитесь с изготовителем ПЛК.

1200

"Задача '<имя>', вызов '<имя>': переменные общего доступа в списке параметров не обновлены"

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

1300

"Файл '<имя>' не найден"

Файл, на который указывает объект глобальных переменных, не существует. Проверьте правильность указания пути.

1301

"Analyze-библиотека не найдена! Соответствующий код не может быть сгенерирован"

Функция анализа используется, но библиотека analyzation.lib отсутствует. Добавьте в проект эту библиотеку.

CoDeSys V2.3

10-106

Приложение K: Ошибки и предупреждения компилятора

1302

"Добавлены новые функции, отсутствующие в системе. Горячее обновление невозможно!"

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

1400

"Неизвестная директива (pragma) '<имя>' проигнорирована!"

Данная директива ‘pragma’ не поддерживается компилятором. См. "Директивы компилятора".

1401

"Структура '<имя>' не содержит никаких элементов"

Структура не содержит элементов, но переменные этого типа занимают 1 байт памяти.

1410

"'RETAIN' и 'PERSISTENT' не имеют смысла в функциях"

Объявленные внутри функции локальные RETAIN и PERSISTENT-переменные размещаются в обычной области локальных переменных.

1411

"Переменная конфигурации '<имя>' не изменяется ни в одной задаче"

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

Пример:

Variable Configuration:

VAR_CONFIG

plc_prg.aprg.ainst.in AT %IB0 : INT; END_VAR

plc_prg:

index := INDEXOF(aprg);

На программу aprg есть ссылка, но нет вызова. Поэтому plc_prg.aprg.ainst. никогда не примет актуальное значение %IB0.

1412

"Нестандартный символ '<имя>' в директиве {имя}"

Вы используете недопустимую в данном месте, либо некорректно записанную директиву компи-

лятора 'pragma'.

1413

"'<имя>' неверный ключ в директиве '<имя>'. Ключ будет проигнорирован"

Указан несуществующий список параметров. Используйте менеджер параметров для выбора доступных списков.

1414

"Слишком много определений в директиве '<имя>'"

Pragma содержит определений больше (в скобках), чем есть элементов в соответствующем массиве, функциональном блоке или структуре.

CoDeSys V2.3

10-107

Приложение K: Ошибки и предупреждения компилятора

1415

"’<имя>’ (<число>): литерал '<число>' относится к нескольким перечислениям"

В объявлении перечисления <имя> одинаковые числа использованы для более чем одного элемен-

та (например: TYPE aenum (a:=1, b:=1); END_TYPE).

1500

"Выражение не содержит присваивания. Код не будет сгенерирован."

Результат выражения нигде не использован. Поэтому код выражения не генерируется.

1501

"Строковую константу, передаваемую как 'VAR_IN_OUT' '<имя>' нельзя перезаписывать!"

Такая константа не может быть записана в POU, поскольку нет возможности определить ее размер.

1502

"Переменная '<имя>' имеет то же имя, что и POU. POU не будет вызван!"

Переменная имеет одинаковое с POU имя.

Пример:

PROGRAM a

...

VAR_GLOBAL a: INT;

END_VAR

...

a; (* Вместо вызова POU загружается переменная. *)

1503

"The POU ‘<имя>’ не имеет выходов. Результату присвоено значение 'TRUE'"

Выход POU, неимеющего определенных выходов, соединен в FBD. Автоматически присваивание дает TRUE.

1504

"’<имя>’ (‘<число>’): выражение может быть не выполнено в связи с вычислением логического выражения "

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

Пример:

IF a AND funct(TRUE) THEN ....

Если а равно FALSE, то funct не будет вызвана.

1505

"Зависимое разветвление в '<имя>'! Ветвь может быть не вызвана!"

Первый вход POU равен FALSE, поэтому выражения в боковой ветви других входов не будут вычисляться.

CoDeSys V2.3

10-108

Приложение K: Ошибки и предупреждения компилятора

1506

"Переменная '<имя>' имеет то же имя, что и локальное действие. Действие не будет вызвано!"

Переменная имеет то же имя, что и действие. Действие не вызывается. Переименуйте переменную или действие.

1507

"Экземпляр '<имя>' имеет то же имя, что и функция. Экземпляр не будет вызван."

Вы вызываете в ST экземпляр, имеющий одинаковое с функцией имя. Будет вызвана функция. Используйте разные имена. И фун

1509

"'<имя>' ('<число>'): Функции обратного вызова должны начинаться с 'Callback'"

Попытка использовать функцию callback, имя которой не начинается с “callback”. Это может вызвать ошибки в работе на RISC процессорах Motorola 68K!

1550

"Несколько вызовов POU '<имя>' в одной цепи могут вызвать побочные эффекты"

Несколько вызовов одного POU в одной цепи могут дать побочные эффекты.

1600

"Неясно, какой DB открыт (генерируемый код может быть ошибочным)"

Исходная Siemens-программа не содержит инструкции выбора DB.

1700

"Вход не подсоединен"

Входной элемент CFC не имеет присваивания. Поэтому код не генерируется.

1750

"Шаг '<имя>': минимальное время больше максимального!"

Откройте диалог 'Step attributes' данного шага и проверьте задание макс. и мин. времён.

1800

"<имя>(элемент #<номер элемента>): неверное наблюдаемое выражение '<имя>'"

Элемент визуализации содержит выражение, которое невозможно вычислить. Проверьте имена и заместители в выражении.

1801

"'<имя> (число): вход в выражении '<имя>' невозможен"

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

CoDeSys V2.3

10-109

Приложение K: Ошибки и предупреждения компилятора

1802

"<Объект визуализации>(номер элемента): растровое изображение '<имя>' не найдено"

Проверьте, существует ли указанный растровый рисунок.

1803

"'<имя>'('<число>'): печать не работает в целевой и web-визуализации"

Вывод на печать задан как действие при тревоге. Это не будет работать в Web- и Targetвизуализации.

1804

"'<имя>'('<число>'): шрифт '<имя>' не поддерживается целевым устройством"

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

1805

"'<имя>'('<число>'): должна быть включена целевая установка 'Сохранять данные трендов в ПЛК'"

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

1806

"'<имя>'('<число>'): должна быть включена целевая установка 'Обработка тревог в ПЛК'"

Вы используете элемент "тревога" в визуализации, но эта опция отключена в категории Визуализация в опциях платформы.

1807

"<имя> (<число>): окно тревожных сообщений не поддерживается в целевой визуализации"

Обратите внимание, что действие "сообщение" не поддерживается в целевой визуализации!

1808

"'<имя>'('<число>'): Полигон содержит слишком много точек для целевой визуализации. Измените настройки платформы или переконфигурируйте элемент"

Полигон содержит слишком много точек для целевой визуализации. По умолчанию допускается 512 точек. Измените этот параметр в настройках платформы или переконфигурируйте элемент.

1809

"'<имя> ('<число>'): не найдена вызываемая визуализация"

Указанная визуализация не найдена, проверьте правильность наименования и ее наличие.

1850

"Входная переменная %IB<число> используется в задаче '<имя>' но обновляется в другой задаче"

CoDeSys V2.3

10-110

Приложение K: Ошибки и предупреждения компилятора

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

1851

"Выходная переменная %IQ<число> используется в задаче '<имя>' но обновляется в другой задаче"

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

1852

"CanOpenMaster в событийной задаче '<имя>' не может быть вызван циклично! Установите параметр модуля UpdateTask!"

CanOpen Master вызывается из указанной задачи, управляемой событием. Если вы хотите заставить его работать циклически, то задайте соответствующую задачу посредством параметра

UpdateTask в диалоге dialog 'Module parameters' конфигуратора ПЛК.

1853

"PDO (индекс: '<число>') в событийной задаче '<имя>' не может быть вызван циклично."

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

1900

"POU '<имя>' не применяется в библиотеке"

Начальный POU (т.е. PLC_PRG) не доступен, если проект используется как библиотека.

1901

"Переменные общего доступа и конфигурационные переменные не записываются в библиотеку!"

Переменные общего доступа и конфигурируемые переменные не записываются в библиотеку.

1902

"'<имя>': библиотека не подходит для данной платформы или повреждена!"

Файл .obj сгенерирован для другого устройства.

1903

"<имя>: библиотека повреждена"

Данный файл не удовлетворяет требованиям формата библиотеки выбранной платформы.

1904

"Константа '<имя>' перекрывает константу с таким же именем в библиотеке"

В вашем проекте определена константа, имеющая то же имя, что и в присоединенной библиотеке. Библиотечная переменная будет переопределена!

CoDeSys V2.3

10-111