Страница 1 из 1

Функция Now()

СообщениеДобавлено: Ср фев 09, 2011 8:54 am
rig12
Не могу понять, как себя ведёт функция Now()
Задача - показать сколько секунд назад обновился, например, ЮДА какой-нить
1. Проверяю обновление значения. Делаю Value Display - now() - отображает время на момент запуска и не меняется
2. Создаю Custom Property Elapsed Time, в скрипт While Showing помещаю этот кастом проперти=now(), отображает нули
3. Создаю ЮДА типа ElapsedTime, создаю скрипт Periodic, где ежесекундно обновляю созданный ЮДА, приравнивая его к Now() - нули

:?

СообщениеДобавлено: Ср фев 09, 2011 9:02 am
rig12
Кста, использование System.DateTime.Now даёт те же результаты, если это можно назвать результатами
Вообще в результате хотелось из настоящего времени вычесть дату последнего обновления тэга, и интерпретировать данный результат каким-нить образом

СообщениеДобавлено: Ср фев 09, 2011 10:38 am
Spaun
Teg = Now();
'Teg получит значение текущего системного времени и даты в текстовом формате. К примеру такое: 30.09.2010 00:00:00.783

Сделайте скрипт по DataChange этого ЮДА (это чиго такое ? :roll: ):
Teg2 = 0; 'тип тега -Elapsed Time
Правда нужен ещё скрипт, чтоб каждую секунду производил
Teg2 = teg2+1;

Teg2 будет содержать время с последнего обновления.

Re: Функция Now()

СообщениеДобавлено: Ср фев 09, 2011 10:40 am
Klinkmann_Msk
rig12 писал(а):Не могу понять, как себя ведёт функция Now()
Задача - показать сколько секунд назад обновился, например, ЮДА какой-нить
1. Проверяю обновление значения. Делаю Value Display - now() - отображает время на момент запуска и не меняется
2. Создаю Custom Property Elapsed Time, в скрипт While Showing помещаю этот кастом проперти=now(), отображает нули
3. Создаю ЮДА типа ElapsedTime, создаю скрипт Periodic, где ежесекундно обновляю созданный ЮДА, приравнивая его к Now() - нули

:?

У каждой переменной помимо поля .Value есть .Time (время последнего обновления)
Now() - это .Net, а .Net - это к Microsoft-у.

СообщениеДобавлено: Ср фев 09, 2011 11:38 am
rig12
Spaun писал(а):Teg = Now();
'Teg получит значение текущего системного времени и даты в текстовом формате. К примеру такое: 30.09.2010 00:00:00.783

Сделайте скрипт по DataChange этого ЮДА (это чиго такое ? :roll: ):
Teg2 = 0; 'тип тега -Elapsed Time
Правда нужен ещё скрипт, чтоб каждую секунду производил
Teg2 = teg2+1;

Teg2 будет содержать время с последнего обновления.


Юзер Дефайнд Атрибут, канешна! 8)
Кста, пробовал вариант со скриптом DataChange с аргументов Now() - не срабатывает.
Вообще выкрутился так. В ежесекундный periodic-срипт вставил:
dim ValueTime as System.DateTime;
ValueTime=me.value.time;
me.updatedin=System.DateTime.Now-ValueTime;

Проверил - считает.

Klinkmann_Msk писал(а):У каждой переменной помимо поля .Value есть .Time (время последнего обновления)


Ну это да, в курсе, использую.

Klinkmann_Msk писал(а): Now() - это .Net, а .Net - это к Microsoft-у.


Ну да... ну да...