PDA

Просмотр полной версии : Дата и Время



Vitamin
12.02.2015, 08:07
Здравствуйте! Как мне сделать, чтобы в значении, по умолчанию была текущая дата, а время можно было менять и дата оставалась не изменой! Сейчас все время пишет 30.12.1899 г. Спасибо!!!

SCADAMaster
12.02.2015, 08:30
Пример в приложении

Vitamin
12.02.2015, 09:30
Спасибо! Еще вопрос. А никак нельзя чтобы именно во вторник или в определенный день недели (без привязки к числу) что либо выполнялось? Спасибо!

SCADAMaster
12.02.2015, 10:11
Используйте ФБ "Текущее время" - в нем есть выход "День недели".

Vitamin
12.02.2015, 10:14
Спасибо огромное!

Vitamin
12.02.2015, 14:59
Здравствуйте! Возможно ли, чтобы команда помещенная на мнемосхему (вводим в нее время), показывала по умолчанию актуальное системное время? А то показывает либо const, либо значение до опроса - старую дату. Спасибо!

SCADAMaster
12.02.2015, 15:07
Можете включить у команды восстановление при рестарте - тогда будет показывать прошлое значение. Отображать текущее время по умолчанию нельзя.

Vitamin
13.02.2015, 07:11
Здравствуйте! В формуле события (А=DateTime( ) А <> Int2Time(0,0,0 ) День недели=1)ИЛИ (А2 = DateTime( ) А2 <> Int2Time(0,0,0 ) День недели=1)ИЛИ (А3 = DateTime( ) А3 <> Int2Time(0,0,0 ) День недели=1) , если вводим время в А3, но не вводим в А1 и А2, то событие не выполняется. Если по порядку вводим А1 потом А2 потом А3 - работает. А1,А2,А3 имеют тип время, значение до опроса не стоит - просто "опрос". Значение до опроса не ставил по скольку выдает не корректную (мне) дату. Можно ли что-то сделать в формуле и или ещё как, чтобы события (А1,А2,А3) выполнялись независимо(не по порядку)? Спасибо!

SCADAMaster
13.02.2015, 08:12
У вас странная формула - в таком виде она вообще работать не может.
Расчет выполняется только если переменные определены, если переменная не определена, то условие сработать не может и дальше расчет не выполняется.

Vitamin
13.02.2015, 08:31
(А=DateTime( ) И А <> Int2Time(0,0,0 ) И День недели=1)ИЛИ (А2 = DateTime( ) И А2 <> Int2Time(0,0,0 ) И День недели=1)ИЛИ (А3 = DateTime( ) И А3 <> Int2Time(0,0,0 ) И День недели=1). Извините. Так вот у меня!

SCADAMaster
13.02.2015, 10:45
Так работать будет, но если будут определены переменные.

Vitamin
13.02.2015, 11:34
Не совсем понял, в каком смысле определены? А1,А2,А3 Это команды помещенные на мнемосхему. В них вводится время. Но не получается (по той формуле)- А3 вводишь время, не вводя А1иА2 - не работает. А если по порядку - работает!

SCADAMaster
13.02.2015, 13:03
Попробуйте такую формулу
((OPCQuality(А)=НОРМА И А=DateTime( ) И А <> Int2Time(0,0,0 ) И День недели=1)ИЛИ ((OPCQuality(А2 )=НОРМА И А2 = DateTime( ) И А2 <> Int2Time(0,0,0 ) И День недели=1)ИЛИ ((OPCQuality(А3 )=НОРМА И А3 = DateTime( ) И А3 <> Int2Time(0,0,0 ) И День недели=1)

Vitamin
13.02.2015, 13:57
Не подскажите как сделать так, чтобы секунды всегда были нолями (обнулялись). Например значение времени - 22:10:43, меняю минуты 22:30:43, а записывалось как - 22:30:00? Спасибо!

SCADAMaster
13.02.2015, 14:35
При вводе данных с контрола?

Vitamin
13.02.2015, 14:40
Да! Наверно! Буру команду ставлю ее на мнемосхему, тип время. Надо чтобы на мнемосх. вводились часы и минуты(Н:mm), а секунды были ноль всегда.

SCADAMaster
13.02.2015, 15:09
Укажите в формате времени 00 вместо секунд (см. приложение)

Vitamin
13.02.2015, 15:17
Указывал! Получается вводятся вроде нули (визуально), а на самом деле секунды никуда не делись, поэтому, у меня включение по такому расписанию получается с погрешностью в эти секунды! Может через формулу как-то убрать секунды, но я не пойму как! Спасибо.

SCADAMaster
13.02.2015, 15:42
Можно при помощи ФБ "Разбор времени" определить количество секунд, а затем в Расчет вычесть из времени это количество секунд.

Vitamin
20.02.2015, 07:58
Здравствуйте! Можно ли к текущей дате (Date() или Int2Date(,,)) прибавить время, но то которое я определяю. Например - Int2Date(Число,Месяц,Год)+Переменная1??? Спасибо!

SCADAMaster
20.02.2015, 11:34
Здравствуйте! Можно ли к текущей дате (Date() или Int2Date(,,)) прибавить время, но то которое я определяю. Например - Int2Date(Число,Месяц,Год)+Переменная1??? Спасибо!

Нужно использовать Int2DateTime() (Int2DateTime (10, 3, 1978, 10, 23, 46) ->10.03.1978 10:23:46), соответственно к любой из переменных прибавляете нужное вам значение.