PDA

Просмотр полной версии : Значение выражения не может быть найдено



Machox222
16.12.2025, 20:48
Здравствуйте!

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

Из данных могу на данный момент назвать лишь то, что контроллер - ПЛК200-01-CS, среда программирования - CODESYS SP17 Patch 3.

Другие подробности смогу указать завтра, оказавшись у рабочего компьютера.

Заранее благодарен за помощь!

kondor3000
16.12.2025, 20:51
Другие подробности смогу указать завтра, оказавшись у рабочего компьютера.

Заранее благодарен за помощь!

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

МихаилГл
17.12.2025, 06:52
Да вроде обычный косяк среды. Лечится простым закрытием и открытием данной вкладки.

Евгений Кислов
17.12.2025, 08:23
Это сообщение означает, что в ячейке памяти, в которой располагается переменная типа BOOL, оказалось значение, отличное от 0 и 1.
В большинстве случаев это связано с ошибками при работе с памятью в проекте.

Простейший синтетический пример, демонстрирующий появление этого сообщения:



PROGRAM PLC_PRG
VAR
abyByteData: ARRAY [0..9] OF BYTE;
axBoolData: ARRAY [0..9] OF BOOL;
iIndex: INT;
END_VAR

// В коде:

// Случайно вышли за границу массива
iIndex := 10;
// Подойдет любое значение >1
abyByteData[iIndex] := 2;


87265