Получилось. Спасибо.
Доброе время суток всем!
Почему это не работает? В чём может быть причина, подскажите пожалуйста.
Безымянный2.png
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Спасибо! Это я заметил. Однако интересует механика процесса. Переменной VAR_TEMP нельзя присвоить значение ?
Если посмотреть пример
[Техническая документация PLCopen. Руководство по кодированию. версия 1.0, официальный релиз ] стр. 85,
то там переменная index: INT; из VAR_TEMP как раз используется как параметр цикла.
Последний раз редактировалось Frants; 14.03.2025 в 07:48.
Можно. Но оно переинициализируется в конце цикла - в этом и суть VAR_TEMP - поэтому вы не увидите ничего интересного в онлайн-мониторинге.
Примерно по тем же причинам нельзя в мониторинге увидеть "текущие" значения локальных переменных функций - как и в случае VAR_TEMP, они размещаются в стеке.
Последний раз редактировалось Евгений Кислов; 14.03.2025 в 10:15.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Такой вопрос.
Почему система допускает такую декларацию?
VAR_TEMP CONSTANT
TAG_1: INT;
END_VAR
В справке дано такое описание для CONST:
<scope> CONSTANT
<identifier> : <data type> := <initial value> ;
END_VAR
<scope> : VAR | VAR_INPUT | VAR_STAT | VAR_GLOBAL
<data type>: <elementary data type> | <user defined data type> | <function block>
<initial value> : <literal value> | <identifier> | <expression>
Т.е. VAR_TEMP CONST не допускается. Но написать и скомпилировать так можно, и загрузить ...
Да.
В документации написано, как надо делать.Такой вопрос.
Почему система допускает такую декларацию?
VAR_TEMP CONSTANT
TAG_1: INT;
END_VAR
В справке дано такое описание для CONST:
<scope> CONSTANT
<identifier> : <data type> := <initial value> ;
END_VAR
<scope> : VAR | VAR_INPUT | VAR_STAT | VAR_GLOBAL
<data type>: <elementary data type> | <user defined data type> | <function block>
<initial value> : <literal value> | <identifier> | <expression>
Т.е. VAR_TEMP CONST не допускается. Но написать и скомпилировать так можно, и загрузить ...
Предусмотреть в компиляторе все возможные ситуации, в которых человек принципиально хочет выстрелить в себе в ногу, и проинформировать его предупреждением/ошибкой - довольно затруднительно.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk