Просмотр полной версии : Изменение энергонезависимых переменных в цикле программы.
Здравствуйте, ПЛК 210. (язык ST)
Есть протокол, необходимо сделать сквозную нумерацию.
Задаю PersistentVars.
VAR_GLOBAL PERSISTENT RETAIN
N_Protokol: INT ;
END_VAR
Где нужно, в цикле программы, при формировании протокола, прописываю условие N_Protokol := N_Protokol + 1;
При снятии питания с ПЛК, переменная опять возвращается в значение 0. Как быть?
kondor3000
09.12.2024, 10:40
Здравствуйте, ПЛК 210.
Есть протокол, необходимо сделать сквозную нумерацию.
Задаю PersistentVars.
VAR_GLOBAL PERSISTENT RETAIN
N_Protokol: INT ;
END_VAR
Где нужно, в цикле программы, при формировании протокола, прописываю условие N_Protokol := N_Protokol + 1;
При снятии питания с ПЛК, переменная опять возвращается в значение 0. Как быть?
Для переменных PERSISTENT есть свой отдельный блок, его надо добавить и в него уже ваши переменные.
Так же как добавляете глобальные переменные, так и переменные PERSISTENT, блок со значком похожим на букву Т
Вы имеете ввиду, правой кнопкой мыши на APPLICATION, добавление объекта, PersistentVars ?
там и задавал. Пробовал и с RETAIN переменными, тоже сбрасываются.
kondor3000
09.12.2024, 10:50
Что за блок?
блок со значком похожим на букву Т, по клику правой кнопкой мыши на Applicachion, в дереве проектов
Тогда так и объявил переменные изначально. Тут сложность скорей всего в том, как бы задавать значение переменной из цикла программы.
Евгений Кислов
09.12.2024, 11:39
Добрый день.
Где нужно, в цикле программы, при формировании протокола, прописываю условие N_Protokol := N_Protokol + 1;
При снятии питания с ПЛК, переменная опять возвращается в значение 0.
Если убрать из проекта весь ваш код, оставив только "N_Protokol := N_Protokol + 1" (можно в безусловно вызывать его в основной программе) - то что произойдет со значением переменной после перезагрузки контроллера?
Значение переменной N_Protokol становится = 0.
Евгений Кислов
09.12.2024, 11:50
Значение переменной N_Protokol становится = 0.
Тогда, пожалуйста, напишите мне в телеграм (см. в подписи) и подготовьте доступ по AnyDesk.
Созвонились, Евгений помог.
Большое спасибо.
Проблема оказалась с моей стороны, когда загружал проект на контроллер, не создавал загрузочное приложение.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot