Не страбтыват StartingFromCheckpoint

Вопросы, не попадающие в другие разделы.

Не страбтыват StartingFromCheckpoint

Сообщение Vul » Вт окт 01, 2013 2:32 am

Есть необходимость собирать в дополнительной переменой тега его суточное значение.
Скрипит выполняется раз в секунду и все прекрасно работает:
if me.Currentday == System.DateTime.Now.day then
me.DayPV = me.DayPV + (me.pv/3600);
else
me.DayPV = 0;
me.Currentday = System.DateTime.Now.day;
endif;
До тех пор пока не сделаешь передеплой объекта или не придется перегрузить сервер, тогда me.DayPV переинициализируется и начинается отсчет с нуля. Прочитал, что это решается установкой DayPV типа Calculated Retentive и включением на Engine chtck point period. И потом проверять при инициализации объекта востновилось ли значение переменной с помощью StartingFromCheckpoint.
if vzf.engine.StartingFromCheckpoint == false then me.DayPV = 0;
else
endif;
Но у меня StartingFromCheckpoint, всегда остается равен False, как заставить переменные принимать значения сохраненные в Chtackpoint ?
Может вообше есть возможность это реализовать как то по другому ?
Vul
 
Сообщения: 12
Зарегистрирован: Вт июл 02, 2013 11:41 am
Откуда: Тольятти

Re: Не страбтыват StartingFromCheckpoint

Сообщение Генератор зла » Вт окт 01, 2013 2:45 am

1. Checkpoint period: Set to 0 by default. Checkpoints will be written to the disk at the engine scan period intervals.

Do not set this value to too low or too high. Writing to disk at every scan period is resource-intensive. For a 20,000 I/O application, 20,000 ms. is recommended. For systems with 40,000 I/O points or more, 60,000 ms. is recommended.

It is important to note that in a redundancy environment, checkpoint synchronization is performed at every scan and the synchronized data is stored in the memory on both Active and Standby nodes. If the Standby node has to become active, it will first use this data for startup.
(https://wdnresource.wonderware.com/supp ... 002079.htm)

2. Troubleshooting Wonderware Application Server Processes
https://wdnresource.wonderware.com/supp ... 002234.htm

3. Tips for Troubleshooting AppEngine Redundancy-Related Issues
https://wdnresource.wonderware.com/supp ... 002606.htm

Vul писал(а):Может вообше есть возможность это реализовать как то по другому ?

Через текстовый файл.
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: Не страбтыват StartingFromCheckpoint

Сообщение Vul » Вт окт 01, 2013 3:55 am

У меня Checkpoint period стоит 60000 ms, все *.ckp файлы обновляются. Установил Checkpoint period 0 и проверили все настройки по инструкции, StartingFromCheckpoint всеравно в true не переходит.
Vul
 
Сообщения: 12
Зарегистрирован: Вт июл 02, 2013 11:41 am
Откуда: Тольятти

Re: Не страбтыват StartingFromCheckpoint

Сообщение Генератор зла » Вт окт 01, 2013 11:57 am

Vul писал(а):if vzf.engine.StartingFromCheckpoint == false then me.DayPV = 0;

Эта проверка верна только для StartUp-скрипта. (если верить доке)
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: Не страбтыват StartingFromCheckpoint

Сообщение Vul » Вс окт 06, 2013 4:53 pm

Генератор зла писал(а):Эта проверка верна только для StartUp-скрипта. (если верить доке)



Да именно там и проверяю. Да и проверка то вроде как нужна только чтобы проверить инициализировалось ли переменная после запуска, а восстановить значения она должна автоматом, покрайней мере как принудительно получить последнее значение из Checkpoint я не нашел.
Vul
 
Сообщения: 12
Зарегистрирован: Вт июл 02, 2013 11:41 am
Откуда: Тольятти

Re: Не страбтыват StartingFromCheckpoint

Сообщение Генератор зла » Пн окт 07, 2013 11:49 pm

Попробуйте дополнить:
if vzf.engine.StartingFromCheckpoint == true then
LogMessage("Работает");
endif;

И проанализируйте лог SMC.
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: Не страбтыват StartingFromCheckpoint

Сообщение Vul » Вт окт 08, 2013 12:53 pm

Скрипт StartUp

IF MyEngine.Engine.StartingFromCheckPoint == true then
LogMessage("Работает");
else
LogMessage("не Работает");
endif;

Вот что ведают логи.
180526 08.10.2013 9:45:29 9728 6360 Info VZF.AppEnginePrimitive VZF: Deploy changes started for 1 object(s). The engine hosts 6 object(s).
180527 08.10.2013 9:45:29 9728 6360 Info ScriptRuntime VTZ01.getday: не Работает
180528 08.10.2013 9:45:29 9728 7096 Info VZF.AppEnginePrimitive VZF: Deploy changes ended for 1 object(s). The engine hosts 6 object(s).
Vul
 
Сообщения: 12
Зарегистрирован: Вт июл 02, 2013 11:41 am
Откуда: Тольятти

Re: Не страбтыват StartingFromCheckpoint

Сообщение Vul » Вт окт 08, 2013 7:29 pm

Ради проверки решили перегрузить сервер физически и проверить, как отработает скрипт:
И после сразу после старта, состояние StartingFromCheckPoint в стартап скрипте перешло в True.
Хорошо конечно, но перезарузки сервера случаются несоизмеримо реже потребностей внести какие-нибудь изменения в параметры тега и применить их. :cry:
После деплоя также, а стартапе, StartingFromCheckPoint показывает false.
Vul
 
Сообщения: 12
Зарегистрирован: Вт июл 02, 2013 11:41 am
Откуда: Тольятти

Re: Не страбтыват StartingFromCheckpoint

Сообщение Генератор зла » Ср окт 09, 2013 1:26 am

Vul писал(а):И после сразу после старта, состояние StartingFromCheckPoint в стартап скрипте перешло в True.

Ну хоть что то по доке :)
Vul писал(а):Хорошо конечно, но перезарузки сервера случаются несоизмеримо реже потребностей внести какие-нибудь изменения в параметры тега и применить их.

Поясните выделенное, пожалуйста.
Vul писал(а):После деплоя также, а стартапе, StartingFromCheckPoint показывает false.

Я тупой, а вечером туплю в квадрате. По-проще опишите, пожалуйста.
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: Не страбтыват StartingFromCheckpoint

Сообщение Vul » Ср окт 09, 2013 2:17 am

Генератор зла писал(а):Поясните выделенное, пожалуйста.

Я тупой, а вечером туплю в квадрате. По-проще опишите, пожалуйста.


Это просто я не поэт :D
Проше, охота чтобы значения переменных в объекте instance восстанавливались, после того как ему сделали “Deploy”.
Например, за 13 часов у меня скопилось в переменной sum 100500 тонн, а мне в этом instance нужно поменять пределы аларма, (открываю, изменяю, делаю Deploy) и моя переменная sum которая имеет тип Calculated Retentive уже показывает (NaN.или 0 если в скрип StartUp написать, IF MyEngine.Engine.StartingFromCheckPoint == false then me.sum = 0;)
Vul
 
Сообщения: 12
Зарегистрирован: Вт июл 02, 2013 11:41 am
Откуда: Тольятти

Re: Не страбтыват StartingFromCheckpoint

Сообщение Генератор зла » Ср окт 09, 2013 11:12 am

А, Вы об этом.
Только вот...
Пределы аларма можно менять и в рантайме (не обязательно в IDE). А в IDE после изменения пределов сделать по нужной переменной Upload Runtime Changes.
Собственно, именно так и делаем.
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: Не страбтыват StartingFromCheckpoint

Сообщение Генератор зла » Ср окт 09, 2013 12:12 pm

Информация к размышлению.
IDE.pdf.
A Calculated retentive UDA retains the attribute’s current value after a computer restart, redundancy-related failover, or similar situation in which valid checkpoint data is present.
Видимо, передеплой объекта к таким ситуациям не относится.
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm

Re: Не страбтыват StartingFromCheckpoint

Сообщение Vul » Пт окт 11, 2013 11:31 am

Генератор зла писал(а):А, Вы об этом.
Только вот...
Пределы аларма можно менять и в рантайме (не обязательно в IDE). А в IDE после изменения пределов сделать по нужной переменной Upload Runtime Changes.
Собственно, именно так и делаем.


Да мололи для чего может потребоваться Deploy особенно на стадии разработки, нужно подстраховаться и накопительные значения выдергивать в любом случае.
Да и с Upload Runtime Changes тоже как повезет сейчас пробовал два раза сработал на третий уже стал ругатся VTZ01:Object is in pending update or software upgrade needed state. :roll:

Генератор зла писал(а):Информация к размышлению.
IDE.pdf.
A Calculated retentive UDA retains the attribute’s current value after a computer restart, redundancy-related failover, or similar situation in which valid checkpoint data is present.
Видимо, передеплой объекта к таким ситуациям не относится.


Да после перезагрузки сервера мне тоже приходит осознание сего печального факта.
Вобшемто пременная me.DayPV пишется в хисториан, можно попробовать по скрипту StartUp брать в хисториане последнее значение по me.DayPV с корректировкой на среднее значение межу системным временем и временем последней записи в архиве. Как это можно сделать более правильно ?
Vul
 
Сообщения: 12
Зарегистрирован: Вт июл 02, 2013 11:41 am
Откуда: Тольятти

Re: Не страбтыват StartingFromCheckpoint

Сообщение Генератор зла » Пт окт 11, 2013 11:52 am

Vul писал(а):Да и с Upload Runtime Changes тоже как повезет сейчас пробовал два раза сработал на третий уже стал ругатся VTZ01:Object is in pending update or software upgrade needed state.

Это процесс не быстрый, впрочем как и Deploy. А ругался, возможно, по причине что объект был кем то занят (зачекинен), либо проходил Validate.

Vul писал(а):Как это можно сделать более правильно ?

Пишите раз в 1 минуту Ваше значение в txt-файл, делов то.
Vita est dolor.
Генератор зла
 
Сообщения: 2860
Зарегистрирован: Вс янв 23, 2011 5:08 pm


Вернуться в Другое

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9