Стартовая страница › Форумы › Понять, как работает ПО › Использование формул › Значение канала по умолчанию
- В этой теме 7 ответов, 2 участника, последнее обновление 6 лет, 9 месяцев назад сделано Mikhail.
-
АвторСообщения
-
06.06.2017 в 12:35 #6030manjey73Участник
Как сделать так, чтобы при запуске(перезапуске) SCADA сервера у каналов были значения по умолчанию, возможность их изменить, чтобы при следующем перезапуске были новые значения ?
Собственно организация все тех же энергонезависимых переменных…
06.06.2017 в 16:33 #6031MikhailМодераторЗначения входных каналов сохраняются в текущем срезе. При перезапуске значения дорасчётных каналов берутся из сохраненного среза.
Думаю, можно сделать формулу, которая в случае, если дорасчётный канал не определен, то есть Stat==0, будет подставлять значение по умолчанию.06.06.2017 в 21:59 #6036manjey73УчастникТак текущий срез у нас в tmpfs, то есть при перезапуске будет 0. А если его оставить просто в файловой системе это будет убивать флешку.
08.06.2017 в 09:53 #6045MikhailМодераторДа, просто не знал, что речь о Raspberry. Значения по умолчанию можно реализовать с помощью формул, но чтобы их изменить, потребуется изменить сами формулы.
08.06.2017 в 10:30 #6050manjey73УчастникПросто когда что-то делаю, прикидываю как это будет работать не только на Windows. Ну и если применен SSD или Flash постоянно на них писать вредно, например применение промПК с CF картой или SSD.
Вот и нужно ткнуть в каком направлении копать…
При этом, чтобы формула была универсальной, не зависимо от количество каналов, который я назначу как энергонезависимыми. На самом деле этот механизм должен быть в самой SCADA, если ее использовать как ПЛК…Пока задумка такая, сделать код работы с файлом для начала цикла и для конца цикла.
В конце цикла код создает файл с назначенными переменными как retain, в начале читает. Если ни одна переменная не изменилась, файл не перезаписывает в конце цикла.
Если изменилась, то записывается новый файл.
Файл, будучи созданным, будет читаться в начале цикла и выполнять присвоение всем переменным, ну либо сами переменные будут вычитывать свое значение из файла.Просто пока думаю как это дело вообще реализовать, с чего начинать так сказать…
08.06.2017 в 16:29 #6061MikhailМодераторОписанный подход с файлом лучше всего реализовать в виде модуля сервера, там как раз есть методы, которые вызываются при старте и завершении сервера. В формулах базы конфигурации неудобно такую «большую» логику реализовывать.
Еще желательно проверять переменные на изменения хотя бы раз в несколько часов и сохранять на диск на случай аварийного завершения.
08.06.2017 в 23:17 #6066manjey73УчастникНесколько часов это много, нужно, чтобы время сохранения настраивалось для каждой отдельно взятой переменной. Для конфигурационных только по изменению например.
А для программных раз в минуту или больше (выбираем) или согласно настройкам минутных срезов параллельно с ними.Если планируется использовать в SCADA функционал контроллера, без такого модуля он просто не сможет работать.
- Этот ответ был изменен 6 лет, 9 месяцев назад от manjey73.
09.06.2017 в 14:34 #6075MikhailМодераторС индивидуальными настройками будет ещё лучше.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.