Добрый день, подскажите пожалуйста кто знает как в 7ШАГЕ запрограмировать чтобы на выходе появлялся сигнал по дате и времени и чтобы это можно было менять с панели или Винсс.
Заранее благодарен.
В OB1 есть внутренний параметр OB1_DATE_TIME, который хранит дату и время запуска блока - иными словами, текущую дату/время. Проще всего к нему привязаться.
А можете ли выложить пример простой программы. Например на Q0.0 появляетс сигнал 25.09.2008 в 12.00 и 26.09.2008 в 13.00 выключается. Заранее благодарен.
A(
L LB 12 //pv year
L DB1.DBB 12 //sp year
==I
)
A(
L LB 13 //pv month
L DB1.DBB 13 //sp month
==I
)
A(
L LB 14 //pv day
L DB1.DBB 14 //sp day
==I
)
A(
L LB 15 //pv hour
L DB1.DBB 15 //sp hour
==I
)
A(
L LB 16 //pv minute
L DB1.DBB 16 //sp minute
==I
)
FP M 0.0
S Q 0.0
и по аналогии RESET
db1.dbw12-это DATE_TIME вводимое с панели для включения
этот кусок должен быть встроен в ОВ1
Спасибо большое, Sania, буду разбираться. Последний вопрос а можно это изобразить в LAD или FBD, а то у меня с STL туговато. Если нет все равно спасибо буду пытаться, разобраться.
Переменная OB1_DATE_TIME имеет тип Date_And_Time, который представляет собой восемь байт:
0 год1990..2089
1 месяц01..12
2 день1..31
3 часы 0..23
4 минуты0..59
5 секунды0..59
6 2 MSD мс00..99
7 (4 MSB) LSD мс0..9
7 (4 LSB) день недели1..7 (1 = воскресенье)
Можно обратиться к любому байту переменной по адресу (стартовый адрес переменной 12.0):
LB12 - текущий год
LB13 - текущий месяц
и т. д.
ну а потом с этими адресами используй операторы сравнения и выполняй нужные действия при условии равенства
Я конечно извиняюсь Но если беру:
LB12 - текущий год
LB13 - текущий месяц
LB14 - день 1..31
LB15 - часы 0..23
LB16 - минуты 0..59
LB17 - секунды 0..59
LB18 - мс 00..99