Стартовая страница › Форумы › Разработка и интеграция › Сохранение переменных
- В этой теме 8 ответов, 3 участника, последнее обновление 8 лет, 4 месяца назад сделано
a93911.
-
АвторЗаписи
-
21.03.2018 в 06:45 #8744
a93911
УчастникЗдравствуйте. Появилась задача введения уставки аварийного значения некоторой величины.Нужна возможность менять данную уставку с веб страницы. Соответственно, 2 вопроса:
1. как сделать ввод уставки;
2. как сохранить уставку в память.В контроллере, подключенном к скада, нет возможности сохранения, поэтому возникла данная проблема
21.03.2018 в 09:39 #8747
manjey73УчастникИспользовать входной канал ДорасчетныйТИ и формулы retain переменных для сохранения переменной при перезагрузке Scada.
Так же придется использовать инициализацию в дополнительном дорасчетномТИ канале, чтобы заставить модуль автоматического управления отправить переменную в ПЛК.Вопрос: пока ПЛК подключен к питанию ему достаточно один раз записать переменную аварийного значения или надо постоянно посылать каждый цикл ?
21.03.2018 в 17:23 #8749
MikhailМодераторЗначение входного канала сохраняется при перезапуске скады. Поэтому достаточно с помощью канала управления записывать уставку во входной канал с помощью формулы SetVal.
21.03.2018 в 20:42 #8754a93911
УчастникНе совсем поняли меня. В ПЛК я записать ничего не могу. Можно анализировать только входные каналы. Нужно в скада через веб меню изменять аварийную уставку. Причем уставка должна сохраняться при перезагрузке скада. При превышении уставки генерируется событие
21.03.2018 в 23:51 #8755
manjey73УчастникТогда просто формулами сравнения с уставкой.
Создаете канал ДорасчетныйТИ в котором вы укажете уставку. И сравнивать данный канал со входными каналами, которые опрашиваете из ПЛК22.03.2018 в 10:55 #8757
manjey73УчастникВ канале управления пишите формулу SetVal(N канала дорасчетныйТИ, Cmd) пример канал управления 5 — SetVal(451, Cmd)
Во входном канале «N канала дорасчетныйТИ» пишите формулу Val(N канала дорасчетныйТИ) пример 451 — формула Val(451)
Retain не нужен, это я по привычке из-за Raspberry, так как там текущие данные пишутся в виртуальную память.
Во входном канале ТИ читаете из ПЛК значение, например канал 452Создаете канал дорасчтныйТИ например 453 для контроля и пишите формулу Val(452) > Val(451) ? 1 : 0
То есть если значение из ПЛК больше вашей уставки то в канале будет 1, если меньше или равно то будет 0. Ну и на этот канал натравливаете Аварию
22.03.2018 в 14:50 #8758a93911
УчастникКомандой SetVal(451, Cmd) устанавливаем значение дорасчетного канала. А при перезагрузке компьютера разве это не придется делать снова? Нужно сохранять это значение
22.03.2018 в 16:29 #8760
manjey73УчастникНет, не нужно, при условии, что база данных текущих значений пишется на диск а не на виртуальную память.
Применять Retain переменные необходимо при использовании виртуальной памяти для базы текущих значений и файлов логирования на Raspberry Pi или при использовании SSD диска и создании виртуального диска, чтобы не убить flash карту или SSD диск раньше времени.22.03.2018 в 21:14 #8764a93911
УчастникВсем спасибо за помощь. Это именно то, что нужно.
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.